近期在伺服器安全掃瞄發現一大堆漏洞,上百臺伺服器的漏洞都差不多,主要是關於openssh的。
漏洞有很多,掃瞄系統給出的解決辦法是打各種補丁,但通過了解到,將openssh直接公升級基本可以解決所有漏洞問題,一勞永逸。現將7.4版本的openssh公升級到8.0版本。
安裝telnet
得先安裝telnet服務,因為在公升級openssh的時候如果出現錯誤,如果沒有裝telnet,就無法遠端連線了,就很尷尬了,如果是雲主機還好,可以通過控制台進入,否則就得跑機房了,不過控制台經常莫名的進不去,所以保險起見,安裝telnet。
yum -y install telnet-server
yum -y install xinetd
yum -y install telnet
echo "pts/0">> /etc/securetty
echo "pts/1">> /etc/securetty
echo "pts/2">> /etc/securetty
systemctl enable xinetd
systemctl enable telnet.socket
systemctl start telnet.socket
systemctl start xinetd
netstat -lntp|grep 23
預設情況下,linux不允許root使用者以telnet方式登入linux主機,若要允許root使用者登入,可採取以下做法:修改securetty檔案增加pts配置。如果登入使用者較多,需要更多的pts/*。echo 「pts/2」>> /etc/securetty,完事之後再刪除即可。
安裝openssl
如果openssl版本過低。則需要先公升級openssl。
#可能涉及到的依賴
yum install -y gcc*
yum install -y glibc make autoconf openssl openssl-devel pcre-devel pam-devel
yum install -y pam* zlib*
mkdir /usr/openssh_openssl/
cd /usr/openssh_openssl/
wget
tar xzvf openssl-1.0.2s.tar.gz
cd openssl-1.0.2s/
#對openssl命令進行備份
mv /usr/bin/openssl /usr/bin/openssl_bak
mv /usr/include/openssl /usr/include/openssl_bak
#編譯安裝
cd /usr/openssh_openssl/openssl-1.0.2s/
./config shared && make && make install
#將openssl命令軟連線到/usr/bin/,注意,不同版本的openssl,命令路徑可能不一樣
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
/sbin/ldconfig
#檢視公升級後的版本資訊
openssl version
安裝openssh
cd /usr/openssh_openssl/
wget
tar xzvf openssh-8.0p1.tar.gz
cd /usr/openssh_openssl/openssh-8.0p1
#可能需要的許可權
chown -r root.root /usr/openssh_openssl/openssh-8.0p1
#備份ssh
mv /etc/ssh/ /etc/ssh_bak/
#編譯安裝
./configure --prefix=/usr/ --sysconfdir=/etc/ssh
--with-openssl-includes=/usr/include/openssl --with-ssl-dir=/usr/local/ssl
--with-zlib --with-md5-passwords --with-pam && make && make install
#修改配置檔案,登入許可權,安裝之前檢視配置檔案,設定為與之前版本一樣
sed -i 's/#permitrootlogin prohibit-password/#permitrootlogin yes/g' /etc/ssh/sshd_config
sed -i 's/#usedns no/usedns no/g' /etc/ssh/sshd_config
#啟動相關配置
cp -a contrib/redhat/sshd.init /etc/init.d/sshd
cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
chmod +x /etc/init.d/sshd
chkconfig --add sshd
/usr/lib/systemd/system/sshd.service /usr/openssh_openssl/
mv /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.service_bak
chkconfig sshd on
/etc/init.d/sshd restart
netstat -lntp
/etc/init.d/sshd start
#檢視openssh版本
ssh -v
#安裝成功,確認可以ssh遠端登入後,關閉telnet
sy.sostemctl disable xinetd.service
systemctl stop xinetd.service
systemctl disable telnet.socket
systemctl stop telnetcket
netstat -lntp
centos常用漏洞公升級修復命令
yum update kernel yum update kernel devel yum update kernel firmware yum update kernel headers yum update nss util yum update nss yum update nss sysin...
公升級sudo版本,修復漏洞
更新ubuntu sudo版本 3.建立packages.gz包,裡面記錄了packs資料夾下面的軟體包資訊,包括依賴資訊。dpkg scanpackages data test dev null gzip data test packages.gz r 4.加本地源 cat etc apt sou...
nginx漏洞分析與公升級修復
nginx announce nginx安全公告 cve 2018 16843,cve 2018 16844 在nginx http 2實現中發現了兩個安全問題,漏洞對伺服器的影響 可能會導致過多的記憶體消耗 cve 2018 16843 和cpu使用率 cve 2018 16844 影響範圍 這些...