Linux端口安全管理说明_Linux控制网络访问权限方法

8次阅读

linux端口 安全管理核心是查清开放端口、防火墙 精准管控、服务层加固及 SELinux 细粒度控制;需定期用 ss 和 firewall-cmd 核查规则有效性。

Linux 端口安全管理说明_Linux 控制网络访问权限方法

Linux端口 安全管理核心就三点:看清哪些端口开着、控制谁可以连、限制服务本身能用什么端口。不复杂,但容易忽略细节。

查清当前开放和监听的端口

先摸清家底,避免“不知道自己开了什么”。常用命令有:

  • ss -tulpn:推荐首选,比 netstat 更快更准确,显示所有 TCP/udp监听端口及对应进程
  • lsof -i :22:查特定端口(比如 22)被哪个进程占用,适合排错
  • nmap -sT -p1-1000 localhost:模拟外部扫描,验证真实暴露面(注意别扫生产环境全端口)

用 firewalld 精准放行或封禁端口

RHEL/centos 7+ 及 Fedora 默认用 firewalld,规则清晰、支持动态重载:

  • 只允许本机或内网访问 sshfirewall-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 访问

防火墙 是第一道门,服务自身配置是第二道锁:

  • 修改 /etc/ssh/sshd_config 中的 Port 2222,再 systemctl restart sshd,避开暴力扫描主力目标
  • 用 TCP Wrappers 控制基础访问:在 /etc/hosts.allowsshd: 10.0.2.0/24,再在 /etc/hosts.denysshd: ALL,实现白名单机制
  • 数据库 等敏感服务,禁用监听公网地址,改用 bind-address = 127.0.0.1mysql)或 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 对照检查,比 砌规则更重要的是知道每条规则 为什么 存在。

站长
版权声明:本站原创文章,由 站长 2025-12-13发表,共计1209字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
1a44ec70fbfb7ca70432d56d3e5ef742
text=ZqhQzanResources