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 操作,即允许通过
最后,千万不要图省事儿,把防火墙给关了
上次编辑: 2024/08/30, 16:21:31