かんべんしてチョウダイ

不正アクセスのブロックをしたら、なんだか逆にアタックが増えてる…勘弁してください。なんだか火に油を注いだ感じ。

俺は別に腕試しを望んでいるわけじゃないのですよ。だからね、あまり攻撃しないでくれよ。お願い。こんなことのいたちごっこしたいわけじゃないのだよ。そもそもアタック全て防げるわけでもないしさぁ。

それから、アタックするならサーバの種類とかきちんと見極めてからにしないとちょっとお粗末過ぎますぜ、ダンナ。前にも書いたでしょ?これはapacheだっつーの。IIS用のアタックかけてもダメなんだよね。わかるかなぁ。それもわかんないんだったらトラフィック増加にしかならないんだからアタックなんてやめませう。

だいたい、このサーバなんて何にも置いてないんだからさ。アタックされるくらいだったら、希望者にはスペースを分けてあげたいくらいだよ。希望者にはメールアドレスだって発行しちゃうぞ。それもタダでね。

バカとは仕事ができん

明日から師走だ。師も走るから師走なんだよ、わかるか社長。超くだらねぇことばっかりよこすんじゃねえよ。オマエが走らず誰が走るんだ?俺は走らないからな。

しかし、なにも出来ず経験もなく人身掌握もできない。よくそれで経営者と言えるもんだよな。形ばかりの経営者であればオーナーとしての立場だけにしておけよ。出来ない人間に使われるほうの身にもなってくれよ。アンタの要求がどういうことか、自問自答してみたらいかがか?どんなにくだらないリクエストか理解していないんだな、多分。

所詮そんなもんだろうな。そうでなければ平気でくだらないことを言えるわけないもんな。もう少し具体的な指示出してみろよ。仕事がわからないから具体的にいえるわけはないけど、少しは自分で噛み砕いて考えるようにしたほうがいいんじゃないのか?もう「わからない」で済む年齢じゃないはずだろ。しっかりしろよ。

不正アクセスのブロック(その2)

不正アクセスのブロックはどうにかこうにか正常動作にこぎつけた。

不正アクセスをした場合、数日間アクセスできなくなるのでヨロシク。それもあるサービスが受けられなくなるといったかわいいものじゃなく、すべてのアクセスを拒否ね。アクセス禁止となる日数はその罪状(といったら大げさだけど)によって違うよん。

ま、こちらも素人に毛が生えた程度なので、リアルタイムで検出 -> すぐブロック じゃなく少々タイムラグがあるけどね。

といいつつ、さっきは会社からsshでログインしようとして、パスワード間違えてアクセスできなくしてしまった俺。自分ではまってりゃせわねえな。

不正アクセスのブロック

不正アクセスをブロックする対策がうまくいったようなのでここに記載しておこう。

簡単に言うと、不正アクセスを検知したらそのIPアドレスからのアクセスを拒否してしまうのだ。今回はwebからのアタックだけの対策であるが、ポートスキャンや不正ログインチャレンジへも応用できるので、後々取り組んでいこうと思う。

VineLinux2.6を例にとって進めよう。

まずはapacheの設定ファイルを変更して、webに不正なアクセスがあったらブロックするcgiに制御を飛ばすよう設定する。

vi /etc/httpd/conf/httpd.conf

ScriptAlias /cgi-bin/ /home/httpd/cgi-bin/
#
# “/home/httpd/cgi-bin” should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#

AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all

途中に上記のような記述があるので、この下のあたりに以下を追記する。

#
#不正アクセスがあった場合、不正アクセスブロックcgへi
#

AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all

#
#不正アクセスのalias 
#/var/log/httpd/access.log等を参考に必要に応じて追記する
#
Alias /c/winnt “/var/wwwblock/block.cgi”
Alias /_vti_bin “/var/wwwblock/block.cgi”
Alias /msadc “/var/wwwblock/block.cgi”
Alias /MSADC “/var/wwwblock/block.cgi”
Alias /_mem_bin “/var/wwwblock/block.cgi”
Alias /d/winnt “/var/wwwblock/block.cgi”

