Linux服务器安全加固实战:从内核参数到入侵检测的完整方案

服务器安全加固服务器运维中不可忽视的基础工作。一台未经过加固的Linux服务器暴露在公网环境下,平均存活时间不超过30分钟即可能被自动化扫描工具发现并利用。本文从系统层面到应用层面,提供一套可操作的Linux服务器安全加固方案。

系统账户与SSH安全配置

SSH是服务器管理的主要入口,也是攻击者首要爆破目标。服务器安全加固的第一步是修改SSH默认配置,屏蔽常见的自动化攻击路径。

# /etc/ssh/sshd_config 关键配置
Port 58222                          # 修改默认端口
PermitRootLogin no                  # 禁止root直接登录
PasswordAuthentication no           # 禁用密码认证,仅允许密钥
MaxAuthTries 3                      # 最大认证尝试次数
LoginGraceTime 30                   # 登录超时30秒
AllowUsers deploy admin             # 白名单用户
ClientAliveInterval 300             # 空闲超时5分钟
ClientAliveCountMax 0               # 超时后直接断开

# 修改完成后重启SSH服务
systemctl restart sshd

同时应创建专用的运维账户并配置sudo权限,避免直接使用root操作:

# 创建运维用户
useradd -m -s /bin/bash deploy
# 配置SSH密钥
mkdir -p /home/deploy/.ssh
cp /tmp/authorized_keys /home/deploy/.ssh/
chown -R deploy:deploy /home/deploy/.ssh
chmod 700 /home/deploy/.ssh
chmod 600 /home/deploy/.ssh/authorized_keys

# 配置sudo免密(仅限必要命令)
echo "deploy ALL=(ALL) NOPASSWD: /usr/bin/systemctl, /usr/bin/journalctl" >> /etc/sudoers.d/deploy

防火墙与端口访问控制

服务器安全加固的核心原则是最小化暴露面。仅开放业务必需的端口,其余全部拒绝。使用firewalld或iptables构建白名单策略。

# 使用firewalld配置区域策略
firewall-cmd --permanent --zone=public --remove-service=ssh
firewall-cmd --permanent --zone=public --add-port=58222/tcp
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --permanent --zone=public --add-port=443/tcp

# 限制SSH仅允许运维网段访问
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="10.0.1.0/24" port port="58222" protocol="tcp" accept'
firewall-cmd --permanent --zone=public --remove-port=58222/tcp

# 内部服务端口仅允许本机访问
firewall-cmd --permanent --zone=public --add-port=3306/tcp --add-source=127.0.0.1
firewall-cmd --permanent --zone=public --add-port=6379/tcp --add-source=127.0.0.1

firewall-cmd --reload

内核参数加固与SYN Flood防护

Linux内核提供大量网络相关参数,合理调整可缓解DDoS和SYN Flood攻击。以下参数写入/etc/sysctl.d/99-security.conf

# SYN Flood防护
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 3

# 连接跟踪优化
net.netfilter.nf_conntrack_max = 65536
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_tw_reuse = 1

# 禁用ICMP重定向和源路由
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.all.log_martians = 1

# 禁用IP转发(非路由器场景)
net.ipv4.ip_forward = 0

# 文件描述符和进程数限制
fs.file-max = 1000000
fs.suid_dumpable = 0

# 内核地址空间随机化
kernel.randomize_va_space = 2

# 应用配置
sysctl -p /etc/sysctl.d/99-security.conf

Fail2Ban自动封禁与暴力破解防护

Fail2Ban通过分析系统日志,自动识别并封禁反复尝试登录失败的IP地址,是服务器故障排查和防御的利器。

# 安装Fail2Ban
yum install -y fail2ban

# /etc/fail2ban/jail.local
[sshd]
enabled = true
port = 58222
filter = sshd
logpath = /var/log/secure
maxretry = 3
findtime = 600
bantime = 86400
banaction = firewallcmd-ipset

# 自定义规则:封禁SSH扫描器
[ssh-scan]
enabled = true
port = 58222
filter = sshd-aggressive
logpath = /var/log/secure
maxretry = 2
bantime = 604800

# 启动服务
systemctl enable fail2ban
systemctl start fail2ban

# 查看封禁状态
fail2ban-client status sshd

文件系统完整性监控

入侵者通常会修改系统二进制文件以植入后门。使用AIDE(Advanced Intrusion Detection Environment)对关键目录建立基线,定期比对检测篡改。

# 安装AIDE
yum install -y aide

# 初始化数据库(首次运行,系统干净状态下执行)
aide --init
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

# 关键监控目录配置 /etc/aide.conf
/bin  R
/sbin R
/usr/bin R
/usr/sbin R
/etc R
/lib R
/usr/lib R

# 每日执行完整性检查
echo "0 3 * * * root /usr/sbin/aide --check | mail -s 'AIDE Report' admin@yunthe.com" >> /etc/crontab

审计日志与操作追踪

服务器安全加固的最后一步是建立审计机制。auditd服务可记录系统调用级别的操作行为,为事后追溯提供证据链。

# 安装并启用auditd
yum install -y audit
systemctl enable auditd
systemctl start auditd

# 添加审计规则
# 监控/etc/passwd修改
auditctl -w /etc/passwd -p wa -k identity
# 监控sudo配置变更
auditctl -w /etc/sudoers -p wa -k sudoers
# 监控SSH配置变更
auditctl -w /etc/ssh/sshd_config -p wa -k ssh_config
# 监控系统时间修改
auditctl -a always,exit -F arch=b64 -S adjtimex -S settimeofday -k time-change

# 查询审计日志
ausearch -k identity
aureport --summary

日志应配置集中收集和异地备份。将审计日志实时转发到独立的日志服务器,即使本机被入侵,攻击者也无法清除操作痕迹。通过rsyslog或Filebeat将日志推送至ELK集群进行统一分析和告警,形成完整的安全态势感知能力。

上述方案覆盖了账户、网络、内核、入侵检测和审计五个层面,组合实施后可使服务器的安全基线达到等保2.0三级要求。在IDC数据中心环境和云服务器选型时,这套加固方案同样适用。

原创文章,作者:小编,如若转载,请注明出处:https://www.yunthe.com/linux-fu-wu-qi-an-quan-jia-gu-shi-zhan-cong-nei-he-can-shu/

(0)
小编小编
上一篇 17小时前
下一篇 17小时前

相关推荐