web-dev-qa-db-ja.com

/etc/hosts.allowで拒否されたIPアドレスは/etc/csf/csf.denyに表示されますか?

/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ファイルに何が表示されると期待する必要がありますか?

4
user46688

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.allowcsf -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
3
rAlen