linux

iptables如何阻止端口扫描攻击

小樊
38
2025-12-29 17:08:37
栏目: 网络安全

使用iptables阻止端口扫描攻击是一种常见的安全措施。以下是一些基本的步骤和策略,可以帮助你配置iptables来阻止端口扫描攻击:

1. 限制连接速率

通过限制每个IP地址在一定时间内的连接速率,可以有效地防止端口扫描攻击。

# 限制每分钟最多5个连接
iptables -A INPUT -p tcp --syn -m limit --limit 5/min -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP

2. 阻止特定端口的扫描

如果你知道某些端口经常被扫描,可以专门针对这些端口进行配置。

# 阻止对端口80的扫描
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP

3. 使用状态检测

iptables的状态检测模块可以帮助你更精确地控制连接。

# 只允许已建立的连接
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# 阻止新的连接请求
iptables -A INPUT -m state --state NEW -j DROP

4. 阻止ICMP请求

虽然ICMP不是TCP或UDP端口,但扫描器有时会使用ICMP进行探测。你可以限制ICMP请求来减少扫描。

# 限制ICMP请求速率
iptables -A INPUT -p icmp -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p icmp -j DROP

5. 阻止SYN Flood攻击

SYN Flood是一种常见的拒绝服务攻击,可以通过配置iptables来缓解。

# 启用SYN Cookies
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

# 限制SYN队列长度
echo 1024 > /proc/sys/net/ipv4/tcp_max_syn_backlog

# 丢弃无效的SYN包
iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP

6. 日志记录

记录可疑活动可以帮助你更好地了解攻击模式,并进行进一步的分析和响应。

# 记录所有被拒绝的连接
iptables -A INPUT -j LOG --log-prefix "IPTables-Dropped: " --log-level 4

注意事项

通过上述步骤,你可以有效地使用iptables来阻止端口扫描攻击,提高系统的安全性。

0
看了该问题的人还看了