設定安裝 Apache 防火牆

目前網路有現成的模組您可以使用 mod_security 增加 Apache 的安全性 mod_security 是 Apache 的一個模組
可以提供入侵偵測及防禦,它就如同是web 應用程式的防火牆可以用來抵擋知名及不知名的攻擊如 SQL injection attacks 、
cross-site scripting、path traversal attacks .經過小編試過 .效果還不錯.

一.安裝mod_security

  可利用 yum -y install mod_security 進行安裝

 或使用wget到網路上下載安裝如:
 wget http://dl.fedoraproject.org/pub/epel/6/i386/mod_security-2.5.12-2.el6.i686.rpm
  在到下載目錄執行 rpm –Uvh mod_security-2.5.12-2.el6.i686.rpm

 一般32位元會將mod_security2.so 模組檔放在 /usr/lib/httpd/modules/

64位元則放在 /usr/lib64/httpd/modules/mod_security2.so

在/etc/httpd/conf/httpd.conf 內加入以下內容:
LoadModule security2_module  /usr/lib/httpd/modules/mod_security2.so

LoadModule security2_module /usr/lib64/httpd/modules/mod_security2.so

並加入宣告

<IfModule mod_security2.so>
SecFilterEngine On
SecFilterInheritance Off
SecFilterCheckURLEncoding On
SecAuditLog /var/log/httpd/mod_security_audit_log
SecFilterForceByteRange 32 126
SecFilter chmod redirect:http://www.google.com
SecFilter wget redirect:http://www.google.com
SecFilterDefaultAction "deny,log,status:406"
SecFilter /etc/*passwd
SecFilter /bin/*sh
SecFilter "\.\./"
SecFilter "<( |\n)*script"
SecFilter "<(.|\n)+>"
SecFilter "delete[[:space:]]+from"
SecFilter "insert[[:space:]]+into"
SecFilter "select.+from"
SecServerSignature "Microsoft-IIS/6.0"
</IfModule>

-----------------------------------------------------------------------------------------------

# 打開過濾引擎開關。如果是Off,那麼下面這些都不起作用了。
SecFilterEngine On
# 把設置傳遞給字目錄
SecFilterInheritance Off
# 檢查url 編碼
SecFilterCheckURLEncoding On
# 檢測內容長度以避免堆溢出攻擊
#SecFilterForceByteRange 32 126
# 日誌的文件和位置。一定要先建立好目錄,否則apache 重新啟動的時候會報錯。
SecAuditLog /var/log/httpd/mod_security_audit_log
# debug 的設置
SecFilterDebugLog /var/log/httpd/mod_security_debug_log
SecFilterDebugLevel 9
#當匹配chmod,wget 等命令的時候,重新定向到一個特殊的頁面,讓攻擊者知難而退
SecFilter chmod redirect:http://www.google.com
SecFilter wget redirect:http://www.google.com
# 預設的動作
SecFilterDefaultAction "deny,log,status:406"
# 防止操作系統關鍵詞攻擊
SecFilter /etc/*passwd
SecFilter /bin/*sh
# 防止double dot 攻擊
SecFilter "\.\./"
# 防止跨站腳本(CSS)攻擊
SecFilter "<( |\n)*script"
# Prevent XSS atacks (HTML/Javascript injection)
SecFilter "<(.|\n)+>"
# 防止sql 注入式攻擊
SecFilter "delete[[:space:]]+from"
SecFilter "insert[[:space:]]+into"
SecFilter "select.+from"
#偽裝服務器標識
SecServerSignature "Microsoft-IIS/6.0"
----------------------------------------------------------------------------------------------------

重新啟動 apache 即可啟動

***Apache 防火牆相關規則放在/etc/httpd/modsecurity.d/base_rules/底下

所有相關規則都在底下,都可在裡面修改

 

arrow
arrow
    全站熱搜

    翰 發表在 痞客邦 留言(0) 人氣()