日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
如何安裝配置Apache中的mod_security和mod_evasive

網(wǎng)站服務(wù)器安全是個(gè)大話(huà)題;說(shuō)到什么是加固某一臺(tái)網(wǎng)站服務(wù)器的最佳工具和技術(shù),不同的人自有不同的偏好和觀(guān)點(diǎn)。就Apache網(wǎng)站服務(wù)器而言,即便不是所有專(zhuān)家,至少也是絕大多數(shù)專(zhuān)家一致認(rèn)為,mod_security和mod_evasive是兩個(gè)非常重要的模塊,可以保護(hù)Apache網(wǎng)站服務(wù)器遠(yuǎn)離常見(jiàn)的威脅。

成都創(chuàng)新互聯(lián)專(zhuān)注為客戶(hù)提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、通州網(wǎng)絡(luò)推廣、微信小程序開(kāi)發(fā)、通州網(wǎng)絡(luò)營(yíng)銷(xiāo)、通州企業(yè)策劃、通州品牌公關(guān)、搜索引擎seo、人物專(zhuān)訪(fǎng)、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供通州建站搭建服務(wù),24小時(shí)服務(wù)熱線(xiàn):13518219792,官方網(wǎng)址:www.cdcxhl.com

我們?cè)诒疚闹袑⑻接懭绾伟惭b及配置mod_security和mod_evasive,假設(shè)Apache HTTP網(wǎng)站服務(wù)器已經(jīng)搭建并運(yùn)行起來(lái)。我們將執(zhí)行演示性質(zhì)的壓力測(cè)試,看看該網(wǎng)站服務(wù)器在遇到拒絕服務(wù)(DOS)攻擊時(shí)會(huì)有怎樣的反應(yīng),并且演示它如何借助這些模塊來(lái)反擊。我們?cè)诒窘坛讨袑⑹褂肅entOS平臺(tái)。

安裝mod_security和mod_evasive

要是你還沒(méi)有啟用CentOS/RHEL服務(wù)器中的EPEL軟件庫(kù),就需要先啟用該軟件庫(kù),之后再安裝這些軟件包。

# yum install mod_security
# yum install mod_evasive

安裝完成后,你會(huì)在/etc/httpd/conf.d里面找到主配置文件:

現(xiàn)在,你需要確保Apache啟動(dòng)時(shí)裝入這兩個(gè)模塊。在mod_security.conf和mod_evasive.conf中分別尋找下列行(如果沒(méi)有這些行,就添加上去):

LoadModule security2_module modules/mod_security2.so
LoadModule evasive20_module modules/mod_evasive20.so

在上述兩行:

?LoadModule指令告訴Apache鏈接對(duì)象文件(*.so),將它添加到活動(dòng)模塊列表。

?security2_module和evasive20_module是模塊的名稱(chēng)。

?modules/mod_security2.so和modules/mod_evasive20.so是從/etc/httpd目錄到模塊源文件的相對(duì)路徑。只要檢查/etc/httpd/modules目錄的內(nèi)容,就能核實(shí)路徑(必要的話(huà),還可以更改路徑)。

現(xiàn)在重啟Apache網(wǎng)站服務(wù)器:

# service httpd restart

#p#

配置mod_security

為了使用mod_security,必須先安裝核心規(guī)則集(CRS)?;旧隙?,CRS為網(wǎng)站服務(wù)器提供了一套規(guī)則,這套規(guī)則明確了在某些情形下服務(wù)器有怎樣的行為。Trustwave的SpiderLabs(開(kāi)發(fā)mod_security的公司)提供了開(kāi)放式Web應(yīng)用安全項(xiàng)目(OWASP)ModSecurity CRS,詳見(jiàn)https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project。

如果想下載并安裝最新的OWASP CRS,可以使用下面這些命令。

# mkdir /etc/httpd/crs
# cd /etc/httpd/crs
# wget https://github.com/SpiderLabs/owasp-modsecurity-crs/tarball/master
# tar xzf master
# mv SpiderLabs-owasp-modsecurity-crs-ebe8790 owasp-modsecurity-crs

現(xiàn)在,瀏覽到已安裝的OWASP CRS目錄。

# cd /etc/httpd/crs/owasp-modsecurity-crs

在OWASP CRS目錄里面,你會(huì)找到附有規(guī)則的示例文件(modsecurity_crs_10_setup.conf.example)。

我們將該文件的內(nèi)容拷貝到一個(gè)新文件中,為了方便起見(jiàn),新文件名為modsecurity_crs_10_setup.conf。

# cp modsecurity_crs_10_setup.conf.example modsecurity_crs_10_setup.conf

