特定の国からのすべてのトラフィックをブロックする比較的簡単な方法は?


16

フィリピンにはユーザーがいないWebアプリがありますが、スパマー、カードテストカード、その他の望ましくないアクティビティが絶えず攻撃されています。ログから、フィリピンにIPがあり、最初にgoogle.phまたは他の.phサイトから自分のサイトを見つけていることがわかります。

かなり優れたフィルターとセキュリティチェックが用意されているので、それほど大きなダメージを与えることはありませんが、それでも飽きています。彼らは帯域幅を使い果たし、データベース、悪用ログ、セキュリティログをがらくたにし、アカウントをタームする時間を無駄にします。

フィリピン市民の大多数はスパマーではなく、私を悩ますすべての国をブロックすることはできませんが、現時点では、解決策はフィリピンから私のウェブアプリへのすべてのトラフィックをブロックすることだと思います。(私は、国全体のIPブロックをブロックすることは素晴らしい習慣ではなく、多くの問題を抱えていることを知っていますが、この国については例外を作りたいです。)

(私は彼らがIPアドレスをスプーフィングする可能性があることを知っていますが、少なくとも私は彼らにそれを少し動作させることができます。)

いくつかのgeoipサービスがあることを知っています。誰でも無料または安価なサービスを知っていますか?または、特定の国からのトラフィックを除外する他の方法はありますか?

必要に応じて、Apache 2でPHPを実行しています。


2
有効な質問。
crashmstr

crashmstr:そう思うでしょう。この種の措置を講じて国全体をブロックしようとすると、潜在的なスパマーを遮断するよりも潜在的なユーザーを遮断することになります。そして、あなたがブロックしたくない地域(あなたの国など)からスパマーがやってくると、以前の方法はすべて無駄になってしまうので、あなたは深いドゥードゥーになります。
TheTXI 09年

おそらく何も-私の現在のセキュリティはうまく処理します。回答する前に質問を読んでください。

<p>では、スパマーが他の国からやって来たとき(または、米国経由でトラフィックのルーティングを開始したほうがいいですか?)</ p>
TheTXI 09年

1
フィリピンは、アメリカ、イギリス、カナダ、オーストラリアに次いで、世界の主要な英語圏の国の1つです。オーストラリアを禁止する以上に、禁止しないことを強くお勧めします。もちろん、サイトは国固有です。しかし、もしそうなら、ドットコムではなく国固有のTLDが必要です。そうすれば、人々はあなたがそれらを扱っていないことを知り、similarname.comに行くことができます。
リーB

回答:


8

IPInfoDB http://ipinfodb.com/index.phpのような無料のIP Locatin APIを使用して、IPアドレスに基づいてこれを行うことができます。


28

ここの他のほとんどのポスターとは異なり、これは悪い考えだ、あなたはそれをしてはいけない、それはあなたの問題を解決しない、またはあなたは何か他のことをすべきだとあなたに言うつもりはない。これが私たちに起こったことです。

中国と韓国の個人(または、とにかく中国と韓国でプロキシを使用している)は、私たちをいらいらさせ続けました。ポートスキャン、脆弱性を探してWebサイトをクロール、ログイン試行などを行いました。それらを無視しようとしましたが(通常はfail2banがそれらを処理します)、ある時点で彼らは私たちを強く攻撃してDoS攻撃になりました。プロキシとしてウェブサーバーを使用しようとしている人、マシンにSSH接続しようとしている人、ランダムなユーザー名とパスワードを試している人から一度に数百の接続がある場合、サイトに負荷がかかる傾向があります。結局うんざりしました。

中国や韓国からの正当なトラフィックはありません。私たちの会社はそこで販売していません(私たちはeコマースです)ので、正当なトラフィックを失うリスクはありませんでしたので、彼らがペニスになるのを待つよりも前もってブロックする方が簡単だと思いました。

  1. 訪問http://ip.ludost.net/を、そのIPをダウンロード< - >国のデータベース。
  2. すべての中国語および韓国語のIPアドレス範囲を抽出しました。
  3. netfilter用ipsetモジュールをインストールしました
  4. 中国と韓国向けのipsetダンプを作成しました(以下を参照)
  5. iptablesにルールを追加して、これらのセットからのトラフィックを静かにドロップします。

以上です。問題のあるユーザーがいなくなって、ネットワークの負荷とサーバーが減少し、クリスマスシーズンを問題なく乗り切ることができました。

注1:通常のiptables(つまりipsetなし)でこれを行うことができますが、ipsetを使用するよりも計算コストが高くなります。

注2:これは、ダンプの外観です(必要に応じてipsetがこれらを生成します)。

# Generated by ipset 2.3.3 on Sat Oct  4 18:02:57 2008
-N china nethash --hashsize 5184 --probes 4 --resize 50
-A china 203.207.128.0/17
-A china 221.176.0.0/13
-A china 58.154.0.0/15
-A china 114.54.0.0/15
...etc...

注3:すべての範囲がCIDRブロックとして保存されるため、ネットハッシュを使用します。それらをCIDRに変換したくない場合は、代わりにiptreemapを使用できますが、大量のトラフィックを取得している場合は効率が低下する可能性があります。


2
私が言いたいのは、中国や韓国などの国をブロックするという考えは、あなたとは異なる言語を話す多くの人々をブロックするだけではないということです。私は米国市民です。あなたの会社から何かを購入したい場合、韓国でサービスを提供しているため、顧客として私を失いました。だから、いや、そこにあるが、正当なトラフィックが。
GNUix 09年

