Cisco Adaptive Security Appliance Software Version 7

ここ1、2ヶ月は Cisco のファイアーウォール関連の仕事が続いています。Cisco ファイアーウォール製品 (PIX/ASA) の OS の最新バージョンが 7.X 台になりましたが、6.X 台と比べて多くのコマンドが変わりました。


「げっ、いままでの設定がそのまま入らないよ…。やばっ。」


というわけで慌てて調べたのですが、その成果をまとめておきます。今回は既存のシンプルなファイアーウォールの設定を古い機器& OS から新しく導入する ASA (Software Ver. 7.0) に移行したのですが、設定がシンプルと言えどコマンド変更の影響を受けました。工場出荷時デフォルト設定でも新コマンドがいくつか含まれているのです。以下私の場合に関連した変更点です。
・インターフェイスの設定方法の変更
Cisco ルータのようにインターフェイスコンフィグレーションモードに移行してから設定するようになりました。


interface Ethernet0/1
nameif inside
security-level 100
ip address 192.168.0.1 255.255.255.0
!


というような感じです。IOS のコマンドに合わせたということですね。
・access-list のクリア方法が変わった
access-list を消去するのに “clear configure access-list” コマンドを使うようになりました。一瞬消すコマンドがわからず焦りました。ちなみに1行だけ消すのは “no access-list” コマンドですね。
・fixup コマンドが inspect コマンドに変更
fixuup コマンドが inspect コマンド (+ Modular Policy Framework = MPF) に置き換わりました。とりあえず CLI で fixup コマンドを入力すれば受け付けて MPF のコマンド群に変換してくれるので、fixup コマンドを入力し結果を確認しましょう。変換後は以下のような感じになります。


class-map inspection_default
match default-inspection-traffic
!
policy-map global_policy
class inspection_default
inspect ftp
inspect http
(…)
!
service-policy global_policy global
・新コマンド “ftp mode passive”
アプライアンスの FTP クライアントの動作を指定します。ファイアーウォールの動作には関係ないです。デフォルトの設定で有効化されていました。
・新コマンド dns-guard
DNS Guard は DNS リクエストのヘッダ中の identification field を、レスポンスのヘッダとマッチさせて 1 query に対し 1 response のみ通信を許可する機能です。これもデフォルト設定では有効になっています。
・新コマンド “asdm image”
ASDM (Adaptive Security Device Manager) イメージ、すなわち管理用 GUI を用いるためのソフトウェアの位置を指定するためのコマンド。このコマンドが startup configuration に指定されていなければ、デフォルトの規則に従いイメージを見つけます。ASDM の初回実行後にこのコマンドが自動で追加設定されました。


ちなみに ASDM にアクセスするためには http コマンドで設定を行います。


http server enable
http 192.168.0.0 255.255.255.0 inside


準備ができたら、HTTPS プロトコル (ポートは普通に 443) でアクセスします。その後指示に従い Java のアプレットとして ASDM を実行するか、Launcher プログラムを手許の PC にインストールし、これを用いて起動します。
・conduit/outbound コマンドがなくなった
既になくなることはアナウンスされていましたが、とうとう conduit/outbound コマンドが使えなくなりました。って言っても使っている人は少ないかも知れませんね。私の最初に見た PIX の設定ではこれらのコマンドが使われていて「ふーん。PIX ってよくわかんねえなあ。」というのが第一印象でした。
・”logging on” が “logging enable” に変更


・”floodguard enable” の指定は機能が常時有効化されたので、不要となった
シンプルなファイアーウォールとしての設定を移行するだけでも、これだけの変更が関連しました。VPN 関連も変更があるようなので、関係する人は Upgrade Guide に目を通しておいた方が良いと思います。

「Web 進化論 本当の大変化はこれから始まる」

ちょっと遅いですが、あちこちで薦められているようなので読んでみました。


読んでみると、漠然と感じていたことがきちんと整理されて提示されたような気がしました。インターネットを利用している人は読むようにお勧めします。既に Amazonには書評がたくさんあるのですが、それを見つつ自分の感想を書いてみます。


「Google を持ち上げて/崇拝して/凄い凄いと連発して」というようなコメントが見受けられますが、Google の考えを書いたらそれが壮大なものだったので、持ち上げているように見えた、というのが近い気がします。


