SSブログ

Postfix を勉強しないとだめ? [comp]

Mac OS X の /var/spool/mail/postfix/maildrop にファイルがいっぱい。
Postfix を普段、というか一度も動かしてないせいなのか。中身が気になる。
/var/log/mail.log の記録時刻からすると、cron が出しているメールだろうか。
実際にファイルを置いているのは Postfix の postdrop らしい。

これを消すのではなく、できれば普段使うアカウントへ配送したい。
25番ポートを開けずに、このディレクトリを片づけられないものか。
何も考えず postfix start するのはまずいし、やりたくない。
scmail を通して Maildir に配送するのが一番の解。どうしたものか...。

Debian を使っていたから Exim なら触ったことあるけど、Postfix は知らない。
メールサーバを運用するならやる気も出るけど、掃除だけのために勉強したくないなあ。


ようこそ、無線 LAN [comp]

親機は Apple AirMac Express、子機は Planex GW-NS54G。
今は Win XP 機しかないけど、近々 Mac を買おうと思っているので、
AirMac ベースステーションを使う構成にしてみた。
Planex GW-NS54G は AirMac カードとチップが同じらしいから、なんとなく。
まあ 11g 規格に準じているからつながらない方がおかしいけど、
チップが同じならよっぽどのことがない限り安心だろうという素人考え。

まず、AirMac 管理ユーティリティで AirMac の設定。

- AirMac タブ
ワイヤレスセキュリティを『WPA パーソナル』に設定。
Windows のユーティリティなら『家庭用/小規模オフィス用 WPA』。
その他、パスワードなどもここで設定。ネットワークは非公開に。

- インターネットタブ
DHCP で IP アドレスをリースする ISP なので、接続方法を『Ethernet』にして、
『DHCP サーバを参照』を選ぶ。

- ネットワークタブ
『IP アドレスを割り当てる』と『単一の IP アドレスを共有する』を選ぶ。
プライベート IP は 192.168.1.1 にした。

他のタブはデフォルトのまま。
これで AirMac をアップデートして再起動すると、グローバル IP が割り振られる。
インターネットタブでその結果がわかる。

次に、クライアントの GW-NS54G の設定。
ドライバのインストールはマニュアルに従って済ませておく。

1. ネットワーク接続を開き、利用できるワイヤレスネットワークの表示をクリック。
上の AirMac の設定では、ワイヤレスネットワーク一覧にはまだ何もないはず。
というのも、非公開ネットワークにしたから。

2. 優先ネットワークの順位の変更をクリックして、
ワイヤレスネットワーク接続のプロパティを開き、
ワイヤレスネットワークタブを選ぶ。

3. 一番上にある『Windows でワイヤレスネットワークの設定を構成する』
にチェックを入れる。

4. 優先ネットワークの追加ボタンをクリックして、アソシエーションタブを選ぶ。

5. ネットワーク名 (SSID) には、AirMac ネットワークの名前を入力。
ネットワーク認証は『WPA-PSK』、データの暗号化は『TKIP』を選ぶ。
これは AirMac の設定に合わせただけ。他の設定にしたなら、それに合わせる。

6. ネットワークキーには AirMac ネットワークのパスワード
(Windows の AirMac 管理ユーティリティなら『事前共有キー』) を入れる。
これを AirMac ベースステーションそのもののパスワードと間違えないこと。
それと、ネットワークを見つけたら自動接続するように、接続タブで設定する。

7. OK をクリックしてワイヤレスネットワーク接続のプロパティに戻り、
全般タブを選ぶ。インターネットプロトコル (TCP/IP) を選び、
プロパティをクリックして、TCP/IP のプロパティを開く。

8. 全般タブで『IP アドレスを自動的に取得する』と
『DNS サーバーのアドレスを自動的に取得する』をそれぞれチェック。
これは、Mac/PC に割り当てる各プライベート IP アドレスを
AirMac の DHCP サーバから取得するということ。

9. OK をクリックしてワイヤレスネットワーク接続のプロパティに戻る。
そしてもう一度 OK して、このプロパティを閉じる。

さっき自動接続の設定をしたなら、この時点で接続済みになる。
Win XP 機には 192.168.1.x のようなアドレスが与えられている。
これでおしまい。

書くと長いけど、実際はあっというまだった。
LAN ケーブルに縛られないというのは、実にスマートだなあ。快適。


.fetchmailrc を修正 [comp]

fetchmail の設定を直した。
新着メールを POP サーバから取ってこなくなっていたからだ。
何通かは取ってきていたのに...。しかもサーバにもよってはうまくいくものもある。
fetchmail -v で標準出力を見ると "cannot get a range of message sizes" らしい。
Google で先人の教えを請うと、~/.fetchmailrc で

