🔒 为什么服务器安全如此重要
服务器安全是每个网站运营者都必须重视的问题。一旦服务器被入侵,可能导致数据泄露、网站被挂马、业务中断等严重后果。本文分享10个Linux服务器安全加固的必备步骤,帮助你保护服务器安全。
🔑 一、禁用root登录,改用SSH密钥
root用户是黑客攻击的首选目标,禁用密码登录改用密钥对是最高效的安全措施。
# 1. 在本地生成密钥对 ssh-keygen -t ed25519 -C "your_email@example.com" # 2. 将公钥复制到服务器 ssh-copy-id -i ~/.ssh/id_ed25519.pub user@your_server_ip # 3. 编辑服务器SSH配置 sudo vim /etc/ssh/sshd_config # 修改以下配置: PermitRootLogin no PasswordAuthentication no PubkeyAuthentication yes Port 2222 # 改用非标准端口 # 4. 重启SSH服务 sudo systemctl restart sshd
🛡️ 二、配置防火墙(UWF/iptables)
防火墙是第一道防线,只开放必要的端口。
# 安装UFW sudo apt install ufw # 设置默认策略 sudo ufw default deny incoming sudo ufw default allow outgoing # 开放必要端口 sudo ufw allow 2222/tcp # SSH sudo ufw allow 80/tcp # HTTP sudo ufw allow 443/tcp # HTTPS # 启用防火墙 sudo ufw enable # 查看状态 sudo ufw status verbose
⛔ 三、安装和配置fail2ban
fail2ban可以自动封禁多次登录失败的IP,防止暴力破解。
# 安装fail2ban sudo apt install fail2ban -y # 编辑配置 sudo vim /etc/fail2ban/jail.local [sshd] enabled = true port = 2222 maxretry = 3 findtime = 10m bantime = 30m banaction = iptables-multiport # 启动服务 sudo systemctl enable fail2ban sudo systemctl start fail2ban
🔄 四、保持系统更新
及时安装安全更新补丁,是最基本但最重要的安全措施。
# 设置自动安全更新 sudo apt install unattended-upgrades unattended-upgrades -y sudo dpkg-reconfigure -plow unattended-upgrades # 手动更新 sudo apt update && sudo apt upgrade -y
📹 五、配置Tripwire入侵检测
Tripwire可以监控系统文件的变更,及时发现潜在入侵。
# 安装Tripwire sudo apt install tripwire # 初始化数据库 sudo twadmin -m G /etc/tripwire/tw.pol sudo tripwire --init # 检查系统完整性 sudo tripwire --check
🚫 六、禁用不必要的服务和端口
关闭不需要的服务,减少攻击面。
# 查看运行中的服务 systemctl list-units --type=service --state=running # 禁用不需要的服务 sudo systemctl disable service_name sudo systemctl stop service_name
📁 七、设置合理的文件权限
# 网站文件权限
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;
# 敏感文件权限
chmod 600 /etc/passwd
chmod 600 /etc/shadow
chmod 640 /etc/ssh/sshd_config
📋 八、配置日志审计
启用并定期检查系统日志,及时发现异常行为。
# 查看SSH登录日志 tail -f /var/log/auth.log # 安装auditd sudo apt install auditd sudo systemctl enable auditd sudo systemctl start auditd # 查看审计日志 sudo aureport -l
🔐 九、配置AppArmor/SELinux
使用强制访问控制(MAC)限制程序权限。
# Ubuntu检查AppArmor状态 sudo aa-status # 启用/禁用 sudo systemctl enable apparmor sudo systemctl start apparmor
💾 十、定期备份和灾备演练
再完善的防护也可能被攻破,完善的备份是最后一道防线。
📋 备份策略: 1. 每日增量备份 2. 每周完整备份 3. 异地备份(至少保留3份) 4. 定期灾备演练 # 使用rsync备份 rsync -avz --delete /var/www/html/ backup:/backup/
📌 总结
服务器安全需要持续关注和维护,没有一劳永逸的解决方案。按照以上10个步骤加固你的Linux服务器,并保持警惕、定期检查日志、及时更新系统,才能有效保护你的服务器安全。安全是永无止境的工作。
发表回复