it-swarm-ja.com

ASNでホストをブロックするにはどうすればよいですか?例-AS16276

特に有毒な宿主はほんの一握りです。サーバーへのIPアクセスを許可する必要がある理由はありません。 ASNまたは他のグローバル識別子を使用してそれらをブロックする方法はありますか?アプリ/サーバーの移植性のためにHTACCESSでこれを実行したいのですが、APFも問題ありません。

たとえば、次のホストをブロックします。彼らのIPの50%以上がすでにブラックリストに載っているか、PacketFlipのような企業のプロキシ出口ポイントを運用しています。

  • AS4134-ChinaNet
  • AS9808-広東モバイルコム
  • AS16276-OVH SAS
  • AS15003-Nobis Tech Group
  • AS36352-コロクロッシング
  • AS29761-QuadraNet
  • AS15895-Kyivstar PJSC
  • AS50915-S.C. Everhost S.R.L.
  • AS53889-Micfo
  • AS57858-ファイバーグリッドOU
8
dhaupin

https://www.enjen.net/asn-blocklist/ を使用できます

例:コロクロッシング: https://www.enjen.net/asn-blocklist/index.php?asn=AS36352&type=htaccess

サーバーにダウンロードする必要があり、htmlが必要ない場合は、リンクの最後に&api = 1を追加します。

9
Mun

チェックアウト mod_asn

mod_asnは、BGPルーティングデータを使用して自律システム(AS)と特定の(クライアント)IPアドレスを含むネットワークプレフィックス(サブネット)を検索するApacheモジュールです。

mod_asnはスタンドアロンモジュールとして使用でき、検索結果はスクリプトまたは他のApacheモジュールで使用できます。たとえば、ダウンロードリダイレクタは、mod_asnによって提供されるルックアップ結果に基づいて決定を下すことができます。

私はこれについて直接の経験はありませんが、有望に聞こえます。

このモジュールを直接経験した人は、この回答を自由に編集して、関連する特定の詳細を追加する必要があります。

さらに、ネットワーク管理者に相談して、これらのASNをルーターでブロックまたは無視することができます。そうすれば、これをアプリケーション構成の問題にする必要はありません。 mod_asnアプローチの(主な?)欠点は、いたずらなIPアドレスがホストまたはネットワーク上の他のサービスを攻撃しようとするのを阻止せず、構成されたApacheサーバーへのHTTP/HTTPS要求のみをドロップすることです。

5
webmarc

したがって、このステートメントに関して: [〜#〜] csf [〜#〜] いくつかのことを明確にしたいと思いました。 asn-blocklistで自動化できます。あなたがする必要があるのはあなたのURLの終わりに '&api = 1'を追加することです。例: https://www.enjen.net/asn-blocklist/index.php?asn=AS36352&type=nginx&api=1

これにより、HTMLなしでファイルの未加工バージョンがダウンロードされます。後は、wgetの使用、古いファイルのコピー、プログラム(nginx)のリロードに関する単純なbashスクリプトを使用して自動化するだけです。

#!/bin/bash

mkdir /tmp/asn
cd /tmp/asn

wget --content-disposition "https://www.enjen.net/asn-blocklist/index.php?asn=AS36352&type=nginx&api=1"
wget --content-disposition "https://www.enjen.net/asn-blocklist/index.php?asn=AS133165&type=nginx&api=1"
## Repeat wget here for all the asns you want. 

cp /tmp/asn/* /etc/nginx/conf.d/
service nginx reload

rm -rf /tmp/asn
echo done...

事実上、ブロックリストを手動でインポートしなくても、ブロックリストをすばやく最新の状態に保つことができます。

つまり、個人的なニーズに合わせてスクリプトを自動化するために、使用例/プラットフォームを理解するだけです。

0
Mun