插件窝 干货文章 如何在Linux上配置网络安全策略

如何在Linux上配置网络安全策略

sudo bash iptables 配置 1014    来源:    2025-04-15

在Linux上配置网络安全策略需要多层次、系统化的操作。以下是一份详细的配置指南,涵盖关键环节和最佳实践:


一、基础系统加固

  1. 系统更新

    sudo apt update && sudo apt upgrade -y  # Debian/Ubuntu
    sudo yum update -y                     # RHEL/CentOS
    
  2. 用户与权限

    • 禁用root远程登录: bash sudo sed -i 's/^PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config sudo systemctl restart sshd
    • 创建低权限用户: bash sudo useradd -m <username> && sudo passwd <username> sudo usermod -aG sudo <username> # Debian/Ubuntu sudo usermod -aG wheel <username> # RHEL/CentOS

二、防火墙配置

  1. iptables/nftables(传统方案)

    # 清空现有规则
    sudo iptables -F
    sudo iptables -X
    
    # 默认策略:拒绝所有入站,允许出站
    sudo iptables -P INPUT DROP
    sudo iptables -P FORWARD DROP
    sudo iptables -P OUTPUT ACCEPT
    
    # 允许已建立的连接
    sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    
    # 开放SSH(示例)
    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    
    # 保存规则(根据发行版)
    sudo iptables-save > /etc/iptables/rules.v4
    
  2. firewalld(推荐RHEL/CentOS)

    sudo firewall-cmd --permanent --add-service=ssh
    sudo firewall-cmd --permanent --remove-service=http  # 禁用不需要的服务
    sudo firewall-cmd --reload
    
  3. UFW(Ubuntu简化工具)

    sudo ufw default deny incoming
    sudo ufw default allow outgoing
    sudo ufw allow 22/tcp
    sudo ufw enable
    

三、网络服务安全

  1. SSH加固

    sudo sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config  # 修改默认端口
    sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config  # 强制密钥登录
    sudo systemctl restart sshd
    
  2. 禁用无用服务

    sudo systemctl stop telnet.socket rpcbind  # 示例服务
    sudo systemctl disable telnet.socket rpcbind
    

四、高级防护措施

  1. Fail2Ban(防暴力破解)

    sudo apt install fail2ban  # Debian/Ubuntu
    sudo yum install fail2ban  # RHEL/CentOS
    
    • 配置示例(/etc/fail2ban/jail.local): ini [sshd] enabled = true port = 2222 maxretry = 3 bantime = 1h
  2. SELinux/AppArmor

    • SELinux(RHEL): bash sudo setenforce 1 # 强制模式 sudo semanage port -a -t ssh_port_t -p tcp 2222 # 适配SSH端口修改
    • AppArmor(Ubuntu): bash sudo aa-enforce /etc/apparmor.d/*
  3. 网络隔离

    • 使用网络命名空间隔离敏感服务
    • VLAN划分(需交换机配合)

五、监控与审计

  1. 日志分析

    # 监控SSH登录尝试
    sudo grep 'Failed password' /var/log/auth.log
    
  2. 入侵检测工具

    • AIDE(文件完整性检查): bash sudo aideinit && sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db sudo aide --check
    • 部署OSSEC/Snort

六、其他关键配置

  1. 内核参数加固(/etc/sysctl.conf)

    net.ipv4.conf.all.rp_filter=1
    net.ipv4.icmp_echo_ignore_broadcasts=1
    net.ipv4.tcp_syncookies=1
    
    sudo sysctl -p
    
  2. VPN/WireGuard

    # WireGuard示例
    sudo apt install wireguard
    wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey
    

七、自动化维护

  1. 使用Ansible/Puppet批量管理安全策略
  2. 设置Cron定期安全检查: bash 0 3 * * * /usr/bin/aide --check | mail -s "AIDE Report" admin@example.com

注意事项

  • 测试环境先行验证所有配置
  • 修改关键配置前备份原文件
  • 多因素认证(如Google Authenticator)强化关键服务
  • 定期进行漏洞扫描(如OpenVAS)

通过以上综合措施,可显著提升Linux系统的网络安全性。实际部署时需根据业务需求调整策略。