私は中国に支配されており、サーバーへのリクエストをブロックできない理由がわかりません。 。

// host.deny

ALL: item.taobao.com ALL: 117.25.128.* 

しかし、ウェブサーバーtail -f /var/log/apache2/error.logでエラーログを見ると、リクエストは引き続き許可されています。

質問: /etc/hosts.deny構成が機能しないのはなぜですか?

回答

  1. ファイルの名前は/etc/hosts.denyであり、host.deny

    ではありません。

  2. すべてのサービスがtcp-wrappersを使用しているわけではありません。たとえば、sshdはデフォルトでは「デフォルトではありません。apacheもありません。

  3. 117.25.128 / 24からのすべてのパケットをブロックします。例:

      iptables -I INPUT -s 117.25.128.0/24 -j DROP  
  4. さらに良いことに、 fail2ban を使用してログファイル(apacheのaccess.logや/など)を監視できます。またはerror.log)を使用して、サーバーを攻撃しようとするIPアドレスを自動的にブロックします。

debian fail2banパッケージの説明から:

Fail2banはログファイル(例:/var/log/auth.log、/var/log/apache/access.log)を監視し、既存のファイアウォールルールを更新することで、障害が発生しやすいアドレスを一時的または永続的に禁止します。

Fail2banを使用すると、iptablesまたはhosts.denyルールを使用してIPを禁止したり、単に通知メールを送信したりするなど、さまざまなアクションを簡単に指定できます。

デフォルトでは、さまざまなサービスのフィルター式が付属しています。 (sshd、apache、qmail、proftpd、saslなど)が、他のテキストファイルを監視するために構成を簡単に拡張できます。すべてのフィルターとアクションは構成ファイルで指定されるため、fail2banを採用して、さまざまなファイルやファイアウォールで使用できます。

コメント

  • わかりました'タイルを編集します。ああ、そうですね、iptables -A INPUT -s 117.25.128.0/24 -j DROPを試しましたが、'ブロックされませんでした。
  • -I INPUTは、INPUTチェーンの先頭に新しいルールを挿入します。 -A INPUTはそれをチェーンの一番下に追加します。 -A INPUTが機能しなかった場合'チェーンの早い段階で、これらのパケットを許可する他のルールがあったはずです。
  • ああ、わかりました。'優先順位が上から下だと思いますか?
  • はい。最初に一致するルールが優先されます。
  • 完全に機能しているように見えます!ありがとうございました。簡単な質問ですが、多くのリクエストが同じ参照から来ています。 (item.taobao.com)クライアントIPが異なる'なので、'は'ある種のリダイレクトを使用しています。リファラーでブロックする方法、またはワイルドカードセレクターのように117. *でブロックする方法はありますか?

回答

あなたの元の質問について。私のDebianのApacheはlibwrapで構成されていないため、hosts.denyを参照しません。[前の回答ではすでに言及されています。実際には、tcpwrappersは、特に90年代のように、セキュリティの縮図ではありません。ブラックリストに登録する]。デーモンとしてではなく、(x)inetdから実行する必要があります。これにより、速度が大幅に低下します。

Apacheレベルでアクセスをブロック/許可し、実行することができます。 Apacheのtcpラッパーは必要ありません[そのことについてはiptablesも必要ありません]。sshについては触れていませんが、sshサーバーを外部に直接開いたままにすることはありません。ただし読み続けてください。

300のvhostがあります。 +ドメイン、および同様の問題、taobao、baidu、そして多くの場合googleスパイダーでも。特にbaiduスパイダーは非常に攻撃的で永続的である可能性があります。

すでに理解しているように、サーバーのファームがあります。また、IPをブロックしても、他のIPアドレスからすぐに再び表示されます。

lisを維持しようとするのはまったく実用的ではありません。手作業によるIPアドレス/ネットブロックのts。

modsecurityがユーザーエージェント文字列を永続的にブロックし、mod_evasiveが不正なIPを一時的にブロックしているのが効果的です。

