突然、何人かの人またはコンピューターが私の Linux DirectAdmin サーバーにログインしようとしています。
ここ数日、Direct Admin で Exim2 に対するブルート フォース攻撃のメッセージを多数受け取りました。
Fail2Ban はすでにインストールされており、Block_IP.SH はサーバー上に存在します。
したがって、ユーザーが 15 回ログインに失敗すると、IP アドレスはブロックされます。
攻撃が継続しないようにして、コンピューターがログインを試みないようにするにはどうすればよいでしょうか?
答え1
これは、書き方が下手な分散ボットです。私が知る限り、これらのホストは暗号化されていない接続で認証しようとしています。認証に安全な接続が必要な場合でも、認証は失敗します。ただし、暗号化されていない接続での認証を許可しているようです。
デフォルトでは、fail2ban
この条件は失敗しますが、10 分以内に 3 回試行するとブロックされます。jail.local
ファイルを作成して、 によって禁止されるために必要な失敗回数を調整したりfail2ban
、禁止時間を延長したり fail2ban-client
できます。 また、サーバーの実行中に構成を調整することもできます。exim.local
でファイルを作成しfilter.d
、生成される行と一致させる必要がある場合があります。 のコンテンツを含めましたexim.local
。 を使用してfail2ban-regex
正規表現をテストできます (正規表現で python を置き換える必要があります)。
[Definition]
host_info = H=([\w.-]+ )?(\(\S+\) )?\[<HOST>\](:\d+)? ?(I=\[\S+\]:\d+ )?(U=\S+ )?(P=e?smtp )?
failregex = ^%(pid)s %(host_info)s [^:]+: Sender host address is listed in zen.spamhaus.org
^%(pid)s %(host_info)s sender verify fail for <\S+>: (?:Unknown user|Unrouteable address|all relevant MX records point to non-existent hosts)\s*$
^%(pid)s (plain|login) authenticator failed for (\S+ )?\(\S+\) \[<HOST>\]: 535 Incorrect authentication data( \(set_id=.*\)|: \d+ Time\(s\))?\s*$
^%(pid)s %(host_info)s F=(<>|[^@]+@\S+) rejected RCPT [^@]+@\S+: (relay not permitted|Sender verify failed|Unknown user)\s*$
^%(pid)s SMTP protocol synchronization error \([^)]*\): rejected (connection from|"\S+") %(host_info)s(next )?input=".*"\s*$
^%(pid)s SMTP call from \S+ \[<HOST>\](:\d+)? (I=\[\S+\]:\d+ )?dropped: too many nonmail commands \(last was "\S+"\)\s*$
\[<HOST>\]: 535 Incorrect authentication data
^%(pid)s %(host_info)s Warning: smtp used a hostname$
^%(pid)s no MAIL in SMTP connection from (\([^)]+\) )?\[<HOST>\] D=\d+(m\d+)?s( C=.*)?$
^%(pid)s SMTP protocol synchronization error \(input sent without waiting for greeting\): rejected connection from %(host_info)s
ignoreregex =