SPAMによってたまったメールを取り除く qmHandle

■ 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

No.699

06/22 11:07

スパム対策


SSHへのブルートフォースアタック(ID, PASS 総当たり攻撃)への対応

SSHへのブルートフォースアタックは必ず経験する攻撃の一つです。

ブルートフォースアタックへの対応策は必ずしておきましょう。

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 で見る場合

【システム】→【システム ログ】から該当のログを表示できる

対応策 1. /etc/ssh/sshd_config を変更する
vi /etc/ssh/sshd_config

以下の設定を追加する

# 最大同時認証数数を3にする
MaxAuthTries 3
# 2つを超える認証受付は90%の確率で遮断。4つを超えると全て遮断
MaxStartups 2:90:4
MaxAuthTries (最大認証試行回数)
             1接続あたりの認証を最大で何回まで試みることができるかを指定しま
             す。ここで指定された半数以上の認証が失敗すると、それ以降の失敗は
             ログに記録されます。デフォルトの値は 6 です。

MaxStartups (最大起動数)
             認証されていない段階の接続を sshd デーモンが最大でどれだけ受けつ
             けるかを指定します。この値を超えた (認証されていない段階の) 接続
             は捨てられます。この状態は (すでに接続したクライアントの) 認証が
             成功するか、その LoginGraceTime (ログイン猶予時間) が切れるまで続
             きます。デフォルトではこの数は 10 です。

             もうひとつの方法は、早いうちからランダムに接続を拒否するよう指定
             することです。これはこのオプションにコロンで区切った 3つの値を与
             えることによりおこないます。この値は ``start:rate:full'' (``開始
             時:確率:最大数'') の形をとります (例: "10:30:60" など)。 sshd は
             認証されていない段階の接続が ``start'' (この例では 10) 個を超える
             と、これ以後の接続要求を ``rate/100'' (この例では 30%) の確率で拒
             否しはじめます。この確率は ``full'' (この例では 60) 個の接続が来
             るまで線形に増えつづけ、最大数に達した時点でそれ以降すべての接続
             を拒否するようになります。

http://www.unixuser.org/~euske/doc/openssh/jman/sshd_config.html

sshd の再起動

service sshd stop
service sshd start

対応策2. /etc/hosts.deny に手動でアクセスしてほしくないホストを追加する
/etc/hosts.deny

以下を追加

(IP:123.456.789.123 からの ssh 接続を拒否する場合)

(IP:999.999.999.999 からの 全ての接続を拒否する場合)

sshd: 123.456.789.123
ALL : 999.999.999.999

対応策3. /etc/hosts.deny にアクセスしてほしくないホストを自動追加する「denyhosts」を導入する

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

引用と詳しい解説:http://d.hatena.ne.jp/con_mame/20080126


その他にはBruteForceBlocker インストール するという手もあります

参考:http://nakoruru.jp/?p=233

No.644

06/22 11:07

スパム対策


netstat lsop

lsof(エルエスオーエフ)コマンドは"list open files"の意味であり、多くのUnix系オペレーティングシステムで、オープン中のファイルと、そのファイルをオープンしているプロセスのリストを出力するコマンドである。
lsofコマンドの実行(コマンドで指定)
lsof -c ssh
lsof -c httpd
lsof -c vsftp
lsofコマンドの実行(ポートで指定)
lsof -i:80
NETSTATでポートを調べる(5秒ごと)
netstat -a 5

No.616

03/26 14:20

スパム対策




Powered By flat memo Ver 1.31 ©2012 econosys system