1. 程式人生 > >lamp架構-訪問控制-禁止php解析、屏蔽curl命令訪問

lamp架構-訪問控制-禁止php解析、屏蔽curl命令訪問

屏蔽curl訪問 訪問控制 禁止php解析 網頁防止上傳木馬

lamp架構-訪問控制-禁止php解析

有的網站論壇開啟了上傳圖片功能,導致黑客木馬捆綁圖片上傳到服務器,通過訪問php來提升服務器後臺權限,
這裏我們就需要將上傳圖片的目錄禁止訪問php文件,來達到防止黑客木馬上傳上來通過訪問web來運行木馬的作用;

編輯虛擬配置文件

vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

增加代碼

    <Directory /data/wwwroot/szl.com/upload>
        php_admin_flag engine off
        <FilesMatch (.*)\.php(.*)>
        Order allow,deny
        Deny from all
        </FilesMatch>
    </Directory>

配置生效

/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful

測試:

訪問szl.com/upload/123.php,禁止訪問403

curl -x127.0.0.1:80 szl.com/upload/123.php

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don‘t have permission to access /upload/123.php
on this server.<br />
</p>
</body></html>

訪問控制-user_agent

防止多肉雞洪水攻擊,也就是超出服務器正常訪問的訪問,屏蔽掉一curl的訪問;
user_agent:使用curl訪問或使用瀏覽器訪問,會產生日誌文件,名字就是curl或瀏覽器名稱;

編輯虛擬配置文件

vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

增加配置

<IfModule mod_rewrite.c>                                                        //應用rewrite模塊
        RewriteEngine on                                                                //啟用規則
        RewriteCond %{HTTP_USER_AGENT}  .*curl.* [NC,OR]           //定義規則1,NC不區分大小寫、or或、*curl.*訪問中有curl的禁止
        RewriteCond %{HTTP_USER_AGENT}  .*baidu.com.* [NC]       //定義規則2,不區分大小寫,訪問agent為baidu.com的
        RewriteRule  .*  -  [F]
</IfModule>

檢查http.conf文件是否加載rewrite模塊

/usr/local/apache2.4/bin/apachectl -M |grep rewrite

生效配置

/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful

測試

使用curl訪問szl.com/admin.php,拒絕訪問,403
curl -x127.0.0.1:80 szl.com/admin.php

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don‘t have permission to access /admin.php
on this server.<br />
</p>
</body></html>

定義其他agent訪問,成功200

curl -A "szl szl" -x127.0.0.1:80 szl.com/admin.php -I


HTTP/1.1 200 OK
Date: Wed, 07 Mar 2018 10:24:27 GMT
Server: Apache/2.4.29 (Unix) PHP/5.6.30
X-Powered-By: PHP/5.6.30
Content-Type: text/html; charset=UTF-8

lamp架構-訪問控制-禁止php解析、屏蔽curl命令訪問