ライブドアが!?...とパケットフィルタ解決編
「ライブドアが民事再生手続きへ!」
今朝、メールニュースの「ITmedia Headlines」を眺めていたらこんな記事が!!!!
「何っ!」と思いURLを開いて記事を読んでみると...「あれれ、なんかおかしいなぁ。」
なんと2002年10月31日の記事でした...(^-^;A アセアセ
今日の朝刊のランキング2位に載るなんて紛らわしい...。
さて、今日は WebMail をセッティングしようと思い、Squirrelmail をインストールしようとした。
ports には japanese/squirrelmail という日本語対応したものがあるので、そちらをインストールした方が後々の管理が楽。
早速インストール!....と思ったら
===> Vulnerability check disabled, database not found
=> squirrelmail/squirrelmail-1.4.3a.tar.bz2 is not in /usr/ports/japanese/squirrelmail/distinfo.
=> Either /usr/ports/japanese/squirrelmail/distinfo is out of date, or
=> squirrelmail/squirrelmail-1.4.3a.tar.bz2 is spelled incorrectly.
*** Error code 1
おりょりょ?
よくよく調べてみると、Squirreimail は version が 1.4.4 になっていたが、japanese/squirrelmail は 1.4.3a_5,2 のまま。
mail/squirrelmail をインストールして日本語パッチを当てる方法もあるが(前にテストしたときはこれをやっていた)、「まぁ、別に急ぐことじゃないや」ってことで、japanese/squirrelmail が 1.4.4 になるのを待つことにした。
ということで、PF のパケットフィルタについてのお勉強をすることにした。
http://www.openbsd.org/faq/pf/ja/ のパケットフィルタのページをよく読む。
で、いろいろと試してみる。
その結果、下記の設定ファイルに決定することにした。
# vi /etc/pf.conf
# ネットワークインターフェイス定義
ext_if = "xl0"
# ローカルネットワーク定義
priv_net = "192.168.0.0/24"
# 外部へ開くポートの定義(5999:cvsup,****:ssh)
tcp_services = "{ 5999, **** }"
# パケットの正常化
scrub in all
# 全てのパケットをブロック
block in all
# ローカルホストは全てパスさせる
pass quick on lo0 all
# アドレス詐称に対する防御
antispoof quick for $ext_if inet
# ローカルネットワークはパスさせる
pass in on $ext_if from $priv_net to any
pass out on $ext_if from any to $priv_net
# 外部に対して開くポートを設定する
pass in on $ext_if inet proto tcp from any to ($ext_if) \
port $tcp_services flags S/SA keep state
pass out on $ext_if proto tcp all modulate state flags S/SA
pass out on $ext_if proto { udp, icmp } all keep state
cvsup もできるし、NTP,DNS も問題ない。tcp_services に設定したポート以外は外部から接続できない...と思う。
まぁ満足する内容でしょ。
ちなみに、ssh のポートを変更しているのは、ssh ポートをデフォルトの 22 にしていると 22 に対してブルートフォースアタックが毎日頻繁に行なわれるから。
マシンにも負荷がかかると思うし、/var/log/auth.log がブルートフォースアタックのログであふれて気分悪い。
相手はどうせ機械的にデフォルトのポート No に対してアタックしているだけのようなので、ポート No を変えるだけで、/var/log/auth.log のログが自分がアクセスしたログだけになって気持ちがいい。
WWW サーバーを立ち上げて https でアクセスする場合もポート No を変えたほうがいいかなぁ。
まぁともかく、また一歩前進。