*maxlogins [#u02e0ba2]
[[Integrated Technical Solutions:http://www.teamits.com/]] で配布されている、ssh に対する brute force attack に対抗するためのツール。perl で記述されている。v2.0 では時限制御機能も搭載した。ここでは v2.0 について述べる。
#contents
**インストール [#e0fe0207]
[[ITS のページ:http://www.teamits.com/resources/]]からリンクをたどって maxlogins.txt という perl スクリプト本体をダウンロードする。&br;
ダウンロードしたファイルを perl のスクリプトファイルだとわかりやすいように、名前の変更を行う。
 # mv maxlogins.txt maxlogins.pl
次に&attachref(maxlogins.patch,,この patch ファイル);をダウンロードして、適用する。
 # patch < maxlogins.patch
これはそのままでは対応していない以下の警告を検知するためである((パスワードによる認証を許可していない場合、"sshd[00000]: Failed password for root from 10.0.0.1 port 55555 test" といった警告がログには残らない。))。
 sshd[234]: Invalid user test from 10.0.0.1
 sshd[345]: Did not receive identification string from 10.0.0.1
ファイルの所有権を変更し、実行属性をつけたら、/usr/local/bin やそのほかの好きなところに移動する。
 # chown root:wheel maxlogins.pl
 # chmod 750 maxlogins.pl
 # mv maxlogins.pl /usr/local/bin/
/etc/syslog.conf に以下を追加する。コマンドラインオプションを使用するならば、一緒に記述する。
 auth.info;authpriv.info        |exec /usr/local/bin/maxlogins.pl
/etc/hosts.allow の先頭に以下を追加する。このとき必ず ALL : ALL : allow という行よりも上に記述する((hosts.allow は 1 行目から順に適用されるので、"ALL : ALL : allow" より下に書くと、接続が拒否されない。))。
 sshd : /var/log/whiteist : allow
 sshd : /var/log/maxlogins : deny
/var/log/whitelist 内に常に接続を許可する IP やホスト名を記述する((記述の仕方は hosts_access(5) を参照))。仮に以下のようにした。
 127.0.0.1
 .example.net
最後にこれまでの変更を反映させるために syslogd を再起動する。
 # /etc/rc.d/syslogd restart
**コマンドラインオプション [#k8e4590b]
- badipfile | -b&br;
拒否する IP のリストを書き込むファイルを指定する。安全上 root 権限を持つものしか書き込めない場所を使用すること。初期値は /var/log/maxlogins
- expire | -e&br;
接続を拒否し続ける時間を指定する。1d や 24h, 1440m, 86400s 等と指定する。初期値は 12h
- kill | -k&br;
接続を拒否する際、接続に使用している sshd のプロセスを修了する。0 を指定すると、プロセスを修了しない。初期値は 1
- loglevel | -l&br;
/var/log/auth.log に書き込むログレベルを指定する。初期値は 1
 1: informational (e.g., new blocks)
 2: above, plus IP expirations
 9: verbose logging
- maxattempts | -a&br;
接続を拒否するまでの試行回数を指定する。最大値は 50。初期値は 3
- maxsuspects | -s&br;
同時に接続を監視する最大数。接続元の IP は攻撃開始後 24 時間経過するか、新しい監視 IP が指定値を超えるまで監視を続けられ、この間に maxattempts を超える回数接続に失敗すると、接続を拒否される。最大値は 50。初期値は 3
- version | -v&br;
maxlogins のバージョンを表示する。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS