技术博客

Linux服务器安全加固清单:上线前建议检查这10项

整理 Linux 服务器上线前常见安全加固项,包括 SSH、防火墙、账号权限、日志、更新和备份。

Linux安全服务器加固SSH防火墙

服务器上线前,安全加固不是可选项。很多入侵并不复杂,常见原因是弱口令、暴露端口、长期不更新、日志缺失和权限过大。

下面是一份适合中小型业务服务器的 Linux 安全加固清单。

1. 禁止 root 远程直接登录

建议创建普通用户,通过 sudo 执行管理操作。

编辑 SSH 配置:

sudo vi /etc/ssh/sshd_config

确认或修改:

PermitRootLogin no

修改后重启 SSH:

sudo systemctl restart sshd

操作前一定要保留一个已登录终端,避免配置错误导致自己无法登录。

2. 使用密钥登录

密码登录容易受到暴力破解影响。更推荐使用 SSH key。

服务端用户目录下的公钥文件是:

~/.ssh/authorized_keys

确认权限:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

3. 关闭不必要端口

先查看监听端口:

ss -lntup

只保留业务需要的端口,例如 22、80、443。数据库、Redis、后台管理服务尽量不要直接暴露到公网。

4. 配置防火墙

以 firewalld 为例:

firewall-cmd --list-all
firewall-cmd --add-service=https --permanent
firewall-cmd --reload

如果业务只面向 CDN 回源,可以进一步限制源站访问来源。

5. 定期更新系统补丁

长期不更新的系统容易暴露已知漏洞。

RHEL、CentOS、openEuler 常见命令:

dnf update

Ubuntu 常见命令:

apt update
apt upgrade

生产环境更新前要评估影响,必要时先在测试环境验证。

6. 最小化用户权限

不要多人共用 root。建议每个管理员使用独立账号,并通过 sudo 分配权限。

查看 sudo 配置建议使用:

visudo

它会在保存前检查语法,避免 sudo 配置写错。

7. 检查定时任务

攻击者常利用 cron 做持久化。可以检查:

crontab -l
ls -l /etc/cron.*

陌生的下载命令、反弹 Shell、可疑脚本路径都要重点关注。

8. 打开关键日志

至少要知道这些日志的位置:

排障和安全分析都离不开日志。

9. 配置备份和恢复验证

有备份不等于能恢复。建议定期做恢复演练。

至少备份:

备份要和服务器隔离保存,避免服务器被入侵后备份一起被删除。

10. 建立变更记录

很多故障和安全问题都发生在变更之后。简单记录也有价值:

这能显著提高排障效率。

总结

安全加固不追求一次性完美,而是建立基线。先把 root 登录、弱口令、暴露端口、系统补丁、日志和备份这些基础项做好,服务器的整体风险就会下降很多。