成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用Mod_Security和Mod_evasive模塊保護Apache

譯文
安全 網站安全
mod_security和mod_evasive是兩種非常重要的工具,它們可以用來保護Web服務器遠離蠻力攻擊或分布式拒絕服務(DDoS)攻擊。mod_security是一種面向Web應用程序的開源入侵檢測和預防引擎,它與Web服務器無縫地整合起來。

對于從事主機托管行業的人士來說,或者如果你托管自己的服務器,并將服務器暴露在互聯網面前,那么保護系統遠離攻擊者肯定是重中之重。

mod_security和mod_evasive是兩種非常重要的工具,它們可以用來保護Web服務器遠離蠻力攻擊或分布式拒絕服務(DDoS)攻擊。mod_security是一種面向Web應用程序的開源入侵檢測和預防引擎,它與Web服務器無縫地整合起來。

顧名思義,mod_evasive提供了規避功能;另外在遭到攻擊時,還能充當保護傘,保護Web服務器遠離這種威脅。

安裝Mod_Security和Mod_Evasive來保護Apache

安裝Mod_Security和Mod_Evasive來保護Apache

我們在本文中將討論如何在RHEL/CentOS 6和7以及Fedora 21-15上安裝、配置這兩個模塊,并讓它們與Apache協同運行。此外,我們會模擬攻擊,以便證實服務器作出相應的反應。

本文假設你已在系統上安裝了LAMP服務器。要是還沒有安裝,請在開始下一步之前參閱這篇文章《在RHEL/CentOS 7中安裝LAMP架構》:http://www.tecmint.com/install-lamp-in-centos-7/。

如果你在運行RHEL/CentOS 7或Fedora 21,還需要將iptables設置為默認防火墻前端,而不是將firewalld設置為默認防火墻前端。我們這么做是為了在RHEL/CentOS 7/6和dora 21中都使用同一個工具。

第一步:將Iptables防火墻安裝到RHEL/CentOS 7和Fedora 21上

想開始入手,先停止并禁用firewalld:

# systemctl stop firewalld

# systemctl disable firewalld

Iptables防火墻

禁用Firewalld服務

然后,在啟用iptables之前,安裝iptables-services程序包:

# yum update && yum install iptables-services

# systemctl enable iptables

# systemctl start iptables

# systemctl status iptables

使用Mod_Security和Mod_evasive模塊保護Apache

安裝Iptables防火墻#p#

第二步:安裝Mod_Security和Mod_evasive

除了已經部署到位的LAMP架構外,你還要啟用RHEL/CentOS 7/6中的EPEL軟件庫,那樣才能安裝這兩個程序包。Fedora用戶不需要啟用任何軟件庫,因為epel早已是Fedora項目的一部分。

# yum update && yum install mod_security mod_evasive

安裝完畢后,你可以在/etc/httpd/conf.d中找到這兩個工具的配置文件。

# ls -l /etc/httpd/conf.d

mod_security和mod_evasive的配置

mod_security和mod_evasive的配置

現在,為了將這兩個模塊與Apache整合起來,并且在Apache啟動時讓它裝入這兩個模塊,就要確保下面幾行分別出現在mod_evasive.conf和mod_security.conf的頂層部分:

LoadModule evasive20_module modules/mod_evasive24.so

LoadModule security2_module modules/mod_security2.so

請注意:modules/mod_security2.so和modules/mod_evasive24.so是相對路徑,從/etc/httpd目錄到模塊的源文件。你可以列出/etc/httpd/modules目錄的內容對此加以證實(需要的話,還可以更改):

# cd /etc/httpd/modules

# pwd

# ls -l | grep -Ei '(evasive|security)'

證實mod_security和mod_evasive模塊

證實mod_security和mod_evasive模塊

然后重啟Apache,證實它裝入了mod_evasive和mod_security:

# service httpd restart   [On RHEL/CentOS 6 and Fedora 20-18]