この設定、検索エンジンからのスパイダーの速度を低下させるだけでなく、CMSでパスワードを推測しようとするゾンビを抑制するという利点もあります。

modsecurity.confの関連部分

SecRule REQUEST_HEADERS:User-Agent "Yandex" phase:1,deny,nolog,id:"6972" SecRule REQUEST_HEADERS:User-Agent "ichiro" phase:1,deny,nolog,id:"6973" SecRule REQUEST_HEADERS:User-Agent "Baiduspider" phase:1,deny,nolog,id:"6974" SecRule REQUEST_HEADERS:User-Agent "Baiduspider/.*" phase:1,deny,nolog,id:"6975" SecRule REQUEST_HEADERS:User-Agent "Baiduspider-video" phase:1,deny,nolog,id:"6976" SecRule REQUEST_HEADERS:User-Agent "Baiduspider-image" phase:1,deny,nolog,id:"6977" SecRule REQUEST_HEADERS:User-Agent "sogou spider" phase:1,deny,nolog,id:"6978" SecRule REQUEST_HEADERS:User-Agent "YoudaoBot" phase:1,deny,nolog,id:"6979" SecRule REQUEST_HEADERS:User-Agent "bingbot(at)microsoft.com" phase:1,deny,nolog,id:"6980" SecRule REQUEST_HEADERS:User-Agent "msnbot(at)microsoft.com" phase:1,deny,nolog,id:"6981" SecRule REQUEST_HEADERS:User-Agent "BLEXBot/1.0" phase:1,deny,nolog,id:"6982" SecRule REQUEST_HEADERS:User-Agent "Bot.*" phase:1,deny,nolog,id:"6984" SecRule REQUEST_HEADERS:User-Agent "AhrefsBot.*" phase:1,deny,nolog,id:"6985" 

そして私たちのmod-evasive.conf

DOSHashTableSize 2048 DOSPageCount 10 DOSSiteCount 300 DOSPageInterval 2.0 DOSSiteInterval 1.0 DOSBlockingPeriod 600.0 DOSLogDir /var/log/apache2/evasive DOSWhitelist 127.0.0.1 DOSWhitelist 1xx.xxx.xxx.xx 

私も非常に現実的な可能性を忘れていました。中国と取引していない場合、またはホームサーバーを実行している場合は、国全体をブロックしてください。それらから発生する攻撃とマルウェアのレベルは、多くの専門家がそれを行うことを正当化しています。

http://www.cyberciti.biz/faq/block-entier-country-using-iptables/

また、このかなり長い回答に脚注を追加するのを忘れました。多くの場合、この種の問題にはrobots.txtを使用するように職場で提案されます。重要なのは、robots.txtはリモートプログラムの提案にすぎないということです。不正なアクターは確かにそれらを無視し、他のWebクローラーがそれらを尊重することは保証されていません。たとえば、私たちのテストから、Baiduはそれらを尊重しないようです 。 (robots.txtは、ギャングに尋ねるのと同じです。パンチするのではなく、くすぐってください)

コメント

  • ありがとうございます!ええ、' m defはmod_evasiveを使用しますが、これらの構成ファイル設定は適切に機能しますか?
  • これらは非常にうまく機能し、ほとんどのvhostには多くがありません。訪問者。それ以外の場合は、dospagecount(IPから1ページへの最大アクセス数)を増やし、それに応じてdossitecount(およびIPの最大訪問数)を増やす必要があります。
  • 最初の行をもう一度見てください。
  • 理にかなっているので、'設定を確認します。すべてのご協力に改めて感謝します!
  • (誤解しないでください。WebサーバーまたはApacheでアドレスをブロックすることを提案する方が良いタイトルかもしれません)…それでも、私が来たのはこのコメントではありませんでした。ここでもう一度、答えをもう一度読んでください。冒頭のコメントに加えて、最終的にはもっと面白いものが見つかります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です