Ubuntu14.04.5升级openssh8.0p1版本

一、前言
客户请广电公司扫描服务器漏洞,扫到阿里云服务器的OpenSSH_6.6.1p1版本存在如下高危漏洞,基于安全的考量,升级到8.0版本。
1.OpenSSH安全绕过漏洞
2.OpenSSH远程代码执行漏洞
3.OpenSSH UseLogin环境变量任意代码执行漏洞
4.OpenSSH身份验证漏洞
5.OpenSSH用户枚举漏洞
6.OpenSSH 资源管理错误漏洞
7.OpenSSH sshd漏洞
8.OpenSSH sshd拒绝服务漏洞
9.OpenSSH sshd拒绝服务漏洞
二、准备
下载zlib-1.2.11.tar.gz 来源: http://www.zlib.net/
下载openssl-1.1.0k.tar.gz 来源:https://www.openssl.org/source/ 
下载openssh-8.0p1.tar.gz 来源:http://www.openssh.com/portable.html
提前安装telnet服务,以防openssh安装失败导致无法远程,可以先telnet 127.0.0.1测试是否安装了telnet服务

1 apt-get install openbsd-inetd telnetd telnet
2 /etc/init.d/openbsd-inetd restart     # 启动服务
3 netstat -anpt|grep 23           # 查看telnet服务的默认端口是否启动
4 telnet ip                  # 测试是否成功登陆

三、开始安装
1、升级zlib

1 tar xf zlib-1.2.11.tar.gz
2 cd zlib-1.2.11
3 #升级openssh用到的目录,确保目录底下有lib目录(库文件)
4 ./configure --prefix=/usr/local/zlib 
5 make && make install
6 #更新动态链接库
7 echo "/usr/local/zlib/lib" >> /etc/ld.so.conf
8 ldconfig -v

2、升级openssl

1 tar xf openssl-1.1.0k.tar.gz
2 #注意加参数--shared,才能在/usr/local/openssl目录生成lib等文件,后续升级openssh会用到
3 ./config --prefix=/usr/local/openssl --shared && make && make install 
4 ln -s /usr/local/bin/openssl /usr/bin/openssl (注意此处软链接需要按住实际路径)
5 ln -s /usr/local/include/openssl /usr/include/openssl(注意此处软链接需要按住实际路径)
6 #更新动态链接库
7 echo "/usr/local/openssl/lib" > /etc/ld.so.conf.d/openssl.conf
8 ldconfig -v

3、升级openssh

 1 tar xf openssh-8.0p1.tar.gz
 2 mv /etc/ssh /etc/ssh_bak (必须备份该目录,否则跟新版本冲突)
 3 mv /etc/init.d/ssh /etc/init.d/ssh_bak (必须备份该目录,否则跟新版本冲突)
 4 cd openssh-8.0p1/
 5 #不加参数--with-pam,否则会报错configure: error: PAM headers not found
 6 ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local --with-privsep-path=/var/lib/sshd 
 7 make && make install
 8 #查看是否升级成功
 9 ssh -V
10 #拷贝源文件目录中的sshd.init
11 cp -p contrib/redhat/sshd.init /etc/init.d/sshd
12 #修改ssh配置
13 vim /etc/ssh/sshd_config 
14 #修改配置中的以下参数,使之和原来配置信息保持一致
15 Port 2211
16 PermitRootLogin yes
17 RSAAuthentication yes
18 PubkeyAuthentication yes
19 AuthorizedKeysFile .ssh/authorized_keys
20 PasswordAuthentication yes
21 #修改sshd_config文件立即生效
22 service ssh reload
23 #重启ssh
24 service ssh restart
25 service ssh status

四、问题处理
1、问题1
openssh编译提示configure: error: OpenSSL library not found的解决办法
解决:
重新编译openssl安装,重点是编译时加上--shared参数:
./config --prefix=/usr/local/openssl --shared,然后make && make install

2、问题2
openssh编译提示configure: error: PAM headers not found的解决办法
解决:
编译时不加参数--with-pam

本人非专业运维,此次只是为客户服务器维护的勉力实践,操作过程中是否存在问题不得而知,如有问题,欢迎指出。

本文参考https://www.cnblogs.com/caidingyu/p/11126852.html,踩了一些坑,发布出来,仅供参考,如有问题可以提出讨论。

posted @ 2021-12-18 14:58  摩斯  阅读(157)  评论(0编辑  收藏  举报