# systemctl restart httpd [On RHEL/CentOS 7 and Fedora 21]

[Dump a list of loaded Static and Shared Modules]

# httpd -M | grep -Ei '(evasive|security)'

檢查已裝入的mod_security和mod_evasive模塊

檢查已裝入的mod_security和mod_evasive模塊#p#

第三步:安裝核心規則集和配置Mod_Security

簡單地說,核心規則集(又叫CRS)為Web服務器提供了在某些情況下如何運行的指令。開發mod_security的公司提供了一套免費的CRS,名為OWASP(開放式Web應用安全項目)ModSecurity CRS,可以下載并安裝,具體如下所示。

1. 將OWASP CRS下載到一個專門為此而建立的目錄。

# mkdir /etc/httpd/crs-tecmint

# cd /etc/httpd/crs-tecmint

# wget https://github.com/SpiderLabs/owasp-modsecurity-crs/tarball/master

下載mod_security核心規則

下載mod_security核心規則

2. 解壓CRS文件,將目錄名稱改成便于我們使用的一個名稱。

# tar xzf master

# mv SpiderLabs-owasp-modsecurity-crs-ebe8790 owasp-modsecurity-crs

抽取mod_security核心規則

抽取mod_security核心規則

3. 現在可以配置mod_security了。將擁有規則的樣本文件(owasp-modsecurity-crs/modsecurity_crs_10_setup.conf.example)拷貝到沒有.example擴展名的另一個文件中。

# cp modsecurity_crs_10_setup.conf.example modsecurity_crs_10_setup.conf

并告訴Apache使用這個文件以及模塊,為此只要在Web服務器的主配置文件/etc/httpd/conf/httpd.conf文件中插入下面幾行。如果你選擇在另一個目錄中解壓tarball,就需要編輯Include指令后面的路徑:

Include crs-tecmint/owasp-modsecurity-crs/modsecurity_crs_10_setup.conf

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

 

最后,我們建議:應該在/etc/httpd/modsecurity.d目錄里面創建自己的配置文件,我們將把定制的指令放在該文件(我們在下面的例子將文件命名為tecmint.conf)里面,而不是直接改動CRS文件。這么一來,新版本發布后,更容易升級CRS。

SecRuleEngine On

SecRequestBodyAccess On

SecResponseBodyAccess On

SecResponseBodyMimeType text/plain text/html text/xml application/octet-stream

SecDataDir /tmp

 

