/etc/hosts.allow
ファイルを次のように変更します
sshd : 192.168.0.0/255.255.255.0 : allow
sshd : xxx.xxx.xxx.* : allow
sshd : ALL : deny
(xxxは実際のIPアドレス番号を表し、ワイルドカード*は0〜255の全範囲を表します)次に、sshdとApacheWebサーバーを再起動します。翌週、海外のIPアドレスが/etc/csf/csf.deny
に表示され続けるのを見守っています。
116.31.116.15 # lfd: (sshd) Failed SSH login from 116.31.116.15 (CN/China/-): 5 in the last 300 secs ...
hosts.allow
ファイルで拒否されたIPアドレスに、ログインを試みるためのログイン画面が表示されないようにする必要があるという私の期待は正しいですか。したがって、csf.denyログのエントリは、hosts.allowファイルが機能していないことを証明します。何が欲しい?
または、実際にはこれらのIPアドレスがユーザーとパスワードを5回入力しようとしていないため、一般的なエラーメッセージ(5 in the last 300 secs
)に惑わされていますか?
私の目標は、承認されていないIPアドレスがユーザー名とパスワードを入力することさえできないようにすることです。これを達成しているかどうかはどうすればわかりますか?
IPが実際に拒否されたときにcsf.denyファイルに何が表示されると期待する必要がありますか?
csf.deny
はConfigServerファイアウォールによって使用され、そこにリストされているIPはサーバーへの接続をまったく許可されません。
IPがcsf.deny
ファイルにある場合、それはすべてのポートのサーバーファイアウォールでブロックされており、サーバーとの接続を確立しないため、どのサービスでもログイン画面が表示されないことを意味します。
過去300秒間に5は、認証プロセスに失敗したことを意味し、CSFでブラックリストに登録されました。 SSHキーのみが許可されている場合は、間違った資格情報を入力したか、ログインプロンプトがまったく表示されなかった可能性があります。
iPをhosts.allow
に入れると、そこで指定したサービスに接続できますが、サーバーに接続するには正しい資格情報を入力する必要があります。
許可されているものとしてリストされていないIPには、次のメッセージが表示されます。
ssh_exchange_identification: Connection closed by remote Host
これは、SSHに接続しようとするとログイン失敗として扱われ、ログイン失敗の制限に達するとcsf.denyになります。 SSHポートへの接続を確立しますが、拒否ルールのために自身の認証に失敗し、CSFはそれをログイン失敗と見なします。
リストされていないIPのSSHをブロックするためのより良いオプションは、この投稿の最後で説明されているように、CSFでSSHを完全にブロックすることです。
Csf.denyに加えて、重要なファイルもcsf.allow
およびcsf.ignore
です。
csf.allow
は、任意の送信元ポートにリストされているIPから任意の宛先ポートへの接続を許可します。
csf.ignore
は、リストされたIPからの失敗したアクションを無視し、失敗したログインまたは接続の制限を受けません。
iPをcsf.deny
からcsf -dr IP
で削除し、csf.allow
でcsf -a IP
を使用してホワイトリストに登録できます。
事前承認されていないIPのSSHを完全にブロックし、SSHログインの失敗によるcsf.deny
の増大を回避したい場合は、SSHポートを完全にブロックできます(変更していない場合は22)。 csf.config
のTCP_IN行。
csf.config
で何かを変更した後、構成ファイルを再ロードするためにcsf -r
でCSFを再起動する必要があります。
これにより、csf.allowにリストされているIPを除くすべてのIPのポート22がブロックされます。
csf.config
のTCP_INからポート22を削除し、IPをcsf.allow
に配置すると、それらのIPのみがポート22に接続できるようになり、他のIPにはSSHログインが表示されなくなります。 SSHに接続しようとすると、タイムアウトメッセージを受け取ります。
csf.allow
にIPのみを配置すると、すべてのポートで許可されますが、高度なポート+ IPフィルタリングでのみ単一のポートを指定できます。
これをcsf.allow
に入れると、ポート22がcsf.config
で許可されていない場合でも、IPからポート22への接続が許可されます。
tcp:in:d=22:s=x.x.x.x