處理綠盟科技安全評估的系統漏洞


如下圖一次掃描,中度風險39個,這個是必須要處理的.其中mysql占了36個,一看這個感覺整個人都不好了.但是最后解決的辦法也很簡單,就是升級.

 

系統版本Redhat 7.3

1.telnet

因為要升級openssh,openssl,為了避免意外,首先要開啟telnet服務,並把所有相關的包上傳到服務器.

1.1確認是否安裝了telnet和xinetd(默認是沒有安裝)

rpm -qa telnet*

rpm -qa xinetd

#按情況安裝如下依賴包
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel nss_ldap openldap openldap-devel openldap-clients openldap-servers libxslt-devel libevent-devel ntp libtool-ltdl bison libtool vim-enhanced patch

 

1.2 關閉telnet自啟動

systemctl disable xinetd

systemctl disable telnet.socket

 

1.3 啟動telnet

1)啟動xinetd就會開啟telnet服務

service xinetd start

 2)檢查telnet監聽是否正常

yum -y install net-tools

netstat -tunlp|grep 23

3)設置服務自啟動

#首先檢查是否自啟動
systemctl list-unit-files | grep enable |grep xin
#沒有的話加入自啟動 systemctl enable xinetd systemctl enable telnet.socket

 

1.4 檢查防火牆,是否開始23端口

1)檢查防火牆是否開啟

firewall-cmd --state 

2)開啟23端口

firewall-cmd --permanent --add-port=23/tcp

firewall-cmd --reload

 

1.5 測試telnet

輸入命令:telnet <ip> ,接着輸入用戶名密碼登錄

 

2. 處理mysql安全漏洞

解決mysql的CVE-2018-3058之類漏洞的辦法就是升級mysql小版本.我這里安裝的master-slave模式的mysql.mysql版本由5.7.22升級到5.7.24

2.1 查看slave狀態

show slave status \G;

 

2.2 備份數據和配置文件

mysqldump -uroot -p --all-databases > ./all20181129.sql

cp /etc/my.cnf /etc/my.cnf20181129

 

2.3 卸載mysql5.7.22

rpm -qa | grep -i mysql

service mysqld stop

yum -y remove `rpm -qa | grep -i mysql`

 

2.4 安裝mysql5.7.24

1.解壓

tar -xvf mysql-5.7.24-1.el7.x86_64.rpm-bundle.tar

2.安裝client

rpm -ivh mysql-community-common-5.7.24-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.24-1.el7.x86_64.rpm

rpm -ivh mysql-community-devel-5.7.24-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.24-1.el7.x86_64.rpm

 

3.安裝server

rpm -ivh mysql-community-server-5.7.24-1.el7.x86_64.rpm

 

4.還原主服務器配置

cp /etc/my.cnf20181129 /etc/my.cnf 

 

5.從服務器配置

cp /etc/my.cnf20181129 /etc/my.cnf

 

6.防火牆檢查

    selinux檢查(主)

        firewall-cmd --state 

        #防火牆列表

        firewall-cmd --list-all

 

        #防火牆開放3306端口

        firewall-cmd --permanent --add-port=3306/tcp

 

        # 防火牆重新加載配置

        firewall-cmd –reload 

 

7.設置SELINUX

# 輸入命令:

getenforce


# 如果不是Permissive,做已下修改

setenforce 0


vim /etc/selinux/config

 
SELINUX= Permissive

 

8.開啟數據庫

service mysqld start

 

 

3.openssl

3.1查看OpenSSL

rpm -qa openssl

 

3.2如需卸載openssl

rpm -e --nodeps `rpm -qa|grep openssl`

 

3.3編譯安裝

mv /etc/ssl /etc/ssl.bak

tar -zxvf ./openssl-1.0.2o.tar.gz

cd openssl-1.0.2o

 

./config shared --prefix=/usr/local/ssl --openssldir=/usr/local/ssl

make

make install

 

mv /usr/bin/openssl /usr/bin/openssl.lod

mv /usr/include/openssl /usr/include/openssl.old
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
echo "/usr/local/ssl/lib64" >> /etc/ld.so.conf
ln -s /usr/local/ssl/lib/libssl.so.1.0.0 /usr/lib64/libssl.so.1.0.0
ln -s /usr/local/ssl/lib/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.1.0.0
ldconfig -v
openssl version -a #查看OpenSSL版本

 

4.openssh

由openssh7.8 升級到openssh7.9

 

四、升級openssh7.9(所有服務器)

 

4.1 查看版本

ssh -V

 

4.2卸載舊版本openssh

service sshd stop

rpm -qa|grep openssh

rpm -e --nodeps `rpm -qa|grep openssh`

cp -r /etc/ssh /etc/sshold

 

4.3編譯安裝

tar -zxvf ./openssh-7.9p1.tar.gz

cd openssh-7.9p1

 

./configure --prefix=/usr/local/openssh --with-ssl-dir=/usr/local/ssl --with-zlib=/usr/local/zlib

 

make

make install

 

4.4拷貝配置文件

cp  contrib/redhat/sshd.init /etc/init.d/sshd
chkconfig --add sshd

cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config
cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
cp /usr/local/openssh/bin/ssh /usr/bin/ssh
cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub

 

4.5啟動ssh服務

service sshd restart

 

4.7檢查版本

ssh -V

 

4.8 已經升級到最新版本7.9,但是漏洞掃描還是老版本ssh7.8

這可能是ssh的banner信息,使用telnet ip 22測試一下

上圖,還是老版本7.8.修改banner信息后

此時,版本信息是ssh7.9,順利通過漏洞掃描

 

 

 

 

5.zlib

升級到zlib-1.2.11,這個是一個坑,注意順序,如果提前卸載早了,會造成新zlib編譯安裝失敗.

 

 

5.1 安裝依賴(先不用做)

 

5.2 解壓 zlib1.2.11到/usr/local/src/下

tar -zxvf zlib-1.2.11.tar.gz  -C /usr/local/src/

 

2.3 查看一下zlib安裝文件

rpm -ql zlib

 

2.4 configure

cd /usr/local/src/zlib-1.2.11

./configure -prefix=/usr/local/zlib/ -libdir=/lib64/

 

2.5 用make進行編譯

make

 

2.6 卸載zlib,掌握這個順序很有必要,如果卸載早了的話,上一步就會提示失敗。卸載完成之后,發現/lib64/目錄下,zlib的庫文件,libz.so*沒有了

rpm -e --nodeps zlib-1.2.7-17.el7.x86_64

 

2.7用make install安裝zlib,安裝完成之后,可以看到/usr/local/zlib/目錄下有個lib目錄,里面存放的就是zlib的庫文件

make install

 

2.8這時候用yum等工具,會提示確實libz.so*支持,所以必須把當前共享庫文件注冊到系統中,打開/etc/ld.so.conf,

 vim /etc/ld.so.conf

在下面加入一行/usr/local/zlib/lib/,然后保存退出

 

2.9用ldconfig重新更新一下cache,這時候再用yum等工具,發現運行正常了,至此,zlib就更新成功。

ldconfig

 

2.10查看版本

find /usr/ -name zlib.pc

cat /usr/lib64/pkgconfig/zlib.pc

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM