SMTPログインに失敗することがよくあります。私は本当にそれを守りたいのですが、これらの試みの記録は悪いです。
私はsendmail 8.15、cyrus-sasl 2.1.26を使用しています。 SASL 設定は最も簡単な方法であり、デフォルトでは pam_unix を使用して認証に使用します。
私はしばしば次のログメッセージを受け取ります。
saslauthd[8292]: pam_unix(smtp:auth): check pass; user unknown
saslauthd[8292]: pam_unix(smtp:auth): authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=
saslauthd[8292]: DEBUG: auth_pam: pam_authenticate failed: Authentication failure
saslauthd[8292]: do_auth : auth failure: [user=colby] [service=smtp] [realm=] [mech=pam] [reason=PAM auth error]
つまり、偽のログイン試行が発生していることがわかりますが、Fail2banを刑務所に閉じ込めるなど、これについて私ができることは何もありません。
Sendmailがpam_unixに情報を渡してダンプするのが問題なのか、それともsendmailがpamに試している場所を知らせないのが問題なのかはわかりません。
私が望むのは、そのIPアドレスを使用して認証試行を記録することです。したがって、失敗が多い場合、fall2banはそのIPを刑務所に入れることができます。
ベストアンサー1
ここのセッションは、メール転送エージェントと次に区別されますsaslauthd
。
testhost saslauthd[17177]: do_auth : auth failure:
[user=AzureDiamond] [service=smtp] [realm=] [mech=pam]
[reason=PAM auth error]
必要なログ全体をデフォルトで使用できないか、一部のログ集約サービスで再構成する必要があります。 (Postfixを使用するとロギングもひどいですsaslauthd
。一部のログはメールログに残り、他のログは別の場所に表示されます。)Sendmailはカスタムsyslogルールをサポートしています。ただし、クライアントが、、、、EHLO nurse
失敗(配信または単に切断)のみを発行した場合。 ) 一般的なルールセットフックを実行する機会を提供しない場合があります。AUTH LOGIN
QXp1cmVEaWFtb25k
SHVudGVyMg==
quit
11(またはそれ以上)に達すると、LogLevel
リレーアドレスを含むログインが失敗します。
testhost sendmail[20684]: wA6KuRRJ020684: AUTH failure
(LOGIN): authentication failure (-13) SASL(-13):
authentication failure: checkpass failed,
relay=localhost [127.0.0.1]
これはsendmail/srvrsmtp.c
次の時点で発生しますLogLevel > 9
。あるいは、増加を避けるためにファイルをパッチすることもできますが、LogLevel
これは他の問題を引き起こす可能性があります。
SMTP AUTHを制限する他の方法は次のとおりです。
pamは特定のグループを制限します
PAM設定を調整し、SMTP AUTH
ユーザーが特定のグループに属していない限り無効にします。これはほとんどのパスワード推測攻撃を防ぎますが、少数の予測可能なユーザーしか使用する必要がない場合は可能ですSMTP AUTH
。
account required pam_access.so accessfile=/etc/security/smtp_access.conf
それから/etc/security/smtp_access.conf
+ : ok-sasl : ALL
- : ALL : ALL
次に、ユーザーをok-sasl
グループに入れます。
SMTP AUTHサービスを隠す
別のオプションは、インターネット上でサービスを利用できないように、VPNなどをSMTPの前に配置することです。これにより、現在のパブリックサービスが受信するログノイズが減少します。
pam_tally
私もそれを試しましたが、pam_tally2
ログイン時に明白なエラーがない合法的なアカウントを含むアカウントをロックするのに役立ちます。