16
ただし、韓国に出荷しないので、とにかく何も売ることができないので、私たちのウェブサイトに行く意味はありません。中国や韓国の人に何かを買って米国に出荷してもらったことはなかったので、私たちの分析によれば、1年で失われる売上はおそらく10に達するかもしれません。
ダンUdey 09年

2

コードのバグをどのように修正しますか?

そのようです?

バグ:Add(2,2)は0を返し、4を返すはずです。

修正されたコード:

int Add(int x, int y)
{
   if (x == 2 && y == 2)
      { return 4; }
   return 0;
}

明らかにそうではありません。特別な場合のぞっとするような怪物を作成するだけでなく、それは非常に壊れやすく、災害のレシピです。また、根本的な問題の今日の症状にパッチを当てるだけではありません。

代わりに、根本原因を把握し、修正してください。これは、実装できるハッキングされた特別な場合のパッチよりもはるかに堅牢です。

Webアプリがスパムに対して脆弱なのはなぜですか?どのような特性が脆弱になりますか?どのような特性がそれを価値あるターゲットにしますか?これらの特性を変更して、アプリをスパムに対してより堅牢にし、魅力的なターゲットを減らす方法はありますか?ほぼ間違いなく、これらの質問に対する答えはイエスです。検証チェーンをフォームに追加し、キャプチャをインテリジェントに使用し、URLやパラメーター名をランダム化して、ボットにとって使いにくいものにします。この問題に対処する方法は数百万通りありますが、最も価値が低く、有用性が低く、最も脆弱なソリューションを選択したと言ってすみません。


15
すべてあります、ありがとう。回答を作成する前に、実際に投稿を読みましたか?
エリ

1
@エリ、明らかにあなたは持っています。だからこそ、あなたは急進的な対策に立ち戻っています。以前の努力がとても効果的だったからです。
ウェッジ

1

まず、これを行わないことを強くお勧めします。

他の人がはるかに雄弁に言っているように、特定の国をブロックしても問題は解決せず、わずかに先送りになります。また、その国のユーザーがあなたを明確にブロックていることに気付いたとき、それは彼らがあなたにより多くの問題を引き起こすよう動機づけるだけです。

とはいえ、本当にこれをしたい場合、IPinfoDBは無料のIPジオロケーションデータベースを提供します。

まず、国別にIPを見つけることです。

この方法で検索します:

SELECT * FROM `ip_group_country` where `ip_start` <= INET_ATON('74.125.45.100') order by ip_start desc limit 1;

または

SELECT * FROM `ip_group_country` where `ip_start` <= 1249717504 order by ip_start desc limit 1;

次に、特定の国のIPを取得して、iptable、htaccessファイル、または使用するものを含むブロックリストを生成できます。これは次のように行われます:

SELECT `ip_cidr` FROM `ip_group_country` WHERE `country_code` = 'AF' order by ip_start;

あなたに与えるだろう:

63.243.149.0/24
67.212.160.0/24

0

fail2banなどの製品を使用して、スパムの試行が進行中であることを示すWebアプリケーションでスローされるエラーをキーオフする必要があります。これにより、一定期間IPがブロックされ、サイトが耐性になりますが、IPブロック全体が全面的にブロックされることはありません。


3
誰も読んでいないように見える投稿で述べたように、私はスパムをブロックおよび防止する完全に素晴らしいシステムを持っています。私はそれがしなければならない作業負荷と、それを監視するのに費やす時間を軽くしたいと思っています。
エリ

だから私はfail2banを提案しました。大きなIPブロックをブルートフォースでブロックすることなく、問題のIPを自動的に禁止します。
ケビンクファール

0

いくつかのソリューション:

  • mod_accessを使用してApache構成の一部のIPを除外する
  • Apacheから直接GeoIpを使用します:http : //www.maxmind.com/app/mod_geoip
  • Linux iptablesから一部のIPを直接除外します。リモートアクセスのみがある場合、これはより危険です。マシンから自分をロックすることができます。
  • geoip + iptables

これらのソリューションは非常に簡単かつ迅速に導入でき、無料です。

長期的な解決策は、Webアプリケーションからスパムを検出し、IPをログに記録し、iptablesにフィードしてそれらを自動的にブロックすることです。


0

攻撃されているネットワークを誰が操作しているかを見つけることを検討しましたか?whoisを使用して「虐待」連絡先を見つけて報告します。もちろん、複数のネットワークから取得される場合もありますが、繰り返し発生するアドレス/ネットワークブロックが表示される場合にも価値があります。


4
アジア(特に中国、韓国など)のISPに対処しようとしたことがあるなら、彼らがやらないことの1つは、何かに不満を言う外国人を気にすることです。物事をきちんとやるのは時間がないので、そうはしません。不正行為の報告は時間の無駄になります。
ダンUdey 09年

私は韓国に拠点を置いており、韓国のISPとの楽しい経験しかありませんでした。
GNUix 09年

0

あなたにはあなたが正当化できるあらゆる理由からIPアドレスをブロックするすべての権利があります。サービスを提供するのはあなたであり、誰がサービスを利用できるかどうかを決めるのはあなたです。これが道徳的かどうかはおそらく疑問ですが、それはあなた自身でしか決めることができないものです。

しかし、IPセグメントには地理的な側面があるため、IPセグメントをブロックすることは、パニックアプローチのように聞こえます。

過去に私がやったことは、クローラーが最新のログを調べて、24時間にわたって迷惑な個々のIPの禁止に基づいていることです。その特定のIPが再び不正な動作をする場合、2日間、その後3日間など禁止されます。

1週間以上禁止されているIPは私に郵送され、私はそのサービスプロバイダーに悪用メールを送信します(それが役立つことさえ知っている)。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.