Linux端口安全管理核心是查清开放端口、防火墙精准管控、服务层加固及SELinux细粒度控制;需定期用ss和firewall-cmd核查规则有效性。
Linux端口安全管理核心就三点:看清哪些端口开着、控制谁可以连、限制服务本身能用什么端口。不复杂,但容易忽略细节。
查清当前开放和监听的端口先摸清家底,避免“不知道自己开了什么”。常用命令有:ss -tulpn:推荐首选,比netstat更快更准确,显示所有TCP/UDP监听端口及对应进程lsof -i :22:查特定端口(比如22)被哪个进程占用,适合排错nmap -sT -p1-1000 localhost:模拟外部扫描,验证真实暴露面(注意别扫生产环境全端口)
用firewalld精准放行或封禁端口RHEL/CentOS 7+ 及 Fedora 默认用 firewalld,规则清晰、支持动态重载:只允许本机或内网访问 SSH:firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port port="22" protocol="tcp" accept'开放 Web 端口并限制为 TCP:firewall-cmd --permanent --add-port=80/tcp
批量关闭高危端口段:
firewall-cmd --permanent --remove-port=3389-3395/tcp
改完务必重载:
firewall-cmd --reload从服务层加固:改默认端口 + 限IP访问防火墙是第一道门,服务自身配置是第二道锁:Docker Desktop(linux)
当前 Docker 最新稳定版本之一,主要针对稳定性和兼容性进行了修复优化,适合生产环境与日常开发使用。该版本继续强化 AI 开发支持、容器日志管理以及 Docker Engine 的安全能力,对 Windows/macOS/Linux 平台兼容性进行了进一步优化。
下载修改/etc/ssh/sshd_config中的Port 2222,再systemctl restart sshd,避开暴力扫描主力目标用 TCP Wrappers 控制基础访问:在/etc/hosts.allow写sshd: 10.0.2.0/24,再在/etc/hosts.deny写sshd: ALL,实现白名单机制对数据库等敏感服务,禁用监听公网地址,改用bind-address = 127.0.0.1(MySQL)或listen_addresses = 'localhost'(PostgreSQL)
启用SELinux做细粒度端口管控当需要按“服务类型”而非“端口号”授权时,SELinux 是关键补充:查看当前端
口映射:
semanage port -l | grep http_port_t把自定义端口(如8080)加入 HTTP 服务允许范围:semanage port -a -t http_port_t -p tcp 8080
禁止某服务绑定任意端口:
setsebool -P deny_sys_network on(慎用,影响较大)
基本上就这些。日常运维中,建议每季度跑一次ss -tulpn+firewall-cmd --list-all对照检查,比堆砌规则更重要的是知道每条规则为什么存在。
