本教程假定你已有一臺在運(yùn)行的Ubuntu辦事器,收集方面已設(shè)置好,并且可以經(jīng)由過程SSH進(jìn)行拜候。
Apache2是良多安裝的Linux發(fā)行版利用的默許Web辦事器。它不是對所有環(huán)境來講獨一可用的Web辦事器,也不是最好的Web辦事器,可是它合適良多利用處景。在安裝過程中,系統(tǒng)可能會扣問你哪個Web辦事器要主動從頭建設(shè)。選擇“apache2”便可。
安裝Apache2
利用下面這個號令,安裝Apache2及其他庫。
$ sudo apt-get -y install apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt libapache2-mod-suphp libopenssl-ruby libapache2-mod-ruby
更新時區(qū)(TimeZone)和查抄準(zhǔn)確時候
為了減小共享數(shù)據(jù)或鏡像數(shù)據(jù)方面的混合,所有辦事器在運(yùn)行時都應(yīng)當(dāng)盡可能接近同步狀況。一些加密密鑰治理系統(tǒng)需要準(zhǔn)確的時候。最后,就企業(yè)辦事器而言,《薩班斯-奧克斯利法案》(Sarbanes-Oxley)和《健康保險可攜性及責(zé)率性法案》(HIPAA)的安然法則要求準(zhǔn)確的時候戳機(jī)制。
$ sudo apt-get -y install openntpd tzdata
$ sudo dpkg-reconfigure tzdata
$ sudo service openntpd restart

避免AppArmor沖突
當(dāng)然AppArmor這個套件的確供給了一層額外的安然,但在我看來,需要為每個系統(tǒng)成立自定義建設(shè)文件。這不是本教程所切磋的內(nèi)容。所以眼下,我們會禁用AppArmor,避免與任何默許的建設(shè)產(chǎn)生沖突。
$ sudo /etc/init.d/apparmor stop
$ sudo update-rc.d -f apparmor remove
$ sudo apt-get remove apparmor apparmor-utils
寄望:假定是出產(chǎn)環(huán)境下的Web辦事器,不建議禁用AppArmor。假定有些人想成立自定義的AppArmor建設(shè)文件,請參閱官方申明文檔(http://wiki.apparmor.net/index.php/Documentation)。
禁止漫衍式拒盡辦事(DDoS)報復(fù)打擊
DDoS報復(fù)打擊是一種漫衍式拒盡辦事報復(fù)打擊。有一個Apache模塊可以禁止這類報復(fù)打擊。
$ sudo apt-get -y install libapache2-mod-evasive
$ sudo mkdir -p /var/log/apache2/evasive
$ sudo chown -R www-data:root /var/log/apache2/evasive
把下面這個號令添加到mod-evasive.load的末尾處。
$ sudo nano /etc/apache2/mods-available/mod-evasive.load DOSHashTableSize 2048
DOSPageCount 20 # 要求統(tǒng)一頁面的最大年夜數(shù)量
DOSSiteCount 300 # 統(tǒng)一偵聽器上統(tǒng)一客戶端IP要求任何對象的總數(shù)量
DOSPageInterval 1.0 # 頁面數(shù)量閾值的距離
DOSSiteInterval 1.0 # 站點數(shù)量閾值的距離
DOSBlockingPeriod 10.0 # 客戶機(jī)IP被禁止的時候段
DOSLogDir “/var/log/apache2/evasive”
DOSEmailNotify [email protected]
禁止Slowloris報復(fù)打擊
還有一個Apache模塊可以禁止Slowloris報復(fù)打擊,不外模塊名稱取決于你利用的Ubuntu的具體版本。假定是Ubuntu 12.10或今后版本:
$ sudo apt-get -y install libapache2-mod-qos
然后,查抄qos.conf中的建設(shè):
$ sudo nano /etc/apache2/mods-available/qos.conf
## 辦事質(zhì)量方面的設(shè)置
# 措置來自多達(dá)100000個不合IP的連接
QS_ClientEntries 100000
# 只承諾每個IP僅50條連接
QS_SrvMaxConnPerIP 50
# 勾當(dāng)TCP連接的最大年夜數(shù)量限制在256條
MaxClients 256
# 當(dāng)70%的TCP連接被占用時,禁用保持勾當(dāng)連接狀況
QS_SrvMaxConnClose 180
# 最小要求/響應(yīng)速度(拒盡梗阻辦事器的慢速客戶端,即slowloris保持連接開啟,不提出任何要求):
QS_SrvMinDataRate 150 1200
# 并限制要求標(biāo)題問題和主體(寄望,這還限制了上傳和發(fā)帖要求):
# LimitRequestFields 30
# QS_LimitRequestBody 102400
寄望:假定你運(yùn)行12.04之前的Ubuntu版本,改而利用下面這個號令:
$ sudo apt-get -y install libapache2-mod-antiloris
查抄antiloris.conf中的建設(shè)
$ sudo nano /etc/apache2/mods-available/antiloris.conf
# 每個IP地址處于READ狀況的最大年夜并行連接數(shù)量
IPReadLimit 5
禁止DNS注進(jìn)報復(fù)打擊
Spamhaus這個模塊利用域名系統(tǒng)黑名單(DNSBL),目標(biāo)是為了禁止經(jīng)由過程Web表單實現(xiàn)的垃圾郵件轉(zhuǎn)發(fā),避免URL注進(jìn)報復(fù)打擊,禁止來自機(jī)械人法度的http DDoS報復(fù)打擊,凡是呵護(hù)辦事器,遠(yuǎn)離已知的歹意IP地址。
$ sudo apt-get -y install libapache2-mod-spamhaus
$ sudo touch /etc/spamhaus.wl Append the config to apache2.conf
$ sudo nano /etc/apache2/apache2.conf
MS_METHODS POST,PUT,OPTIONS,CONNECT
MS_WhiteList /etc/spamhaus.wl
MS_CacheSize 256
重啟Apache裝進(jìn)新模塊
$ sudo service apache2 restart
此刻Web辦事器已安裝終了,并在正常運(yùn)行。將Web瀏覽器指向你的域,便可看到證實你一切正常的默許動靜。作為最后的查抄機(jī)制,運(yùn)行下面這個號令,看看你的辦事器有沒有任何弊端信息。如果有弊端信息,你需要上谷歌搜刮一下,立馬解決這些弊端。