- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!!/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 <bruteforce> persist file "/var/db/ssh-bruteforce"
block in log quick proto tcp from <bruteforce> 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がportからなくなったので、sshguardに移行。これもpfと連携できる。
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 <sshguard> persist
block in proto tcp from <sshguard>
を加えておく。再起動すると有効になる。ログについては何もしなくても /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
と戻して完了。