總結(jié)-OpenSSH升級(jí)-RedHat.doc_第1頁(yè)
總結(jié)-OpenSSH升級(jí)-RedHat.doc_第2頁(yè)
總結(jié)-OpenSSH升級(jí)-RedHat.doc_第3頁(yè)
總結(jié)-OpenSSH升級(jí)-RedHat.doc_第4頁(yè)
總結(jié)-OpenSSH升級(jí)-RedHat.doc_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

OpenSSH升級(jí)-RedHat1 概述從2014年6月4號(hào)接到任務(wù),要對(duì)5臺(tái)服務(wù)器進(jìn)行加固,6月12號(hào)完成加固,加固過程中OpenSSH升級(jí)方面出現(xiàn)問題,故整理此文檔以作知識(shí)儲(chǔ)備。本次加固的5臺(tái)服務(wù)器均自帶默認(rèn)的RPM4.3版本的OpenSSH,但OpenSSH的RPM包最高為4.3版本,而源碼以達(dá)到6.6版本。為升級(jí)成功,需卸載RPM版本的OpenSSH,進(jìn)行源碼安裝,并選擇6.X版本的OpenSSH,本次加固升級(jí)選擇6.5版本。PS:在linux軟件安裝方式中存在RPM安裝和源碼安裝兩種2 OpenSSH升級(jí)2.1 OpenSSH概述OpenSSH是實(shí)現(xiàn)SSH協(xié)議的開源免費(fèi)軟件,大多數(shù)Linux發(fā)行版本都采用了該軟件實(shí)現(xiàn)SSH的遠(yuǎn)程連接,SSH是Secure Shell的縮寫,即遠(yuǎn)程安全殼,旨在為遠(yuǎn)程連接提供一個(gè)安全的加密通道。SSH相類似的協(xié)議有telnet,相比于SSH,telnet采用的是明文方式傳輸,具有一定的不安全性,而且容易被中間人攻擊,所以telnet使用較少。而SSH使用加密的方式傳輸,具有加密傳輸、防止中間人攻擊、安全等特點(diǎn)。2.2 OpenSSH升級(jí)準(zhǔn)備2.2.1 升級(jí)思路考慮到本次OpenSSH升級(jí)采用遠(yuǎn)程升級(jí)的方式,為保證升級(jí)正常,將采用另一種遠(yuǎn)程連接方式telnet來進(jìn)行升級(jí)操作,依次進(jìn)行OpenSSH原配置文件備份、舊版本OpenSSH刪除、安裝新版本OpenSSH。2.2.2 升級(jí)所需要的安裝包不同的環(huán)境需要不同的安裝包,此次安裝需要安裝包如下telnet服務(wù)所需的安裝包:telnet-server-0.17-39.el5.i386.rpmOpenSSH 升級(jí)所需安裝包:openssh-6.5p1.tar.gz (官網(wǎng)地址:)zlib-1.2.8.tar.gz(用于SSH壓縮功能,官網(wǎng)地址是:/)openssl-1.0.1h.tar.gz(提供加密傳輸所需的功能,官網(wǎng)地址:)OpenSSH 還原所需安裝包:openssh-4.3p2-72.el5.i386.rpm2.2.3 升級(jí)流程1、 上傳安裝包到服務(wù)器上2、 安裝telnet服務(wù),并使其運(yùn)行正常;3、 使用telnet遠(yuǎn)程連接服務(wù)器,正常后端口SSH連接;4、 備份OpenSSH配置文件5、 卸載OpenSSH 4.3版本6、 安裝OpenSSH 6.5 版本,并測(cè)試正常7、 卸載telnet服務(wù),刪除安裝包及備份文件3 升級(jí)實(shí)施步驟3.1 上傳安裝包本次升級(jí)采用securecrt遠(yuǎn)程管理工具對(duì)服務(wù)器進(jìn)行遠(yuǎn)程連接,使用工具自帶的sftp功能上傳上述安裝包至/root目錄下,步驟及相關(guān)命令如下:3.1.1 打開sftp標(biāo)簽頁(yè)使用sftp功能,在左圖紅色方框處右鍵,在出現(xiàn)的菜單中選擇“連接SFTP標(biāo)簽頁(yè)”,出現(xiàn)右圖。 3.1.2 上傳文件1、 設(shè)置安裝包所在路徑sftp lcd E:/2、 上傳telnet服務(wù)rpm安裝包sftp put telnet-server-0.17-39.el5.i386.rpmUploading telnet-server-0.17-39.el5.i386.rpm to /root/telnet-server-0.17-39.el5.i386.rpm 100% 35KB 35KB/s 00:00:00 E:/telnet-server-0.17-39.el5.i386.rpm: 36035 bytes transferred in 0 seconds (35 KB/s)3、 上傳zlib源碼安裝包sftp put zlib-1.2.8.tar.gzUploading zlib-1.2.8.tar.gz to /root/zlib-1.2.8.tar.gz 100% 557KB 557KB/s 00:00:00 E:/zlib-1.2.8.tar.gz: 571091 bytes transferred in 0 seconds (557 KB/s)4、 上傳OpenSSL源碼安裝包sftp put openssl-1.0.1h.tar.gzUploading openssl-1.0.1h.tar.gz to /root/openssl-1.0.1h.tar.gz 100% 4370KB 4370KB/s 00:00:00 E:/openssl-1.0.1h.tar.gz: 4475692 bytes transferred in 0 seconds (4370 KB/s)5、 上傳新版OpenSSH源碼安裝包sftp put openssh-6.5p1.tar.gz Uploading openssh-6.5p1.tar.gz to /root/openssh-6.5p1.tar.gz 100% 1262KB 1262KB/s 00:00:00 E:/openssh-6.5p1.tar.gz: 1293187 bytes transferred in 0 seconds (1262 KB/s)6、 上傳舊版OpenSSH RPM安裝包sftp put openssh-4.3p2-72.el5.i386.rpmUploading openssh-4.3p2-72.el5.i386.rpm to /root/openssh-4.3p2-72.el5.i386.rpm 100% 288KB 288KB/s 00:00:00 E:/openssh-4.3p2-72.el5.i386.rpm: 295350 bytes transferred in 0 seconds (288 KB/s)3.2 安裝配置telnet3.2.1 安裝telnet-server的RPM包# rpm -ivh telnet-server-0.17-39.el5.i386.rpm#安裝telnetwarning: telnet-server-0.17-39.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186Preparing. # 100% 1:telnet-server # 100%# rpm -ql telnet-server#查看telnet-server包的安裝情況/etc/xinetd.d/telnet/usr/sbin/in.telnetd/usr/share/man/man5/.5.gz/usr/share/man/man8/in.telnetd.8.gz/usr/share/man/man8/telnetd.8.gz3.2.2 配置telnettelnet的配置較較簡(jiǎn)單,直接修改其配置文件,讓其啟動(dòng)即可,其配置文件位于/etc/xinetd.d/telnet,修改其內(nèi)容如下:# vim /etc/xinetd.d/telnet service telnet flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID disable = no#修改為no表示啟動(dòng),默認(rèn)yes表示關(guān)閉或采用命令修改方式,執(zhí)行命令#chkconfig telnet on #此命令執(zhí)行后完成上述修改3.2.3 啟動(dòng)telnettelnet是一個(gè)屬于xinetd的服務(wù),重啟xinetd服務(wù)即可完成對(duì)telnet的啟動(dòng)。# service xinetd restartStopping xinetd: OK Starting xinetd: OK 3.2.4 本地測(cè)試telnet服務(wù)默認(rèn)不支持root賬戶登錄,要先新建賬戶,升級(jí)時(shí)切換到root賬戶進(jìn)行操作。新建一個(gè)賬戶test,密碼123,執(zhí)行命令rootlocalhost # useradd testrootlocalhost # passwd testChanging password for user test.New UNIX password: #輸入test賬戶的密碼BAD PASSWORD: it is WAY too shortRetype new UNIX password: #重復(fù)輸入test賬戶密碼passwd: all authentication tokens updated successfully. #完成test賬戶建立telnet默認(rèn)采用的端口是TCP的23號(hào)端口,校驗(yàn)端口是否正常,正常則配置成功,不正常則配置失敗,如下:# telnet #若本地連接正常,網(wǎng)絡(luò)無法連接,則查看防火墻是否放行telnetPS:防火墻設(shè)置,執(zhí)行命令setup,選擇“Firewall configuration”選項(xiàng)進(jìn)入防火墻,選擇“Customize”選項(xiàng)進(jìn)入防火墻設(shè)置,在telnet選項(xiàng)中按空格使其被放行,然后一路OK退出。3.2.5 連接telnet在SecureCRT中新建telnet連接服務(wù)器,并切換root權(quán)限,后續(xù)的升級(jí)操作都是在telnet中完成的。login: testPassword: Last login: Tue Jun 17 01:42:12 from localhosttestlocalhost $ su root #切換到root賬戶Password: rootlocalhost test# cd#回到root目錄 3.3 備份OpenSSH的配置文件升級(jí)之前,校驗(yàn)下當(dāng)前OpenSSH的版本,可以使用ssh命令校驗(yàn),當(dāng)前系統(tǒng)的版本是4.3p2版,同時(shí)會(huì)顯示OpenSSL的版本,如下:# ssh V #校驗(yàn)當(dāng)前系統(tǒng)OpenSSH的版本OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008備份OpenSSH相關(guān)文件:# cp -r /etc/ssh/ /etc/ssh_bak#備份配置文件目錄# cp /etc/init.d/sshd /etc/init.d/sshd_bak #備份啟動(dòng)腳本# cp /usr/sbin/sshd /usr/sbin/sshd_bak #備份啟動(dòng)關(guān)聯(lián)文件3.4 刪除OpenSSH完成配置備份后,將原有的OpenSSH的rpm包刪除,執(zhí)行命令1、 確認(rèn)OpenSSH需刪除的RPM包 # rpm -qa |grep sshopenssh-server-4.3p2-36.el5openssh-askpass-4.3p2-36.el5openssh-4.3p2-36.el5openssh-clients-4.3p2-36.el52、 使用rpm的方式刪除:# rpm -e openssh openssh-clients openssh-server openssh-askpass nodeps3.5 安裝OpenSSH安裝OpenSSH需先安裝其所依賴的zlib和OpenSSL服務(wù)。3.5.1 源碼編譯zlib# tar -xvzf zlib-1.2.8.tar.gz #解壓縮# cd zlib-1.2.8zlib-1.2.8# ./configure -prefix=/usr/local/zlib #檢查配置zlib-1.2.8# make#編譯zlib-1.2.8# make install#編譯安裝3.5.2 源碼編譯OpenSSL# tar -xvzf openssl-1.0.1h.tar.gz#解壓縮# cd openssl-1.0.1h#進(jìn)入目錄openssl-1.0.1h# ./config -prefix=/usr/local/openssl#檢查配置openssl-1.0.1h# make#編譯openssl-1.0.1h# make install#編譯安裝3.5.3 源碼編譯OpenSSH# tar -xvzf openssh-6.5p1.tar.gz#解壓縮# cd openssh-6.5p1#進(jìn)入目錄openssh-6.5p1# ./configure #檢查配置 -sysconfdir=/etc/ssh -with-zlib=/usr/local/zlib/ -with-ssl-dir=/usr/local/opensslopenssh-6.5p1#make #編譯openssh-6.5p1#make install#編譯安裝安裝完成之后,OpenSSH釋放文件的情況如下:范疇路徑例子客戶端命令/usr/local/binssh、ssh-add、ssh-agent、scp等服務(wù)器守護(hù)進(jìn)程/usr/local/sbinsshd其他額外命令/usr/local/libexecsftp-server、ssh-pkcs11-helper配置文件和公鑰/etc/sshsshd_config、ssh_host_*幫助文檔/usr/local/openssh/shareshare/man1,man5,man83.6 OpenSSH服務(wù)管理3.6.1 啟動(dòng)OpenSSH使用/usr/local/sbin/sshd命令啟動(dòng)SSH服務(wù),可以使用-d參數(shù)調(diào)試SSH,使用-f參數(shù)指定OpenSSH配置文件的所在路徑,如下:# /usr/local/sbin/sshd d#調(diào)試OpenSSHdebug1: sshd version OpenSSH_6.5, OpenSSL 1.0.1h 5 Jun 2014debug1: key_parse_private2: missing begin markerdebug1: read PEM private key done: type RSAdebug1: private host key: #0 type 1 RSAdebug1: key_parse_private2: missing begin markerdebug1: read PEM private key done: type DSAdebug1: private host key: #1 type 2 DSAdebug1: key_parse_private2: missing begin markerdebug1: read PEM private key done: type ECDSAdebug1: private host key: #2 type 3 ECDSAdebug1: private host key: #3 type 4 ED25519debug1: rexec_argv0=/usr/local/sbin/sshddebug1: rexec_argv1=-dSet /proc/self/oom_adj from 0 to -17debug1: Bind to port 22 on :.Bind to port 22 on : failed: Address already in use.debug1: Bind to port 22 on .Bind to port 22 on failed: Address already in use.確認(rèn)無誤之后,再啟動(dòng)OpenSSH服務(wù):# /usr/local/sbin/sshd -f /etc/ssh/sshd_config3.6.2 開機(jī)管理OpenSSH恢復(fù)使用service和chkconfig命令對(duì)ssh遠(yuǎn)程連接服務(wù)進(jìn)行管理,到源碼包目錄下的/contrib/redhat中拷貝sshd.init腳本到/etc/init.d,更名為sshd,最后根據(jù)安裝路徑更正這個(gè)sshd配置,如下:# cp openssh-6.4p1/contrib/redhat/sshd.init /etc/init.d/sshd#管理腳本# vi /etc/init.d/sshdSSHD=/usr/local/sbin/sshd#默認(rèn)為SSHD=/usr/sbin/sshdstart() # Create keys if necessary /usr/local/bin/ssh-keygen A#默認(rèn)為/usr/bin/ssh-keygen A# chkconfig sshd on#開機(jī)啟動(dòng)設(shè)置# chkconfig -list sshd sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off# service sshd restartStopping sshd: OK Starting sshd: OK 3.7 OpenSSH版本驗(yàn)證# /usr/local/bin/ssh -VOpenSSH_6.5p1, OpenSSL 1.0.1h 5 Jun 2014 3.8 刪除telnet確保OpenSSH升級(jí)可用之后,為了保障系統(tǒng)的安全,建議將telnet刪除,以免造成安全漏洞,刪除telnet只需要將其對(duì)應(yīng)的rpm包刪除即可,如下:# rpm -e telnet-server nodeps#刪除telnet-server包warning: /etc/xinetd.d/telnet saved as /etc/xinetd.d/telnet.rpmsave# service xinetd restart#重啟xinetd服務(wù)Stopping xinetd: OK Starting xinetd: OK 4 遇到的問題4.1 配置OpenSSH時(shí)出現(xiàn)缺少OpenSSL library在完成OpenSSL配置后#vi Makefile 修改 gcc下面的參數(shù),添加-fPIC 之后正常安裝OpenSSL在安裝OpenSSH之前,進(jìn)行如下操作#setenforce 0#vi /etc/selinux

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論