|
|
| |||||||
| |||||||||
巻き戻し中。
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2012-09-01(土)
アフィ [長年日記]
_ リンク
一応、ブログの内容に関連するamazonのアイテムを文中に貼ったり、
左上にランダムリンクが出るわけですが。。。。。
3年やっても紹介料は500円に満たないので一度ももらえてませんが、
ネタのつもりで貼ってるわけですよ。
で、思い出したようにamazonの売上レポート見てワロタ。
今年の頭に、ここのリンクからオナホ買ったヤツ誰だよwwwww
少なくとも本文中のリンクには無いはずなんだが。
あえてリンクは貼らんけど。。。
2012-09-02(日)
SPF [長年日記]
_
ついでに
SPFレコードのチェックと書式間違いの修正。
sendmail社のSPFチェッカー便利。
「"v=spf1 a mx ptr a:daemon5.uekusa-com.com include:hogehoge.ne.jp a:61.206.119.196 -all"」
とか書いてあったけど、エラー。
SPFの出始めの頃に、どっかのページを参照して書いたんだけど、ダメダメですね(;´Д`)
いつ頃か忘れたけど、wikiによるとRFCになったのは2006年頃か。
要するに各要素に「+」とか「-」の定義がない。
includeしていた携帯用の外部送信サービスも使っていないし、シンプルに修正。
逆引きの一致(ptr)とか処理の重くなる処理は後ろに移動。
「"v=spf1 +a:daemon5.uekusa-com.com +ip4:61.206.119.196 +a +mx +ptr -all"」
これで、ウチの鯖のFQDNかつ逆引きも出る名前のみが許可されるようになった。
メール送受信に使わない「uekusa.com」は「"v=spf1 -all"」で詐称防止。
SPFの詳細な説明は、インターネット協会のここ。
とても分かりやすい。
_
詐称
本当のドメイン名での詐称はSPFである程度防止できるけど、
「uekusa_com.com」とか「ueknsa-com.com」とか紛らわしいドメイン取って、
そこの正当なFromとSPFレコードなら防ぎようがないのが、この仕組みの限界。
いわゆる標的型とか呼ばれる攻撃なら、こういった手段もありそうですな。
_
STARTTLS
sendmailの証明書の件、このテストサイトやら、
LogLevelを9から14に上げてみるとかで調査。
証明書が繋がって見えていない感じ。
あ、「O CACERTFile」ってルートの証明書か。
中間証明書と勘違いしてた。
portsのsecurity/ca_root_nssをインストールして、
「O CACERTFile=/usr/local/share/certs/ca-root-nss.crt」
でちゃんと「verify=OK」が出るようになった。
┐(´д`)┌ヤレヤレ
_ 歯医者
7月から、ほぼ毎週通っていたのも今日でファイナル。
先週点検中に見つかった、上の前歯の小さな虫歯を削ってお終いなのだが、
いくら麻酔が効かないからって、相変わらずの麻酔増量で困るw
1時間経っても、上唇が痺れてメシ食えないwww
2012-09-04(火)
ブラックリスト [長年日記]
_
( ゜ω゜ ) お断りします
基本的に、中国とか韓国は用がないしメールの必要もないし、webページを見てもらう必要もない。
時々いろんなログを見てうざい所はwhoisしてCIDR単位でぶっちぎってるけど面倒。
APNICのリストから、国コードでipfwルールを生成するツールを作成中。
これを改造すると.htaccessで中国なら「魚釣島は日本の領土」、韓国なら「竹島は日本の領土(σ'д`)アッカンベー」とか表示させることも出来るなw
_
やっぱり
とあるボット検出システムの話。
サービス始めたら「何で親の敵みたいに韓国のサイトが引っ掛かるんですかねぇ?」と。。。
いや、そりゃ客観的にネットの治安状況見回したら分かるでしょ。
なまじインフラが発達して回線速度も速いところに、全体のリテラシーが低いんだから。
ましてや日本のIPからのアクセス狙い撃ちでマルウェア喰らわすとかやりかねん国民性。
つか、オタクの組織は仕事中にそっち系のサイト見てるヤツが多いんじゃないのかね?
2012-09-05(水)
名刺 [長年日記]
_
トラップ?
ある人からもらった名刺にバーコードが印刷してあった。
まさかと思ってスマホのリーダーで読んでみた。
pdfファイルへの直リンクだた。
絶 対 ふ ま ね ー ぞ w
でも、wgetしてみちゃうんだろうな、おれ。
トラップは冗談としても、「ほぅら、直接こういうファイル開いちゃ危ないでしょ。てへぺろ(・ω<)」
ぐらいの事は書いてありそうだしw
2012-09-08(土)
\(^o^)/オワタ [長年日記]
_ 寄り道
銀座線で隣なので、末広町で降りてアキバ散策。
ジャンク屋で懐かしいの見つけた。
「BL-3000」というシリーズ名が懐かしいw
分かる人は間違いなく電話屋系のオサーン。
名前の意味とか分かったら、完全に法人系。
_ 縁日?
某小物屋さんの店頭に、ガイ・フォークスマスクが。
昨今のanonymousの話題もあってか、アキバにも置くようになったんだねぇ。
でもね、縁日じゃないんだから、そうやって吊り下げると怖いでしょwww
2012-09-09(日)
国別 [長年日記]
_
IPリスト
自動でipfwに突っ込むツール作成完了。
引数にipfwのルール番号と2文字の国コード入れればおk。
APNICのリストは、wgetのspiderモードで"Last-Modified"が変わったときだけ落とすようにした。
IP+個数をCIDRに変換するperlはこちらのスクリプトを流用。*1
これね
【convert_cidr.pl】
# convert_cidr.pl
#!/usr/bin/perl
#
# 各RIRのIPアドレスデータベース・ファイルより各レコードの開始IPとホスト数をCIDR表記に変換
#
# ARIN: ftp://ftp.arin.net/pub/stats/arin/delegated-arin-latest
# RIPE NCC: ftp://ftp.ripe.net/pub/stats/ripencc/delegated-ripencc-latest
# APNIC: ftp://ftp.apnic.net/pub/stats/apnic/delegated-apnic-latest
# LACNIC: ftp://ftp.lacnic.net/pub/stats/lacnic/delegated-lacnic-latest
# AfriNIC: ftp://ftp.afrinic.net/pub/stats/afrinic/delegated-afrinic-latest
#
# 使い方
# /usr/bin/perl convert_cidr.pl < delegated-arin-latest > output.txt
#
# 一行出力
sub printrule {
my $Country=$_[0];
my $Address=$_[1];
my $AddressCount=$_[2];
#
my $SubnetMaskBinCnt = sprintf "%b", scalar($AddressCount);
$SubnetMaskBinCnt =~ s/1//g;
my $SubnetBit = (32 - length($SubnetMaskBinCnt));
#
# calc subnet mask
my $SubnetMaskBit=(1 << 31);
my $SubnetMaskVal=0;
for($j=0; $j<$SubnetBit; $j++) {
$SubnetMaskVal|=$SubnetMaskBit;
$SubnetMaskBit>>=1;
}
my $SubnetMaskVal1=($SubnetMaskVal >> 24)&255;
my $SubnetMaskVal2=($SubnetMaskVal >> 16)&255;
my $SubnetMaskVal3=($SubnetMaskVal >> 8)&255;
my $SubnetMaskVal4=$SubnetMaskVal&255;
#
print "$Country\t$Address/$SubnetBit\n";
}
#
while(){
@TextArray = split(/\|/, $_);
#
# IPv4のみパース実行
if (lc(@TextArray[2]) eq "ipv4") {
#
# ホスト数を10進数から2進数に変換
$SubnetMaskBin = sprintf "%b", scalar(@TextArray[4]);
$SubnetMaskBinCnt = $SubnetMaskBin;
$SubnetMaskBinCnt =~ s/0//g;
#
# ドットアドレスをドットで分割
@AddressArray = split(/\./, @TextArray[3]);
if($#AddressArray < 3){
next;
}
#
# 要素数を判定し代入
$AddressValue = scalar(@AddressArray[0]) << 24;
$AddressValue |= scalar(@AddressArray[1]) << 16;
$AddressValue |= scalar(@AddressArray[2]) << 8;
$AddressValue |= scalar(@AddressArray[3]);
#
# 2進数に変換のホスト数の長さ(バイト数)繰り返す
for($i=0; $i 0){
$AddressStr = sprintf "%d.", ($AddressValue >> 24) & 255;
$AddressStr .= sprintf "%d.", ($AddressValue >> 16) & 255;
$AddressStr .= sprintf "%d.", ($AddressValue >> 8) & 255;
$AddressStr .= sprintf "%d", $AddressValue & 255;
#
while($AddressCount > 0){
$AddressCountSub = $AddressCount;
#
while(($AddressValue & ($AddressCountSub - 1)) > 0){
$AddressCountSub /= 2;
}
#
$AddressStr = sprintf "%d.", ($AddressValue >> 24) & 255;
$AddressStr .= sprintf "%d.", ($AddressValue >> 16) & 255;
$AddressStr .= sprintf "%d.", ($AddressValue >> 8) & 255;
$AddressStr .= sprintf "%d", $AddressValue & 255;
#
printrule(@TextArray[1], $AddressStr, $AddressCountSub);
#
$AddressValue += $AddressCountSub;
$AddressCount -= $AddressCountSub;
}
}else{
$AddressStr = sprintf "%d.", ($AddressValue >> 24) & 255;
$AddressStr .= sprintf "%d.", ($AddressValue >> 16) & 255;
$AddressStr .= sprintf "%d.", ($AddressValue >> 8) & 255;
$AddressStr .= sprintf "%d", $AddressValue & 255;
$AddressCount = 2 ** (length($SubnetMaskBin) - $i - 1);
#
printrule(@TextArray[1], $AddressStr, $AddressCount);
#
$AddressValue += $AddressCount;
}
}
}
}
}
で、同じディレクトリに下記のshellを置いてcronで叩く。【IP-country-BL.sh】
*1 あのページ、そのまま表示をコピーしてもエスケープされてる文字列があるので動きません。ソース見てコピーしないとね(;´Д`)
#!/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 $TIME_STAMP
echo $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
$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
fi
exit 0
_
でもって
crontabにはこんな感じで突っ込むと、中韓さよなら(´ー`)/~~
############ IP blacklist by Country ############# 5 2 * * * /usr/local/etc/IP-country-list/IP-country-BL.sh 170 CN 7 2 * * * /usr/local/etc/IP-country-list/IP-country-BL.sh 171 KR
_
念のため
再起動時も既存のリストを反映するように、下記をrc.localに]追記。
/bin/sh /usr/local/etc/IP-country-list/IP-country-BL_CN.sh /bin/sh /usr/local/etc/IP-country-list/IP-country-BL_KR.sh
2012-09-12(水)
効果 [長年日記]
_
中韓
ipfwのカウント見てると、結構な数をdropしてる。
アドレス帯域で見ると、中国は薄く広く。
韓国は特定のレンジからしつこく来てる。
一方、遮断はポートじゃなくてIP丸ごとなので、sshのブルートフォースを監視してるツールは日に1件以下しか検知しなくなった。
そりゃそうだ、大半の攻撃元はこの2国なんだし。
うざい百度のクローラーも当然バッサリw
_
改良
先日のツール、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
2012-09-14(金)
大門最後の日 [長年日記]
_
サイナラ!
大門で最後の夜。
お世話になったお店で飲んだ後、カラオケに巻き込まれるの巻。
当然ながら終電終了、朝までコース(´-ω-`)
ま、普段滅多に行かない人達と朝までやからしたのは結構楽しかったので良しとしましょう(・∀・)
2012-09-18(火)
月島初日 [長年日記]
_ 定期
行きがけに買いながら出勤。
どうやっても2枚に別れる。
既存の見開き定期入れに入れて、不要な方を直角に開くようにして通ってみたけど、
かなりの確率で「複数枚検知」で引っ掛かる。
まぁあの周波数であの距離なんで、近傍過ぎて偏波面とか関係なく励起するし信号受けるんだろうな。
仕方が無い、アキバで硅素鋼板でも探そうかと思ったら、良い物が売ってた。
ちょっとお高いが、磁気シールドの素材を小売りって考えればそんなもんかな。
ついでに定期入れも5年以上使ってボロいので更新だ。
2012-09-20(木)
結果 [長年日記]
_
加工
引っ越したら机上のOAタップ口数が足りない。
へぼい延長とかタップで火を噴いても困る。
俺自身、前職のオフィスではそれを認めない立場だった人だし。
アキバで愛三電機のタップ買いたい(;´Д`)
とりあえず、NOCで使わなくなった6口のタップを幾つかゲットしたのだけど、コードが長すぎて邪魔。
仕方が無いので、コード切り詰め。
特殊ドライバーあるし、圧着端子と工具もあるので家から持参。
あ、お巡りさんこっちじゃありますん。
いや、今日は職務質問とかやめて下さい。
マジで、すみません、、、、(;´Д`)
でもって、1m弱に詰めてスッキリ。
元の4口と合わせて合計14口ぐらい利用可能になって、満足です(・∀・)*1
*1 普通にOA用のPAやモニタだけでなく、スマホとかタブの充電器や、検証用のマシンや周辺機器やら、「オレの机上が絶対に4口で足りるわけがない」
2012-09-24(月)
憂鬱 [長年日記]
_ 中間管理職w
「#タイトルの一部を中間管理職にすると悲壮感max」
来ましたw
「紅の中間管理職、となりの中間管理職、中間管理職の宅急便」
あぁ、ジ●リですね。。。
「ジョジョの奇妙な中間管理職」
悲壮というか、奇妙ですわ。
「中間管理職は友達が少ない」
セツナス・・・一番悲壮感が漂うw
「中間管理職の憂鬱」
まんまじゃんw
「中間管理職ギャバソ」
背景を想像すると思いの外、切ない。
2012-09-26(水)
動いた! [長年日記]
_ 
Agilent34405A
今まで、Windows7の64bitだと何故か上手く行かなかったUSB経由での取り込み。
Windows7の32bitのノートだとちゃんと見える。
うむむ、、、、
とりあえず、32bit版からファームを最新に更新して再度64bitの母艦に繋いでソフトを入れたら、ちゃんと見えた。
Execelに自動取り込みとか出来るし、グラフもリアルタイムに描画してくれたり結構便利。
バッテリーの充電監視とか、電波時計のアレコレとか、(´∀`*)ウフフ
オレよりも、実験レポート書かなきゃならない長男が欲しいんだろうな。
まぁ、学生は手を抜かずに手動で計測しなさいwww
_ 
ベンチマーク?
一体どれくらいの速度で取り込めるのか実験。
設定上は0.1秒間隔まで可能だが・・・・
実用的なのは1秒間隔が限度ですな。
まぁ、オシロじゃないんだからそんなもんでしょ。
そういえば、PCオシロも壊れてから久しい。
_
まーぐーろー!
行きつけに、珍しい人と。
オレは2日連続なんですけどね(;^ω^)
珍しく行くもんだから、酔って電車の中ではぐったり。
向かい側の知らない人も、何故かグッタリ。
_ノフ○ グッタリ
「大変申し訳ございません」
「こちらこそ申し訳ごさいません。」
zzz...
と言う状態。
2012-09-28(金)
2期 [長年日記]
_
あ、ASUS?
まさかのASUS、国内でのブランド呼称を「アスース」から「エイスース」に
いや、ようやく「アスース」に慣れたってのに、よりによって「エイスース」とは・・・
「エイサス」「アサス」ぐらいはアレですけども。。。(;´Д`)
2012-09-29(土)
朝まで [長年日記]
_
月島
昨晩から帰り損ねて結局笑笑で朝まで。
( ゜Д゜)ネムヒー
さすがに寝ぼけて自分のグラスと醤油入れを間違えそうになるインシデントなどw
で、白んできたところを始発待つついでに門仲まで歩いて帰ってみたり。
2012-09-30(日)
台風 [長年日記]
_ 気になります!
Twitterのえるタソボット周辺のやり取りが面白かった。
「私、田んぼの様子が気になります!」
「私、用水路の様子が気になります!」
いやいや、いくら大地主の娘で農業っ娘でもいかんじゃろw
何のフラグ立ててるんだよw
| Tweets by RC31E | |||||||||
| |||||||||
| |||||||||



