iptables技巧之防止欺骗攻击

1, 验证tcp标志位,
     如下:
     -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
-A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
-A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
-A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP
-A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP
-A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP
-A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP

为什么这样做?
我不多做解释了,如果有人不懂的话请复习一下tcp/ip的知识,
  附上一个链接 http://www.fengnet.com/showart.asp?art_id=136&cat_id=9

2,验证ip地址来源
    -A INPUT -s your.external.ip.address -j DROP
### 使用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、付费专栏及课程。

余额充值