首页主机资讯Linux防火墙如何防止服务被攻击

Linux防火墙如何防止服务被攻击

时间2025-10-27 16:00:05发布访客分类主机资讯浏览726
导读:1. 遵循最小授权原则配置默认策略 默认策略是防火墙的第一道防线,应设置为拒绝所有未明确允许的流量,仅放行业务必需的流量。具体操作如下: 使用iptables设置默认策略:sudo iptables -P INPUT DROP(拒绝所有入...

1. 遵循最小授权原则配置默认策略
默认策略是防火墙的第一道防线,应设置为拒绝所有未明确允许的流量,仅放行业务必需的流量。具体操作如下:

  • 使用iptables设置默认策略:sudo iptables -P INPUT DROP(拒绝所有入站流量)、sudo iptables -P FORWARD DROP(拒绝所有转发流量)、sudo iptables -P OUTPUT ACCEPT(允许所有出站流量,若需限制出站可改为DROP并放行必要服务);
  • 使用firewalld设置默认区域:firewall-cmd --set-default-zone=public(public区域默认拒绝所有入站流量),并通过--add-service--add-port仅开放必要服务。

2. 精准开放必要端口,关闭无用服务
仅开放业务运行必需的端口,减少攻击面。例如:

  • Web服务器需开放HTTP(80端口)、HTTPS(443端口):firewall-cmd --permanent --add-service=http + firewall-cmd --permanent --add-service=https(firewalld);或iptables -A INPUT -p tcp --dport 80 -j ACCEPT + iptables -A INPUT -p tcp --dport 443 -j ACCEPT(iptables);
  • SSH服务需开放22端口(建议修改默认端口,见下文):firewall-cmd --permanent --add-port=22/tcp
  • 关闭无用服务(如FTP、Telnet):通过systemctl stop服务名停止服务,并通过chkconfig服务名 off禁用开机启动。

3. 限制访问源IP,防范非法连接
通过防火墙规则限制仅信任的IP地址可访问关键服务,阻断非法IP的攻击尝试:

  • 使用firewalld的rich规则:firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.100' accept"(仅允许192.168.1.100访问);
  • 使用iptables限制IP段:iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT(仅允许192.168.1.0/24网段访问SSH),并配合-j DROP拒绝其他IP。

4. 防御DDoS及暴力破解攻击
通过限制连接频率和次数,防止大量无效请求耗尽服务器资源:

  • 限制SSH连接频率(防止暴力破解):iptables -A INPUT -p tcp --dport 22 -m connlimit --connlimit-above 3 -j DROP(同一IP最多允许3个并发连接);
  • 限制SYN包速率(防止DDoS):iptables -A INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 3 -j ACCEPT(每秒最多接受1个新连接请求,突发不超过3个);
  • 使用firewalld的连接限制:firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.100' port port=22 protocol=tcp accept" --add-rich-rule="rule family='ipv4' source address='192.168.1.100' port port=22 protocol=tcp drop"(复杂场景下的精细化控制)。

5. 定期监控与审计防火墙日志
通过日志分析识别异常流量和潜在攻击,及时调整规则:

  • 查看iptables日志:sudo tail -f /var/log/messages(需提前开启日志记录,iptables -A INPUT -j LOG --log-prefix "Firewall: ");
  • 查看firewalld日志:journalctl -u firewalld(CentOS 7+)或/var/log/firewalld(日志文件路径);
  • 分析日志中的高频IP、端口或异常行为(如大量失败的SSH登录),并针对性添加拦截规则。

6. 优化SSH服务配置(强化远程管理安全)
SSH是Linux服务器最常被攻击的服务,需通过配置降低风险:

  • 修改默认端口:编辑/etc/ssh/sshd_config,将Port 22改为其他端口(如Port 9999),减少自动化工具的扫描;
  • 禁止root直接登录:设置PermitRootLogin no,使用普通用户登录后再通过su -切换至root;
  • 限制登录用户:AllowUsers your_username(仅允许指定用户登录);
  • 重启SSH服务使配置生效:systemctl restart sshd

7. 定期更新防火墙规则与系统
保持防火墙规则与系统补丁的最新状态,应对新出现的安全威胁:

  • 定期审查规则:删除不再需要的端口或IP放行规则(如业务变更后关闭旧端口);
  • 备份规则:iptables-save > /etc/iptables.rules.bak(iptables)或firewall-cmd --runtime-to-permanent(firewalld);
  • 更新系统及防火墙工具:yum update(CentOS)或apt update & & apt upgrade(Ubuntu),修复已知漏洞。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Linux防火墙如何防止服务被攻击
本文地址: https://pptw.com/jishu/735804.html
Linux防火墙怎样配置NAT网络 Linux防火墙怎样设置防火墙规则

游客 回复需填写必要信息