作者 主題: 阻擋 ftp 被暴力式的攻擊  (閱讀 3937 次)

0 會員 與 1 訪客 正在閱讀本文。

sclin2k

  • 懷疑的國中生
  • **
  • 文章數: 73
    • 檢視個人資料
阻擋 ftp 被暴力式的攻擊
« 於: 2007-07-05 16:10 »
下面這個 shell 是我從 netman 大大在 http://phorum.study-area.org/viewtopic.php?t=33194 (sshd 安全設定 ( 設定"禁止使用ssh名單" )) 這篇分享拿來套用在我的 ftp server 上。但我發現它跑了一陣子(上班時間2,3個小時)之後伺服器就無法回應 USER 連線的要求。原因是每個 USER 連線後都會執行三個下面 shell 的 process, USER 多的話就造成伺服器無法回應。我是一個 shell 的菜鳥,看不出問題,只好來請各位幫忙。

我的機器是 CPU : PII 266MHz, RAM 512M

#!/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

LOG_FILE=/var/log/secure
KEY_WORD="Maximum login"
PERM_LIST=/etc/firewall/bad.list.perm
LIMIT=5
MAIL_TO=root
IPT_SAV="$(iptables-save)"
bad_list=$(egrep "$KEY_WORD" $LOG_FILE | awk -F \( '{print $2}' | cut -d [ -f 1 | xargs)

for i in $(echo -e "${bad_list// /\n}" | sort -u)
do
        hit=$(echo $bad_list | egrep -o "$i" | wc -l)
        [ "$hit" -ge "$LIMIT" ] && {
                echo "$IPT_SAV" | grep -q "$i .*-j DROP" || {
                        echo -e "\n$i was dropped on $(date)\n" | mail -s "DROP by ${0##*/}: $i" $MAIL_TO
                        iptables -D INPUT -s $i -j DROP &> /dev/null
                        iptables -I INPUT -s $i -j DROP
                }
                egrep -q "^$i$" $PERM_LIST || echo $i >> $PERM_LIST
        }
done

基本上我只改了 search 的關鍵字和加了一行 iptables -D , 會加這一行是因為上面的 shell 每隔一段時間就會把之前阻擋的 ip 再寫一次到 iptables 的 INPUT,一直重覆寫,所以我先讓它刪除己經存在的 rule。

sclin2k

  • 懷疑的國中生
  • **
  • 文章數: 73
    • 檢視個人資料
阻擋 ftp 被暴力式的攻擊
« 回覆 #1 於: 2007-07-06 14:39 »
目前又找到了一份 在 Vixual 網路視野 網站所分享出的文件(http://www.vixual.net/wikka/wikka.php?wakka=Archive2005030201)。

測試結果良好。

感謝前輩分享造福人群!!!