
核心要点(TL;DR)
- 内核参数调优可缓解SYN Flood等网络攻击,需修改sysctl.conf并生效。
- 文件权限应遵循最小权限原则,关键目录设置750或700,定期审计。
- SELinux策略调优需理解上下文,使用semanage和audit2allow定制规则。
- 加固后需进行漏洞扫描和渗透测试,验证防护效果。
刚装好的Linux服务器默认配置往往为了兼容性而牺牲了安全性,直接暴露在公网极易成为攻击目标。本文从内核参数、文件权限和SELinux策略三个维度,提供可立即落地的加固操作步骤与检查清单,帮助运维人员快速提升系统防御能力。
内核参数调优:抵御网络层攻击
内核参数调优是Linux服务器加固的第一道防线,尤其针对SYN Flood、IP欺骗等网络攻击。通过调整/etc/sysctl.conf中的关键参数,可显著提升系统抗攻击能力。
关键参数配置
编辑/etc/sysctl.conf,添加或修改以下参数:
net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_max_syn_backlog = 2048 net.ipv4.tcp_synack_retries = 2 net.ipv4.conf.all.rp_filter = 1 net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.all.accept_source_route = 0 net.ipv4.icmp_echo_ignore_broadcasts = 1 net.ipv4.conf.all.log_martians = 1
执行sysctl -p使配置生效。使用sysctl -a | grep syncookies验证。
参数说明与检查清单
| 参数 | 作用 | 建议值 |
|---|---|---|
| tcp_syncookies | 防御SYN Flood | 1 |
| rp_filter | 防IP欺骗 | 1 |
| accept_redirects | 防路由重定向攻击 | 0 |
检查清单:1. 确认所有参数已写入配置文件;2. 执行sysctl -p无报错;3. 使用sysctl命令核对运行时值。
文件权限配置:最小权限原则
文件权限配置不当是提权攻击的常见入口。遵循最小权限原则,确保敏感文件和目录仅对必要用户开放。
关键目录与文件权限
使用chmod和chown设置权限:
chmod 750 /etc/sudoers.d chmod 644 /etc/passwd chmod 000 /etc/shadow chmod 700 /root chmod 750 /home/*
对于Web目录,设置chmod 750 /var/www/html,并确保属主为Web服务用户。
权限审计与修复
使用find命令查找权限过宽的文件:
find / -perm -o+w -type f -exec ls -l {} \;对于发现的全局可写文件,使用chmod o-w移除写权限。定期运行lynis audit system进行安全审计。
SELinux策略调优:精细化访问控制
SELinux提供强制访问控制,但默认策略可能阻碍正常服务。正确调优策略而非禁用SELinux,是Linux服务器加固的关键。
查看与修改文件上下文
使用ls -Z查看文件上下文。若需修改,使用semanage fcontext -a -t httpd_sys_content_t '/web(/.*)?',然后执行restorecon -Rv /web应用。
处理AVC拒绝
当服务被拒绝时,查看/var/log/audit/audit.log,使用audit2why分析原因。生成允许策略:audit2allow -a -M mypolicy,然后semodule -i mypolicy.pp。避免使用setenforce 0永久禁用。
SELinux布尔值调整
使用getsebool -a列出所有布尔值,通过setsebool -P httpd_can_network_connect on开启所需功能,无需编写复杂策略。
加固效果验证与持续维护
完成上述配置后,需验证加固效果并建立持续维护机制。
验证步骤
- 使用
nmap扫描本机开放端口,确认无多余服务。 - 检查
/var/log/secure和/var/log/audit/audit.log,确认无异常拒绝记录。 - 运行
lynis audit system获取安全评分。
持续维护建议
定期更新系统补丁,使用yum update或apt upgrade。监控SELinux日志,及时调整策略。在防护建议方面,可考虑集成AegisX的实时监控与告警能力,自动检测异常权限变更和策略违规。
行动建议:立即备份当前配置,然后按上述步骤逐项实施。每完成一项,记录变更并测试服务可用性。加固非一劳永逸,需结合定期审计与监控,持续优化安全基线。
常见问题(FAQ)
如何检查Linux内核参数是否已优化?
使用sysctl -a命令查看当前所有内核参数,或针对特定参数使用sysctl net.ipv4.tcp_syncookies等。对比优化建议值,确认是否生效。也可检查/etc/sysctl.conf或/etc/sysctl.d/下的配置文件。
文件权限设置错误会导致哪些安全问题?
权限过宽(如777)可能导致敏感文件被任意用户读取或修改,增加数据泄露和篡改风险。例如,/etc/passwd应设为644,/etc/shadow应为000或400。定期使用find命令审计权限异常文件。
SELinux导致服务无法访问资源怎么办?
首先查看/var/log/audit/audit.log中的AVC拒绝记录,使用audit2why分析原因。可通过semanage fcontext修改文件上下文,或使用audit2allow生成允许策略。避免直接禁用SELinux。
如何永久生效内核参数修改?
将参数写入/etc/sysctl.conf或/etc/sysctl.d/99-custom.conf文件,然后执行sysctl -p加载。确保文件权限为644,避免未授权修改。
加固后如何验证效果?
使用lynis、chkrootkit等工具进行安全扫描,或进行渗透测试。检查日志中是否有异常拒绝记录,确认关键服务正常运行且权限策略生效。