iptables 屏蔽端口

场景

最近工作中遇到安全整改问题,认为我们的服务能够通过nmap 嗅探到mysql端口属于安全隐患,需要整改对端口进行屏蔽。因为我们服务上只有iptables防火墙软件,下文记录此次通过iptables进行端口屏蔽,屏蔽非服务依赖的无关网段嗅探

iptables扫盲介绍

B站视频
这个视频不长,加速下不到10分钟就看完了,能够很好的扫盲,磨刀不误砍柴工,了解下基本的知识和命令含义不至于眼瞎

命令示例

iptables -I INPUT -p tcp --dport 3306 -j DROP
iptables -I INPUT -p tcp -s xxx.xxx.xxx.xxx --dport 3306 -j ACCEPT
iptables -I INPUT -p tcp -s xxx.xxx.xxx.xxx --dport 3306 -j ACCEPT
iptables -I INPUT -p tcp -s xxx.xxx.xxx.xxx --dport 3306 -j ACCEPT
iptables -I INPUT -p tcp -s xxx.xxx.xxx.xxx --dport 3306 -j ACCEPT
iptables -I INPUT -p tcp -s xxx.xxx.xxx.xxx/24 --dport 3306 -j ACCEPT
iptables -I INPUT -p tcp -s xxx.xxx.xxx.xxx --dport 3306 -j ACCEPT

执行后查看防火墙配置:

[root@ZJHZ-BJ-CXPT1 boco4a]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  ZJHZ-BJ-CXPT1.localdomain  anywhere             tcp dpt:mysql
ACCEPT     tcp  --  xxx.xxx.xxx.xxx/24      anywhere             tcp dpt:mysql
ACCEPT     tcp  --  xxx.xxx.xxx.xxx/25     anywhere             tcp dpt:mysql
ACCEPT     tcp  --  xxx.xx.xxx.0/25       anywhere             tcp dpt:mysql
ACCEPT     tcp  --  xxx.xxx.xxx.xx         anywhere             tcp dpt:mysql
ACCEPT     tcp  --  xxx.xxx.xxx.xxx         anywhere             tcp dpt:mysql
DROP       tcp  --  anywhere             anywhere             tcp dpt:mysql

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  

简单解读

# iptables 过滤的规则从上至下执行过滤
# -I:iptable有'-I'和'-A'两种添加方式,I=insert 插入在首位,A=append 追加在末尾,通过I添加的配置通过上图,执行前和执行后顺序颠倒,配置后先通过白名单过滤,再经过拦截;这是添加顺序的作用
# 配置中的localdomain说明这是一条本地回环的配置,添加后显示为iptables内部的别名

配置后我们通过无关的机器 nmap -A ip地址 扫描是这样的
在这里插入图片描述


版权声明:本文为qq_42819407原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。