iptables防止nmap扫描

iptables防止nmap扫描

目标主机地址为192.168.17.130

我们用kali 的nmap去扫,通过什么方式去扫?

nmap -sS -T4 -sV 192.168.17.130
-sS (TCP SYN扫描)通过一次握手去扫描
-sT (TCP CONNECT()扫描)默认TCP扫描方式
-sU  UDP扫描
-sF  只设置FIN标志位

在这里插入图片描述

下面为我们的目标主机192.168.17.130的iptables

在这里插入图片描述

我们去设置规则:

[root@localhost ~]# iptables -t filter -I INPUT -p tcp -m tcp --tcp-flags ALL SYN -j REJECT

查看规则:

在这里插入图片描述

第一条就是我们设置上去的

再去扫描时发现无法扫描:(SYN扫描)
在这里插入图片描述

但是我们用(FIN扫描)时:又成功了

在这里插入图片描述

### 使用iptables防止端口扫描和探测的配置方法 为了有效防止端口扫描和探测行为,可以通过配置iptables规则来限制异常的TCP标志位组合、限制连接速率以及屏蔽已知的恶意IP地址。以下是具体的配置方法: #### 1. 阻止非法TCP标志位组合 一些端口扫描工具(如nmap)会发送具有特定TCP标志位组合的数据包以探测目标主机的状态。通过以下规则可以阻止这些非法组合: ```bash iptables -t filter -I INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j REJECT iptables -t filter -I INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j REJECT iptables -t filter -I INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j REJECT iptables -t filter -I INPUT -p tcp --tcp-flags ALL NONE -j REJECT ``` 上述规则分别拒绝了常见的非法TCP标志位组合,例如仅设置FIN或URG/PSH标志而没有SYN标志的数据包[^3]。 #### 2. 限制单个IP的连接速率 频繁的连接尝试可能是端口扫描的一个特征。通过限制单个IP地址在单位时间内的连接次数,可以有效减少扫描行为的影响: ```bash iptables -A INPUT -p tcp --dport 1:65535 -m conntrack --ctstate NEW -m recent --set iptables -A INPUT -p tcp --dport 1:65535 -m conntrack --ctstate NEW -m recent --update --seconds 60 --hitcount 10 -j DROP ``` 上述规则使用`recent`模块跟踪新连接,并在60秒内超过10次连接尝试时丢弃数据包[^2]。 #### 3. 屏蔽已知恶意IP地址 如果已经检测到某些IP地址正在进行扫描或攻击行为,可以直接将其加入黑名单: ```bash iptables -A INPUT -s 192.168.80.138 -j DROP ``` 此规则将来自`192.168.80.138`的所有流量直接丢弃。 #### 4. 拒绝无用的ACK数据包 某些扫描工具会发送不带SYN标志的ACK数据包以测试目标主机是否在线。可以通过以下规则拒绝此类数据包: ```bash iptables -t filter -I INPUT -p tcp --dport 1:65535 --tcp-flags ALL ACK -j REJECT ``` 该规则拒绝所有仅包含ACK标志但未指定目标端口的数据包。 #### 5. 保存规则并使其持久化 iptables规则在系统重启后会丢失,因此需要将其保存并设置为开机自动加载: ```bash service iptables save ``` 对于现代Linux发行版(如CentOS 7及以上),可以使用以下命令: ```bash systemctl enable iptables systemctl start iptables ``` ### 注意事项 - 上述规则应根据实际网络环境调整,例如开放的端口范围、允许的连接速率等。 - 如果同时使用firewalld,则需要确保其与iptables规则不会冲突[^2]。 - 在生产环境中应用规则前,建议先进行测试以避免误拦截合法流量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值