机房漏洞扫描-openssh及openssl升级修复扫描漏洞

第一次写博客,只用于解决,本次升级所涉及的相关问题

目录

涉及漏洞:

  1. OpenSSH 命令注入漏洞(CVE-2020-15778)                                (升级解决)
  2. OpenSSH 输入验证错误漏洞(CVE-2019-16905)                         (升级解决)
  3. OpenSSH 安全漏洞(CVE-2016-1908)                                          (OpenSSH 7.2版本前)
  4. OpenSSH 安全限制绕过漏洞(CVE-2016-10012)                         (OpenSSH 7.4版本前)
  5. OpenSSH do_setup_env函数权限提升漏洞(CVE-2015-8325)     (OpenSSH 7.2p2版本前)
  6. Portable OpenSSH GSSAPI远程代码执行漏洞(CVE-2006-5051)(OpenSSH 4.4版本前)
  7. Openssh MaxAuthTries限制绕过漏洞(CVE-2015-5600)               (升级最新版本解决)
  8. OpenSSH J-PAKE授权问题漏洞(CVE-2010-4478)                      (OpenSSH 5.6版本前)
  9. OpenSSH 'schnorr.c'远程内存破坏漏洞(CVE-2014-1692)         (OpenSSH 6.4版本前)
  10. OpenSSH sshd Privilege Separation Monitor 未明漏洞               (OpenSSH 4.5版本前)
  11. OpenSSH auth_password函数拒绝服务漏洞(CVE-2016-6515)   (OpenSSH 7.3版本前)
  12. OpenSSH 远程代码执行漏洞(CVE-2016-10009)                         (OpenSSH 7.3版本前)
  13. OpenSSH do_setup_env函数权限提升漏洞(CVE-2015-8325)    (OpenSSH 7.2p2版本前)
  14. OpenSSH多个拒绝服务漏洞(CVE-2016-10708)                     (OpenSSH 7.4版本前)

 所需安装包:

  • home下创建openssh文件夹
  • chmod 777  openssh(修改文件夹权限)
  • 上传以下压缩包
  1. perl-5.34.0.tar.gz
  2. zlib-1.2.11.tar.gz
  3. openssh-8.6p1.tar.gz
  4. openssl-1.1.1k.tar.gz
  • 解压安装包
  1. tar --no-same-owner -zxvf openssh-8.6p1.tar.gz
  2. tar --no-same-owner -zxvf zlib-1.2.11.tar.gz
  3. tar --no-same-owner -zxvf openssl-1.1.1k.tar.gz
  4. tar --no-same-owner -zxvf perl-5.34.0.tar.gz

zlib安装 :

  • cd zlib-1.2.11
  • ./configure --prefix=/usr/local/zlib
  • make && make install

perl安装:

  • which perl
  • mv perl perl.old
  • cd perl-5.34.0
  • ./Configure -des -Dprefix=/usr/local/perl -Dusethreads -Uversiononly
  • make  
  • make test
  • make install
  • ln ls /usr/local/perl/bin/perl /usr/bin/perl  //软链接
  • perl -version

openssl安装:

  • cd openssl-1.1.1k
  • ./config --prefix=/usr/local/ssl -d shared
  • make && make install
  • echo '/usr/local/ssl/lib' >> /etc/ld.so.conf
  • ldconfig -v 

openssh安装:

  • cd openssh-8.6p1
  • ./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl
  • make && make install

sshd_config文件修改:

  • echo 'PermitRootLogin yes' >>/usr/local/openssh/etc/sshd_config
  • echo 'PubkeyAuthentication yes' >>/usr/local/openssh/etc/sshd_config
  • echo 'PasswordAuthentication yes' >>/usr/local/openssh/etc/sshd_config

文件备份并移动文件:

  • mv /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
  • cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config
  • mv /usr/sbin/sshd /usr/sbin/sshd.bak
  • cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
  • mv /usr/bin/ssh /usr/bin/ssh.bak
  • cp /usr/local/openssh/bin/ssh /usr/bin/ssh
  • mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
  • cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
  • mv /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub.bak
  • cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub

 升级完成后sftp登录后瞬间断开问题:

  • 修改/etc/ssh/sshd_config 文件中sftp路径,改为
  • Subsystem sftp /usr/libexec/sftp-server

 部分内容参见:https://www.cnblogs.com/zhoading/p/13949353.html

以上步骤安装完成后,会出现 openssl version 和 ssh -V版本不一致问题,解决如下:

  • sudo到root权限:sudo su -
  • 查看openssl的路径:which openssl
  • 备份原有的openssl文件: mv /bin/openssl /bin/opensslbak
  • 将安装路径下的openssl软连接到目标:
  •  ln -s /usr/local/ssl/bin/openssl /bin/openssl
  •  ln -s /usr/local/ssl/include/openssl /usr/include/openssl
  • echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
  •  ldconfig -v
  • openssl version
  • ssh -V
  • service sshd restart

版权声明:本文为qq_42969826原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。