それと「あちら側」と「こちら側」に必要以上に意味を持たせようとしているコメントがありますが、この言葉自体はネットの「あちら」と「こちら」を指しているに過ぎません。今は「あちら側」が主戦場になっていて、「こちら側」で勢力を築きあげた企業は既存のビジネスモデルが制約となり一気に「あちら側」にシフトするわけにはいかない、ということでしょう。


主戦場が「あちら側」だからと言って、ネットワークを使う限り「こちら側」がなくなるわけでもありません。ちょっと考えてみると、ユーザが全ての情報を「あちら側」に移してしまうことは簡単に起こらないように思えます。例えばクレジットカード番号のような重要な情報を預けるに足るものだというような信用は時間をかけて作ってゆくものでしょう。筆者もこのあたりは認識していると思います。買い物をする時に提示して終わりなのと「あちら側」に移すのではレベルが違います。


私は「ブログが信用創造装置」というのが一番共感できました。まとまった量の文章を読むと自ずとその人となりがわかってしまいますよね。これだけブログが広まったのですから、ネット上では見知らぬ人との出会った時にその人を判断する材料としてブログは十分役割を果たせると思います。

Email::MIME モジュール

先のエントリに書いた通り bogofilter を使う前処理のために Email::MIME を使いましたが、このモジュールのインストールについて説明しておきます。perl は cygwin の 5.8.7 を使用しているのですが、Email::MIME モジュールを動かすために以下のモジュールを追加インストールしました。


・MIME-Types-1.17
・MIME-Base64-3.07
・Email-MIME-ContentType-1.01
・Email-MIME-Encodings-1.3
・Email-Simple-1.980
・Email-MIME-1.851


依存関係があるのでこの順でインストールします。それぞれ CPAN から探して取得し、ソースを展開後 “perl Makefile.PL; make; make install” を実行します。


それとインストールが終わってこのモジュールを使ったプログラムを実行する時の話なのですが、次のような Content-Type フィールドを含むメールの処理中に “Illegal Content-Type parameter at /usr/lib/perl5/site_perl/5.8/Email/MIME.pm line 13” というエラーメッセージが出ます。


Content-Type: text/plain;
Content-Transfer-Encoding: base64


どうやら “text/plain” の後に “;” が入っているのがまずいようです。”;” がないメールや “;” の後に属性の指定があるメールについてはエラーメッセージが出ません。ただ、エラーメッセージが表示されてもきちんとデコード処理等は行われているので気にしないことにしました。


そうそう、細かい話ですがドキュメントに、


my Email::MIME @parts = $parsed->parts;


とあるのは、


my @parts = $parsed->parts;


としなければ動きませんでした。

EOS Kiss Digital X 発表

ついに所有している EOS Kiss Digital N の後継機種が発表されました。すぐに買い換えようというわけではないですが、やはりどのようなものになっているか気になってしまいます。


内容をチェックしてみて惹かれてしまう変更点は、


・ゴミ対策
・9点オートフォーカス
・ピクチャースタイル搭載


あたりですね。画素数が多くなるのについては、その分扱うのにメモリー&プロセッサパワーが必要となるので今のままでも十分という気がしています。逆に細かいですが、バッテリーやバッテリーグリップが同じという点は買い替えを促されているような気がしてしまいます。


いえ、買いませんけれど :-)

bogofilter を正しく使おう

cygwin を更新すると bogofilter が動かなくなったので最新のソースからインストールし直しました。更に、プライベートではあまりメールを使わないのでこれまで真剣に取り組まなかったのですが、最近 bogofilter の判定精度がいま一つのようなので原因を調べてみました。するといろいろなことがわかりました。


・MIME エンコードされた本文がきちんと処理できていない
・データベースがいまひとつ


これまでのやり方はここに書いた通りです。
それぞれの問題の詳細を見てみましょう。
1) MIME エンコードされた本文
本文が MIME エンコードされたスパムが多くなっているのですが、これを nkf や kakasi に喰わせる前にデコードしなければなりません。あちこちの Web に nkf の “-m” で MIME デコードと書いてあったのでそれをそのまま信用していたのですが、実は “-m” だけでは何も起きていないことがわかりました。


参考までにnkf のソース(最新は 2.0.7) でオプションを解析する部分を見ると、


