CentOS6.8 升級OpenSSH到最新版


〇、煩人的漏洞檢測

  •   OpenSSH 'schnorr.c'遠程內存破壞漏洞(CVE-2014-1692) 
  •   OpenSSH do_setup_env函數權限提升漏洞(CVE-2015-8325) 
  •   OpenSSH auth_password函數拒絕服務漏洞(CVE-2016-6515) 
  •   OpenSSH 安全漏洞(CVE-2016-1908) 
  •   OpenSSH 遠程代碼執行漏洞(CVE-2016-10009) 
  •   Openssh MaxAuthTries限制繞過漏洞(CVE-2015-5600) 
  •   OpenSSH J-PAKE授權問題漏洞(CVE-2010-4478) 
  •   OpenSSH 命令注入漏洞(CVE-2020-15778) 
  •   OpenSSH多個拒絕服務漏洞(CVE-2016-10708) 
  •   OpenSSH 安全限制繞過漏洞(CVE-2016-10012) 
  •   OpenSSH SSH守護進程安全漏洞(CVE-2016-6210) 
  •   OpenSSH 用戶枚舉漏洞(CVE-2018-15473)【原理掃描】 
  •   SSH 服務支持弱加密算法【原理漏洞】 
  •   OpenSSH glob表達式拒絕服務漏洞(CVE-2010-4755) 
  •   OpenSSH默認服務器配置拒絕服務漏洞(CVE-2010-5107) 
  •   Portable OpenSSH 'ssh-keysign'本地未授權訪問漏洞 
  •   OpenSSH 權限許可和訪問控制漏洞(CVE-2014-2532) 
  •   OpenSSH verify_host_key函數 SSHFP DNS RR 檢查繞過漏洞(CVE-2014-2653) 
  •   OpenSSH 安全漏洞(CVE-2017-15906) 
  •   OpenSSH sshd mm_answer_pam_free_ctx釋放后重利用漏洞(CVE-2015-6564) 
  •   OpenSSH 'x11_open_helper()'函數安全限制繞過漏洞(CVE-2015-5352) 
  •   OpenSSH <=7.2p1 xauth命令注入漏洞(CVE-2016-3115) 
  •   OpenSSH 遠程權限提升漏洞(CVE-2016-10010) 

登錄服務器

 ssh -V

查看版本。

一、為服務器添加備用連接方式,避免因為ssh升級失敗導致無法遠程管理

安裝telnet客戶端和服務端

yum install telnet-server telnet

編輯/etc/xinetd.d/telnet文件,將disable 改為no

vim /etc/xinetd.d/telnet

啟動telnet-server服務,並設置開機自啟

service xinetd restart
chkconfig telnet on

在其它機器上測試可以連接

telnet 192.168.1.2

如果連接不上配置:

1、關閉防火牆及selinux

2、查看/var/log/secure 提示

3、vim /etc/pam.d/login   注釋:auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so

4、vi /etc/securetty  末尾添加:

pts/0
pts/1
pts/2
pts/3
pts/4
pts/5

然后再重啟 xinetd 服務。

二、升級OpenSSH版本

備份sshd 

which sshd
/usr/sbin/sshd

cd /usr/sbin/
co sshd sshd.bak

 安裝必要編譯軟件

yum install -y gcc openssl-devel pam-devel rpm-build pam-devel

下載最新版openssh

wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.6p1.tar.gz

解壓,編譯,安裝

tar zxvf openssh-8.6p1.tar.gz && cd openssh-8.6p1

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords --with-tcp-wrappers

echo $? 返回0表示成功執行成功,返回1或其他數字表示執行失敗

make && make install

service sshd restart

service sshd status

ssh -V

版本號已改變

 將/etc/ssh/sshd_config 和 /etc/ssh/ssh_config 里面關於:GSSAPI開頭的都注釋掉,否則總有不識別提示。

三、隱藏OpenSSH版本號

正常情況telnet 22號端口會返回OpenSSH版本號,如下。

[root@ct6 ~]# telnet 192.168.1.2 22
Trying 192.168.1.2... Connected to 192.168.1.2. Escape character is '^]'. SSH-2.0-OpenSSH_5.3

測試了網上給的替換版本號的方法  sed -i 's/OpenSSh_8.6/XXXX/g' sshd

最后執行sshd -V 出錯,最好不要這種替

Segmentation fault 

四、卸載telnet-server

service xinetd stop
yum remove telnet-server
yum remove xinetd

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM