服务器安全加固的优先级是先把最常见的入口堵住。SSH弱口令、暴力破解、端口暴露和未修补漏洞,是最主要的几类入侵路径。本文按认证、拦截、防火墙、审计的顺序,给出一套可在Ubuntu 22.04/24.04服务器上直接执行的加固步骤。
SSH加固:切换密钥认证并关闭密码登录
第一步把SSH认证换成密钥认证,同时禁止root直接登录。
# 本地生成密钥对
ssh-keygen -t ed25519 -a 100
# 把公钥复制到服务器
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server_ip
编辑 /etc/ssh/sshd_config:
PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no
KbdInteractiveAuthentication no
MaxAuthTries 3
LoginGraceTime 30
改完先执行 sshd -t 校验语法,再 systemctl restart ssh。密钥登录确认可用后再关闭密码登录,避免把自己锁在门外。生产环境建议同时修改SSH端口,配合防火墙只放行新端口,可以过滤掉大量自动化扫描流量。
暴力破解拦截:fail2ban自动封禁
fail2ban扫描认证日志,失败次数超过阈值自动封禁来源IP。
apt install fail2ban -y
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
jail.local核心配置:
[sshd]
enabled = true
port = ssh
maxretry = 3
bantime = 3600
findtime = 600
ignoreip = 127.0.0.1/8 办公网出口IP
10分钟窗口内失败3次封禁1小时。ignoreip把办公网出口IP加进去,防止误封正常运维通道。
防火墙最小开放原则
防火墙坚持默认拒绝、白名单放行。
ufw default deny incoming
ufw default allow outgoing
ufw allow 2203/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
放行之前用 ss -tlnp 盘点本机实际监听端口,逐条确认后再写规则。端口越少,攻击面越小。
审计与文件完整性校验
auditd记录敏感文件与命令的执行,aide给系统文件建立基线,文件被改动时能立刻比对出来。
apt install auditd aide -y
auditctl -w /etc/passwd -p wa -k passwd-watch
aideinit
mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db
日常运行 aide –check 与基线对比,出现差异就核查变更来源。审计日志同步转发到远程日志服务器,防止攻击者清理本地痕迹。
补丁更新与最小化安装
apt install unattended-upgrades -y
dpkg-reconfigure --priority=low unattended-upgrades
安全补丁保持自动安装,服务器只装业务必要的软件,不保留编译工具链。加固不是一次性工作:密钥轮换、端口复查、审计日志抽查要纳入运维清单持续执行。
原创文章,作者:小编,如若转载,请注明出处:https://www.yunthe.com/linux-fu-wu-qi-an-quan-jia-gu-cong-ssh-fang-xian-dao-bao-li/