linux – 如何配置iptables,以便不会将不需要的端口报告为已过滤

我想阻止其他人看到我的端口在nmap标准扫描中被过滤(非特权).假设我打开了以下端口:22,3306,995,防火墙配置如下:
-A INPUT -p tcp -m tcp --dport 22 -j DROP
-A INPUT -p tcp -m tcp --dport 3306 -j DROP
-A INPUT -p tcp -m tcp --dport 995 -j DROP

这是nmap扫描的结果:

[+] Nmap scan report for X.X.X.X

    Host is up (0.040s latency).
    Not shown: 90 closed ports

    PORT     STATE    SERVICE
    22/tcp   filtered ssh
    995/tcp  filtered pop3s
    3306/tcp filtered MysqL

它将这些端口显示为已过滤,因为我的服务器没有回复SYN的RST.有没有办法修改这种行为?例如:如果iptables防火墙阻止端口,请回复RST的SYN,而不是保持沉(不回复任何东西)?

解决方法

不要使用DROP,如果您知道该框已启用,则很容易将其识别为“已过滤”.相反,您可以使用以下命令发送RST. (好像有一个服务正在侦听,但它不接受你的连接)
-A INPUT -p tcp -m tcp --dport 22 -j REJECT --reject-with tcp-reset

或者只是使用以下内容使端口看起来关闭. (好像没有收听服务)

-A INPUT -p tcp -m tcp --dport 22 -j REJECT

相关文章

在Linux上编写运行C语言程序,经常会遇到程序崩溃、卡死等异...
git使用小结很多人可能和我一样,起初对git是一无所知的。我...
1. 操作系统环境、安装包准备 宿主机:Max OSX 10.10.5 虚拟...
因为业务系统需求,需要对web服务作nginx代理,在不断的尝试...
Linux模块机制浅析 Linux允许用户通过插入模块,实现干预内核...
一、Hadoop HA的Web页面访问 Hadoop开启HA后,会同时存在两个...