最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Apache下ModSecurity的安裝啟用與配置

 更新時(shí)間:2018年10月18日 17:42:04   投稿:mdxy-dxy  
這篇文章主要介紹了Apache下ModSecurity的安裝啟用與配置,需要的朋友可以參考下

ModSecurity 是一個(gè)強(qiáng)大的包過(guò)濾工具,將檢查每一個(gè)進(jìn)入web服務(wù)器的包。它將根據(jù)內(nèi)部規(guī)則,比較每一個(gè)包,并且確定是否需要禁止這個(gè)包或繼續(xù)發(fā)送給web服務(wù)器。

1、下載

modsecurity-apache: http://sourceforge.net/projects/mod-security/files/modsecurity-apache/
modsecurity-crs: http://sourceforge.net/projects/mod-security/files/modsecurity-crs/0-CURRENT/

2、安裝

1)啟用 mod_unique_id 模塊
2)驗(yàn)證服務(wù)器安裝了最新版本libxml2函數(shù)庫(kù)
3)停止Apache httpd

4)解壓

gzip -d modsecurity-apache_2.6.3.tag.gz
tar xvzf modsecurity-apache_2.6.3.tar
gzip -d modsecurity-core-rules_2.6.tar.gz
tar xvzf modsecurity-core-rules_2.6.tar.gz

5)配置

./configure

6)編譯并測(cè)試ModSecurity

make
make test

7)安裝

make install

修改 http.conf,啟用ModSecurity,在httpd.conf文件添加:

LoadFile /usr/lib/libxml2.so
LoadModule security2_module modules/mod_security2.so

8)重啟apache

到這里已經(jīng)安裝了ModSecurity,你可以查看配置指令文檔:http://sourceforge.net/apps/mediawiki/mod-security/index.php?title=Reference_Manual

ubuntu上安裝Apache2+ModSecurity及自定義WAF規(guī)則

雖然VPS使用了云WAF功能,但還是有點(diǎn)小擔(dān)心,為了雙重保險(xiǎn),決定使用modsecurity來(lái)定制規(guī)則,以下介紹如何為apache服務(wù)器配置ModSecurity防護(hù)罩(modsecurity目前也支持Nginx,IIS) 。

本次選擇使用包管理器來(lái)安裝,因?yàn)槊看问褂迷创a包的安裝方式,都會(huì)被詭異的庫(kù)依賴錯(cuò)誤弄得發(fā)型都抓亂。

安裝環(huán)境:

OS:Ubuntu 14.04.1 LTS
Apache: Apache/2.4.7 (Ubuntu)

第一步:安裝apache

我建議安裝Apache最好用apt-get安裝,這樣就可以少很多的庫(kù)支持?。。?!如果不嫌麻煩的話可以用源碼安裝

輸入apt-get install apache2

如果提示沒(méi)有這個(gè)軟件包就更新一下軟件包 apt-get install update

這步安裝好了以后apache就可以提供服務(wù)了,輸入127.0.0.1就可以訪問(wèn)本地網(wǎng)站了

第二步:安裝modsecurity

這個(gè)也和上邊的一樣,使用

apt-get install libxml2 libxml2-dev libxml2-utils libaprutil1 libaprutil1-dev libapache2-modsecurity

安裝好了以后就可以查看你的modsecurity的版本號(hào)是多少,使用

dpkg -s libapache2-modsecurity | grep Version

第三步 配置modsecurity

service apache2 reload

該命令生效后,會(huì)在/var/log/apache2/目錄下生成modsecurity的日志文件modsec_audit.log

使用modsecurity核心規(guī)則集

將我們想起用的規(guī)則集放置在以下目錄下

cd /usr/share/modsecurity-crs/activated_rules/

選擇啟用base規(guī)則集

for f in $(ls ../base_rules/); do ln -s ../base_rules/$f; done

修改apache模塊配置,啟用規(guī)則集

注意:modsecurity 2.7版本與2.6版本的配置文件有些區(qū)別

(1)2.7版本

vim /etc/apache2/mods-available/security2.conf
修改

<IfModule security2_module>
# Default Debian dir for modsecurity's persistent data
SecDataDir /var/cache/modsecurity
# Include all the *.conf files in /etc/modsecurity.
# Keeping your local configuration in that directory
# will allow for an easy upgrade of THIS file and
# make your life easier
IncludeOptional /etc/modsecurity/*.conf
IncludeOptional /usr/share/modsecurity-crs/*.conf
IncludeOptional /usr/share/modsecurity-crs/activated_rules/*.conf
</IfModule>

(2)2.6版本

‍‍vim /etc/apache2/mods-available/mod-security.conf‍‍
修改

Include /etc/modsecurity/*.conf
Include /usr/share/modsecurity-crs/*.conf
Include /usr/share/modsecurity-crs/activated_rules/*.conf

第四步:?jiǎn)⒂胢odsecurity模塊

a2enmod headersa2enmod security2 (版本2.6: a2enmod mod-security)service apache2 restart

第五步:測(cè)試真實(shí)的攻擊payload

看是否能攔截

http://www.tanjiti.com/?case=archive&act=orders&aid[typeid`%3D1%20and%20ord(mid((select/**/concat(username,0x3a,password)%20from%20cmseasy_user),1,1))%3C49%23]=1
我們發(fā)現(xiàn)請(qǐng)求包被403攔截了,

