[ firewall / httpd 問題] 請教有效監察,管理和阻止 port 80 HTTP DoS 入侵

自建立 httpd Port 80 後,在網站的 access log 不難發現 D 惡意行為,

如想間接經我的 server 去 connect 第二度
117.24.175.240 - - [17/Aug/2009:19:57:09 +0800] "GET http://www.sina.com.cn/ HTTP/1.1" 400 226

121.236.53.101 - - [19/Aug/2009:01:46:00 +0800] "GET http://wap.3g.qq.com/ HTTP/1.1" 400 226

125.224.204.168 - - [20/Aug/2009:09:57:17 +0800] "CONNECT 203.188.201.253:25 HTTP/1.1" 404 620

以下是否想經我的 server 去執行一個 js 執行檔?
41.203.0.92 - - [24/Aug/2009:06:15:23 +0800] "GET //cart/includes/general.js HTTP/1.1" 400 226

以下想入侵 phpMyAdmin,不過我冇用 phpMyAdmin
86.121.126.226 - - [04/Sep/2009:09:26:59 +0800] "GET //phpmyadmin//scripts/setup.php HTTP/1.1" 404 648

一段連續入侵?
174.129.154.81 - - [04/Sep/2009:21:19:08 +0800] "GET / HTTP/1.0" 404 621
174.129.154.81 - - [04/Sep/2009:21:19:15 +0800] "GET / HTTP/1.0" 404 617
174.129.154.81 - - [04/Sep/2009:21:19:33 +0800] "GET /m/ HTTP/1.0" 404 619
174.129.154.81 - - [04/Sep/2009:21:19:47 +0800] "GET /mobile/ HTTP/1.0" 404 624
174.129.154.81 - - [04/Sep/2009:21:19:55 +0800] "GET /mobi/ HTTP/1.0" 404 622
174.129.154.81 - - [04/Sep/2009:21:19:58 +0800] "GET /iphone/ HTTP/1.0" 404 624
174.129.154.81 - - [04/Sep/2009:21:20:01 +0800] "GET /pda/ HTTP/1.0" 404 621
174.129.154.81 - - [04/Sep/2009:21:20:05 +0800] "GET /m/ HTTP/1.0" 404 623
174.129.154.81 - - [04/Sep/2009:21:20:13 +0800] "GET /mobile/ HTTP/1.0" 404 628
174.129.154.81 - - [04/Sep/2009:21:20:14 +0800] "GET /mobi/ HTTP/1.0" 404 626
174.129.154.81 - - [04/Sep/2009:21:20:15 +0800] "GET /iphone/ HTTP/1.0" 404 628
174.129.154.81 - - [04/Sep/2009:21:20:20 +0800] "GET /pda/ HTTP/1.0" 404 625
75.101.181.192 - - [05/Sep/2009:10:11:49 +0800] "CONNECT www.google.com:443 HTTP/1.0" 400 226

想請教各大大,你們點監察和管理 port 80 ? 我該從那個方向學習?
目前我的情況是
基本的 PF firewall
apache 建立在 FreeBSD jail 裡
基本的 mod_security2 建在 apache 上

[ 本帖最後由 zeissoctopus 於 2009-9-10 23:21 編輯 ]

回覆 1# 的帖子

It seems someone is scanning your web server, you may block this IP with a script running behind, using tools like iptable.

The idea is to check number of failure access (e.g. 404)....

# 400 Bad Request  
# 401 Unauthorized
# 402 Payment Required
# 403 Forbidden
# 404 Not Found

[ 本帖最後由 travel 於 2009-9-12 00:18 編輯 ]

TOP

暫時知識水平有限,都是被動式咁 check access.log / error.log,然後 update 個 PF firewall 的 spam table list 。終歸簡單的 layer 3 / layer 4 的 firewall 不能主動自動監察所有 layer 7 的惡意行為。

依半個月的記錄來看,雖然入侵數量不大,但每天都有,多數是大陸 ip。那些買個 NAS click 幾個制,就用 default setting 架站的網友小心 D。一切有關 php 架站軟體都唔好用 default setting / default location 架站。d 惡意 robot program 日日都尋找目標做僵屍

P.S. 多謝某網友 PM 提供資料等我有個方向學

[ 本帖最後由 zeissoctopus 於 2009-9-12 12:25 編輯 ]

TOP

你睇下 fail2ban 幫唔幫到你

TOP

回覆 3# 的帖子

may be "snort" is a better idea, it can identify scans from tools like Nikto or Nessus, and you may customize the rules,  see if it helps.

TOP

Regarding port scanning, I tried Portsentry, which is smaller (35KiB), between my 2 machines, upon proper configuration, the host insta killed the other one running nmap on him.

Portsentry has pros and cons.

Just my 2 cents

[ 本帖最後由 killerpub 於 2009-9-12 22:25 編輯 ]

TOP

會唔會係google等入門網站做緊web cache呀
例如174.129.154.81就已經係Amazon.com啦。
如果唔係多過每秒一次我通常會由得佢。

其他白撞如果make sure你個apache係最新版同埋有proper config都唔多駛擔心丫。

[ 本帖最後由 天宮葉月 於 2009-9-13 12:12 編輯 ]

TOP

原帖由 天宮葉月 於 2009-9-13 12:08 發表
會唔會係google等入門網站做緊web cache呀
例如174.129.154.81就已經係Amazon.com啦。
如果唔係多過每秒一次我通常會由得佢。

其他白撞如果make sure你個apache係最新版同埋有proper config都唔多駛擔心丫。

只係用amazon 的hosting 姐 http://aws.amazon.com/
如果係amazon ,佢request 個header 應該有amazon 字樣,但現在係無...Google 的webot 都會有字樣

TOP

多謝資料。慢慢看各位提供資料
看完一次 PF man page,暫時修改 filter rule 加少少野

#create table to hold spam ip
<httpd_spam_ip> persist

# block all ips in this table
block quick from <httpd_spam_ip>

# dynamic add ip into table httpd_spam_ip
# if attempting connect times excess limits
pass in  log quick on $my_nis inet proto tcp \
from any to $httpd port \
$httpd_ser_ports keep state \
(max-src-conn-rate 100/10, overload <httpd_spam_ip>  \
flush global)

[ 本帖最後由 zeissoctopus 於 2009-9-13 13:31 編輯 ]

TOP