case ‘m’: /* MIME support */
/* mime_decode_f = TRUE; */ /* this has too large side effects… */
if (*cp==’B’||*cp==’Q’) {
mime_decode_mode = *cp++;
mimebuf_f = FIXED_MIME;
} else if (*cp==’N’) {
mime_f = TRUE; cp++;
} else if (*cp==’S’) {
mime_f = STRICT_MIME; cp++;
} else if (*cp==’0′) {
mime_decode_f = FALSE;
mime_f = FALSE; cp++;
}
continue;
(nkf.c より)


のようになっています。”-mB” とすると base64 のデコードをしますが、メール全体をデコードしてしまいます。


仕方ないので perl の Email::MIME を利用して MIME 形式のメールをデコードするスクリプトを作成しました。と言ってもとても簡単です。


#!/usr/bin/perl
# prebogo
use Email::MIME;

local $/;
my $message = <>;
my $parsed = Email::MIME->new($message);
my @parts = $parsed->parts;

print $parsed->_headers_as_string . “\n”;
foreach my $p (@parts) {
if ($p->content_type =~ /text/i) {
print $p->body;
}
}


これ (prebogo とする) を nkf の前に入れます。例えば newham スクリプトは次のようになります。


#!/bin/sh
prebogo | nkf -e | kakasi -w | bogofilter -n -v


判定用の bogo スクリプトは次の通りです。


#!/bin/sh
PATH=/bin:/usr/bin:/usr/local/bin:$PATH

for i in $*; do
prebogo $i | nkf -e | kakasi -w | bogofilter
if [ $? -eq 0 ]; then
echo $i
fi
done


「判定に用いるスクリプトのパフォーマンスが悪い」、「パートごとに charset が違うときはどうする?」、「content-type に “application/octet-stream” を指定してテキスト入れてくるスパムも除外したいなあ」等の問題はありますが、とりあえず今の段階ではここまでにしておきます。
2) データベースの内容
まずはどの程度の数のメッセージを学習させたか確認しようとしました。


bogoutil -w ~/.bogofilter/wordlist.db .MSG_COUNT


を実行すると学習させたメッセージの数が出力されるのですが、思ったほど数が増えていません。実は spam/ham の登録は、 mew の summary モードより以前の記事で作成した newspam/newham スクリプトを呼び出していたのですが、このときに bogofilter コマンドのオプションに “-N”/”-S” を指定して登録するのはまずいようです。


これらのオプションはメッセージを間違えて登録してしまった時にそれを取り消す場合のみ指定するもので、例えば “-S” については bogofilter のマニュアルに以下のような記載があります。


If -S is used for a message that wasn’t registered as spam, the counts will still be decremented.


ということは間違って登録したわけではないのにこれらのオプションを使ってしまうとカウントが減ってしまいます。


そこで newspam/newham スクリプト中の bogofilter 実行オプションを “-s -N” → “-s” 、”-n -S” → “-n” と変更しました。これも某所で見かけたオプションを深く考えず使っていました。newham は先の通りですが、newspam もついでに載せておきます。


#!/bin/sh
prebogo | nkf -e | kakasi -w | bogofilter -s -v


これらを改善してデータベースを作り直してから使うと大分判定が良い感じになりました。前の記事では書いていませんが、スパムだけでなくハム(正常なメール)も学習させておかなければなりません。特に nkf の “-m” オプションは、間違って使って「bogofilter は使えない」と思ってしまった人が結構いるのではないでしょうか。
教訓: きちんと自らオプションの意味を確認しなければならない。

2007. 6. 16 追記:

内容を修正して改訂版を作っていますのでこちらを参照ください。

(更に追記)
nkf はデフォルトの動作で、

Subject: =?iso-2022-jp?B?GyRCJUYlOSVIJWEhPCVrGyhC?=

のような行はデコードしてくれますね。いずれにせよ、

Content-Transfer-Encoding: base64

となっているパートをデコードしてくれるわけではないです。

ウイイレ10とゲーム打ち止め

実はW杯イヤーだから、ということでウイニングイレブン10を買って遊んでいました。ウイニングイレブン歴は、


・Jリーグ 実況ウイニングイレブン (95年版の元祖)
・ウイニングイレブン8
・ウイニングイレブン10


