Apache 預防 Denial of Service module
Posted On 2007年5月31日 星期四 at 於 下午4:57 by LaniDenial of Service
Filed under: 電腦 — Chris at 7:56 pm on Sunday, February 27, 2005
Denial of Service 或者可以稱為 “阻絕服務攻擊”。
這個名稱您也經常聽見,在很多地方都發生。
其實 Denial of Service 所傳送的請求和正常的是一樣,只是每分鐘傳送數以十計以上請求傳送至伺服器中。
令伺服器每秒處理十分大量的工作。
受到這一種攻擊,輕則只有伺服器暫時停止服務。重則張會把伺服器中的硬件破壞。
有不少例子都是由於伺服器在同一時間處理十分大量的工作後,CPU 最後壞了。
最近我的其中一個網站受到這些不明來歷的 Denial of Service 攻擊,令伺服器停了。
不過搜尋了不少網站,終於找到了一個方法。不過不知道是否可行的。
我所使用的是 mod_dosevasive。雖然是第一次用,不過是否真的能夠防止就必須等到下一次受到攻擊使知道。
mod_dosevasive 的使用方法:
   1. 首次下載 mod_dosevasive 1.1 版本。
   2. 然後解壓 mod_dosevasive_1.10.tar.gz
      tar zxvf mod_dosevasive_1.10.tar.gz
   3. 把您的 httpd.conf 備份
   4. 開始安裝 mod_dosevasive
      Apache 1.3.x:
      cd mod_dosevasive
      apxs -cia mod_dosevasive.c
      Apache 2.0.x:
      cd mod_dosevasive
      apxs -cia mod_dosevasive20.c
   5. 修改您的 httpd.conf 加入
      Apache 1.3.x:
      
      DOSHashTableSize 3097
      DOSPageCount 5
      DOSSiteCount 100
      DOSPageInterval 2
      DOSSiteInterval 2
      DOSBlockingPeriod 600
      
      Apache 2.0.x:
      
      DOSHashTableSize 3097
      DOSPageCount 5
      DOSSiteCount 100
      DOSPageInterval 2
      DOSSiteInterval 2
      DOSBlockingPeriod 10
      DOSBlockingPeriod 600
      
這樣使完成。httpd.conf 當中的設定方面解釋:
    * DOSHashTableSize
      這是佔中您記憶體的大少。當數目越大處理越快,當您的伺服器是很多人流的,您必須加大這個數字。
    * DOSPageCount
      同一頁同一人時能夠在同一個時區中請求幾多次,多於會禁止。時區可以在 DOSPageInterval 中設定。
    * DOSSiteCount
      同一個網站同一人在伺服器中所佔有幾多個 Object,多於會禁止。時區可以在 DOSSiteInterval 中設定。
    * DOSPageInterval
      DOSPageCount 中所計算的每一個時區時間,以無秒計算。預設是 1 秒。
      >
    * DOSSiteInterval
      DOSSiteCount 中所計算的每一個時區時間,以無秒計算。預設是 1 秒。
    * DOSBlockingPeriod
      當發現後暫停多久?預設是 10 秒。當發現後,他會接收到 403 (Forbidden) 的。
    * DOSEmailNotify
      設定接收攻擊信息的電郵地址。
      DOSEmailNotify      you@yourdomain.com
    * DOSSystemCommand
      這是收到攻擊信息時所使用的指令。
      DOSSystemCommand    ”su - someuser -c \’/sbin/… %s …\’”
    * DOSLogDir
      記錄檔案設定。
      DOSLogDir           ”/var/lock/mod_dosevasive”
希望這文件能夠幫助到受到 Denial of Service 的人仕。
Exim 設置 SmartHost Config
Posted On 2007年5月30日 星期三 at 於 晚上11:20 by LaniExim 設置smart host
透過exim configure router sector 設置smarthost 
於configure 內 begin router 區段加入
smart_msa:
condition = {${lookup{$domain} lsearch{/usr/exim/smarthost_multiple} {$value} fail}}
driver = manualroute
domains = !+local_domains
transport = remote_smtp
route_list = "* ms25.hinet.net" #hinet提供的mx
no_more
設置/usr/exim/configure 加入符合條件就使用上層isp 提供的smtp server 幫忙寄送
smart_sonet:
condition = ${if match {${lc:$domain}} {yahoo.com.tw} {true} fail}
by 寄出的目的地
#condition = {${lookup{$domain} lsearch{/usr/exim/smarthost_multiple} {$value} fail}}
by 檔案
# condition = ${if match {${lc:$sender_address}} {usnei@oio.idv.tw} {true} fail}
by 寄信的本機使用者
driver = manualroute
domains = !+local_domains
transport = remote_smtp
route_list = * so-net.net.tw #sonet 提供的mx 
smart_directly:
condition = ${if match {${lc:$domain}} {yahoo.com.tw} {true} fail}
driver = manualroute
domains = !+local_domains
transport = remote_smtp
route_list = * seed.net.tw #seednet 提供的mx
引用:funnyd.idv.tw
Evotalk
Posted On at 於 晚上10:32 by Lani好站~
grep的用法
Posted On at 於 晚上10:31 by Lani語法 : grep [options] pattern 檔案
[options] 說明 
-n 附帶列號 
-i 不區分大小寫 
-v 和pattern相反 
-l 印出含有pattern之檔名 
-c 只印出列號 
-w 符合整個word,非部分符合 
-r 遞迴遍歷目錄 
-2 找到pattern那一列,並印出前後兩列,包含自已 
-A 2 找到pattern那一列,並印出後兩列,包含自已 
-B 2 找到pattern那一列,並印出前兩列,包含自已 
-e 視pattern裡的所有character為一般的character 
-x 除非pattern 符合 entire line , 否則不列印出來 
-f 把patten放到檔案中