可以查看modsecurity日志文件看具體的攔截情況

tail /var/log/apache2/modsec_audit.log
message: Access denied with code 403 (phase 2). Pattern match "(/\\*!?|\\*/|[&#039;;]--|--[\\s\\r\\n\\v\\f]|(?:--[^-]*?-)|([^\\-&])#.*?[\\s\\r\\n\\v\\f]|;?\\x00)" at ARGS_NAMES:aid[typeid`=1 and ord(mid((select/**/concat(username,0x3a,password) from cmseasy_user),1,1))
<49#].
[file "/usr/share/modsecurity-crs/activated_rules/modsecurity_crs_41_sql_injection_attacks.conf"] [line "49"] [id "981231"] [rev "2"] [msg "SQL Comment Sequence Detected."] [data "Matched Data: /* found within ARGS_NAMES:aid[typeid`=1 and ord(mid((select/**/concat(username,0x3a,password) from cmseasy_user),1,1))<49#]: aid[typeid`=1 and ord(mid((select/**/concat(username,0x3a,password) from cmseasy_user),1,1))<49#]"] [severity "CRITICAL"] [ver "OWASP_CRS/2.2.8"] [maturity "8"] [accuracy "8"] [tag "OWASP_CRS/WEB_ATTACK/SQL_INJECTION"] [tag "WASCTC/WASC-19"] [tag "OWASP_TOP_10/A1"] [tag "OWASP_AppSensor/CIE1"] [tag "PCI/6.5.2"]

可以看到是被base規(guī)則集的modsecurity_crs_41_sql_injection_attacks.conf文件的規(guī)則981231攔截,命中了SQL注釋語(yǔ)句。
對(duì)于網(wǎng)站結(jié)構(gòu)比較了解的站長(zhǎng)們,完全可以自定義規(guī)則,特別是白名單規(guī)則來(lái)防護(hù)我們的網(wǎng)站。

第六步:自定義WAF規(guī)則

規(guī)則語(yǔ)法快速入門參考 ModSecurity SecRule cheatsheets

WAF規(guī)則實(shí)例1:上傳文件名白名單,只允許上傳圖片文件

vim /usr/share/modsecurity-crs/activated_rules/MY.conf
添加規(guī)則

SecRule FILES "!\\.(?i:jpe?g|gif|png|bmp)$" "deny,tag:'WEB_ATTACK/FILEUPLOAD',msg:'upload no-picture file',id:0000001,phase:2"
測(cè)試,上傳php文件

(http的使用參照HTTP發(fā)包工具 -HTTPie)
http www.tanjiti.com filename@a.php
我們可以看到請(qǐng)求包被攔截,查看modsecurity日志

more /var/log/apache2/modsec_audit.log
可以看到命中了規(guī)則0000001

Message: Access denied with code 403 (phase 2). Match of "rx \\.(?i:jpe?g|gif|png|bmp)$" against "FILES:filename" required. [file "/usr/share/modsecurity-crs/activated_rules/MY.conf"] [line "1"] [id "0000001"] [msg "upload no-picture file"] [tag "WEB_ATTACK/FILEUPLOAD"]
WAF規(guī)則實(shí)例2: 上傳文件名中包含%00進(jìn)行阻斷

vim /usr/share/modsecurity-crs/activated_rules/MY.conf
添加規(guī)則

SecRule FILES "@contains %00" "deny,tag:&#039;WEB_ATTACK/FILEUPLOAD',msg:'filename has null character',id:0000002,phase:2"
測(cè)試,上傳文件名包含%00的文件

http www.tanjiti.com filename@a.php%00.jpeg
我們可以看到請(qǐng)求包被攔截,查看modsecurity日志

more /var/log/apache2/modsec_audit.log
可以看到命中了規(guī)則0000002

Message: Access denied with code 403 (phase 2). String match "%00" at FILES:filename. [file "/usr/share/modsecurity-crs/activated_rules/MY.conf"] [line "2"] [id "0000002"] [msg "filename has null character"] [tag "WEB_ATTACK/FILEUPLOAD"]
非常簡(jiǎn)單吧,下一步,計(jì)劃介紹一下nginx服務(wù)器的防護(hù)。

注意?。。。。。。。。。。。。?!
一旦這樣修改了以后,使用IP地址就顯示403錯(cuò)誤?。。。。?!為了這個(gè)錯(cuò)誤,搞了一天,在網(wǎng)上搜各種403錯(cuò)誤就是不行,為什么呢????
查看errol.log 就可以發(fā)現(xiàn),是modsecurity里面禁止了使用IP訪問(wèn)?。。。。?!使用localhost就可以正常訪問(wèn)了。。。
所以,看日志是一個(gè)很重要的事兒

相關(guān)文章

  • linux系統(tǒng)下使用tcpdump進(jìn)行抓包方法

    linux系統(tǒng)下使用tcpdump進(jìn)行抓包方法

    在本篇文章中小編給大家分享了關(guān)于linux系統(tǒng)下使用tcpdump進(jìn)行抓包的方法和相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。
    2019-04-04
  • deepin linux 手動(dòng)升級(jí)內(nèi)核的方法

    deepin linux 手動(dòng)升級(jí)內(nèi)核的方法

    這篇文章主要介紹了deepin linux 手動(dòng)升級(jí)內(nèi)核的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • CentOS 配置防火墻詳解及實(shí)例

    CentOS 配置防火墻詳解及實(shí)例

    這篇文章主要介紹了CentOS 配置防火墻詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • linux中ftp服務(wù)搭建需要注意的地方

    linux中ftp服務(wù)搭建需要注意的地方

    本篇文章給大家總結(jié)了linux中ftp服務(wù)搭建需要注意的地方,大家學(xué)習(xí)后能夠少走很多彎路,一起參考下吧。
    2018-03-03
  • Ubuntu16.04.4LTS安裝mininet遇到的問(wèn)題及解決方案

    Ubuntu16.04.4LTS安裝mininet遇到的問(wèn)題及解決方案

    今天小編就為大家分享一篇關(guān)于Ubuntu16.04.4LTS安裝mininet遇到的問(wèn)題及解決方案,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-10-10
  • 實(shí)現(xiàn)兩臺(tái)MySQL數(shù)據(jù)庫(kù)數(shù)據(jù)的同步的方法

    實(shí)現(xiàn)兩臺(tái)MySQL數(shù)據(jù)庫(kù)數(shù)據(jù)的同步的方法

    做開(kāi)發(fā)的時(shí)候要做Mysql的數(shù)據(jù)庫(kù)同步,兩臺(tái)安裝一樣的系統(tǒng),都是FreeBSD5.4,安裝了Apache 2.0.55和PHP 4.4.0,Mysql的版本是4.1.15,都是目前最新的版本。
    2008-04-04
  • 在Linux系統(tǒng)中使用Vim讀寫(xiě)遠(yuǎn)程文件的命令詳解

    在Linux系統(tǒng)中使用Vim讀寫(xiě)遠(yuǎn)程文件的命令詳解

    這篇文章主要介紹了在Linux系統(tǒng)中使用Vim讀寫(xiě)遠(yuǎn)程文件的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • linux kernel 打印函數(shù)指針對(duì)應(yīng)的函數(shù)名方法

    linux kernel 打印函數(shù)指針對(duì)應(yīng)的函數(shù)名方法

    下面小編就為大家?guī)?lái)一篇linux kernel 打印函數(shù)指針對(duì)應(yīng)的函數(shù)名方法。小編覺(jué)得挺不錯(cuò)的?,F(xiàn)在就分享給大家。也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • CentOS環(huán)境下安裝PHPUnit的方法分析

    CentOS環(huán)境下安裝PHPUnit的方法分析

    這篇文章主要介紹了CentOS環(huán)境下安裝PHPUnit的方法,結(jié)合實(shí)例形式分析了CentOS環(huán)境下安裝PHPUnit的步驟、相關(guān)問(wèn)題與解決方法,需要的朋友可以參考下
    2018-05-05
  • Linux使用partprobe更新分區(qū)表的示例代碼

    Linux使用partprobe更新分區(qū)表的示例代碼

    partprobe 是一個(gè)用于在 Linux 操作系統(tǒng)中通知內(nèi)核分區(qū)表變化的命令,它請(qǐng)求操作系統(tǒng)重新讀取磁盤的分區(qū)表,以便及時(shí)反映對(duì)分區(qū)所做的修改,本文給大家介紹了Linux使用partprobe更新分區(qū)表的方法,需要的朋友可以參考下
    2025-03-03

最新評(píng)論

伊宁市| 都兰县| 滁州市| 卢氏县| 卢湾区| 阳泉市| 芒康县| 洪湖市| 阿巴嘎旗| 永济市| 牡丹江市| 朝阳市| 定州市| 门源| 江陵县| 泸水县| 浏阳市| 黎平县| 黄浦区| 靖安县| 和平区| 古田县| 鄂州市| 长葛市| 衡东县| 汽车| 汤阴县| 阿拉尔市| 永安市| 沙湾县| 连州市| 柳江县| 章丘市| 肥东县| 阿合奇县| 舒兰市| 腾冲县| 墨竹工卡县| 大丰市| 呈贡县| 青浦区|