Linux安全-端口管理
环境
系统:Ubuntu 22.04.2 LTS x86_64
防火墙:iptables
# 1 查看开放的端口
sudo netstat -aptun
-a
:显示所有连接和监听端口。
-p
:显示每个套接字/端口所属的进程。
-t
:仅显示 TCP 连接。
-u
:仅显示 UDP 连接。
-n
:以数字形式显示地址和端口号,而不是尝试确定名称。
有些端口通过netstat查不出来,更可靠的方法是用nmap扫描
nmap -sS -sU -p- -O localhost
-sS
:使用 TCP SYN 扫描,这种扫描方式不会完成 TCP 三次握手,因此速度较快且不易被发现。
-sU
:使用 UDP 扫描。
-p-
:扫描所有端口(1-65535)
-O
:进行操作系统检测。目标主机是
localhost
,即本地主机。
# 2 查看防火墙开放的端口
iptables -L -n
-L
:列出防火墙规则。
-n
:不进行 IP 地址和端口号的反向解析,直接显示数字形式。
# 3 管理端口
注意:如果需要规则永久生效,还需要使用 service iptables save
命令
# 3.1 开启端口
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
-I
:在 INPUT 链中插入一条规则
-p
:只匹配 TCP 协议的数据包
--dport
:只匹配目标端口为 8080 的数据包
-j
:对匹配的数据包执行 ACCEPT 操作,即允许通过
# 3.2 关闭端口
iptables -I INPUT -p tcp --dport 8080 -j DROP
-I INPUT
: 在 INPUT 链中插入一条规则
-p tcp
:只匹配 TCP 协议的数据包
--dport 8080
: 只匹配目标端口为 8080 的数据包
-j DROP
:对匹配的数据包执行 DROP 操作,即拒绝通过
# 3.3 删除规则
iptables -D INPUT -p tcp --dport 8080 -j ACCEPT
-D
:在 INPUT 链中删除一条规则
-p
:只匹配 TCP 协议的数据包
--dport
:只匹配目标端口为 8080 的数据包
-j
:对匹配的数据包执行 ACCEPT 操作,即允许通过
最后,千万不要图省事儿,把防火墙给关了
上次编辑: 2023/07/06, 13:42:50