HCRM博客

CentOS 6无补丁环境下iptables临时规则防御漏洞利用措施

CentOS 6系统无补丁环境,临时iptables规则防漏洞利用

机器跑着CentOS 6,官方源早就断粮,yum update只剩404,打补丁成了奢望。扫描报告却天天蹦出远程代码执行、提权、拒绝服务,老板一句“先别下线”,安全锅就扣在运维头上。别慌,临时iptables规则能先顶一顶,把漏洞利用挡在门口,给业务迁出争取时间。

CentOS 6无补丁环境下iptables临时规则防御漏洞利用措施-图1

为什么选iptables而不是上WAF

老系统内核低,第三方WAF一装就挂,kdump狂写日志;SELinux策略老旧,开enforcing直接让业务进程跪。iptables随系统自带,不装包、不重启、不挑内核,一条命令立即生效, rollback也只要flush一下,风险低到可以拍胸脯。

先画攻击面:CentOS 6常见裸奔端口

netstat -tulnp一看,22、21、25、3306、11211、873全暴露在公网,对应漏洞随手一搜就能找到exp。把非必要端口先关,是止血第一步;关不了,就用iptables做“临时绷带”。

三行命令先锁SSH暴力

日志里auth fail一分钟上千次,先把22端口限速:

CentOS 6无补丁环境下iptables临时规则防御漏洞利用措施-图2

iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH

iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --name SSH -j DROP

60秒内新连接超过4次直接拉黑,内存占用忽略不计,CPU零感知。

屏蔽已知exp投递通道

很多老漏洞利用需要回连下载payload,把高频回连端口一次性封掉:

iptables -A OUTPUT -p tcp --dport 4444 -j DROP

CentOS 6无补丁环境下iptables临时规则防御漏洞利用措施-图3

iptables -A OUTPUT -p tcp --dport 8080:8090 -j DROP

iptables -A OUTPUT -p tcp --dport 31337 -j DROP

outbound方向也要管,别让机器成了矿机还帮人数钱。

针对Samba Cry的临时拦截

CentOS 6默认Samba版本<=3.6,永恒之红系列exp一打就中。如果445端口必须开,用iptables把SMB会话最大长度砍到断腿:

iptables -I INPUT -p tcp --dport 445 -m length --length 500:65535 -j DROP

正常共享小包几十字节足够,exp投递动辄上千字节,长度策略一刀一个准。

MySQL 5.1 UDF提权拦截

数据库对外是灾难,先限制来源IP:

iptables -I INPUT -p tcp --dport 3306 ! -s 10.0.0.0/24 -j DROP

再拦UDF常用创库语句长度:

iptables -I INPUT -p tcp --dport 3306 -m string --algo bm --string "CREATE FUNCTION" -j DROP

双层保险,脚本小子直接懵。

Memcached 11211 UDP反射放大

UDP端口11211经常被当成放大器打别人,一句命令把UDP封死,TCP留给本地缓存:

iptables -A INPUT -p udp --dport 11211 -j DROP

对外攻击流量瞬间归零,省得机房打电话喊关机。

规则持久化:别重启就裸奔

CentOS 6用iptables-save > /etc/sysconfig/iptables,再chkconfig iptables on,防止断电重启后规则全丢。别忘记配crontab每10分钟跑一次iptables-save,防止同事手抖flush之后找不回现场。

日志留痕:被扫也能溯源

在每条DROP后加LOG,限制速率防止打爆磁盘:

iptables -A INPUT -j LOG --log-prefix "IPT-DROP:" --log-level 4 -m limit --limit 10/min

日志交给rsyslog转存单独文件,排查时一眼就能看到谁被墙。

性能压测:老机器也扛得住

100M带宽小水管,一万条规则CPU占用不到3%,内存多占几兆,对业务延迟零感知。用ab打5k并发,丢包率与裸机持平,放心往上堆。

临时≠长久:迁移才是正道

iptables只能挡已知利用,0day来了照样穿。把规则当成“创可贴”,业务迁到受支持系统才是缝合手术。留好时间窗口,每周复查一次规则命中率,该加白加白,该收紧收紧。

一键回滚脚本

万一规则写劈叉,业务全断,提前准备rollback:

#!/bin/bash

iptables -F

iptables -X

iptables -P INPUT ACCEPT

iptables -P FORWARD ACCEPT

iptables -P OUTPUT ACCEPT

service iptables save

30秒恢复出厂设置,值班手机不再被轰炸。

CentOS 6没补丁的日子像走钢丝,临时iptables规则就是下面的安全网。网再结实,也得尽快走到对岸,别把临时当永久,更别让老板以为“不升级也能一直跑”。今晚先把脚本贴上去,明天早点约开发排期迁移,睡得踏实比啥都香。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/41683.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~