我创建了一个脚本来在 Centos 7 上安装和配置防火墙。
大多数规则都正常工作,但运行 nmap 扫描时 SSH 端口仍然显示为“打开”。我知道这不是什么大问题,更改端口只是默默无闻的安全性,但我想知道为什么。
firewall-cmd --zone=dmz --add-masquerade --permanent
firewall-cmd --zone=dmz --add-interface=eth0
firewall-cmd --zone=internal --add-port=${MONGO}/tcp --permanent
firewall-cmd --zone=internal --add-port=${CHAT}/tcp --permanent
firewall-cmd --zone=internal --add-port=${NFS_CLIENT}/tcp --permanent
firewall-cmd --zone=internal --add-port=${NODE_EX}/tcp --permanent
firewall-cmd --zone=dmz --add-forward- port=port=${22}:proto=tcp:toport=${22123} --permanent
firewall-cmd --zone=dmz --add-port=${RSSH}/tcp --permanent --permanent
Starting Nmap 7.40 ( https://nmap.org ) at 2017-10-04 17:33 BST
Nmap scan report for
Host is up (0.45s latency).
Not shown: 997 filtered ports
PORT STATE SERVICE
22/tcp open ssh
8083/tcp open us-srv
8086/tcp closed d-s-n
sudo firewall-cmd --list-all
dmz (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth1
sources:
services:
ports: 22123/tcp 8086/tcp 8083/tcp
protocols:
masquerade: yes
forward-ports: port=22:proto=tcp:toport=22123:toaddr=
source-ports:
icmp-blocks:
rich rules:
欢迎所有想法。谢谢
答案1
您仍然需要删除正在转发的端口,但是,转发端口实际上并不关闭它。试试这个代码:
sudo firewall-cmd --permanent --remove-port=22/tcp
firewall-cmd --reload
当您拨打 时sudo firewall-cmd --list-all
,在列出的端口下将不再显示您已删除的端口,并且转发仍然有效。不幸的是,该端口仍将显示为开放nmap
。我认为如果不删除端口转发就不可能阻止这种情况。如果我找到解决方案,我会更新我的答案。