WEB服務(wù)器遭到攻擊后做的一些優(yōu)化
近日發(fā)現(xiàn)我的WEB服務(wù)器遭到攻擊,篡改了我的首頁信息,杯具的是不是我先發(fā)現(xiàn)的,是我的同事發(fā)現(xiàn)了這一信息。
我打開首頁后發(fā)現(xiàn),篡改的首頁信息是隱藏的。右擊查看源碼在最下面找到了一些莫名奇妙的友情連接,就去WEB服務(wù)器上查找可疑的文件,并查看WEB的access.log 沒有發(fā)現(xiàn)問題(馬虎)。 查看網(wǎng)站的主目錄發(fā)現(xiàn)有可疑文件,分別在網(wǎng)站的主目錄下和FCK下有一下0.jsp 1.jsp 00.php文件,并在FCK文件夾里發(fā)現(xiàn)有可疑的exe文件,分別有三個文件cmd.exe和FindPass.exe 看到這里心想完了,系統(tǒng)不保了,看了一下文件的上傳日期就再次查看了一下access.log文件,發(fā)現(xiàn)有可疑的地方并執(zhí)行了一個jsp的文件,馬上復(fù)制這個地址在瀏覽器上打開發(fā)現(xiàn) 是一個“小馬” 能執(zhí)行成功。“小馬”上傳上去以后他們就可以接著上次“大馬”和其他的他們用到的程序了,看來是我們WEB部署的程序上有上傳的漏洞。被人家拿到了webshell。
環(huán)境:windows+apache+php+tomcat+jk
分析:
由于環(huán)境是支持jsp和php的所以在jsp的環(huán)境運行php是可以的,在php的環(huán)境下運行jsp也是可以運行的。上傳目錄的權(quán)限也有執(zhí)行的權(quán)限。程序上也沒有做真實的文件類型驗證。
做修復(fù)工作:
服務(wù)上優(yōu)化:
把運行jsp的目錄禁止php的運行,把上傳目錄的腳本解析權(quán)限去掉。
apache的配置文件設(shè)置的太糙。
以前設(shè)置apache的配置文件是,除了.jpg .js .png .html等一些靜態(tài)的文件又apache來處理,以外的所有有tomcat來處理。
現(xiàn)在要修改tomcat來處理的一些用到的擴展名,其它都由apache來處理。
這樣才能拒絕擴展名的執(zhí)行,因為apache和tomcat一起工作時 apache會將tomcat處理的文件名先給tomcat然后在看禁止權(quán)限規(guī)則。由于我們的網(wǎng)站都是動態(tài)的地址所以用不到j(luò)sp后綴名,所以.jsp的后綴名可以交給apache來處理,可以拒絕這個擴展名也可以不拒絕,就是不拒絕這個jsp擴展名的文件打開以后他也不會執(zhí)行,他會顯示這個jsp文件的內(nèi)容。即使他改成jsp1 也是不能執(zhí)行的。
然后再限制一下php
php就好限制了,網(wǎng)上有很多。把php_flag engine off 加到不想讓php執(zhí)行的目錄權(quán)限里就可以了
最終的配置文件:
#vi uriworkermap.properties
###這里是交給我們的tomcat來處理的后綴名
JkMount /*.key tomcat
JkMount /*.aaa tomcat
……
httpd.conf 配置文件修改
#vi httpd.conf
###這個目錄不允許運行php腳本,和禁止運行.jsp*、.php*的后綴名
<Directory "D:\opt\www\webroot">
php_flag engine off
<Files ~ "\.(php|jsp)">
Order allow,deny
Deny from all
</Files>
</Directory>
重啟apache服務(wù),測試吧!!!
以上配置都親自測試過。哪里寫的不好的、看不明白的請多多指點。
程序上優(yōu)化:
程序上的優(yōu)化就是來做真實的文件類型來判斷是否能夠上傳。