OpenSSH 升級加固實例
(一) 升級條件准備
² 關閉防火牆
# service iptables stop
² 安裝與啟用telnet
開啟telnet server,以防止升級OpenSSH時導致遠程連接異常,具體Telnet服務安裝與開啟命令操作如下。
# yum安裝telnet-server 服務
# yum install –y telnet-server
# 修改xinted服務配置,啟用telnet服務
# 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 # 此處yes改成no,否則默認telnet服務為關閉狀態
}
# service xinetd restart
² 下載相關升級包
# wget https://cloudflare.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.4p1.tar.gz --no-check-certificate
# wget http://www.zlib.net/zlib-1.2.11.tar.gz
# wget https://www.openssl.org/source/openssl-1.0.2k.tar.gz
² 安裝zlib依賴庫
# tar zxvf zlib-1.2.11.tar.gz
# cd zlib-1.2.11
# ./configure
# make && make install
# echo "/usr/local/lib" >> /etc/ld.so.conf
# ldconfig
² 添加普通賬戶
# useradd iflytek
# passwd iflytek
(二) OpenSSL 升級
# tar zxvf openssl-1.0.2k.tar.gz
# cd openssl-1.0.2k
# ./config shared -fPIC
# make && make install
# echo "/usr/local/ssl/lib " >> /etc/ld.so.conf
# ldconfig
# rm -rf /usr/bin/openssl
# ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
# openssl version
(三) OpenSSH 升級
使用命令“telnet IP”遠程連接服務器,關閉SSH服務以便升級。
# 停止sshd服務
# service sshd stop
# yum安裝pam-devel
# yum install -y pam-devel # 缺少pam-devel會報錯
# 刪除原ssh中的相關配置文件
# rm -rf /etc/init.d/sshd /etc/ssh /usr/bin/scp /usr/bin/sftp /usr/bin/ssh* /usr/sbin/sshd
# 解壓新版openssh並編譯安裝
# tar zxvf openssh-7.4p1.tar.gz
# cd openssh-7.4p1
./configure --prefix=/usr/local/ssh --sysconfdir=/etc/ssh --with-md5-passwords --without-pam --with-ssl-dir=/usr/local/ssl --mandir=/usr/share/man --with-zlib=/usr/local/zlib --with-privsep-path=/var/empty --with-privsep-user=sshd --with-ssl-engine
# make && make install
# 創建新版ssh服務的相關軟鏈接
# ln -s /usr/local/ssh/bin/ssh /usr/bin/ssh
# ln -s /usr/local/ssh/bin/scp /usr/bin/scp
# ln -s /usr/local/ssh/bin/sftp /usr/bin/sftp
# ln -s /usr/local/ssh/bin/ssh-add /usr/bin/ssh-add
# ln -s /usr/local/ssh/bin/ssh-agent /usr/bin/ssh-agent
# ln -s /usr/local/ssh/bin/ssh-keygen /usr/bin/ssh-keygen
# ln -s /usr/local/ssh/bin/ssh-keyscan /usr/bin/ssh-keyscan
# ln -s /usr/local/ssh/sbin/sshd /usr/sbin/sshd
# touch /etc/ssh/ssh_host_key.pub
# 配置ssh啟動腳本和自啟動項
# cp contrib/redhat/sshd.init /etc/init.d/sshd
# chmod u+x /etc/init.d/sshd
# chkconfig --add sshd
# chkconfig sshd on
#配置允許root遠程使用ssh登錄(建議使用普通賬號作為遠程運維登錄使用,不要開啟root遠程登錄)
# vi /etc/ssh/sshd_config
去除“#PermitRootLogin prohibit-password”中注釋,並修改“prohibit-password”為“yes”,最后保存退出;
# 重新啟動新版sshd服務
# /etc/init.d/sshd start
# service sshd status
# 版本校驗
# ssh -V
最后新打開一個窗口, 看到以下倆信息就算成功了