です。なので「8」の時は「おおっ」と思いましたが、「10」の時は「大した変化がないけどワールドカップメンバーで遊べるから・・・」という感じでした。
それでも、10を8に比べると以下のような理由から満足度が向上しています。


・ゴール前フリーのシュートが入りやすくなった
・トラップがしやすくなった
・オートトレーニングができるようになった
・名前を間違う実況が減った
・得点が入った後にメンバーチェンジができるようになった


マスターリーグをやり込んでメンバーも揃い、レベル星4つでも強豪と競り勝つようになりました。多くの人と同じように星3つと4つはかなり差があるように感じましたが、カーソルスピードをマニュアルからセミオートに戻したら調子よくなりました。こうなると気晴らししたいときはついついプレーしてしまうのですよね。


しかし。


仕事で疲れて帰ってくるカミさんの手前よろしくない&物心ついた子供にいつ見つからないとも限らない、というわけでゲームを卒業することにしました。決心が鈍らないようウイイレは夏休みに帰った実家においてきました。


実家で深夜にしっかり最後のプレーを楽しんでおきました。

てれびくん&テレビマガジン

息子の喜ぶ姿を見たくて、同じような雑誌を2冊も買ってしまいました。


「てれびくん9月号」=「リューケンドースペシャル DVD」が付いてくる
「テレビマガジン9月号」=「リュケンドーオリジナル魔弾キー」が付いてくる


テレビでは既に「ゴッドゲキリュウケン」しか出番がないようなのですが、この DVD だとこの前買ったばかりのフツーの「ゲキリュウケン」がふんだんに出てくるので、子供を納得させるのによいです。また、魔弾キーはその買ったばかりのゲキリュウケンに挿して遊ぶことができます。もともと付属していたキーに比べると挿したときの効果(サウンド&光)がチャチいのは、まあ仕方ないですかね。


おもちゃメーカーがプロモーションのために協力している企画なのでしょうが、昔から比べると付録はだいぶ豪華になっている気がします。メーカーが商売上手&必死になったということでしょうか。

イメチェン

思い立って調べてみました。「ヘタレな趣味」を YahooGoogle で検索するとなんとこのブログがトップに表示されます!!!


まあ、そんなところでトップになったところで何にもならないでしょうが・・・


しかし、喜びもつかの間、各ブログのエントリはインデックス化されていないようです。例えば “SGV-800” で検索しても全くヒットしません。これはちょっと頑張らなければならないぞ、と思いました。別にヒット数で競うつもりはありませんが、せめて、Google で “site:blogs.yahoo.co.jp/blogger323” を検索したときに複数のページが出てくるようにはしたいものです。


というわけで、このブログのレイアウトを変えてみました。トップページにブログエントリに含まれるキーワードを載せてみたのですが、検索エンジンの Crawler ロボットだけでなく読む人にも参考になるのではないかと思います。


未設定だと雰囲気が今ひとつかと思いアバターもつくってみました。内容についてはあまり気にしていません。


エントリも地道に増やさねば、ですね。

カブトムシが成虫になった!

イメージ 1

5月の終わりに父が孫(私の息子)のためにとカブトムシの幼虫を持ってきました。
実家は田舎なのでその辺を掘れば幼虫が出てくるのです。


そんな実家に育った私ですが、幼虫からカブトムシを育てたことはありません。
もっぱら成虫を捕まえてばかりでした。幼虫を飼った経験がある弟と妻(彼女は都会育ち
なので、幼虫は買ってもらうものでした)の話では、「カビたり」、「干からびたり」
して成虫になった試しはないとのことでした。


息子のためにも気合を入れて育てなければと Web 上の情報を収集し、得た結論は適度な
湿度を保ち、サナギになったら自ら地表に出てくるまでほじくり返したりしない、という
2点に気をつけることでした。


土が良いのか、一緒にいたダンゴムシのおかげか(?)カビが生えることもなく2ヶ月程
経過しました。そして…


無事に成虫が出てきました! とりあえずメスが3匹。
オスがいないのが不満ですが、それでも息子はカブトムシを毎晩のように眺めています。
あと2匹幼虫がいたはずなのですが、彼らはどうしているでしょう…


そんなこんなを会社の同僚にしたところ、天然自然児だったそのうちの一人は
「あんなもの、放っておけば成虫になるでしょ。」とのことでした。
さすがっ!