国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Linux > 正文

linux中openssh漏洞修復(fù)步驟詳解

2024-08-27 23:59:22
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

openssh漏洞上次是說(shuō)linux中一個(gè)bug了,下文我給各位整理一下openssh漏洞修復(fù)方法,希望能對(duì)大家有幫助.

近期有幾臺(tái)主機(jī)上線,上線的主機(jī)在進(jìn)行安全合規(guī)掃描時(shí),發(fā)現(xiàn)如下openssh漏洞,其中有幾個(gè)是陳年老漏洞,主要為CVE-2014-1692漏洞(openssh schnorr.c漏洞)為今天一月份的新漏洞,由于主機(jī)沒(méi)有配置外網(wǎng)連接,而且針對(duì)suse和redhat不同的版本,所以使用用了源碼包編譯升級(jí)openssh版本的方式修復(fù).

一、準(zhǔn)備相關(guān)包

  1. zlib-1.2.5.tar.bz2 
  2. openssl-1.0.1.tar.gz 
  3. openssh-6.6p1.tar.gz 

相關(guān)包已上傳百度云盤(pán)上.

二、準(zhǔn)備其他登錄方式

由于其間有卸載ssh的操作,以免登錄不上主機(jī),可以選擇先配置telnet或者vnc來(lái)進(jìn)行遠(yuǎn)程操作,這里以telnet為例,如下:

  1. # vim /etc/xinetd.d/telnet 
  2. service telnet 
  3.         socket_type     = stream 
  4.         protocol        = tcp 
  5.         wait            = no 
  6.         user            = root 
  7.         server          = /usr/sbin/in.telnetd 
  8.         disable         = yes 
  9. }  //Vevb.com 

注,如無(wú)telnet-server包,需要先安裝該包后,再配置以上選項(xiàng),配置完后,重啟xinetd守護(hù)進(jìn)程生效并查看是否有23端口的監(jiān)聽(tīng):

  1. # service xinetd restart 
  2. # netstat -tunlp 

安全起見(jiàn)也可以考慮修改下telnet端口或通過(guò)iptables進(jìn)行源地址指定.

三、程序升級(jí)

1、openssl 包的安裝,代碼如下:

  1. # tar -zxvf openssl-1.0.1.tar.gz 
  2. # cd openssl-1.0.1 
  3. # ./config -fPIC threads shared 
  4. # make 
  5. # make test 
  6. # make install 
  7. # mv /usr/bin/openssl /usr/bin/openssl.OFF 
  8. # mv /usr/include/openssl /usr/include/openssl.OFF 
  9. //該步驟可能提示無(wú)文件,忽略即可 
  10. # ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl 
  11. # ln -s /usr/local/ssl/include/openssl /usr/include/openssl 
  12. //移走原先系統(tǒng)自帶的openssl,將自己編譯產(chǎn)生的新文件進(jìn)行鏈接 

注:不能卸載原openssl包,否則會(huì)影響系統(tǒng)的ssl加密庫(kù)文件,除非你可以做兩個(gè)軟連接libcryto和libssl.

配置文件搜索路徑,代碼如下:

  1. # chmod 755 /usr/local/ssl/lib 
  2. # echo "/usr/local/ssl/lib" >> /etc/ld.so.conf 
  3. # /sbin/ldconfig -v 
  4. # openssl version -a 
  5. OpenSSL 1.0.1 14 Mar 2012 
  6. built on:Fri Mar 16 17:14:50 CST 2012 
  7. platform:linux-x86_64 
  8. options:  bn(64,64) rc4(16x,int) des(idx,cisc,16,int) idea(int) blowfish(idx) 
  9. compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM 
  10. OPENSSLDIR: "/usr/local/ssl" 

2、卸載原openssh包.

備份啟動(dòng)腳本:# cp /etc/init.d/sshd  /root/

停止SSHD服務(wù):# /sbin/service sshd stop

卸載系統(tǒng)里原有Openssh:

  1. # rpm  -qa|grep openssh  //查詢(xún)系統(tǒng)原安裝的openssh包,全部卸載。 
  2. # rpm -e openssh --nodeps 
  3. # rpm -e openssh-server --nodeps 
  4. # rpm -e openssh-clients --nodeps 
  5. # rpm -e openssh-askpass 
  6. 或rpm -e --nodeps `rpm -qa |grep openssh` 

3、解壓安裝zlib包,代碼如下:

  1. # tar -jxvf zlib-1.2.5.tar.bz2 //首先安裝zlib庫(kù),否則會(huì)報(bào)zlib.c錯(cuò)誤無(wú)法進(jìn)行 
  2. # cd zlib-1.2.5 
  3. # ./configure 
  4. # make&&make install 

4、升級(jí)openssh包,先將將/etc/ssh的文件夾備份,代碼如下:

  1. # mv /etc/ssh /etc/ssh_bak 
  2. # tar -zxvf openssh-6.6p1.tar.gz 
  3. # ./configure --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl  --with-md5-passwords --mandir=/usr/share/man  --with-pam 
  4. # make 
  5. # make install 

編譯過(guò)程中可能報(bào)如下錯(cuò):

  1. checking for EVP_sha256... yes 
  2. checking whether OpenSSL has NID_X9_62_prime256v1... yes 
  3. checking whether OpenSSL has NID_secp384r1... yes 
  4. checking whether OpenSSL has NID_secp521r1... yes 
  5. checking if OpenSSL's NID_secp521r1 is functional... yes 
  6. checking for ia_openinfo in -liaf... no 
  7. checking whether OpenSSL's PRNG is internally seeded... yes 
  8. configure: error: PAM headers not found  --Vevb.com 

如果報(bào)此錯(cuò)誤需要安裝相應(yīng)版本的 pam-devel 包,安裝完再重新編譯即可.

5、啟動(dòng)openssh服務(wù)

編譯安裝好后,可以通過(guò)sshd -d 進(jìn)行驗(yàn)證,如果沒(méi)有報(bào)錯(cuò)就可以重新啟用openssh了,代碼如下:

  1. # cp -p contrib/redhat/sshd.init /etc/init.d/sshd 
  2. (suse: cp contrib/suse/rc.sshd /etc/init.d/sshd) 
  3. # chmod +x /etc/init.d/sshd 
  4. # chkconfig --add sshd 
  5. # cp sshd_config /etc/ssh/sshd_config  (如提示覆蓋,yes回車(chē)) 
  6. # cp sshd /usr/sbin/sshd   (如提示覆蓋,yes回車(chē)) 
  7. (redhat:cp ssh-keygen /usr/bin/ssh-keygen) 

通過(guò)下面的命令啟動(dòng)ssh服務(wù),代碼如下:

service sshd start 或 service sshd restart

:ssh -V //如果看到了新的版本號(hào)就沒(méi)問(wèn)題啦,如果沒(méi)有ssh這條命令,執(zhí)行(redhat、suse: ln -s /usr/local/bin/ssh /usr/bin/ssh).

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 防城港市| 渝中区| 新竹县| 江山市| 甘南县| 罗江县| 方山县| 惠水县| 临湘市| 温州市| 宕昌县| 许昌市| 锡林郭勒盟| 大荔县| 伊宁县| 兴隆县| 安徽省| 饶平县| 兴山县| 澄江县| 大同市| 兴仁县| 神农架林区| 恩平市| 渑池县| 五常市| 岐山县| 来凤县| 柳州市| 顺义区| 大竹县| 班玛县| 葵青区| 鄱阳县| 福鼎市| 阜南县| 盐津县| 桃园县| 黑山县| 嵩明县| 怀宁县|