Openssh升级漏洞修复

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Openssh升级漏洞修复相关的知识,希望对你有一定的参考价值。

参考技术A 0.前言
公司采用三方漏洞扫描时发现大量openssh漏洞,最终修复漏洞方案为将openssh升级到官方最新版本。

操作系统: Centos7.2
网络状况: 可以访问外网
Openssh版本: OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 11 Feb 2013

修改配置文件/etc/xinetd.d/telnet 将里面的”disable= yes”改成” disable=no” ,修改后结果

在/etc/securetty文件末尾增加一些pts终端,直接加在末尾就可以了

防火墙开启23号端口,当然也可以直接关闭防火墙 ,这里选择关闭防火墙

或修改配置文件,永久生效。

(4)安装依赖包

4.2 换成telnet登录服务器
其换成telnet登录服务器,更新过程ssh连接会断,导致无法连接

4.3 安装Openssl步骤
(1)替换会被备份的文件

(2)解压软件包并且进入目录进行编译

(3)创建软连接

(4)验证文件

(5)修改配置文件

5.2 安装步骤
(1)解压压缩包

(2)修改目录权限

(3)备份会替换的文件

(4)执行编译安装

(5)修改配置文件

(6)文件替换

(7)添加开机自启动

(8)重启ssh

注意:在运行这个脚本的时候备份文件必须要是/back_up/backup.tgz,如果备份的时候叫其他名称,请自行修改脚本。还有脚本不能运行为前台且跟终端相关进程,因为经测试发现在还原的时候ip会被冲掉。所以远程连接会断掉

最后需要注意的是执行脚本会重启机器

OpenSSH漏洞修复——Ubuntu系统

OpenSSH漏洞
OpenSSH 是一组用于安全地访问远程计算机的连接工具,低版本爆出的高危漏洞太多
升级到最新版本

 OpenSSH 升级加固实例

(一)   升级条件准备

²  关闭防火墙

# ufw disable

²  安装与启用telnet

开启telnet server,以防止升级OpenSSH时导致远程连接异常,具体Telnet服务安装与开启命令操作如下。

# apt-get install -y openbsd-inetd

# apt-get install -y telnetd

# service openbsd-inetd start

²  下载相关升级包

# wget https://cloudflare.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.4p1.tar.gz --no-check-certificate

# wget http://www.zlib.net/zlib-1.2.11.tar.gz

# wget https://www.openssl.org/source/openssl-1.0.2k.tar.gz

²  安装zlib依赖库

# tar zxvf zlib-1.2.11.tar.gz

# cd zlib-1.2.11

# ./configure

# make && make install

# echo "/usr/local/lib" >> /etc/ld.so.conf

# ldconfig

²  添加普通账户

# useradd iflytek

# passwd iflytek

(二)   OpenSSL升级

# tar zxvf openssl-1.0.2k.tar.gz

# cd openssl-1.0.2k

# ./config shared -fPIC

# make && make install

# echo "/usr/local/ssl/lib " >> /etc/ld.so.conf

# ldconfig

# rm -rf /usr/bin/openssl

# ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl

# openssl version

 

(三)   OpenSSH升级

使用命令“telnet IP”远程连接服务器,关闭SSH服务以便升级。

# 停止sshd服务

# service sshd stop

# apt安装libpam0g-dev

# apt-get install libpam0g-dev # 缺少libpam0g-dev会报错

# 删除原ssh中的相关配置文件

# rm -rf /etc/ssh /usr/bin/scp /usr/bin/sftp /usr/bin/ssh* /usr/sbin/sshd

# rm -rf /lib/x86_64-linux-gnu/libssl.so.1.0.0

# rm -rf /lib/x86_64-linux-gnu/libcrypto.so.1.0.0

# cp /usr/local/ssl/lib/libssl.so.1.0.0 /lib/x86_64-linux-gnu/

# cp /usr/local/ssl/lib/libcrypto.so.1.0.0 /lib/x86_64-linux-gnu/

# 解压新版openssh并编译安装

# tar zxvf openssh-7.4p1.tar.gz

# cd openssh-7.4p1

# ./configure --prefix=/usr/local/ssh --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-ssl-dir=/usr/local/ssl  --mandir=/usr/share/man --with-zlib=/usr/local/lib --with-privsep-path=/var/empty --with-privsep-user=sshd --with-ssl-engine

# make && make install

 

 

 如果遇到这个错误,说明pam没装,需要装下:apt-get install pam

 

# 创建新版ssh服务的相关软链接

# ln -s /usr/local/ssh/bin/ssh /usr/bin/ssh

# ln -s /usr/local/ssh/bin/scp /usr/bin/scp

# ln -s /usr/local/ssh/bin/sftp /usr/bin/sftp

# ln -s /usr/local/ssh/bin/ssh-add /usr/bin/ssh-add

# ln -s /usr/local/ssh/bin/ssh-agent /usr/bin/ssh-agent

# ln -s /usr/local/ssh/bin/ssh-keygen /usr/bin/ssh-keygen

# ln -s /usr/local/ssh/bin/ssh-keyscan /usr/bin/ssh-keyscan

# ln -s /usr/local/ssh/sbin/sshd /usr/sbin/sshd

#配置允许root远程使用ssh登录(建议使用普通账号作为远程运维登录使用,不要开启root远程登录

# vi /etc/ssh/sshd_config

去除“#PermitRootLogin prohibit-password”中注释,并修改“prohibit-password”为“yes”,最后保存退出;

# service sshd start

如果出错按照提示操作

 

# ssh -V

以上是关于Openssh升级漏洞修复的主要内容,如果未能解决你的问题,请参考以下文章

centos7离线升级openssh,漏洞修复

OpenSSH漏洞修复——Ubuntu系统

Openssh版本升级修复漏洞

openssh漏洞?

Centos6.5/6.10操作系统openssh安全漏洞修复离线升级Openssh详细步骤

编译安装openssh7.8p1