天天看點

(工作中)Apache常見配置# Apache配置Apache項目配置Apache伺服器方法DoS利用LDAP對Apache進行認證

# Apache配置

1、設定靜态檔案過期時間為1天

<ifmodule mod_expires.c>
    ExpiresActive on
    ExpiresBytype text/css                  "access plus 1 days"
    ExpiresByType text/javascript           "access plus 1 days"
    ExpiresByType application/x-javascript  "access plus 1 days"
    ExpiresByType image/*                   "access plus 1 days"
</ifmodule>

           

2、開啟gzip壓縮

<ifmodule mod_deflate.c>
    DeflateCompressionLevel 6
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE text/javascript
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/x-javascript
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
    #SetEnvIfNoCase Request_URI .(?:html|htm)$ no-gzip dont-varySetEnvIfNoCase
    #SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI .(?:pdf|doc)$ no-gzip dont-vary
</ifmodule>
           

3、配置/upload附件目錄

#不代理upload路徑
ProxyPass /upload !
           

4、通路附件目錄/upload,不要提示403禁止,提示404不存在,防止洩露站點結構。

#通路/upload路徑不提示403禁止錯誤,提示404不存在。
RedirectMatch 404 ^/upload/$
           

5、禁用TRACE方法

修改httpd.conf檔案,添加如下代碼,重新開機。

TraceEnable off
           

6、設定首頁重定向

RewriteEngine on
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^/$ /sso/ [R=permanent,L]
           

7、設定proxy逾時時間

Timeout 600
ProxyTimeout 600
           

Apache項目配置

程式目錄:/usr/local/apache2

配置

主配置檔案:/usr/local/apache2/conf/httpd.conf

虛拟主機配置:/usr/local/apache2/conf/vhost

一個項目一個域名一個配置。

增加域名

腳本:/root/vhost.sh

[email protected]:~# /root/vhost.sh
Please input domain:
(Default domain: www.qq.com):
           

運作腳本,輸入需要添加的域名例如www.qq.com,結束後會在/usr/local/apache2/conf/vhost生成www.qq.com.conf配置檔案。配合tomcat修改以下兩段的IP和端口。

ProxyPass / ajp://192.167.162.100:8009/
ProxyPassReverse / ajp://l92.167.162.100:8009/
           

新增域名添加解析後網址類似如http://www.qq.com:120/。網站目錄是/home/wwwroot/www.qq.com,日志是/var/log/apache2/www.qq.com-access_log。

重新開機apache2

/etc/init.d/apache2 restart
           

Apache伺服器方法DoS

Apache伺服器對拒絕服務攻擊的防範主要通過軟體Apache DoS Evasive Maneuvers Module來實作。

使用Linux指令防範Dos攻擊

netstat -na |grep - "伺服器IP位址:80" |awk '{print $6}' | sort | uniq -c | sort -n 
           

這個指令會自動統計TCP連接配接的各個狀态的數量,如果syn_recv很高的話,就不能排除有基于TCP協定的拒絕服務攻擊的可能。于是需要打開tcp_syncookies.

echo 1 > /proc/sys/net/ipv4/tcp_syncookies
           

如果沒有/proc/sys/net/ipv4/tcp_syncookies,說明核心不支援syncookies,需要重新編譯核心,同時降低SYN重試次數

echo "1" > /proc/sys/net/ipv4/tcp_syn_syncookies
echo  "1" > /proc/sys/net/ipv4/tcp_synack_syncookies
           

同時加大syn_backlog,以保證使用者的通路:

echo "2048" > /proc/sys/net/ipv4/tcp_max_syn_syncookies
           

利用LDAP對Apache進行認證

建立測試網頁

#mkdir /var/www/html/ldap
#echo "LDAP Auth Test Page" > /var/www/html/ldap.html
           

安裝mod_authz_ldap子產品

要讓Apache伺服器可以存取LDAP伺服器上的資料,必須利用mod_authz_ldap子產品作為Apache和LDAP伺服器之間認證的接口,是以必須mod_authz_ldap子產品。

#rpm -ivh mod_authz_ldap*.rpm
           

修改/etc/httpd/conf.d/auth_mysql.conf

若之前曾安裝mod_auth_mysql認證子產品,則必須将mod_auth_mysql子產品功能關閉

#LoadModule mysql_auth_module modules/mod_auth_mysql.so
           

修改/etc/httpd/conf.d/authz_ldap.conf

(工作中)Apache常見配置# Apache配置Apache項目配置Apache伺服器方法DoS利用LDAP對Apache進行認證

繼續閱讀