本帖最后由 情亲见君意 于 2024-11-15 11:38 编辑
一、背景 某客户使用Ubuntu22.04.1系统部署业务系统,准备等保测评,漏扫过程中发现关于ssh以下高危漏洞,现需要修复。
二、解决方案 根据漏扫报告提示,升级OpenSSH版本>9.8p1即可解决 1. 下载最新版本OpenSSH安装包
2. 下载及安装编译环境相关依赖 在线安装 使用root账户执行【apt-get install make zlib1g-dev openssl libssl-dev gcc】 离线安装 将所有安装包上传到到Ubuntu服务器 进到对应目录下执行【dpkg -i *.deb】命令进行安装 ① 安装 make
② 安装 zlib1g-dev
③ 安装 openssl
④ 安装 libssl-dev
⑤ 安装 gcc
3. 解压openssh-9.9p1.tar.gz 【tar -zxvf openssh-9.9p1.tar.gz】 4. 编译 【./configure --prefix=/usr/local/openssh】 【make】 【make install】 4. 备份和替换旧密钥文件 【cp -r /usr/local/openssh/etc /usr/local/openss】 【cp /etc/ssh/ssh_host_* /usr/local/openssh/etc】
三、测试验证 注:测试前关闭防火墙,【systemctl start(启动)/stop(关闭)/restart(重启)/status(状态) ufw】 1. 修改配置文件:vi /usr/local/openssh/etc/sshd_config 2. #PermitRootLogin prohibit-password 改为 PermitRootLogin yes 3. /usr/local/openssh/sbin/sshd 4. 从其他服务器上测试远程连接:ssh IP -p 222 测试完后将端口222改回22
四、创建新版 ssh 软连接并重启ssh服务 【ln -s -f /usr/local/openssh/sbin/sshd /usr/sbin/】(-f 参数代表强制执行) 【ln -s -f /usr/local/openssh/bin/ssh /usr/bin/】 【systemctl restart sshd】 最后在测试22端口版本号以及是否正常远程服务器 |