Tsukiji Systems
RSS1.0


googleで
サイト内検索
このブログ
を検索!
  help

巻き戻し中。

2012年
9月
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30


2012-09-12(水) 効果 [長年日記]

_ PC 中韓

ipfwのカウント見てると、結構な数をdropしてる。

アドレス帯域で見ると、中国は薄く広く。

韓国は特定のレンジからしつこく来てる。

一方、遮断はポートじゃなくてIP丸ごとなので、sshのブルートフォースを監視してるツールは日に1件以下しか検知しなくなった。

そりゃそうだ、大半の攻撃元はこの2国なんだし。

うざい百度のクローラーも当然バッサリw

_ PC 改良

先日のツール、exitの戻り値はAPNICの更新無しか、指定国の差分無しかが分かるのだけど、

cronのメールはもう少しメッセージがないと状況が分かりにくいので、標準出力にもうちょっと情報出すように改良。

【IP-country-BL.sh】

#!/bin/sh
WGET_CMD="/usr/local/bin/wget"
WGET_URL="http://ftp.apnic.net/pub/stats/apnic/delegated-apnic-latest"
TIME=`date +%Y%m%d%H%M%S`
LOG_DIR="/var/log/ipfwcount"
IFNAME="msk0"
IPFW_CMD="/sbin/ipfw"
C_DIR="/usr/local/etc/IP-country-list"
PERL_CMD="/usr/bin/perl"
# Parameter check
if [ "$1" = "" ];then
        echo 'Usage: IP-country-BL.sh [IPFW-number] [Country code(2byte)]'
        exit 1
fi
if [ "$2" = "" ];then
        echo 'Usage: IP-country-BL.sh [IPFW-number] [Country code(2byte)]'
        exit 1
fi
# Log dir check
if [ ! -d $LOG_DIR ];then
        mkdir $LOG_DIR
fi
# Set variable
IPFWNUM=`echo $1`
COUNTRY=`echo $2`
# File move
if [ -f $C_DIR/IP-country-BL_$COUNTRY.sh ];then
        mv $C_DIR/IP-country-BL_$COUNTRY.sh $C_DIR/IP-country-BL_$COUNTRY.sh.prev
else
        touch $C_DIR/IP-country-BL_$COUNTRY.sh
fi
# Get IP list from APNIC with checking diff
if [ -f $C_DIR/delegated-apnic-latest ];then
        $WGET_CMD -S $WGET_URL --spider -o $C_DIR/wgetlog.tmp
        TIME_STAMP=`grep "Last-Modified" $C_DIR/wgetlog.tmp|awk '{print $4$5$6$7}'`
        TIME_STAMP_LATEST=`grep "Last-Modified" $C_DIR/wgetlog.latest|awk '{print $4$5$6$7}'`
        echo "Current "$TIME_STAMP
        echo "Local "$TIME_STAMP_LATEST
        if [ $TIME_STAMP != $TIME_STAMP_LATEST ];then
                rm -f $C_DIR/delegated-apnic-latest
                $WGET_CMD -S $WGET_URL --spider -o $C_DIR/wgetlog.latest
                $WGET_CMD $WGET_URL -O $C_DIR/delegated-apnic-latest
        fi
else
        rm -f $C_DIR/delegated-apnic-latest
        $WGET_CMD -S $WGET_URL --spider -o $C_DIR/wgetlog.latest
        $WGET_CMD $WGET_URL -O $C_DIR/delegated-apnic-latest
fi
# Exec convert
$PERL_CMD $C_DIR/convert_cidr.pl < $C_DIR/delegated-apnic-latest > $C_DIR/CIDR.txt
/usr/bin/grep $COUNTRY $C_DIR/CIDR.txt|\
awk -v IPFWCMD=`echo $IPFW_CMD` -v IPFWNUM=`echo $IPFWNUM` -v IFNAME=`echo $IFNAME` '{
print IPFWCMD" add "IPFWNUM" deny ip from "$2" to any via "IFNAME
}' > $C_DIR/IP-country-BL_$COUNTRY.sh
# Check diff for each countries
/usr/bin/diff $C_DIR/IP-country-BL_$COUNTRY.sh $C_DIR/IP-country-BL_$COUNTRY.sh.prev
DIFF=`echo $?`
if [ $DIFF != "0" ];then
        echo "Updating IPFW with "IP-country-BL_$COUNTRY.sh
        $IPFW_CMD -a list |grep 00$IPFWNUM > $LOG_DIR/ipfwcount_$COUNTRY.log.$TIME
        $IPFW_CMD delete $IPFWNUM
        /bin/sh $C_DIR/IP-country-BL_$COUNTRY.sh
        exit 2
else
        echo "There is no difference for "$COUNTRY
fi
exit 0


アクセスカウンター!
累計:
本日:
昨日:
最近のツッコミ

(´・ω・`)ショボーン