為了告訴Apache就mod_security模塊使用這個(gè)文件,將下面幾行插入到/etc/httpd/conf/httpd.conf文件中。具體路徑可能不一樣,取決于你將CRS打包文件解壓縮在何處。


    Include crs/owasp-modsecurity-crs/modsecurity_crs_10_setup.conf
    Include crs/owasp-modsecurity-crs/base_rules/*.conf

最后但并非最不重要的是,我們將在modsecurity.d目錄里面創(chuàng)建自己的配置文件,我們會(huì)將所選擇的指令加入到該配件文件中。在本例中,我們將這個(gè)配置文件命名為xmodulo.conf。強(qiáng)烈建議你別直接編輯CRS文件,而是把所有必要的指令都放在這個(gè)配置文件中。這樣一來(lái),更新的CRS發(fā)布后,就比較容易升級(jí)。

# vi /etc/httpd/modsecurity.d/xmodulo.conf 

 SecRuleEngine On
 SecRequestBodyAccess On
 SecResponseBodyAccess On
 SecResponseBodyMimeType text/plain text/html text/xml application/octet-stream
 SecDataDir /tmp

?SecRuleEngine On:使用OWASP CRS檢測(cè)并阻止惡意攻擊。

?SecRequestBodyAccess On:?jiǎn)⒂脤?duì)傳送數(shù)據(jù)的請(qǐng)求主體(比如POST參數(shù))進(jìn)行檢查的功能。

?SecResponseBodyAccess On:緩沖響應(yīng)主體(前提是響應(yīng)MIMI類(lèi)型符合用SecResponseBodyMimeType配置的列表)。

?SecResponseBodyMimeType text/plain text/html text/xml application/octet-stream:配置認(rèn)為哪些MIME類(lèi)型用于響應(yīng)主體緩沖。如果你對(duì)MIME類(lèi)型不熟悉,或者對(duì)它們的名稱(chēng)或用法沒(méi)有把握,可以檢查互聯(lián)網(wǎng)編號(hào)分配機(jī)構(gòu)(IANA)網(wǎng)站。

?SecDataDir /tmp:存儲(chǔ)持久性數(shù)據(jù)(比如IP地址數(shù)據(jù)和會(huì)話(huà)數(shù)據(jù)等數(shù)據(jù))的路徑。這里的持久性意味著不存儲(chǔ)在內(nèi)存中,而是存儲(chǔ)在硬盤(pán)上的任何數(shù)據(jù)。

你可以訪(fǎng)問(wèn)SpiderLabs的ModSecurity GitHub軟件庫(kù):https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#Configuration_Directives,參閱配置指令的完整指南。

別忘了重啟Apache,讓變更生效。#p#

配置mod_evasive

mod_evasive模塊讀取來(lái)自/etc/httpd/conf.d/mod_evasive.conf的配置。與mod_security不一樣,我們不需要獨(dú)立的配置文件,因?yàn)樵谙到y(tǒng)或軟件包升級(jí)過(guò)程中沒(méi)有規(guī)則需要更新。

默認(rèn)的mod_evasive.conf文件已啟用了下列指令:


    DOSHashTableSize    3097
    DOSPageCount       2
    DOSSiteCount       50
    DOSPageInterval      1
    DOSSiteInterval       1
    DOSBlockingPeriod   10

?DOSHashTableSize:用來(lái)跟蹤每個(gè)IP地址活動(dòng)的哈希表的大小。加大這個(gè)數(shù)值可以加快查詢(xún)客戶(hù)機(jī)過(guò)去所訪(fǎng)問(wèn)的網(wǎng)站的速度,但要是該值設(shè)得過(guò)高,可能會(huì)影響整體性能。

?DOSPageCount:訪(fǎng)客在DOSPageInterval間隔時(shí)間內(nèi)可以向某個(gè)URI(比如Apache加載的文件)發(fā)出的相同請(qǐng)求的數(shù)量。

?DOSSiteCount:類(lèi)似DOSPageCount,不過(guò)是指在DOSSiteInterval間隔時(shí)間內(nèi)可以向網(wǎng)站發(fā)出總共多少個(gè)請(qǐng)求。

?DOSBlockingPeriod:如果訪(fǎng)客超過(guò)了DOSSPageCount或DOSSiteCount設(shè)定的限制,他或她在DOSBlockingPeriod時(shí)間段時(shí)被列入黑名單。在這個(gè)間隔時(shí)間內(nèi),來(lái)自他/她的任何請(qǐng)求將返回403 Forbidden出錯(cuò)信息。

你可能需要根據(jù)自己的網(wǎng)站服務(wù)器需要處理的流量大小和類(lèi)型來(lái)更改這些值。請(qǐng)注意:如果這些值沒(méi)有合理設(shè)置,最后可能會(huì)阻止正當(dāng)?shù)脑L(fǎng)客。

下面是用于mod_evasive的其他實(shí)用指令:

1. DOSEmailNotify:只要IP地址被列入黑名單,就發(fā)送電子郵件到指定的地址。它需要一個(gè)有效的電子郵件地址作為變量。如果SELinux狀態(tài)被設(shè)成enforcing(執(zhí)行),你就需要為用戶(hù)apache可授予發(fā)送電子郵件的SELinux權(quán)限。也就是說(shuō),以root用戶(hù)的身份來(lái)運(yùn)行該命令。

# setsebool -P httpd_can_sendmail 1

然后,將該指令添加到mod_evasive.conf文件中:

DOSEmailNotify you@yourdomain.com

2. DOSSystemCommand:只要IP地址被列入黑名單,就執(zhí)行自定義系統(tǒng)命令。它可能適用于添加防火墻規(guī)則,完全阻止不正當(dāng)?shù)腎P地址:

DOSSystemCommand 

我們將使用該指令,通過(guò)下列腳本(/etc/httpd/scripts/ban_ip.sh)來(lái)添加防火墻規(guī)則:

#!/bin/sh
# 不正當(dāng)?shù)腎P被mod_evasive檢測(cè)出來(lái)
IP=$1
# 用戶(hù)apache通過(guò)sudo執(zhí)行的iptables二進(jìn)制文件的路徑
IPTABLES="/sbin/iptables"
# mod_evasive鎖定目錄
MOD_EVASIVE_LOGDIR=/tmp
# 添加下列防火墻規(guī)則(阻止IP)
$IPTABLES -I INPUT -s $IP -j DROP
# 2小時(shí)后,通過(guò)‘a(chǎn)t’命令解除阻止不正當(dāng)?shù)腎P;參閱“man at”,即可了解進(jìn)一步的細(xì)節(jié)
echo "$IPTABLES -D INPUT -s $IP -j DROP" | at now + 2 hours
# 刪除鎖定文件,以便將來(lái)核查
rm -f "$MOD_EVASIVE_LOGDIR"/dos-"$IP"
我們的DOSSystemCommand指令然后顯示如下:
DOSSystemCommand "sudo /etc/httpd/scripts/ban_ip.sh %s"

別忘了更新sudo權(quán)限,以便以apache用戶(hù)的身份運(yùn)行腳本:

# vi /etc/sudoers
apache ALL=NOPASSWD: /usr/local/bin/scripts/ban_ip.sh
Defaults:apache !requiretty

#p#

模擬DoS攻擊

我們將使用三款工具對(duì)我們的Apache網(wǎng)站服務(wù)器進(jìn)行壓力測(cè)試,該服務(wù)器運(yùn)行在CentOS 6.5平臺(tái)上,配備512 MB內(nèi)存和AMD速龍II X2 250處理器,分別在啟用和禁用mod_security和mod_evasive的情況下進(jìn)行測(cè)試,檢查該網(wǎng)站服務(wù)器在每一種情況下表現(xiàn)如何。

確保你只在自己的測(cè)試服務(wù)器中執(zhí)行下列步驟,別針對(duì)外部的生產(chǎn)網(wǎng)站執(zhí)行下列步驟。

在下面幾個(gè)例子中,將http://centos.gabrielcanepa.com.ar/index.php換成你自己的域和所選擇的文件。

基于Linux的工具

1. Apache bench:Apache服務(wù)器基準(zhǔn)測(cè)試工具。

# ab -n1000 -c1000 http://centos.gabrielcanepa.com.ar/index.php

?-n:為基準(zhǔn)測(cè)試會(huì)話(huà)而執(zhí)行的請(qǐng)求數(shù)量。

?-c:每次執(zhí)行的多個(gè)請(qǐng)求數(shù)量。

2. test.pl:mod_evasive模塊隨帶的Perl腳本。

#!/usr/bin/perl
# test.pl:測(cè)試mod_dosevasive功效的小腳本
use IO::Socket;
use strict;
for(0..100) {
  my($response);
  my($SOCKET) = new IO::Socket::INET( Proto   => "tcp",
                                      PeerAddr=> "192.168.0.16:80");
  if (! defined $SOCKET) { die $!; }
  print $SOCKET "GET /?$_ HTTP/1.0\n\n";
  $response = <$SOCKET>;
  print $response;
  close($SOCKET);
}

基于Windows的工具

1. Low Orbit Ion Cannon(LOIC):這是一款網(wǎng)絡(luò)壓力測(cè)試工具。為了生成工作負(fù)載,請(qǐng)按照下面屏幕截圖中顯示的順序,其他的別去改動(dòng)。

壓力測(cè)試結(jié)果

mod_security和mod_evasive啟用后(三款工具同時(shí)運(yùn)行),處理器和內(nèi)存使用率達(dá)到最高峰,分別是60%和50%,這種情形只持續(xù)了2秒,之后源IP被列入黑名單,被防火墻阻止,攻擊隨告停止。

另一方面,如果禁用mod_security和mod_evasive,上述三款工具很快就擊倒了服務(wù)器(而且在攻擊持續(xù)時(shí)段一直保持這個(gè)狀態(tài));當(dāng)然,不正當(dāng)?shù)腎P地址并沒(méi)有被列入黑名單。

結(jié)束語(yǔ)

我們可以看出,如果配置得當(dāng),mod_security和mod_evasive是加固Apache網(wǎng)站服務(wù)器,防范幾種威脅的兩個(gè)重要工具,應(yīng)當(dāng)考慮部署在暴露在互聯(lián)網(wǎng)上的環(huán)境中。

原文地址:http://xmodulo.com/2014/09/harden-apache-web-server-mod_security-mod_evasive-centos.html


新聞名稱(chēng):如何安裝配置Apache中的mod_security和mod_evasive
當(dāng)前URL:http://www.dlmjj.cn/article/djpjgoh.html