前言
在搭建个人服务器或家庭实验室时,安全往往是被忽视的一环。本文将介绍 Linux 服务器的基础安全加固措施,帮助你构建更安全的系统环境。
一、系统更新与补丁管理
保持系统更新是最基本也是最重要的安全措施:
# Debian/Ubuntu
apt update && apt upgrade -y
# CentOS/RHEL
yum update -y
# Arch Linux
pacman -Syu
建议设置自动安全更新,对于生产环境,可以先在测试环境验证后再部署。
二、SSH 安全配置
SSH 是服务器最常用的远程访问方式,也是最容易被攻击的入口:
2.1 禁用密码登录,使用密钥认证
# 生成密钥对
ssh-keygen -t ed25519 -C "your_email@example.com"
# 复制公钥到服务器
ssh-copy-id user@server_ip
2.2 修改 SSH 配置文件
# 编辑 /etc/ssh/sshd_config
Port 2222 # 修改默认端口
PermitRootLogin no # 禁止 root 登录
PasswordAuthentication no # 禁用密码登录
PubkeyAuthentication yes # 启用密钥认证
MaxAuthTries 3 # 限制尝试次数
AllowUsers your_username # 只允许特定用户
三、防火墙配置
3.1 UFW(Ubuntu/Debian)
# 启用防火墙
ufw enable
# 允许 SSH(如果修改了端口)
ufw allow 2222/tcp
# 允许 HTTP/HTTPS
ufw allow 80/tcp
ufw allow 443/tcp
# 查看状态
ufw status verbose
3.2 Firewalld(CentOS/RHEL)
# 启用防火墙
systemctl enable --now firewalld
# 添加服务
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
四、失败登录防护(Fail2Ban)
# 安装
apt install fail2ban -y
# 启用服务
systemctl enable --now fail2ban
# 创建本地配置
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Fail2Ban 会监控日志文件,自动封禁多次登录失败的 IP 地址。
五、定期备份策略
安全加固的最后一道防线是备份:
- 系统配置备份:/etc 目录定期打包
- 数据备份:数据库、重要文件异地备份
- 快照:使用 LVM 或文件系统快照功能
六、安全审计与监控
# 查看登录历史
last
# 查看当前登录用户
who
# 监控系统资源
htop
# 检查开放端口
netstat -tulpn
总结
服务器安全是一个持续的过程,不是一次性的配置。建议:
- 定期更新系统和软件
- 定期检查日志和监控告警
- 定期审查用户权限和访问策略
- 保持备份并测试恢复流程
安全无小事,希望这份指南能帮助你构建更安全的服务器环境。