2005-02-08

λ SpamAssassin 3.x の local.cf

TLEC の spamassassin ユーザ定義ファイルをベースに以下の行を追加して運用している。

rewrite_header Subject          *****SPAM*****
bayes_path /var/service/spamd/log/main/bayes
bayes_learn_to_journal 1
auto_whitelist_path /var/service/spamd/log/main/auto-whitelist

body BODY_KOKOWOCLICK           /\$3\$3\$r\%\/\%j\%C\%\//
describe BODY_KOKOWOCLICK       KOKOWOCLICK
score BODY_KOKOWOCLICK  3.0

header SUBJECT_MAG2             Subject =~ /Weekly Mag2/
describe SUBJECT_MAG2           Weekly Mag2
score SUBJECT_MAG2              15.00

λ ProCurve Switch 3400cl-48G

ぷらっとホームで60万円。 GigabitEtherを使うマシンが25台以上ですごいトラフィックのあるような環境なら悪くない値段だな。

ルーターの冗長性対応(XRRP) ってなんじゃ?

λ GBASP ピカチュウエディション

うおーなんてきょーあくなデザインなんだ。GBASP の基板在庫一掃セールかもしれん。

DSだったら即買いなのだが…

λ [FreeBSD] jail の構築

/etc/fstab にあらかじめマウントポイントを記述しておく。今回 /home はループバックで書き込みもありで。

# Device                Mountpoint      FStype  Options         Dump    Pass#
/dev/ad0s1b             none            swap    sw              0       0
/dev/ad0s1a             /               ufs     rw              1       1
/dev/ad0s1f             /home           ufs     rw              2       2
/dev/ad0s1e             /usr            ufs     rw              2       2
/dev/ad0s1d             /var            ufs     rw              2       2
/dev/acd0               /cdrom          cd9660  ro,noauto       0       0
# for jail
/usr    /var/jail/mimori.org/usr        nullfs  ro              0       0
/home   /var/jail/mimori.org/home       nullfs  rw              0       0
/usr    /var/jail/other/usr      nullfs  ro              0       0
/home   /var/jail/other/home     nullfs  rw              0       0

jail ディレクトリツリーの作成。jail内の rc.conf により、svscan が起動するようになっている。

#!/bin/sh
makejail () {
        J=$1
        mkdir -p /var/jail/$J
        mkdir /var/jail/$J/usr
        mkdir /var/jail/$J/home
        mkdir -p /var/jail/$J/var/service
        mkdir /var/jail/$J/tmp
        chmod 1777 /var/jail/$J/tmp
        mount /var/jail/$J/usr
        mount /var/jail/$J/home
        mergemaster -a -p -D /var/jail/$J
        mergemaster -a -D /var/jail/$J
        echo 'svscan_enable="YES"' > /var/jail/$J/etc/rc.conf
        echo 'clear_tmp_enable="YES"' >> /var/jail/$J/etc/rc.conf
        cp /etc/resolv.conf /var/jail/$J/etc/resolv.conf
        cp /etc/localtime /var/jail/$J/etc/localtime
        cp /etc/wall_cmos_clock /var/jail/$J/etc/wall_cmos_clock
        cp /etc/mail/mailer.conf /var/jail/$J/etc/mail/mailer.conf
}
makejail mimori.org
makejail other

installworld 時に jail の中も更新するためのスクリプトを準備しておく。(というか実際使った)

#!/bin/sh
instjail () {
        local J=$1
        make -k installworld DESTDIR=$J
        find $J/bin -xdev -perm +4000 | xargs chflags noschg
        find $J/bin -xdev -perm +4000 | xargs chmod u-s
        find $J/sbin -xdev -perm +4000 | xargs chflags noschg
        find $J/sbin -xdev -perm +4000 | xargs chmod u-s
}
cd /usr/src
date
make installworld
date
instjail /var/jail/mimori.org
instjail /var/jail/other

/etc/rc.conf に jail 起動のための設定

## Jail
jail_enable="YES"
jail_list="mimori other"
jail_set_hostname_allow="YES"
jail_socket_unixiproute_only="YES" # Route only TCP/IP within a jail
jail_sysvipc_allow="NO" # Allow SystemV IPC use from within a jail

jail_mimori_rootdir="/var/jail/mimori.org"
jail_mimori_hostname="mimori.org"
jail_mimori_ip="221.253.81.26"
jail_mimori_exec="/bin/sh /etc/rc"
jail_mimori_devfs_enable="YES"
jail_mimori_fdescfs_enable="NO"
jail_mimori_procfs_enable="NO"
# jail_mimori_devfs_ruleset="devfsrules_jail" # refer /etc/defaults/devfs.rules

jail_other_rootdir="/var/jail/other"
jail_other_hostname="hwkk.com"
jail_other_ip="221.253.81.29"
jail_other_exec="/bin/sh /etc/rc"
jail_other_devfs_enable="YES"
jail_other_fdescfs_enable="NO"
jail_other_procfs_enable="NO"
# jail_other_devfs_ruleset="devfsrules_jail" # refer /etc/defaults/devfs.rules

λ [FreeBSD] jail内で apache2 を起動するための作業

  • jail はあらかじめちゃんと起動しないと、jail内の /dev/random 等のデバイスファイルがなくてコケるので注意
  • pw groupadd, pw useradd で必要なユーザーを追加
  • apache2 は suexec が対応するUserDirが固定になってしまうため、./configure --prefix=/local (その他オプション多数) から自力make
  • /etc/ssl/certs に証明書を置く
  • /local/conf の httpd.conf, ssl.conf を書く
  • daemontools 管理下で apache2 の httpd を起動する

メールについては、Postfixをjail内に入れるかどうか悩み中。

λ [FreeBSD] /etc/pw.conf

ユーザのスケルトンディレクトリのデフォルトは /usr/share/skel だが /usr/share の下はなるべくいじりたくないため、 /local/share/skel 以下にコピーし、ローカルのスケルトン設定を置くことにした。

/etc/pw.conf には、以下の行を作成。

skeleton /local/share/skel

λ Virtual Server 2005 でのドメイン コントローラ の実行

ドメインコントローラーの機能を Virtual Server にやらせるってのは、かなりイケてる感じがする。

λ cacti ファーストインプレッション

Device → Graph Management の順で、ネットワークトラフィック・ディスク容量・Load Average のグラフが取れるようになった。 Load Average の3色グラフはかっこいいね。

今までMRTGで取っていたのもこの程度なので、MRTGからの移行は楽にできそう。

λ トヨタ生産方式とISO9000との関係

無駄な書類を作るのが仕事になると不幸だな。

λ Japan SE Linux Users Group

FedoraCore3 では SE Linux がデフォルトで有効になっていて色々ハマる、らしい。 軽く概念ぐらいは把握しないと。ps -axZ とかやると、とりあえず security context が見える。

しかしまじめに SE Linux 使うぐらいなら、Solaris 10 の Trusted Solaris 機能のがOSの歴史に対する安心感がある。

本日のツッコミ(全2件) [ツッコミを入れる]
λ TT (2005-02-28 12:39)

jail環境にinstallする際、make -k distribution DESTDIR=$J -DNO_MAKEDEV_RUNも行わないと必要なファイルがそろわないと思います。(http://www.mimori.org/~h/tdiary/20030918.htmlではされています)

λ 上美谷 (2005-02-28 13:38)

FreeBSD 4系ではそうだったんでしょうけど、
今回の5.3Rでは make distribution ... をやらないでもうまく動いているようです。
細かく検証していませんが mergemaster のおかげのように見えました。

[]