Skip to main content

Linux 服务器安全加固指南

·689 words·2 mins

概述
#

服务器安全是运维工作的基础。本文介绍关键的安全加固措施。

用户管理
#

禁用 root 远程登录
#

# 编辑 SSH 配置
sudo vim /etc/ssh/sshd_config

# 修改配置
PermitRootLogin no
PasswordAuthentication no

# 重启 SSH 服务
sudo systemctl restart sshd

创建普通用户
#

# 创建用户
sudo useradd -m -s /bin/bash newuser

# 设置密码
sudo passwd newuser

# 添加到 sudo 组
sudo usermod -aG sudo newuser

# 测试切换
su - newuser
sudo whoami

禁用空密码
#

# 编辑配置
sudo vim /etc/ssh/sshd_config

# 禁用空密码
PermitEmptyPasswords no

# 重启服务
sudo systemctl restart sshd

防火墙配置
#

UFW (Ubuntu)
#

# 安装 UFW
sudo apt install ufw

# 默认拒绝所有
sudo ufw default deny incoming
sudo ufw default allow outgoing

# 允许 SSH
sudo ufw allow 22/tcp

# 允许 HTTP/HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# 启用防火墙
sudo ufw enable

# 查看状态
sudo ufw status

FirewallD (CentOS)
#

# 安装 FirewallD
sudo yum install firewalld

# 启动服务
sudo systemctl start firewalld
sudo systemctl enable firewalld

# 允许服务
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

# 重新加载
sudo firewall-cmd --reload

# 查看规则
sudo firewall-cmd --list-all

SSH 安全
#

密钥认证
#

# 本地生成密钥
ssh-keygen -t ed25519 -C "your@email.com"

# 复制公钥到服务器
ssh-copy-id user@server-ip

# 禁用密码登录
sudo vim /etc/ssh/sshd_config
PasswordAuthentication no

修改默认端口
#

# 编辑配置
sudo vim /etc/ssh/sshd_config

# 修改端口
Port 2222

# 重启服务
sudo systemctl restart sshd

# 防火墙开放新端口
sudo ufw allow 2222/tcp

使用 Fail2Ban 防止暴力破解
#

# 安装
sudo apt install fail2ban

# 复制配置
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

# 编辑配置
sudo vim /etc/fail2ban/jail.local

# 启动服务
sudo systemctl start fail2ban
sudo systemctl enable fail2ban

文件系统安全
#

关键文件权限
#

# 检查关键文件
ls -la /etc/passwd
ls -la /etc/shadow

# 修复权限
sudo chmod 644 /etc/passwd
sudo chmod 600 /etc/shadow
sudo chmod 644 /etc/group

系统更新
#

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

# CentOS/RHEL
sudo yum update -y

# 设置自动更新
sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

日志审计
#

启用审计
#

# 检查审计服务
sudo apt install auditd

# 启动服务
sudo systemctl start auditd
sudo systemctl enable auditd

# 查看日志
sudo ausearch -m exe -ts recent

关键操作监控
#

# 监控敏感文件
sudo auditctl -w /etc/passwd -p wa
sudo auditctl -w /etc/shadow -p wa

# 监控命令执行
sudo auditctl -a always,exit -F arch=b64 -S execve

快照和备份
#

定期备份
#

# 创建备份脚本
sudo vim /usr/local/bin/backup.sh

#!/bin/bash
tar -czf /backup/etc-$(date +%Y%m%d).tar.gz /etc
tar -czf /backup/home-$(date +%Y%m%d).tar.gz /home

# 添加到 cron
sudo crontab -e
# 0 2 * * * /usr/local/bin/backup.sh

文件完整性检查
#

# 安装 AIDE
sudo apt install aide

# 初始化数据库
sudo aide --init

# 检查差异
sudo aide --check

总结
#

服务器安全需要持续关注和维护,定期检查和更新是关键。