自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何安裝配置Apache中的mod_security和mod_evasive

譯文
安全 應(yīng)用安全
就Apache網(wǎng)站服務(wù)器而言,即便不是所有專家,至少也是絕大多數(shù)專家一致認(rèn)為,mod_security和mod_evasive是兩個(gè)非常重要的模塊,可以保護(hù)Apache網(wǎng)站服務(wù)器遠(yuǎn)離常見的威脅。

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

我們在本文中將探討如何安裝及配置mod_security和mod_evasive,假設(shè)Apache HTTP網(wǎng)站服務(wù)器已經(jīng)搭建并運(yùn)行起來。我們將執(zhí)行演示性質(zhì)的壓力測試,看看該網(wǎng)站服務(wù)器在遇到拒絕服務(wù)(DOS)攻擊時(shí)會有怎樣的反應(yīng),并且演示它如何借助這些模塊來反擊。我們在本教程中將使用CentOS平臺。

安裝mod_security和mod_evasive

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

# yum install mod_security
# yum install mod_evasive

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

如何安裝配置mod_security和mod_evasive模塊

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

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

在上述兩行:

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

•security2_module和evasive20_module是模塊的名稱。

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

如何安裝配置mod_security和mod_evasive模塊

現(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(開發(fā)mod_security的公司)提供了開放式Web應(yīng)用安全項(xiàng)目(OWASP)ModSecurity CRS,詳見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目錄里面,你會找到附有規(guī)則的示例文件(modsecurity_crs_10_setup.conf.example)。

如何安裝配置mod_security和mod_evasive模塊

我們將該文件的內(nèi)容拷貝到一個(gè)新文件中,為了方便起見,新文件名為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打包文件解壓縮在何處。

<IfModule security2_module>
    Include crs/owasp-modsecurity-crs/modsecurity_crs_10_setup.conf
    Include crs/owasp-modsecurity-crs/base_rules/*.conf
</IfModule>

 

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

 

# vi /etc/httpd/modsecurity.d/xmodulo.conf 
<IfModule mod_security2.c>
 SecRuleEngine On
 SecRequestBodyAccess On
 SecResponseBodyAccess On
 SecResponseBodyMimeType text/plain text/html text/xml application/octet-stream
 SecDataDir /tmp
</IfModule>

•SecRuleEngine On:使用OWASP CRS檢測并阻止惡意攻擊。

•SecRequestBodyAccess On:啟用對傳送數(shù)據(jù)的請求主體(比如POST參數(shù))進(jìn)行檢查的功能。

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

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

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

你可以訪問SpiderLabs的ModSecurity GitHub軟件庫:https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#Configuration_Directives,參閱配置指令的完整指南。

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

配置mod_evasive

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

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

 

<IfModule mod_evasive20.c>
    DOSHashTableSize    3097
    DOSPageCount       2
    DOSSiteCount       50
    DOSPageInterval      1
    DOSSiteInterval       1
    DOSBlockingPeriod   10
</IfModule>

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

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

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

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

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

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

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

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

#!/bin/sh
# 不正當(dāng)?shù)腎P被mod_evasive檢測出來
IP=$1
# 用戶apache通過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í)后,通過‘at’命令解除阻止不正當(dāng)?shù)腎P;參閱“man at”,即可了解進(jìn)一步的細(xì)節(jié)
echo "$IPTABLES -D INPUT -s $IP -j DROP" | at now + 2 hours
# 刪除鎖定文件,以便將來核查
rm -f "$MOD_EVASIVE_LOGDIR"/dos-"$IP"
我們的DOSSystemCommand指令然后顯示如下:
DOSSystemCommand "sudo /etc/httpd/scripts/ban_ip.sh %s"

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

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

如何安裝配置mod_security和mod_evasive模塊

#p#

模擬DoS攻擊

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

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

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

基于Linux的工具

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

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

•-n:為基準(zhǔn)測試會話而執(zhí)行的請求數(shù)量。

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

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

#!/usr/bin/perl
# test.pl:測試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ò)壓力測試工具。為了生成工作負(fù)載,請按照下面屏幕截圖中顯示的順序,其他的別去改動。

如何安裝配置mod_security和mod_evasive模塊

壓力測試結(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地址并沒有被列入黑名單。

結(jié)束語

我們可以看出,如果配置得當(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

責(zé)任編輯:藍(lán)雨淚 來源: 51CTO.com
相關(guān)推薦

2015-02-27 09:42:40

2021-08-30 15:23:03

prometheus局限性cortex

2009-06-10 13:43:05

mod_jk整合Apa

2010-05-12 18:05:45

linux下subvesubversionapache配置

2009-07-23 15:23:53

Apache支持ASPmod_aspdotn

2009-07-23 15:49:21

mod_aspdotnApache支持ASP

2023-11-22 08:41:49

CSS前端

2010-01-14 13:47:30

CentOS extm

2010-05-25 18:45:05

2011-03-08 11:11:38

LinuxLAMP安裝

2011-03-08 11:11:38

LinuxLAMP安裝

2010-02-01 11:12:27

mod_python模

2009-06-04 20:48:15

Eclipse中安裝VEclipse中配置V

2013-10-14 15:35:46

CentOSLNMPCentmin Mod

2012-03-14 11:30:45

ibmdw

2009-11-25 10:18:25

linuxapache tomc虛擬主機(jī)

2010-02-26 09:55:59

Fedora apac

2011-03-30 15:05:40

MRTG安裝

2011-04-02 15:26:51

Cacti安裝

2011-11-08 21:55:58

MRTG 配置
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號