Debian iptables怎样进行安全加固
以下是使用iptables对Debian系统进行安全加固的关键步骤:
-
设置默认策略
将默认策略设为DROP
,仅允许明确放行的流量,阻断未授权访问。iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT
-
允许必要服务
- 开放SSH(默认22端口)、HTTP(80)、HTTPS(443)等必需端口,限制仅允许可信IP访问SSH。
iptables -A INPUT -p tcp --dport 22 -s
-m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -p tcp --dport 80,443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT - 允许本地回环接口流量。
iptables -A INPUT -i lo -j ACCEPT
- 开放SSH(默认22端口)、HTTP(80)、HTTPS(443)等必需端口,限制仅允许可信IP访问SSH。
-
限制连接数与速率
- 使用
connlimit
模块限制单个IP的并发连接数(如限制80端口每IP最多5个新连接)。iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 5 -j REJECT
- 通过
limit
模块限制连接速率(如每秒最多1个新连接,突发5个)。iptables -A INPUT -p tcp --syn --dport 80 -m limit --limit 1/second --limit-burst 5 -j ACCEPT
- 使用
-
防范常见攻击
- SYN Flood攻击:启用SYN Cookies或限制SYN包速率。
echo 1 > /proc/sys/net/ipv4/tcp_syncookies iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
- 无效数据包过滤:丢弃非法状态的数据包(如未建立连接的
INVALID
状态包)。iptables -A INPUT -m conntrack --ctstate INVALID -j DROP
- SYN Flood攻击:启用SYN Cookies或限制SYN包速率。
-
日志记录与监控
记录被拒绝的连接尝试,便于分析异常流量。iptables -A INPUT -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
-
规则持久化
安装iptables-persistent
工具,保存规则并设置开机自动加载。sudo apt install iptables-persistent sudo netfilter-persistent save
-
高级防护(可选)
- 使用
ufw
(简化版防火墙工具)管理规则,适合新手。sudo ufw enable sudo ufw allow 22/tcp sudo ufw deny 23/tcp
- 结合
fail2ban
动态封禁恶意IP,增强防护能力。
- 使用
注意事项:
- 配置前备份现有规则,避免误操作导致服务中断。
- 测试规则有效性(如
iptables -L -n
查看规则,nc
或telnet
测试端口连通性)。 - 定期审查规则,删除冗余或过时的条目。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权请联系我们,一经查实立即删除!