現在、いくつかのサーバを設定中なのだが、サーバ稼働した途端にブルートフォースアタックの餌食になっているという由々しき事態。
そこで、sshguardのインストールを試みたのだが、どうもiptablesにDROPとして追加されても結局はアタックを「拒否しない」様子。
結局、denyhostsをインストールしました。
今回はインストール手順を記載します。OSはCentOS5.xxでお考え下さい。
1.RPMを探してきてインストール
探す方法はいろいろありますが、結局はRPMSearchで探しました。
[bash]
wget ftp://ftp.pbone.net/mirror/centos.karan.org/el5/extras/testing/x86_64/RPMS/denyhosts-2.6-7.el5.kb.noarch.rpm
rpm -Uvh ftp://ftp.pbone.net/mirror/centos.karan.org/el5/extras/testing/x86_64/RPMS/denyhosts-2.6-7.el5.kb.noarch.rpm
[/bash]
2.syslog-ngの設定を変更する。
syslog-ngに対して、日付でディレクトリを作成するような設定にしている場合、”/etc/syslog-ng/syslog-ng.conf”の設定を一部追加します。
下記2行目は、facility(authpriv)辺りを書き出す処理に対して、今回のログファイル設定を加える、という形になります。
[bash]
destination d_denyhosts { file(“/var/log/secure”); };
log { source(s_sys); filter(f_auth); destination(d_auth); destination(d_denyhosts); };
[/bash]
2.denyhosts.confファイルを編集
設定ファイルである”/etc/denyhosts.conf”ファイルを編集します。
[bash]
# アクセス拒否を続ける時間 (12時間に設定)
PURGE_DENY = 12h
# ログイン失敗に対するしきい値(存在しないユーザでログインを試みる)
DENY_THRESHOLD_INVALID = 3
# ログイン失敗に対するしきい値(存在するユーザでログインを試みる)
DENY_THRESHOLD_VALID = 5
# イベント発生時のメール送信先
ADMIN_EMAIL = [email protected]
# メール送信元
SMTP_FROM = DenyHosts
[/bash]
3.設定ファイルの編集が終わったら、保存して起動してみます。
[bash]
/etc/init.d/denyhosts start
[/bash]
起動後は必ず起動しているかどうかを確認します。
かなり頻繁にアタックを受けている場合は起動するとすぐに”/etc/hosts.deny”に書き込みがあるはずです。
それも確認しておいて下さい。