CentOS7安全策略端口配置指南
端口安全的核心意义
在CentOS7系统中,端口作为网络通信的核心接口,直接关系服务器安全。合理的端口管理策略能有效减少攻击面,防止未授权访问,同时确保合法服务的正常运行。
防火墙基础配置
1. firewalld服务启用
systemctl start firewalld
systemctl enable firewalld
激活并设置防火墙开机自启,为后续策略部署奠定基础。
2. 端口开放与关闭
# 开放HTTP/HTTPS端口
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
# 禁用高风险端口示例
firewall-cmd --permanent --remove-port=23/tcp
通过白名单机制仅开放必要服务端口,默认拒绝其他所有连接请求。
3. 区域策略优化
firewall-cmd --set-default-zone=public
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" accept'
设置默认安全区域,并通过富规则实现基于IP段的精细化控制。
服务管理规范
1. 非必要服务禁用
systemctl disable telnet.socket
systemctl mask rpcbind
通过systemctl禁用遗留服务,使用mask命令彻底屏蔽高危服务启动。
2. SSH安全强化
# 修改默认端口
sed -i 's/#Port 22/Port 5022/' /etc/ssh/sshd_config
# 启用证书认证
echo "PasswordAuthentication no" >> /etc/ssh/sshd_config
变更SSH监听端口,强制使用密钥认证,显著提升远程管理安全性。
端口监控与防御
1. 端口扫描检测
nmap -sS -p 1-65535 127.0.0.1
netstat -tulnp | grep LISTEN
定期使用扫描工具检测开放端口,比对预期结果排查异常监听。
2. 入侵防御部署
yum install -y fail2ban
echo "[sshd]
enabled = true
port = 5022" > /etc/fail2ban/jail.d/sshd.local
通过fail2ban实现自动封禁恶意IP,动态增强端口防护能力。
高级安全策略
1. 端口隐身技术
echo "net.ipv4.icmp_echo_ignore_all = 1" >> /etc/sysctl.conf
sysctl -p
关闭ICMP响应,降低服务器被扫描发现的概率。
2. 连接速率限制
firewall-cmd --add-rich-rule='rule protocol value="tcp" limit value="10/m" accept'
针对特定端口实施连接频率控制,缓解暴力破解攻击。
3. SELinux策略联动
semanage port -a -t http_port_t -p tcp 8080
setsebool -P httpd_can_network_connect 1
通过SELinux上下文管理,实现服务与端口的强制访问控制。
持续维护建议
定期执行firewall-cmd --reload
应用策略变更,使用auditd
监控端口访问日志,及时更新系统补丁修复已知漏洞。