set
	invisible

defaults
[...]
	no mimedecode
	fetchsizelimit 0

poll
[...]

のように fetchsizelimit を指定すれば、ちゃんと取ってくるようになるとのこと。
ついでに、ローカルな Received ヘッダを追加しない set invisible も設定。

問題は解決したけれど、もうしばらく keep オプションつけとこう。


メール環境: fetchmail/scmail/scbayes [comp]

幸い、量の上では SPAM メールにまだ悩まされていないけれど、
一通でも届けば不愉快なことにかわりはない。
これまでに届いた分は Apple Mail の SPAM フィルタに学習させながら、
大事に大事に取っておいた。せっかくの学習材料だから。

さて、IMAP に移行したので、MUA とは独立して SPAM 処理したくなった。
のちのち優れた MUA が現れたとき、乗り換えのしきいも低くなるし。
今こそ取っておいた SPAM メールを活かすときだ。

で、タイトルのとおり、fetchmail, scmail, scbayes を組み合わせて
MUA の手前までのメール環境を整えてみた。

fetchmail は Mac OS X に標準でインストールされている。
fetchmail の設定は Google に丸投げするとして、~/.fetchmailrc の例だけを。

defaults
	protocol apop
	uidl
	keep
	no rewrite
	mda "/opt/local/bin/scmail-deliver"
	no mimedecode

poll
	pop.XXX.so-net.ne.jp
	username "ユーザ名"
	password "パスワード"

テスト中なので、メールをサーバに残す keep オプションを指定してある。
mda オプションに設定したのは scmail のメール配送・振り分けコマンド。

scmail/scbayes には Scheme インタプリタ Gauche が要るので、
前もってインストールしておく。
僕は DarwinPorts の Portfile を書き換えて、最新の 0.8.3 を入れた。
scmail はメール振り分けをするメールフィルタ。~/.scmail/config は次のとおり。

;; -*- scheme -*-
(
 :smtp-host "localhost"
 :log-file  "~/.scmail/log"
 :umask     #o077

 ;; for usual mail filtering
 :refile-rules  "~/.scmail/refile-rules"
 :deliver-rules "~/.scmail/deliver-rules"

 ;; for spam filtering
 :token-table   "~/.scmail/token-table.dbm"
 :digest        "~/.scmail/digest.dbm"

 ;; for Maildir
 :mailbox   "~/Library/Maildir"
 :inbox     "INBOX"
 :spam      "Junk"   ; a folder for spam mails
 :mailbox-type  maildir
)

なお、これは Binc IMAP の設定 (抜粋) で、

depot = "IMAPdir",
path = "Library/Maildir",

としている場合の対応する。フォルダ Junk は適当に作っておく。
refile-/delever-rules は、scbayes を使う設定を残してコメントアウト。
その scbayes は最近主流になった Bayes 検定を用いたスパムフィルタ。
scmail といっしょにインストールされる。
あとは、SPAM と 非 SPAM メールの学習をさせて確率テーブルを作るだけ。
手順は scbayes のページにあるとおり。
とりあえず、典型的なメールのあるフォルダをそれぞれの学習に使った。

fetchmail は crontab で動かしている。サイレントモードで標準出力を抑制。
深夜にメールが来てもどうせ読まないので、6 時から 24 時台に 15 分間隔で。

 0-59/15  6-23,0  *  *  *  /usr/bin/fetchmail --silent

使い始めてまもないけど、これまで scmail/scbayes は間違いなく振り分けている。

ところで、以前は scmail の代わりに procmail を使っていた。
でも、数年前に設定をした (レシピを書いた) きりで使うばかりだったせいか、
レシピの書き方をきれいさっぱり忘れた。他で活用できないその文法が懐かしくもある。
この記事の『procmail 恐怖症』には納得。


Apache worm (W32.HLLW.Gaobot.gen) [comp]

新年早々、

SEARCH /\x90\x02\xb1 (略)

というアクセスログがあって、何事かと思ったら MS IIS/WebDAV へのアタック跡らしい。
今までこういうのとは無縁な環境にいたからなあ。

例えば、common フォーマットで記録しているなら、

LogFormat "%h %l %u %t \"%!414r\" %>s %b" common

として、ステータスコード 414 の場合には記録しないように、httpd.conf を変更した。

他に、virtual host で対処する方法もあるとのこと。
詳しくは上の SEARCH ... をキーワードに検索してください。


この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。