Linux 服务器初始化后建议做的几项安全配置

新购买或新安装的 Linux 服务器在正式部署业务前,建议先完成基础安全配置。 这些配置不复杂,但可以减少弱口令登录、暴露端口过多、系统长期不更新等常见问题。

本文主要记录通用思路,实际配置时需要根据服务器用途、云厂商安全组和业务端口进行调整。

一、更新系统软件包

服务器初始化后,第一步建议先更新软件包索引并安装系统更新。

# Debian / Ubuntu
sudo apt update
sudo apt upgrade -y

# CentOS / Rocky / AlmaLinux
sudo dnf update -y

更新完成后,如果内核、systemd、openssl 等关键组件发生变化,建议安排一次重启。

二、创建普通用户并使用 sudo

不建议长期直接使用 root 用户操作。可以创建一个普通用户,并授予 sudo 权限。

sudo adduser adminuser
sudo usermod -aG sudo adminuser

后续日常维护尽量使用普通用户登录,需要管理员权限时再使用 sudo。

三、调整 SSH 登录策略

SSH 是服务器最常见的入口。建议使用密钥登录,关闭密码登录,并根据需要修改默认端口。

sudo nano /etc/ssh/sshd_config

常见配置项如下:

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes

修改完成后先测试配置,再重启 SSH 服务。

sudo sshd -t
sudo systemctl restart ssh

四、开启防火墙并只放行必要端口

如果服务器使用的是 Debian 或 Ubuntu,可以使用 ufw 管理防火墙。

sudo apt install ufw -y
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status verbose

如果云厂商本身也有安全组,需要同时检查云安全组和系统防火墙,避免只配置其中一边。

五、检查监听端口

部署服务前后都建议检查当前监听端口,确认没有不需要暴露的服务。

ss -tulnp

对外服务一般只保留必要端口,例如 22、80、443。数据库、Redis、管理后台等服务不建议直接暴露到公网。

六、查看日志与登录记录

可以定期查看登录记录和认证日志,判断是否存在异常登录尝试。

last
sudo journalctl -u ssh --since "1 day ago"
sudo tail -f /var/log/auth.log

总结

Linux 服务器安全加固并不是一次性工作。系统更新、用户权限、SSH 策略、防火墙和日志检查应该形成固定习惯。 对于公开服务,建议再配合备份、监控和告警机制。