トップ 一覧 検索 ヘルプ RSS ログイン

BsdSetupの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!/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
と戻して完了。