你可以參閱SpiderLabs的ModSecurity GitHub軟件庫(https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#Configuration_Directives),了解mod_security配置指令的完整的解釋性指南。#p#

第四步:配置Mod_Evasive

mod_evasive使用/etc/httpd/conf.d/mod_evasive.conf中的指令來配置。與mod_security不同,由于在程序包升級期間沒有規則要更新,我們不需要單獨的文件來添加定制的指令。

默認的mod_evasive.conf文件啟用了下列指令(請注意該文件添加了大量注釋,于是我們去除了注釋,重點突出下列配置指令):

DOSHashTableSize 3097

DOSPageCount 2

DOSSiteCount 50

DOSPageInterval 1

DOSSiteInterval 1

DOSBlockingPeriod 10

 

指令解釋:

•DOSHashTableSize:該指令指定了用來根據每個IP地址跟蹤活動的哈希表的大小。增加這個值可以更快速地查詢客戶機在過去訪問過的網站,但要是該值設得過高,可能會影響總體性能。

•DOSPageCount:訪客在DOSPageInterval間隔期間內對某個特定URI(比如,Apache服務的任何文件)提出的合法的相同請求數量。

•DOSSiteCount:類似于DOSPageCount,不過是指在DOSSiteInterval間隔期間內對整個網站能提出多少整體請求。

•DOSBlockingPeriod:如果訪客超過了DOSSPageCount或DOSSiteCount設置的限值,其源IP地址在DOSBlockingPeriod時間段內將被列入黑名單。在DOSBlockingPeriod期間,來自該IP地址的任何請求將遇到403禁止錯誤。

可以隨意嘗試這些值,以便你的Web服務器能夠處理所需要的流量數量和類型。

只是有一個小地方需要注意:要是這些值沒有設置好,有可能最后阻攔合法訪客。

你可能還應該考慮其他有用的指令:

DOSEmailNotify

如果你已經在運行一臺郵件服務器,可以通過Apache發送警告信息。請注意:如果SELinux被設置成執行,你需要為apache用戶授予SELinux許可權限,以便發送電子郵件。為此,你可以運行下面這個命令:

# setsebool -P httpd_can_sendmail 1

下一步,將該指令連同其他指令一并添加到mod_evasive.conf文件中:

DOSEmailNotify you@yourdomain.com

如果該值已設置好,而且你的郵件服務器正常運行,一旦某個IP地址被列入黑名單,電子郵件就會被發送到指定的地址。

DOSSystemCommand

這需要有效的系統命令作為變量,

DOSSystemCommand

該指令指定了IP地址被列入黑名單后所執行的命令。它常常與添加防火墻規則以阻止今后從該IP地址來進行連接的外殼腳本結合使用。

編寫在防火墻層面處理IP黑名單機制的外殼腳本

某個IP地址被列入黑名單后,我們就要阻止今后來自它的連接。我們要使用執行這項任務的下列外殼腳本。在/usr/local/bin中創建一個名為scripts-tecmint的目錄(名稱可以隨意取),并在該目錄中創建一個名為ban_ip.sh的文件。

#!/bin/sh

# IP that will be blocked, as detected by mod_evasive

IP=$1

# Full path to iptables

IPTABLES="/sbin/iptables"

# mod_evasive lock directory

MOD_EVASIVE_LOGDIR=/var/log/mod_evasive

# Add the following firewall rule (block all traffic coming from $IP)

$IPTABLES -I INPUT -s $IP -j DROP

# Remove lock file for future checks

rm -f "$MOD_EVASIVE_LOGDIR"/dos-"$IP"

我們的DOSSystemCommand指令應該如下所示:

DOSSystemCommand "sudo /usr/local/bin/scripts-tecmint/ban_ip.sh %s"

在上面這行中,%s代表被mod_evasive檢測出來的冒犯性的IP。

將apache用戶添加到sudoers文件

請注意:除非你為用戶apache授予無需終端和密碼即可運行腳本(只有這個腳本!)的權限,否則這一切根本不管用。如往常一樣,你只要鍵入visudo作為根用戶,即可訪問/etc/sudoers文件,然后添加下面兩行,如下圖所示:

apache ALL=NOPASSWD: /usr/local/bin/scripts-tecmint/ban_ip.sh

Defaults:apache !requiretty

添加Apache用戶到Sudoers

添加Apache用戶到Sudoers

重要提示:作為一項默認的安全策略,你只能在終端中運行sudo。由于在這里我們需要使用不帶tty的sudo,我們只好注釋掉下圖中高亮顯示的那一行:

#Defaults requiretty

為Sudo禁用tty

為Sudo禁用tty

最后,重啟Web服務器:

# service httpd restart   [On RHEL/CentOS 6 and Fedora 20-18]

# systemctl restart httpd [On RHEL/CentOS 7 and Fedora 21]

#p#

第五步:在Apache上模擬DDoS攻擊

你可以使用幾個工具在自己的服務器上模擬外部攻擊。只要在谷歌搜索引擎上輸入“tools for simulating ddos attacks”,即可找到其中的幾個工具。

請注意:你要對模擬的結果完全負責。想對不在自己的網絡上托管運行的服務器發動模擬攻擊,勸你莫動這個念頭。

如果你想對別人托管的虛擬專用服務器(VPS)進行同樣的模擬攻擊,就需要以適當的方式提醒主機托管提供商,或者獲得許可,以便這種洪水流量可以通過其網絡來傳輸。我們Tecmint.com絕對不對你的行為負責!

此外,只從一個主機發動模擬的拒絕服務攻擊并不代表是現實的攻擊。想模擬這種攻擊,你就需要同時從幾個客戶機向你的服務器發動攻擊。

我們的測試環境包括一臺CentOS 7服務器 [IP 192.168.0.17]和一個Windows主機[IP 192.168.0.103],我們將從該主機發動攻擊:

證實主機的IP地址

證實主機的IP地址

請播放下列視頻,按照概述的步驟來操作,以模擬簡單的拒絕服務攻擊:

然后,冒犯性的IP地址被iptables阻攔:

被阻攔的攻擊IP地址

被阻攔的攻擊IP地址

結束語

mod_security和mod_evasive被啟用后,模擬的攻擊導致處理器和內存暫時出現使用高峰,不過只持續了幾秒,隨后源IP地址被列入黑名單,并被防火墻阻攔。要是沒有這些工具,模擬攻擊勢必會很快擊 垮服務器,導致服務器在攻擊持續時段內無法使用。

要是你打算使用(或者過去用過)這些工具,我們很高興。我們總是期盼你也使用這些工具,歡迎留言交流。

原文地址:http://www.tecmint.com/protect-apache-using-mod_security-and-mod_evasive-on-rhel-centos-fedora/

責任編輯:藍雨淚 來源: 51CTO.com
相關推薦

2014-09-29 09:01:33

2021-02-04 12:06:03

HTTPDRust服務器

2009-06-10 13:43:05

mod_jk整合Apa

2010-05-31 18:35:22

訪問SVN

2021-08-30 15:23:03

prometheus局限性cortex

2023-11-22 08:41:49

CSS前端

2009-07-23 15:49:21

mod_aspdotnApache支持ASP

2009-10-28 10:24:26

2009-07-23 15:23:53

Apache支持ASPmod_aspdotn

2012-03-14 11:30:45

ibmdw

2010-02-01 11:12:27

mod_python模

2023-12-27 19:52:08

Go模塊命令

2015-10-12 09:13:02

PHPFastCGI mod_php

2010-02-26 09:03:10

mod_python模

2025-04-29 08:59:37

2022-08-08 08:48:15

Go版本偽版本

2021-03-01 18:48:21

Go管理工具

2010-05-31 19:02:17

訪問SVN

2010-03-24 18:22:21

mod_python

2013-10-14 15:35:46

CentOSLNMPCentmin Mod
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久99这里只有精品 | 99精品视频免费观看 | 毛片一区二区三区 | 97超碰人人 | 精品在线 | 自拍偷拍av | 国内精品久久久久久久影视简单 | 欧美亚洲一区二区三区 | 亚洲成人播放器 | 色视频在线观看 | 一区二区不卡视频 | 日韩精品一区二区三区 | 国外成人在线视频网站 | 精品免费av | 午夜久久久久久久久久一区二区 | 精品久久久久久亚洲精品 | 欧美乱大交xxxxx另类电影 | 成人在线视频免费观看 | 免费成人高清在线视频 | 国产高清在线精品一区二区三区 | 国产一区免费视频 | 羞羞视频免费观 | 国产精品久久av | 日韩久久久久 | 高清欧美性猛交xxxx黑人猛交 | 国产日韩久久久久69影院 | 亚洲福利网 | 国产精品成人一区 | 综合一区二区三区 | 欧美一级欧美一级在线播放 | 一区二区三区视频在线观看 | 精品亚洲一区二区三区 | 黄在线免费观看 | 成人免费小视频 | 日韩成人精品 | 午夜免费看视频 | 91视频网| 精品久久久久久亚洲精品 | 欧美一区二区三区 | av大片 | 久久www免费视频 |