系统安全加固最佳实践:Linux服务器安全基线配置
作为一名资深系统管理员,在处理多起安全事件后,我深刻体会到基础安全配置的重要性。以下是我在多个生产环境中的实际踩坑经验总结。
1. 禁用不必要的服务和端口
首先,我们通过systemctl禁用不必要的服务:
# 禁用SSH以外的远程服务
sudo systemctl disable telnet.socket
sudo systemctl disable ftpd.service
# 检查开放端口
sudo netstat -tlnp | grep LISTEN
2. 内核参数加固
配置内核安全参数是关键环节:
# 编辑/etc/sysctl.conf添加以下配置
net.ipv4.ip_forward = 0
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
kernel.randomize_va_space = 2
net.core.somaxconn = 1024
# 应用配置
sudo sysctl -p
3. SSH安全强化
SSH是攻击者主要入口,必须严格配置:
# 修改/etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication no
AllowUsers admin
# 重启服务
sudo systemctl restart sshd
4. 用户权限管理
定期清理无效用户是基本操作:
# 查找并删除非系统用户
awk -F: '($3>1000) {print $1}' /etc/passwd | grep -v nobody
# 设置密码策略
sudo vipw
5. 审计配置
启用系统审计帮助追踪异常行为:
# 安装auditd
sudo apt install auditd
# 添加审计规则
sudo auditctl -a always,exit -F arch=b64 -S execve
踩坑总结
在实际操作中,我曾因为忘记重启服务导致配置失效,也遇到过内核参数设置不当引起系统性能下降。建议每次修改后都要进行充分测试验证。
安全基线配置必须结合实际业务环境,不可一刀切。

讨论