Linux服务器安全加固实操:SSH防护、防火墙配置与入侵检测

在当今网络攻击日益频繁的环境下,Linux服务器安全加固显得尤为重要。本文将从SSH防护、防火墙配置、入侵检测三个维度,详细介绍Linux服务器安全加固的实操步骤,帮助您构建坚固的服务器安全防线。

一、SSH安全加固

SSH是服务器远程管理的主要入口,必须进行严格的安全配置:

  • 修改默认端口:将SSH默认端口22修改为非标准端口
  • 禁用密码登录:只允许密钥认证登录
  • 限制登录用户:禁止root用户直接登录
  • 配置登录失败锁定:防止暴力破解攻击
# 修改SSH配置文件
sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config
sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sed -i 's/#AllowUsers/AllowUsers yourusername/' /etc/ssh/sshd_config

# 重启SSH服务
systemctl restart sshd

二、防火墙配置

使用firewalld或iptables配置严格的防火墙规则:

# 安装并启用firewalld
yum install firewalld -y
systemctl enable --now firewalld

# 允许SSH连接(假设已修改为2222端口)
firewall-cmd --permanent --add-port=2222/tcp

# 允许HTTP和HTTPS
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https

# 允许出站连接
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="0.0.0.0/0" accept'

# 重载防火墙规则
firewall-cmd --reload

三、入侵检测系统

部署Fail2ban防止暴力破解攻击:

# 安装Fail2ban
yum install fail2ban -y
systemctl enable --now fail2ban

# 配置Fail2ban
cat > /etc/fail2ban/jail.local << EOF
[DEFAULT]
bantime = 86400
findtime = 600
maxretry = 5

[sshd]
enabled = true
port = 2222
logpath = %(sshd_log)s
backend = %(sshd_backend)s
EOF

# 重启Fail2ban服务
systemctl restart fail2ban

四、安全审计与监控

建立完善的安全审计体系:

  1. 定期检查/var/log/auth.log和/var/log/secure日志
  2. 使用last命令检查登录历史
  3. 定期更新系统和应用程序
  4. 使用rkhunter或chkrootkit检测rootkit

如需进一步了解相关内容,可通过联系我们咨询。