OPENSSH 7.6SP1升級

安裝完操做系統並加固後,那麼系統在未安裝其它應用以前,對外提供的服務就只有22端口,也就是OPENSSH使用的端口。如何該協議存在漏洞的話,***就能夠能相應的工具經過協議漏洞***你的服務器linux

那麼咱們須要作的就是按期把OPENSSH升級到最新的版本,以保證此項不會被輕易***。算法

若是安裝的LINUX服務器要安裝ORACLE-RAC或是其它與SSH相關的集羣軟件,請先安裝軟件,後升級SSH,以避免ORACLE-RAC或是相關的集羣軟件因SSH版本沒法安裝。安全

OPENSSH最新版本下載地址服務器

登陸網站http://www.openssh.com/,找到FOR OTHER OS'S,下的LINUX微信

https://fastly.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/下載最新的TAR.GZsession

另外version.h文件若是按下面的操做修改了「 」裏的內容,ssh –V時就不會顯示ssh版本。一些安全廠商認爲這樣的操做是安全的。如無必要可不修改該文件app


下面提供了兩種實戰的方法去升級OPENSSH,在此強調一下,若是你的操做系統不是LINUX6.0版本的此操做都沒有問題。若是是LINUX7.0的話會有一些加密算法的變化,須要從新生成加密算法,不然你的SSH登陸工具可能都很差用!!!

方法1、OPENSSH源碼安裝方法

此方法中的第10步,視狀況修改。ssh

1ssh登陸到要安裝的服務器上,查看當前版本tcp

[root@localhost ~]# ssh -Vide

OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11Feb 2013

2、在/目錄下建立/tools目錄,經過FTP工具上傳安裝文件到該目錄下

mkdir /tools

[root@myhost tools]# ls -ltrh

total 9.2M

-rw-r--r-- 1 root root 1.5M Nov 1323:38 openssh-7.6p1.tar.gz

-rw-r--r-- 1 root root 5.1M Nov 1323:38 openssl-1.0.2h.tar.gz

-rw-r--r-- 1 root root 2.7M Nov 1323:38 zlib-1.2.8.tar.gz使用yum安裝Telnet服務

3、爲防止重啓SSH後沒法登陸,安裝TELNET

yum install –y telnet-server

4、修改telnet文件disable=no(原有值爲yes),容許用戶遠程登陸

sed -i '12 s/yes/no/'/etc/xinetd.d/telnet

echo 'pts/0' >>/etc/securetty

echo 'pts/1' >>/etc/securetty

echo 'pts/2' >>/etc/securetty

echo 'pts/3' >>/etc/securetty

5、而後重啓服務

service  xinetd restart 

Stopping xinetd:                                          [FAILED]

Starting xinetd:                                           [  OK  ]

6、用ROOT帳戶使用telnet登陸系統執行修改OPENSSH操做

rpm -eopenssh-server-5.3p1-94.el6.x86_64

rpm -eopenssh-askpass-5.3p1-94.el6.x86_64

7、安裝zlib

cd /tools

tar -xvf zlib-1.2.8.tar.gz

cd zlib-1.2.8

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

cd ..

8、安裝openss

tar -xvf openssl-1.0.2h.tar.gz

cd openssl-1.0.2h

./config --prefix=/usr/local/openssl&& make depend && make && make install

cd ..

9、安裝openssh

tar -xvf openssh-7.6p1.tar.gz

cd openssh-7.6p1

10、修改version.h文件,把裏面」」裏面的內容改爲空格

/* $OpenBSD: version.h,v 1.802017/09/30 22:26:33 djm Exp $ */

#define SSH_VERSION     " "

#define SSH_PORTABLE    " "

#define SSH_RELEASE     SSH_VERSION SSH_PORTABLE

11、而後再在執行編譯安裝

./configure--prefix=/usr/local/openssh --sysconfdir=/etc/ssh--with-ssl-dir=/usr/local/openssl --with-zlib=/usr/local/zlib--with-md5-passwords     --with-pam--without-hardening  && make&& make install

12、拷貝SSHD服務文件

cp contrib/redhat/sshd.init/etc/init.d/sshd

chmod +x /etc/init.d/sshd

13、修改SSHD服務文件,修改對應指令的安裝目錄

vi /etc/init.d/sshd

SSHD=/usr/sbin/sshd SSHD=/usr/local/openssh/sbin/sshd

/usr/bin/ssh-keygen -A  /usr/local/openssh/bin/ssh-keygen-A

14、保存退出

SSHD加入到系統服務

chkconfig --add sshd

15、查看系統啓動服務是否增長改項

chkconfig --list |grep sshd

sshd               0:off 1:off 2:on 3:on 4:on 5:on 6:off

16、從新啓動SSHD服務。

service sshd start

17、替換SSHSSL命令

mv /usr/bin/ssh /usr/bin/ssh.old

ln -s /usr/local/openssh/bin/ssh/usr/bin/ssh

mv /usr/bin/openssl/usr/bin/openssl.old

ln -s /usr/local/openssl/bin/openssl/usr/bin/openssl

18、檢查相關軟件版本

[root@myhost ~]# ssh -V

OpenSSH_7.2p2, OpenSSL 1.0.2h  3 May 2016

[root@myhost ~]# openssl version -a

OpenSSL 1.0.2h  3 May 2016

built on: reproducible build, dateunspecified

platform: linux-x86_64

