!!/etc/make.conf CPUTYPEのようなコンパイラフラグだけでなく、アップデートとか の設定が詳細に設定できる。 /usr/share/examples/etc/make.conf に雛形がある。 ::ソースツリーのUPDATE CVSupに頼らなくても、/etc/make.conf に SUP_UPDATE= yes SUP= /usr/bin/csup SUPFLAGS= -g -L 2 SUPHOST= cvsup.jp.FreeBSD.org SUPFILE= /usr/share/examples/cvsup/stable-supfile DOCSUPFILE= /usr/share/examples/cvsup/doc-supfile としてやれば、/usr/src にて make update で更新できる。 ::Portsツリーの更新 同じく/etc/make.conf に PORTSNAP_UPDATE= yes とすれば、/usr/ports にて make update で更新できる。 ::OpenOffice.org コンパイル 日本語lacaleでビルドするには .if ${.CURDIR:M/usr/ports/editors/openoffice.org*} !="" LOCALIZED_LANG= ja WITH_SYSTEM_FREETYPE= yes .endif としておく !!BruteForceBlocker FreeBSD-5以降はPFを用いたBruteForceアタック対策が可能 /usr/ports/security/bruteforceblocker で[bruteforceblocker|http://danger.rulez.sk/projects/bruteforceblocker/]をインストールする。 *5-STABLEでは/usr/local/bruteforceblocker (Perlスクリプト)の中の if (/.*Failed password.*from ($work->{ipv4}|$work->{ipv6}|$work->{fqdn}) port.*/i || /.*Invalid user.*from ($work->{ipv4}|$work->{ipv6}|$work->{fqdn})$/i || を if (/.*Failed unknown for illegal user.*from ($work->{ipv4}|$work->{ipv6}|$work->{fqdn}) port.*/i || /.*Illegal user.*from ($work->{ipv4}|$work->{ipv6}|$work->{fqdn})$/i || と変更する必要があるようだ。 [参照|http://blog2.arazio.net/archives/2006/06/bruteforceblock_2.html] PFを用いるので、/etc/pf.conf の中で table persist file "/var/db/ssh-bruteforce"  block in log quick proto tcp from to any port ssh をセットする。 また、syslogdと連動させるために、/etc/syslog.conf に auth.info;authpriv.info | exec /usr/local/sbin/bruteforceblocker を追加しておく。 また、当然 /etc/rc.conf で pf_enable="YES" pflog_enable="YES" しておく。 (追記) /var/db/ssh-bruteforce のサイズが大きくなると、再起動時にpfが設定ファイルを読み込めなくなりデーモンが立ち上がらなくなる。 一旦、/var/db/ssh-bruteforce を消去して、bruteforceblockerを少し動かして新しい/var/db/ssh-bruteforceを作成しなおすのに加え、 # sysctl net.pf.request_maxcount=400000 のように、net.pf.request_maxcountを適宜大きく設定する、もしくは /etc/sysctl.conf に書き入れて起動時設定する。 !!sshguard BruteForceBlockerがportsからなくなったので、sshguardに移行。これもpfと連携できる。 security/sshguard をインストールし、/etc/rc.conf に sshguard_enable="YES" を追加。/usr/local/etc/sshguard.conf を編集し、pfと連動するには BACKEND="/usr/local/libexec/sshg-fw-pf" PID_FILE=/var/run/sshguard.pid をコメントアウトする。 /etc/pf.conf には table persist block in proto tcp from を加えておく。再起動すると有効になる。ログについては何もしなくても /var/log/auth.log や /var/log/messages に残る。 !!マシン更新にともなうユーザアカウントの移行 まずは、旧マシンの /etc/master.passwd を新マシンにコピーする。 OSが新しくなると予約されているアカウントが変わるため、必要な行だけ コピーする方が良い。 # pwd_mkdb -p /etc/master.passwd とすれば、旧マシンのユーザのパスワードが新マシンで有効になる。 エラーがでなければ、/etc/group も同様に必要な行をコピーする。 /usr/home と /var/mail を rsync を使って同期するが、その前に新マシンの sshdを一時的にルートログイン可能にしておく。 /etc/ssh/sshd_config を編集し、 PermitRootLogin yes としてやる。そして、旧マシン側から、 # rsync -av -e ssh /usr/home/ root@新マシンIP:/usr/home # rsync -av -e ssh /var/mail/ root@新マシンIP:/var/mail IPはホスト名でもよいが、コピー元のディレクトリ名の後に「/」はつける 必要があるので注意する。コピー先は「/」をつけてもつけなくても同じ。 無事コピーが終わったら、ユーザディレクトリやメールスプールの所有権を 確認し、最後に/etc/ssh/sshd_config を PermitRootLogin no と戻して完了。