HCRM博客

CentOS系统OpenSSH升级与密码安全加固指南

CentOS 系统 OpenSSH 密码安全升级实战指南

作为资深运维工程师,深知暴露在公网的 SSH 服务是重点攻击目标,CentOS 7 默认搭载的 OpenSSH 7.4 及更早版本存在已知漏洞(如 CVE-2018-15485),可能导致弱加密算法或暴力破解风险,主动升级 OpenSSH 并强化密码安全策略,是抵御入侵的关键防线。

风险现状:旧版 OpenSSH 的安全隐患

CentOS系统OpenSSH升级与密码安全加固指南-图1
  1. 弱算法支持:早期版本默认兼容 DES、CBC 模式等易被破解的加密方式。
  2. 密钥交换漏洞:部分版本存在中间人攻击风险(如 CVE-2016-0777)。
  3. 密码策略薄弱:默认未强制使用高强度密码或双因素认证。

编译升级 OpenSSH:安全可控的路径

提示:生产环境务必先在测试机验证!

步骤 1:基础准备与依赖安装

# 安装编译工具链  
yum groupinstall "Development Tools" -y  
yum install pam-devel zlib-devel openssl-devel -y  
# 备份现有 SSH 配置(救命关键!)  
cp -rp /etc/ssh /etc/ssh_backup  
systemctl stop sshd  

步骤 2:获取并验证新版本源码

# 下载 OpenSSH 9.6p1(2024年3月发布)  
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.6p1.tar.gz  
# 验证文件完整性  
echo "f8f7a8c0c8e7e8a1a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1 openssh-9.6p1.tar.gz" | sha512sum -c  

步骤 3:编译安装与安全加固

tar -zxvf openssh-9.6p1.tar.gz  
cd openssh-9.6p1  
# 关键编译参数:禁用弱算法,启用 PAM 集成  
./configure \  
  --prefix=/usr \  
  --sysconfdir=/etc/ssh \  
  --with-pam \  
  --with-ssl-dir=/usr \  
  --with-md5-passwords \  
  --without-openssl-header-check \  
  --disable-strip \  
  --with-privsep-path=/var/lib/sshd \  
  --with-security-key-builtin \  
  --disable-sha1  
make  
make install  

参数解析

CentOS系统OpenSSH升级与密码安全加固指南-图2
  • --disable-sha1:禁用不安全的 SHA-1 哈希算法
  • --with-security-key-builtin:支持 FIDO/U2F 硬件密钥
  • --with-pam:集成 Linux PAM 身份验证

步骤 4:配置系统集成

# 替换守护进程文件  
cp -p contrib/redhat/sshd.init /etc/init.d/sshd  
chkconfig --add sshd  
# 更新动态链接库  
ldconfig -v | grep libssh  

强化密码安全:策略与实践
强制高强度密码策略
编辑 /etc/pam.d/system-auth

password requisite pam_pwquality.so retry=3 minlen=12 difok=3 ucredit=-1 lcredit=-1 dcredit=-1 enforce_for_root  

要求:12位以上,含大小写字母、数字、特殊字符

启用双因素认证 (2FA)
安装 Google Authenticator:

yum install google-authenticator -y  

用户执行 google-authenticator 生成密钥,并在 /etc/ssh/sshd_config 添加:

ChallengeResponseAuthentication yes  
AuthenticationMethods publickey,password publickey,keyboard-interactive  

限制登录尝试频率
/etc/ssh/sshd_config 中加入:

CentOS系统OpenSSH升级与密码安全加固指南-图3
MaxAuthTries 3          # 每会话最大尝试次数  
LoginGraceTime 1m       # 登录超时  
UsePAM yes              # 启用 PAM 模块限制  

升级后验证与排错

# 检查版本  
sshd -V  
# 启动服务并观察日志  
systemctl start sshd  
tail -f /var/log/secure  
# 本地回环测试(新开终端)  
ssh -v localhost  

常见故障

  • 若 PAM 报错:检查 /etc/pam.d/sshd 是否包含 auth required pam_sepermit.so
  • 若协议不兼容:客户端使用 ssh -oHostKeyAlgorithms=+ssh-rsa 临时连接

可持续安全实践

  1. 定期更新:订阅 OpenSSH 安全公告,每季度审查版本。
  2. 密钥替代密码:部署 ed25519 密钥对,彻底关闭密码登录。
  3. 网络层防护:使用 fail2ban 自动封锁暴力破解 IP。

升级 OpenSSH 并非一劳永逸,而是持续安全加固的起点,在攻防对抗的战场上,保持服务版本更新、严格密码策略、最小化攻击面,才是对业务数据真正的负责,技术决策必须优先考虑风险控制,而非单纯的运行便利。

操作过程遇到阻塞?建议通过 本地控制台IPMI 管理口 访问服务器,避免 SSH 中断导致失联。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/36201.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~