options:  bn(64,64) rc4(16x,int) des(idx,cisc,16,int)idea(int) blowfish(idx)

compiler: gcc -I. -I..-I../include  -DOPENSSL_THREADS-D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -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 -DECP_NISTZ256_ASM

OPENSSLDIR:"/usr/local/openssl/ssl"

19、升級到新版本後,默認不容許root用戶遠程登陸,修改/etc/ssh/sshd_config配置文件。

PermitRootLogin yes

20、從新啓動SSHD服務。

service sshd start

21、測試登陸SSH,測試成功後,刪除TELNET

rpm -etelnet-server-0.17-47.el6_3.1.x86_64

rpm -e xinetd-2.3.14-39.el6_4.x86_64

方法2、OPENSSH編譯RPM安裝方法

此方法中的5~7視安全要求,看是否操做

1、安裝編譯所必須的組件包

yum -y groupinstall "Developmenttools"

yum -y install pam-devel rpm-buildrpmdevtools zlib-devel krb5-devel tcp_wrappers tcp_wrappers-develtcp_wrappers-libs libX11-devel xmkmf libXt-devel wget      openssl-devel

2、登陸網站http://www.openssh.com/,找到FOR OTHEROS'S,下的LINUX

https://fastly.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/下載最新的TAR.GZ

3、進行編譯

cd ~

mkdir rpmbuild

cd rpmbuild

mkdir -pv{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}

4、拷貝openssh-7.6p1.tar~/rpmbuild/SPECS目錄下

cd ~/rpmbuild/SPECS

tar xfz../SOURCES/openssh-7.6p1.tar.gz openssh-7.6p1/contrib/redhat/openssh.spec

mv openssh-7.6p1/contrib/redhat/openssh.specopenssh-7.6p1.spec

rm -rf openssh-7.6p1

sed -i -e "s/%defineno_gnome_askpass 0/%define no_gnome_askpass 1/g" openssh-7.6p1.spec

sed -i -e "s/%defineno_x11_askpass 0/%define no_x11_askpass 1/g" openssh-7.6p1.spec

sed -i -e "s/BuildPreReq/BuildRequires/g"openssh-7.6p1.spec

5、進入到~/rpmbuild/SPECS目錄下,解壓文件

tar -xvf openssh-7.6p1.tar.gz

cd openssh-7.6p1

6、修改version.h文件,把裏面」」裏面的內容改爲空格

/* $OpenBSD: version.h,v 1.802017/09/30 22:26:33 djm Exp $ */

#define SSH_VERSION     " "

#define SSH_PORTABLE    " "

#define SSH_RELEASE     SSH_VERSION SSH_PORTABLE

7、而後再從新打包文件,刪除舊的文件

rm -rf openssh-7.6p1.tar.gz

tar -cvf openssh-7.6p1.taropenssh-7.6p1/

gzip openssh-7.6p1.tar

rm -rf openssh-7.6p1

8、進行RPM包編譯

cd ~/rpmbuild/SPECS

rpmbuild -bb openssh-7.6p1.spec

9、編譯完成後,進到以下目錄,查看編譯成功的RPM

cd ~/rpmbuild/RPMS/x86_64

[root@myhost x86_64]# ls -l

total 1416

-rw-r--r-- 1 root root 458516 Nov 1400:56 openssh-7.6p1-1.x86_64.rpm

-rw-r--r-- 1 root root 578416 Nov 1400:56 openssh-clients-7.6p1-1.x86_64.rpm

-rw-r--r-- 1 root root  16948 Nov 14 00:56openssh-debuginfo-7.6p1-1.x86_64.rpm

-rw-r--r-- 1 root root 388100 Nov 1400:56 openssh-server-7.6p1-1.x86_64.rpm

以上配置完成後,能夠開始進行OPENSSHRPM包安裝,編譯過的安裝包能夠拿到別的系統上直接安裝。不過安裝以前如下說的方法都要執行下!

10、備份PAM配置

cp /etc/pam.d/sshd /tmp/

mv /etc/pam.d/sshd/etc/pam.d/sshd.old

11、刪除OPENSS-ASK

[root@localhost ~]# rpm -eopenssh-askpass-5.3p1-94.el6.x86_64

12、升級OPENSSH

cd ~/rpmbuild/RPMS/x86_64/

rpm -Uvh *.rpm

13、修改配置容許ROOT用戶遠程登陸

sed -i -e "s/ #PermitRootLoginyes/PermitRootLogin yes/g" /etc/ssh/sshd_config

sed -i -e "s/#UsePAM no/UsePAMyes/g" /etc/ssh/sshd_config

cp /tmp/sshd /etc/pam.d/

輸入Y

14、若是原來沒有PAM/SSHD那新會新生成一個,更改新生成SSHD文件內容以下:

#%PAM-1.0

auth       required     pam_sepermit.so

auth       include      password-auth

account    required    pam_nologin.so

account    include     password-auth

password   include     password-auth

# pam_selinux.so close should be thefirst session rule

session    required    pam_selinux.so close

session    required    pam_loginuid.so

# pam_selinux.so open should only befollowed by sessions to be executed in the user context

session    required    pam_selinux.so open env_params

session    optional    pam_keyinit.so force revoke

session    include     password-auth

15、從新SSHD服務

/etc/init.d/sshd restart


更多請實戰文章請關注公衆號,不按期更新中~,另外廣大的攻城獅們,聖誕快樂!!

企業微信截圖_20171224191118.png

相關文章
相關標籤/搜索