■ qmHandle
http://sourceforge.net/projects/qmhandle
Perlスクリプトなのでサーバにアップロードして chmod 755 で実行可能。
実行オプションは以下の通り
Available parameters: -a : try to send queued messages now (qmail must be running) -l : list message queues -L : list local message queue -R : list remote message queue -s : show some statistics -mN : display message number N -dN : delete message number N -fsender : delete message from sender -f're' : delete message from senders matching regular expression re -Stext : delete all messages that have/contain text as Subject -h're' : delete all messages with headers matching regular expression re (case insensitive) -b're' : delete all messages with body matching regular expression re (case insensitive) -H're' : delete all messages with headers matching regular expression re (case sensitive) -B're' : delete all messages with body matching regular expression re (case sensitive) -t're' : flag messages with recipients in regular expression 're' for earlier retry (note: this lengthens the time message can stay in queue) -D : delete all messages in the queue (local and remote) -V : print program version Additional (optional) parameters: -c : display colored output -N : list message numbers only (to be used either with -l, -L or -R)
http://www.atmarkit.co.jp/flinux/rensai/qmail03/qmail03c.html
SSHへのブルートフォースアタック(ID, PASS 総当たり攻撃)は必ず経験する攻撃の一つです。 ブルートフォースアタックへの対応策(ID,PASSでのSSHログインを不可にする)は必ずしておきましょう。
ブルートフォースアタックを受けていることを確認するにはログファイルを確認します。 まずログファイルの場所を確認し、そのログファイルを参照します。
cat /etc/syslog.conf
Fedora や CentoOSの場合下記コマンドで確認できます。
cat /var/log/secure | grep "Invalid user"
cat /var/log/secure | grep "Failed password"
cat /var/log/messages | grep "failure"
webmin で見る場合
【システム】→【システム ログ】から該当のログを表示できる
vi /etc/ssh/sshd_config
以下の設定を追加する
PasswordAuthentication no
ChallengeResponseAuthentication no
PermitRootLogin no (通常 no をおすすめします)
PermitRootLogin without-password ( root で直接ログインする必要がある場合はパスワードログイン以外を許可します)
Port 22222 (デフォルトポート 22 を変更する)
sshd の再起動
service sshd stop
service sshd start
/etc/hosts.deny
以下を追加 (IP:123.456.789.123 からの ssh 接続を拒否する場合) (IP:999.999.999.999 からの 全ての接続を拒否する場合)
sshd: 123.456.789.123
ALL : 999.999.999.999
http://denyhosts.sourceforge.net/ から DenyHosts-2.6.tar.gz をダウンロード
tar zxvf DenyHosts-2.6.tar.gz
cd DenyHosts-2.6
python setup.py install
# インストールが完了したらコンフィグファイルをコピーし所有者と権限を変更する
cd /usr/share/denyhosts/
cp denyhosts.cfg-dist denyhosts.cfg
cp daemon-control-dist daemon-control
chown root daemon-control
chmod 700 daemon-control
denyhosts.cfg を編集する
vi /usr/share/denyhosts/denyhosts.cfg
設定例
# 4週間経過すると拒否対象から解除してあげる
PURGE_DENY = 4w
# 拒否解除を2回行うとそれ以降は解除しない
PURGE_THRESHOLD = 2
# 「存在しないユーザでの認証失敗5回」で拒否ホストに認定
DENY_THRESHOLD_INVALID = 5
# 「存在するユーザでの認証失敗10回」で拒否ホストに認定
DENY_THRESHOLD_VALID = 10
# 「rootユーザでの認証失敗1回」で拒否ホストに認定
DENY_THRESHOLD_ROOT = 1
# メールにて通知
ADMIN_EMAIL = your@email.address
# メールタイトルを指定する
SMTP_SUBJECT = DenyHosts Report Server( yourhost.server )
自動起動の設定をする
cd /etc/init.d
ln -s /usr/share/denyhosts/daemon-control denyhosts
chkconfig denyhosts on
denyhosts の起動
service denyhosts start
間違って自分のホストが denyhosts によって拒否された場合は
vi /etc/hosts.allow
として 接続を許可したい IP を追加します
sshd: 123.123.123.123
lsof(エルエスオーエフ)コマンドは"list open files"の意味であり、多くのUnix系オペレーティングシステムで、オープン中のファイルと、そのファイルをオープンしているプロセスのリストを出力するコマンドである。
lsof -c ssh lsof -c httpd lsof -c vsftp
lsof -i:80
netstat -a 5