このときcgiが有効になっているかを確認しておく。具体的には
AddHandler cgi-script .cgi
にコメント(#)がついていなければ有効である。
合せてapacheを動かしているユーザも調べておく。Vineの場合はapacheになっているはずだ。

制御のスクリプトなどは、上記apache設定でもわかるように/var/wwwblockで行う。そのための準備としてディレクトリを作成する。

mkdir /var/wwwblock
mkdir /var/wwwblock/ipdir
chown apache /var/wwwblock/ipdir

/var/wwwblock/ipdirはapacheを動かしているユーザの所有にしておく。

制御用のスクリプトなどは、block.cgi、callmake.sh、Makefileの3つをまず作成する。

block.cgi

#!/bin/sh
PATH=${PATH}:/usr/local/bin
# CGIとして動くので Content-type を出力
echo ‘Content-type: text/plain’
echo

echo “Your PC ($REMOTE_ADDR) should be infected by some virus.”
echo ‘We block your connection for one day.’
echo ‘Please do virus-scan your PC and visit us on the day after tomorrow.’

cd /var/wwwblock
# sudo に PATH が通っていることを確認
touch /var/wwwblock/ipdir/$REMOTE_ADDR
# callmake.sh はディレクトリ移動後makeを呼ぶだけのスクリプト
sudo /var/wwwblock/callmake.sh >> blocklog 2>&1
#不正アクセスがあった場合、メールで通知する
#echo $REMOTE_ADDR|mail -s “ServerAttack” hoge@hogehoge

作成後、chmod 755 block.cgiとしておく。

callmake.sh

#!/bin/sh
cd /var/wwwblock || exit 1
make

Makefile(iptabelesを使っている場合)

# Makefile for iptables www-attack blocker
# This Makefile should be located in /var/wwwblock
BLKDIR = ipdir
# httpdの実行権限となるユーザ名を HTTPDUSER に定義する
HTTPDUSER = apache

all: ipt.sh call-ipt

ipt.sh: ${BLKDIR}
@find ${BLKDIR} ( -type f -a -mmin +1440 ) -exec rm ‘{}’ ‘;’
/bin/ls ${BLKDIR}
| awk ‘{printf “iptables -I INPUT 1 -s %s -p tcp
-j REJECT –reject-with tcp-resetn”, $$1}’
> $@
chown ${HTTPDUSER} $@

call-ipt:
./setiptable.sh
sh ipt.sh

流れとしては
1 webに不正アクセスがあった場合block.cgiでIPアドレスをipdirに登録
2 callmake.shでMakefileをmake
3 アクセスをブロックするipt.shを作成
4 ipt.shを実行しブロック
となる。

この場合、Makefireの最後2行目にあるとおり、システムで予めルールを設定しているものがあった場合、再度その設定を実行させた上で新しいルールを追加しなくてはならない。予め設定されているルールがあった場合は/var/wwwblockにシンボリックリンクを張っておくかコピーしておく。予め設定しているルールは、rp-pppoe等を用いている場合の/etc/lppp/firewall-masqなどがある。もしそのようなものがないのであれば、次のようなファイルを用意すればいいだろう。

setiptable.sh

#!/bin/sh
iptables -F

これは単純にiptablesを初期化させているだけのものだ。

最後にcallmake.shの実行権限とhttpdの再起動をすればOK。
実行権限はvisudoで以下を追加する。

apache ALL=(root) NOPASSWD: /var/wwwblock/callmake.sh

httpdの再起動

/etc/rc.d/init.d/httpd restart

参考 UNIX USER11月号 第1特集 ネットワークトラブル119番

スパイダーマン

スパイダーマンを観た。

この作品は評判倒れだって話を聞いていたのだが、俺としては面白かったなぁ。ヒロインはもう少し「天使」っぽいのにして欲しかったかな?ストーリーはあんなもんでしょ。グリーンゴブリンのウィレム・デフォーがよかったね。

サムライミ監督の作品、結構好みじゃ。

俺はスーパーマンも好きだしバットマンも面白いと思ったほうだから、単純にアメリカンコミックのヒーローものが好きなのか?そうだ、そうに違いない。間違いない。

スパイダーマン2はかなり面白いって聞いてる。これより面白いのか?観なきゃな。

不正アタックを防御したい

サーバを立てているとポートスキャンやらハッキングツールによるアタックやら不正ログインアタックやら、様々な輩がいることがよくわかる。

一昨日などは、いじっている最中にこのサーバにアタックがあった。面白かったのでetherealでパケットを眺めていたんだけど、だんだん腹が立ってきた。単純に困らせて面白がるだけだったらやめて欲しいし、絶対に出来ないようにしてやると決意したのだ。

技術的な興味もあったので、UNIX USERの11月号を参考に不正なアクセスをブロックしようと格闘中なのだが…うまくいかない。何でじゃ。迷惑なWebアクセスが制御できたら、ゆくゆくはポートスキャン、不正ログインアタックもシャットアウトしたいんだけどなぁ。

もう少し勉強しなきゃなぁ。踏み台にされて社会の迷惑にはなりたくないもの。

ダイナミックDNSのIPアドレスが変わったら

俺はダイナミックDNSのサービスを利用してこのサーバを立ち上げているのだが、このサーバのIPアドレスがいつの間にか変わっていることはよくある話。ダイナミックDNSの自動更新は、恒常的にそのサービスを使う場合絶対に必要だ。いつ突然変更になるかわからないのに、いちいち手作業で対応できるものじゃない。俺はダイナミックDNSサービスの自動更新をDiCEで行っている。

設定は展開先(/usr/local/bin)の中のDiCE/dicedで対話式に行う。DNS更新の追加はadd、設定の変更はsetupでできる。簡単に設定できた。TurboLinux7だとGUIでできるらしい(DiCE/dice)が、qt関連をaptで入れたがVineでは動かなかった。別に動かなくても問題なしだけど。

設定終了後、/usr/local/bin/DiCE/diced -d -l でデーモンを起動させる。最後にこれを/etc/rc.d/rc.localに追加しておけばもし何かのとき再起動させても自動的にデーモンが走るようになる。

あと、どうしてもIPアドレスが変更になったことをできるだけ早く知りたいこともあるだろう。その場合はやはりメールで自動的に通知させるようにすれば便利だ。これはシェルスクリプトで簡単に作れる。

bashの場合は

#! /bin/sh
#DiCEのLogの場所
eventlog=/usr/local/bin/DiCE/log/events.log
#IPアドレス一時保管ファイル
oldipfile=/var/log/ip.old

#DiCEのログから一番最後に更新したIPアドレスを抽出
ipnow=`cat $eventlog|gawk ‘/>/{print $5}’|tail -1`
#一時保管しているIPアドレスを読み込む
ipold=`cat $oldipfile`

#最終更新IPアドレスと一時保管IPアドレスが違ったら
if [ $ipnow != $ipold ];
then
 #最新のIPアドレスをhoge@domain宛てにメール
 echo $ipnow|mail -s “Home IP Changed” hoge@domain
 #最新のIPアドレスを一時保管ファイルに記録
 echo $ipnow>$oldipfile
fi

といった具合でOKだろう。これを適当な名前(changeipmailなど)で保存し、パーミッションを変更しておく。コマンドはchmod 744 changeipmail

後はこのスクリプトをcronで動かせば、定期的にDiCEのログをチェックして変更があればhoge@domainまでメールが送られてくるようになる。当然hoge@domainには送りたいメールアドレスを入れておく。携帯に送るようにしておけばいいかも。

メインバンクの真意

社長はいくら詰め寄っても自分で決断することはなかった。それどころか、その計画を銀行出身の取締役に見せてしまったのである。その取締役はその計画には全く関心を持たないばかりか全否定してきた。そんな計画は実行できるわけないというのがその取締役の言い分だった。企業は事業規模が重要で、規模縮小したら企業が持たないと言うのである。

しかし拡大路線からの方向転換は、バブルが崩壊してからどの企業もやっていることだ。この取締役が言っていることは高度成長期の理論である。そのような取締役に会社の命運をかけてよいものなのかはなはだ疑問であった。

また、この取締役は人を整理することを極端に嫌がっていた。主要ポストについている人間がいなくなっては会社が回らないと言うのである。しかしこれもおかしな理論である。その人間たちが会社をおかしくしてきたのである。そんな人間もともと不要なのだ。それに仕事なんて誰がやったってそれなりに回るものだ。まずやらせてみてからダメであれば替えればいいだけである。そのような人事の活性化なくして会社の再生はありえない。

結局のところ、この取締役は会社立て直しよりも出身であるメインバンクを重んじているとしか思えなかった。この取締役とてバカではない。だめだこりゃ社が大変なのは身の丈以上の借入金があるためだということは十分認識しているのだ。建て直しのためには債務の圧縮が大前提なのである。それには金融機関に泣いてもらわなければならない。それが嫌なのである。会社のことよりもメインバンクにおける自分の立場のことを重んじているのだ。この取締役はだめだこりゃ社を建て直すと言うことは建前で、結局のところはメインバンクが損をしないようにする為にだめだこりゃ社にいるのであろう。

この取締役がメインバンクのことを最優先と考えていると言う根拠は他にもある。だめだこりゃ社は100%子会社の資産管理会社が別にあった。100%子会社があるということは、そちらに債務をくっつけて会社を清算してしまえば債務を消すことができる。金融機関にとっては一番やられたくない手段である。経営状態が苦しくなっていることを十分承知のメインバンクは、債務超過を消すということを建前にこの子会社を合併しろというスキームを出してきた。この取締役はこの話をどんどん進め、だめだこりゃ社は昨年度末にこの子会社と合併した。詳しい人はわかると思うが、逆さ合併で債務超過をチャラにしたのである。これでだめだこりゃ社は債務圧縮スキームの有効な手段をひとつ消されてしまっていたのだ。

本来であれば、金融機関の債権放棄は一時期的なものである。それよりも各種手数料・金利などの収入を恒久的に得られるよう継続して取引を続けていったほうが双方にとって有利なことは間違いない。金融機関、特に今後不良債権処理のターゲットとなる地方銀行はそのことを忘れてしまっており、金融監督庁から突っ込まれないようにすることが最大の懸案事項になってしまっている。だから不良債権さえ処理できれば会社なんてどうだっていいのである。現在の金融機関は企業への融資を押さえ込んでいる(いわゆる貸し渋り)ため融資による金利収入が落ち込み、やむなく国債への投資や個人への融資などで利ざやを稼ごうとしている。企業もバカではない。特に優良な企業になればなるほど間接金融から直接金融へ資金調達の手法をが変えてきている。要は客離れを起こしているのだ。それなのに自分からお客を捨てる、これが今後どういう結果になるか考えたほうがいいだろう。

吸い取るだけ吸い取った後に資産を売り払わせ担保分の債権を回収し不良債権を処理する。メインバンクはこれしか考えていないのは誰が見ても明らかだった。しかし、だめだこりゃ社の経営陣のなかでそのことを口に出す者は誰一人いなかったのである。だめだこりゃ社の経営陣は、メインバンクはいつまでたってもだめだこりゃ社の味方だと言い張っていたのだ。おめでたい限りである。

そこで俺はある決断をしたのだった。

有志による再建計画

だめだこりゃ社の業績は一向に改善しなかった。事業所の閉鎖などで収入の落ち込みがひどく、改善はしているものの数字になっては現れてこない。

俺はある人からのアドバイスをもらい、独自に再建計画を作成し始めた。外的要因により事業所閉鎖が続くだめだこりゃ社であったが、その流れの中で座して死を待つのだけは避けたかった。大規模な事業規模縮小による収益体質を改善する。それが独自計画の柱だ。

収益体質を改善した上でなければ法的な手段(民事再生法など)は難しい。法的手段を用いると銀行との取引は停止となる。給料や仕入など大きく金が動く時、自前で金を持っていなくてはならないのだ。その金を捻出するにはとにかく金を貯めなければならない。それも金融機関にばれないように貯めなければならないのだから大変である。金を貯めるには儲けを増やして金を残すしかないのである。潰れそうな会社に金を貸す人はいないのだ。

俺が独自計画を作成し終わったのは昨年10月のことだった。俺はその資料を社長に見せ、この資料を持ってメインバンクと話し合いを持って欲しいと言った。

社長はその計画自体には難色を示さなかったが、銀行出身の取締役に相談すべきだと言い始めた。それでは本末転倒である。俺は「金融機関がダメだから独自に作成したのだ。金融機関と張り合う腹がなくては何もすすまない。ここは代表権を持つ社長の決断で決めて欲しい。」と詰め寄った。

撃沈

今日は午後から会社に出て、午前中はパチスロしてみた。

くわーっ。なんで俺がやめると出始めるんだよ。移る台移る台全くいいととなし。最初の台はやめたら出っぱなしだし。いい加減にしろよ!!何でだよ。何でなんだよ!!1500枚あったコインが全部吸い込まれてしまった。泣くに泣けない。深追いしすぎだよ。

ああ、なんて愚か者…結局金欠だよ。ふぅぅぅ・・・滅茶苦茶悔しい。アホ丸出し。

アンタはギャンブルなんて勝てないんですから!!切腹! < 学習しろよ、俺。

ドラクエⅧ

ドラクエⅧがもうすぐ発売になりますね。昨日デパートに行って初めてドラクエⅧのプロモーションビデオを見たんですが、欲しい!!絶対に欲しい!!

もともと俺はFFよりドラクエのほうが好きで、今回のはまたとっても漫画チックでいい感じ。変にリアルな奴よりずっとずっと面白そうです。

でも、おれんちにはPS2がない…(T_T)
どうすっぺ

こわいよMS後日談

こわいよMSで紹介しました本当は怖いMSの物語後日談が掲載されています。

ちょっと引用

押収されたPCは、中身が全部フォーマットされて返ってきたそうです。当然中に入っていた取引データやら会計データやらは何もなくなってしまったそうで。
で、それだけならまだ良いのですが(良くないか(^^;)、押収したPCの中にはBSDのUnuxパソコンもあって、なんとMSの代理店はそれもフォーマットしてしまったのだそうです。
さすがにここの会社の社長さんは切れて、MSに損害賠償請求をした所、MSはしれっとしてバックアップしたCDROMを渡してきたのだそうで。当然そんなことで許されるわけもなく、こちらの社長さんはMSに莫大な損害賠償請求をして現在も係争中だとのことです。

いやぁ、本当に怖いですね。ここまでいくと逝ってよしですね。Windowsに関係ないものまでフォーマットするのもすごいですが、勝手にバックアップ取ってるってどういうこと?そもそも中にあるデータの所有権って誰にあるんですかね。バックアップ取ったデータだって、MSが使わないって保証は何もないですし。

話は少しそれますが、保守してる業者って、PCが動くことだけに関しては仕事しますがデータは全く無視するところ多くありません?私のいる会社の保守はN石が多いんですが、HDが壊れると交換しておしまいだもんね。データは当然消えます。死刑じゃ。

これだからブラックボックスになってるやつって怖いんだよなぁ。これでは会社自体がウイルスだって言われても仕方ないですね。ハッキングソフト内臓かつソーシャルハッキングありですか?あ、ウイルス会社じゃなくてクラッカー会社ですか?失礼しました。

オープンソースが全ていいとは申しませんが、やはりソースが見れると安心感は格段に違います。MSもやましいことがないのであれば公開してもいいんじゃないのかと思うのですがね。

公開できないのは
1 ソースが余りに醜い
2 MSの言う独自技術が盛りだくさん
3 やましいことしてるんで見せられない
のいずれかですね。1はあるかもしれません。2は多分勝手に独自技術と定義しているだけ。3は…

大体ですよ、Windowsはユーザが金払って使っているのですから、金払った上にもてあそばれているのはどうも納得いきません。身も蓋もないとはこのことじゃ。

そういえばSolaris10に関して、Solaris 10正式発表、1月から無償提供へという記事が出ていましたね。これで無償で手に入れられる選択肢はますます広がっていくわけです。WindowsのキラーソフトMS OfficeがOpen Officeなどで十分代替可能と判断された時、MSはどうするんでしょう。個人やそれに近いレベルでは、既にMS Officeは必要ないと思うのですが、いかがでしょうか。ブラウザ、メーラーだって、わざわざIEやOE使う必要もないですね。
(ブラウザに関しては親愛なるIEへ――お別れの手紙なんてコラムも出ていますね)

いやぁ、MSって、本当に面白いですね。

レッズ優勝

浦和レッズが悲願の優勝をした。J2落ちがあったり下位で低迷したりと波乱万丈の時期を長く過ごしたレッズがついに優勝できたと言うのは、サポーターにとってすばらしい出来事だったに違いない。

今期のレッズはすばらしい。ここに来て少し足踏みしているが、各チームも十分に研究しているだろうから当然ではある。こういう時期を乗り越えて、ますます強くなっていくのだろう。

俺はどうも「赤」のチームが好みらしい。レッズ、グランパス、アントラーズ、どれも好きなチームばかりである。韓国もチームだけを見れば好きなんだよな。日本の永遠のライバルだからもろ手を上げて応援することはないのだけれど、ワールドカップ2次予選も違うグループに入るだろうから2次予選は応援している。

さて、チャンピオンシップはマリノス、レッズ、どちらが勝つのだろうか。レッズを応援したいなぁ。でも俺が応援すると、どういうわけか負けることが多いんだよ。本能的に弱いほうを応援する癖でもついているんだろうかね。

Linuxを使う理由(その3)

Linuxを使う理由(その1)
Linuxを使う理由(その2)

そうこうしているうちに会社がインターネットに接続することになった。その頃はまだADSLは一般的でなくISDNのテレホーダイが主流であった。まだダイアルアップルーターもそんなに普及していなかった頃である。そのネットワークには50クライアント程度が接続していたのだが、あまり経費をかけるのはバカらしかったし速度的な問題もあったので、Linuxをルーターとして使うことにした。

Linuxルータを作るにはまずはPCの確保が必要であったが、これは中古屋から6000円で買ってきた。それにHDを追加してハードは出来上がりだ。それにVineLinuxをインストールして、見せかけ上速く見せる為にsquidを走らせプロキシサーバとして動作させるようにした。また、ひそかにダイナミックDNSのサービスをつかってWEBサーバにしたりしているわけだ。

その後ADSLに取って代わったわけだが、ちょっと前までNTTはADSLモデムしかなかったので、このルーターはそのまま活用している。会社で実験が出来たので、自宅でこのサーバを立ち上げるのはそんなに苦労しなかったのだな。

しかし、Linuxは本当に落ちない。電源入れっぱなしで何ヶ月稼動させているのだろう。会社のルータも、このサーバもそうだ。落ちちゃ困るんだよなこういう奴は。このごろはハードが先に逝くのじゃないかとヒヤヒヤしてる。まぁ、枯れたハードでそんなに発熱もないから、HDが死ぬまでは何事もなく動くだろう。余談だが、会社で使っているデータベース用のWindowsNTサーバは、UPSを使って一日一回必ず再起動するように設定されている。そうしないと不安定になるのだそうだ。業者が言っているのだからそれなりに経験に基づいた話だろう。サーバがこれでいいのか?使えればいいというものではないと思う。

WEBサービスやメールサービスなどはWindowsではコストもかかるしセキュリティ上の問題も多々あるため、そちらを使う気には全くなれない。このサーバのログを見ても、不正アクセスは後を絶たない。それもWindowsのセキュリティホールを狙ったアタックばかりである。Windowsをつかって自ら危険な状態を作り出す気には到底なれないのである。サーバを立ち上げてみて、そのことはますます強く思うようになった。

Windowsを全否定するつもりはない。しかし、それぞれに得意分野ってものがある。そのいいところを組み合わせて使うのが賢い使いかただと思う。

ホリエモンちゅてき

今日の朝日新聞のBeにLiveDoor堀江社長の特集が載っていた。いやはや近鉄買収話を機に大もてですな。

その中で「お金で買えないものなどない」旨の発言があるが、この話からアインシュタインの相対性理論が俺の頭をよぎった。相対性理論は簡単に言うと「光の速度が絶対的な尺度である」と言うことから展開されているのであるが、ホリエモンは「お金」を絶対的な尺度として理論を展開しているわけで、なんとなく根本は同じかなと感じた次第。

あることを絶対的な尺度として理論を展開した場合一般的には反感を買いやすいと思うだが、そこを全く気にせず発言するところにホリエモンのすごさのようなものを感ずにはいられない。年寄り連中には耳障りの悪い話だろうがね。