Linux服务器安全加固指南


Linux服务器安全加固指南

服务器安全是运维工作的重中之重。一台没有加固的服务器就像一扇没锁的门,随时可能被入侵。本文将系统介绍Linux服务器的安全加固措施,从系统层面到应用层面,全面提升服务器安全性。

一、SSH安全配置

# /etc/ssh/sshd_config

# 禁止root远程登录
PermitRootLogin no

# 使用密钥认证,禁用密码登录
PubkeyAuthentication yes
PasswordAuthentication no

# 修改默认端口
Port 2222

# 限制登录尝试
MaxAuthTries 3
LoginGraceTime 30

# 禁止空密码
PermitEmptyPasswords no

# 仅允许特定用户登录
AllowUsers deploy admin

# 禁用不安全的认证方式
ChallengeResponseAuthentication no
UsePAM no

# 设置登录超时
ClientAliveInterval 300
ClientAliveCountMax 2

二、防火墙配置

# UFW防火墙
ufw default deny incoming
ufw default allow outgoing
ufw allow 2222/tcp     # SSH
ufw allow 80/tcp       # HTTP
ufw allow 443/tcp      # HTTPS
ufw enable

# 限制SSH连接频率
ufw limit 2222/tcp

# iptables方式
iptables -A INPUT -p tcp --dport 2222 -m state --state NEW -m recent --set --name ssh
iptables -A INPUT -p tcp --dport 2222 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --name ssh -j DROP

三、文件系统安全

# 关键文件权限
chmod 700 /root
chmod 600 /etc/ssh/sshd_config
chmod 644 /etc/passwd
chmod 600 /etc/shadow

# 查找SUID文件(可能被利用提权)
find / -perm -4000 -type f 2>/dev/null

# 移除不必要的SUID权限
chmod u-s /usr/bin/passwd  # 谨慎操作

# 查找全局可写文件
find / -xdev -type f -perm -o+w 2>/dev/null

# 挂载选项优化
# /etc/fstab
/tmp     ext4    defaults,nosuid,noexec,nodev    0 0
/var/tmp ext4    defaults,nosuid,noexec,nodev    0 0
/dev/shm tmpfs   defaults,nosuid,noexec,nodev    0 0

四、入侵检测与日志监控

# 安装Fail2ban
apt install fail2ban

# /etc/fail2ban/jail.local
[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
findtime = 600

# 查看登录失败记录
lastb | head -20

# 查看当前登录用户
who
w

# 查看用户登录历史
last | head -20

# 日志轮转 /etc/logrotate.d/
/var/log/auth.log {
    weekly
    rotate 12
    compress
    missingok
    notifempty
}

五、自动安全更新

# Ubuntu自动安全更新
apt install unattended-upgrades
dpkg-reconfigure -plow unattended-upgrades

# /etc/apt/apt.conf.d/50unattended-upgrades
Unattended-Upgrade::Allowed-Origins {
    "${distro_id}:${distro_codename}-security";
};
Unattended-Upgrade::AutoFixInterruptedDpkg "true";
Unattended-Upgrade::Remove-Unused-Dependencies "true";

服务器安全是一个持续的过程,不是一次性的工作。建议定期进行安全审计、及时更新系统补丁、监控异常登录行为,并制定应急响应预案。安全没有银弹,但做好每一层防护,就能大大降低被入侵的风险。


0.093977s