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,踩了一些坑,发布出来,仅供参考,如有问题可以提出讨论。