= 2010-02-26 = * 遇到沒品的 426 .... 沒事同時發起個 176 個 web 連線到 trac .... {{{ jazz@drbl:~$ cat 10-02-26_trac_down_reason.log | grep ":" | awk '{ print $5 }' | sed 's#\:.*##' | sort -n | uniq -c | sort -n ... 略 .... 3 114.25.224.118 176 124.254.15.50 }}} * 設了好幾個做法都很難阻擋,包括 /etc/hosts.deny ... 乾脆來一招狠的: 所有來自這個 IP 的封包全部 DROP 掉,北京使用這個 IP 的朋友....我也沒辦法了....你們有害群之馬 {{{ iptables -A INPUT -s 124.254.15.50 -j DROP }}} * [[Image(10-02-26-apache_processes-day.png)]] * [[Image(10-02-26-apache_processes-week.png)]] == System Security == * [http://www.la-samhna.de/library/brutessh.html Defending against brute force ssh attacks] - 介紹了五種保護 SSH 的方法 * 用 [http://www.answers.com/topic/port-knocking port-knocking] - 平常 port 22 是關著的, 只有當另外的某個 port 被 request 時, 再打開 port 22 接受連線 * 用 iptables 防禦 - [http://www.debian-administration.org/articles/187 Using iptables to rate-limit incoming connections] * portsentry - [http://cha.homeip.net/blog/archives/2006/03/portsentry_logc.html Portsentry & Logcheck] * shorewall - [http://blog.littleb.tc/2009/04/shorewalldnsmasqubuntunat.html 筆記:使用shorewall和dnsmasq在Ubuntu架設簡單的NAT] * fail2ban -[http://cha.homeip.net/blog/archives/2007/06/_fail2ban_ip.html 以 Fail2ban 封鎖嘗試侵入的 IP] == Apache / Lighttp Security == * 為了預防同一個 IP 同時間佔據太多連線,過去大家好像都用 !LimitIPConn 這個模組,不過 Apache 2.1 * 官方網站: http://dominia.org/djao/limitipconn.html - Apache 1.3 版本 - 有 [http://packages.debian.org/libapache-mod-limitipconn debian etch 套件], 不過到了 lenny 就沒了(因為是 Apache 1.3) * 官方網站: http://dominia.org/djao/limitipconn2.html - Apache 2.x 版本 - [http://elonen.iki.fi/code/unofficial-debs/mod-limitipconn/ 非官方 Debian 套件] * [http://disp.twbbs.org/board/11-707 Apache 2.x 安裝 limitipconn 模組防多線下載] * 另一個 Apache 模組 - [http://packages.debian.org/libapache2-mod-bw libapache2-mod-bw] 套件 - 官網 http://apache.ivn.cl/#bandwidth * [參考] 那如果用 Lighttpd 呢?? 從 "[http://forum.lighttpd.net/topic/57 lighty > limit amount of concurrent connections by client?]", 寫到: * 修改 server.modules 設定檔 {{{ server.modules = ( "mod_rewrite", "mod_access", "mod_auth", "mod_status", "mod_fastcgi", "mod_compress", "mod_rrdtool", "mod_accesslog", "mod_evasive" ); }}} * 指定每個 IP 最多可連線個數: {{{ evasive.max-conns-per-ip = 10 }}}