生活随笔
收集整理的這篇文章主要介紹了
服务器漏洞整理
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
服務(wù)器漏洞整理
記錄下掃描出來的各種漏洞和解決測試方法。
一、php+apache升級
php5+apache2.4.6的版本太老,升級到php7和apache2.4.46能解決大部分漏洞。
php升級 直接上升級腳本,其中復(fù)制配置文件那兩行不能直接用, 配置文件php.ini根據(jù)實(shí)際需求修改:
#!/bin/sh
echo "########## Stop httpd mysqld php-fpm ##########"
#停止apache服務(wù)
sudo systemctl stop httpd.service
#停止數(shù)據(jù)庫服務(wù)
sudo systemctl stop mysqld
#停止php-fpm服務(wù)
sudo systemctl stop php-fpm.service
echo "################ Remove php ###################"
#卸載php相關(guān)組件
sudo yum remove php*.x86_64 -y#由于linux的yum源不存在php7.x,所以我們要更改yum源
echo "########## change yum source ##########"
sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm#yum search php7
echo "########## install php ##########"
#安裝php及相關(guān)拓展功能
sudo yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-mbstring php72w-mysqlnd php72w-pdo php72w-xml php72w-xmlrpc
#php 復(fù)制配置文件
sudo \cp -rf ./php-fpm.service /lib/systemd/system/
sudo \cp -rf ./php.ini /etc/
#設(shè)置開機(jī)啟動php-fpm
sudo systemctl enable php-fpm.service
echo "############## Start mysqld httpd php ###############"
#重啟數(shù)據(jù)庫
sudo systemctl start mysqld
#啟動apache服務(wù)
sudo systemctl restart php-fpm.service
sudo systemctl restart httpd.service
Apache升級 centos7的軟件庫默認(rèn)只有2.4.6版本的apache,需要安裝epel和CodeIT來獲取最新的apache版本。 先上獲取最新版本的腳本,在這里停一下,看看yum info httpd的版本是不是最新的,如果還是老的2.4.6,去https://repo.codeit.guru/這個(gè)網(wǎng)址看下,codeit.el7.repo的路徑,和腳本里“wget https://repo.codeit.guru/codeit.el7.repo”這句能不能對上。
#!/bin/sh
echo "########## Stop httpd mysqld php-fpm ##########"
#停止apache服務(wù)
sudo systemctl stop httpd.service
#停止數(shù)據(jù)庫服務(wù)
sudo systemctl stop mysqld
#停止php-fpm服務(wù)
sudo systemctl stop php-fpm.service
echo "############# Remove httpd.x86_64 #############"
#卸載原版本apache
sudo yum -y erase httpd.x86_64
#獲取apache更改日志
sudo yum install -y yum-changelog
#安裝最新的epel
sudo yum install -y epel-release
#安裝CodeIT庫
cd /etc/yum.repos.d
wget https://repo.codeit.guru/codeit.el7.repoecho "############### Show Apache Info ##############"
#查看apache版本,是不是最新的
sudo yum info httpd
能獲取到最新的版本后,再進(jìn)行升級。
echo "############## Install Apache ##################"
#安裝apache
sudo yum -y install httpd
cd /root/apache_upgrade
echo "########## Replace 00-mpm.conf httpd.conf ##########"
#改配置文件,00-mpm.conf中使用"LoadModule mpm_prefork_module modules/mod_mpm_prefork.so"這句
sudo \cp -rf ./00-mpm.conf /etc/httpd/conf.modules.d/
#改apache監(jiān)聽端口,不改默認(rèn)80
sudo \cp -rf ./httpd.conf /etc/httpd/conf/
#改/lib/systemd/system/httpd.service里的PrivateTmp=false
sudo \cp -rf ./httpd.service /lib/systemd/system/
echo "############## Start mysqld httpd php ###############"
#重啟數(shù)據(jù)庫
sudo systemctl start mysqld
#設(shè)置開機(jī)啟動apache
sudo systemctl enable httpd.service
#啟動apache服務(wù)
sudo systemctl restart php-fpm.service
sudo systemctl restart httpd.service
二、OpenSSH的漏洞
CVE-2020-15778 CVE-2018-15919 CVE-2017-15906 沒法通過升級解決,可以禁用scp,改用rsync,最省事的辦法是把openssh卸載,不影響遠(yuǎn)程登服務(wù)器,不過這樣的話,就不能從服務(wù)器跳到其它服務(wù)器了。
#查詢已安裝的openssh
rpm –qa | grep openssh
#卸載 名字從上一步查到的結(jié)果里復(fù)制
rpm -e openssh-clients.x86_64.xxxxx.el7
三、sudo漏洞
CVE-2021- 3156 使用非root用戶登錄,運(yùn)行命令
sudoedit -s /
如果返回 “sudoedit”開頭的信息,說明有安全風(fēng)險(xiǎn)。 如果返回 “usage”開頭的信息,說明沒有安全風(fēng)險(xiǎn)。
解決方式:把sudo升級到最新版本。官網(wǎng)地址:https://www.sudo.ws/download.html 按照系統(tǒng),找到你要的最新版的rpm包 卸載
rpm -e sudo*
安裝
rpm -ivh sudo-1.9.5-3.el7.x86_64.rpm #名字注意下,版本號有變
測試,返回 “usage”開頭的信息,說明沒有安全風(fēng)險(xiǎn)
四、Apache目錄權(quán)限
包含js代碼文件的路徑需要禁止訪問。 改 /etc/httpd/conf/httpd.conf 文件,找到根目錄的Directory標(biāo)簽:
<Directory "根目錄">## Possible values for the Options directive are "None", "All",# or any combination of:# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews## Note that "MultiViews" must be named *explicitly* --- "Options All"# doesn't give it to you.## The Options directive is both complicated and important. Please see# http://httpd.apache.org/docs/2.4/mod/core.html#options# for more information.#Options FollowSymLinks## AllowOverride controls what directives may be placed in .htaccess files.# It can be "All", "None", or any combination of the keywords:# Options FileInfo AuthConfig Limit#AllowOverride None## Controls who can get stuff from this server.#Require all granted
</Directory>
如果有個(gè)別目錄需要開放,在后面添加一個(gè)或多個(gè)Directory標(biāo)簽
<Directory "要開放的目錄">Options Indexes FollowSymLinksAllow from all
</Directory>
五、版本、密碼信息保護(hù)
刪除phpinfo.php,這個(gè)文件是當(dāng)時(shí)為了方便看php版本和組件信息加上的。 所有涉及到密碼的相關(guān)信息不用明文,包括ajax傳遞的參數(shù)、cookie里存的密碼信息等,至少也要用md5處理下。
六、遠(yuǎn)端WWW服務(wù)支持TRACE請求
apache版本2.4.6以上,改http.conf文件,在最后加入:
TraceEnable off
重啟服務(wù)
systemctl restart httpd
測試 本地電腦telnet遠(yuǎn)程連接服務(wù)器
telnet {ip} {apache端口} 回車 #如:telnet 1.1.1.1 8080
按ctrl+] 回車
輸入 TRACE / HTTP/1.0 回車 #此處建議直接復(fù)制,連接保持的時(shí)間比較短
輸入 X-Test:abcde 兩次回車
返回405報(bào)錯(cuò),說明沒有安全風(fēng)險(xiǎn)
總結(jié)
以上是生活随笔 為你收集整理的服务器漏洞整理 的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔 推薦給好友。