【centos7】openssh用戶枚舉漏洞(CVE-2018-15919)和安全漏洞(CVE-2017-15906)修復

    環境:

    操作系統:centos7.7

    openssl:OpenSSL 1.0.1e-fips(系統自帶)

    openssh:OpenSSH_7.4.1p1(系統自帶)

    如果修復這兩個漏洞需要升級openssh到8.1(而且我還沒有升級openssl),反正我升級到8.0還是有一個漏洞沒有被關閉。

    查看了很多大佬的博客後,一直不敢升級,後來漏洞實在需要填補,就只能硬着頭皮在測試環境中測試好後,在生產中執行,其中最重要的一步就是一定要做足準備,如果ssh不可用,怎麼登陸到bash。

    首先,安裝telnet-server,yum install telnet-server,修改/etc/securetty,在最後添加pts/0,pts/1,pts/2,pts/3,然後啓動telnet,命令爲systemctl start telnet.socket,然後通過telnet嘗試登陸是否成功,成功後第一步纔算完成。

    第二,把ssh服務,關閉,openssh相關的包卸載,備份ssh配置文件,此步需要慎重。命令爲systemctl stop sshd;卸載:for i in $(rpm -qa |grep openssh);do rpm -e $i --nodeps;done。

    第三,編譯openssh源碼包,下載地址:https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.1p1.tar.gz,我習慣在編譯之前把centos自帶的開發工具包安裝上,基本不會再編譯的時候碰到缺少某某包的問題,命令:yum groupisntall "Development Tools";解壓tar包後,執行以下命令

# 執行自帶的openssl,其他是一些模塊和配置目錄,至於模塊是什麼意思,不太懂
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords--with-pam --with-tcp-wrappers  --with-ssl-dir=/usr/bin/openssl --without-hardening
# 編譯
make
# 安裝
make install

    第四,把編譯後的openssh進行復制。

cp contrib/redhat/sshd.init /etc/init.d/sshd
chkconfig --add sshd
chkconfig sshd on
chkconfig --list|grep sshd

    第五,修改/etc/ssh/sshd_config配置文件

    PermitRootLogin yes    #允許root登錄
    UseDNS no    #禁止使用,提升連接速度

    第六,啓動試試,正常啓動即可。

    systemctl restart sshd

    systemctl is-enabled sshd

    第七,ssh -V查看版本,OpenSSH_8.1p1即可。

    由於我在生產環境中,沒有os鏡像源,也沒辦法去編譯,就把make後的文件夾全部拷貝到生產環境,然後直接執行make install即可安裝(漲知識了,我也是第一次這樣搞,超讚的我!)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章