Belirli bir ülkedeki tüm trafiği engellemenin nispeten kolay bir yolu var mı?


16

Filipinler'de hiç kullanıcısı olmayan bir web uygulamam var, ancak spam göndericiler, kart test kartları ve oradan istenmeyen diğer etkinlikler tarafından sürekli bombalanıyor. Günlüklerde, Filipinler'de IP'leri olduğunu ve başlangıçta sitemi google.ph veya diğer .phsiteler aracılığıyla bulduğunu görebiliyorum .

Oldukça iyi filtrelerim ve güvenlik denetimlerim var, bu yüzden çok fazla hasara neden olmuyorlar, ancak yine de bundan sıkıldım. Bant genişliğini kullanıyor, veritabanımı dolduruyor, kötüye kullanım günlüklerini ve güvenlik günlüklerini bokla dolduruyorlar, zaman vadeli hesaplarımı boşa harcıyorlar vb.

Filipin vatandaşlarının büyük çoğunluğu spam gönderici olmasa da, beni rahatsız eden her ülkeyi engelleyemiyorum, bu noktada çözümlerin Filipinler'den web uygulamama olan tüm trafiği engellemek olduğunu düşünüyorum. (Tüm ülkelerin IP bloklarını engellemenin büyük bir uygulama olmadığını ve birçok problemi olduğunu biliyorum, ancak bu ülke için bir istisna yapmak istiyorum.)

(IP adreslerini taklit edebileceklerini biliyorum, ama en azından onları biraz çalıştırabilirim.)

Orada birkaç jipip servisi olduğunu biliyorum. Herkes ücretsiz ya da ucuz hizmetler biliyor mu? Veya belirli bir ülkeden gelen trafiği filtrelemenin başka bir yolu var mı?

Önemli olursa, Apache 2'de PHP çalıştırıyorum.


2
Geçerli soru.
crashmstr

crashmstr: Ben de öyle düşünürdüm. Tüm ülkeleri engellemek ve engellemek için bu tür bir eylemde bulunmak, yalnızca potansiyel spam göndericileri kesmekten daha fazla potansiyel kullanıcıyı kesmenize neden olacaktır. İstenmeyen posta gönderenler engellemek istemediğiniz alanlardan (kendi ülkeniz gibi) gelmeye başladığında, derin doodlelarınızda olacaksınız çünkü önceki yöntemlerinizin tamamı bir atık olacaktır.
TheTXI

Muhtemelen hiçbir şey - mevcut güvenlik durumum gayet iyi işliyor. Lütfen cevap vermeden önce soruyu okuyun.

<p> Peki, spam gönderenler diğer ülkelerden gelmeye başladığında (veya trafiğini ABD üzerinden yönlendirmeye başladıklarında ne yapacaksınız?) </p>
TheTXI

1
Filipinler, ABD, İngiltere, Kanada ve Avustralya'nın yanında, dünyada İngilizce konuşulan başlıca ülkelerden biridir. Onları yasaklamamanızı şiddetle tavsiye ediyorum, Avustralya'yı yasakladığınızdan daha fazla. Tabii ki, siteniz ülkeye özgü değildir. Ama eğer öyleyse, nokta-com yerine ülkeye özgü bir TLD'ye sahip olmalı, o zaman insanlar onlarla başa çıkmadığınızı bilecekler ve benzername.com'a gidebilirler.
Lee B

Yanıtlar:


8

Bunu, IPInfoDB http://ipinfodb.com/index.php gibi ücretsiz bir IP Locatin API'sini kullanarak IP adresine göre yapabilirsiniz.


28

Buradaki diğer posterlerin çoğunun aksine, size bunun kötü bir fikir olduğunu, bunu yapmamanız gerektiğini, probleminizi çözmeyeceğini veya başka bir şey yapmanız gerektiğini söylemeyeceğim. Bize ne oldu:

Çin ve Kore'den bireyler (ya da Çin ve Kore'de vekilleri kullanıyorlarsa) bizi rahatsız ediyorlardı. Portscanning, güvenlik açıklarını arayan web sitelerimizi tararken, giriş denemeleri vb. Gerçekleştirmeyi denedim. Web sunucunuzu proxy olarak kullanmaya çalışan, makinenize SSH denemeye, rastgele kullanıcı adlarını ve şifreleri denemeye çalışan kişilerden bir kerede yüzlerce bağlantınız olduğunda, siteyi tartma eğilimindedir. Sonunda bıktım.

Çin veya Kore'den herhangi bir yasal trafik almıyoruz; Şirketimiz orada satmıyor (e-ticaretiz) bu yüzden meşru trafiği kaybetme riski yoktu, bu yüzden dicks olmalarını beklemek yerine onları önceden engellemenin daha kolay olduğunu düşündüm.

  1. Http://ip.ludost.net/ adresini ziyaret etti ve IP <-> ülke veritabanlarını indirdi.
  2. Tüm Çince ve Korece IP adresi aralıkları çıkarıldı.
  3. Netfilter için ipset modülünü taktı
  4. Çin ve Kore için inşa edilmiş ipset dökümleri (aşağıya bakınız)
  5. Bu kümelerden gelen trafiği sessiz bir şekilde bırakmak için iptables'a kurallar eklendi.

Ve bu kadar. Sorunlu kullanıcılarımız gitti, ağa yüklendi ve sunucu azaldı ve Noel sezonunu zorluk çekmeden yıprattık.

Not 1 : Bunu normal iptables (ipset olmadan) ile yapabilirsiniz, ancak ipset kullanmaktan daha hesaplama açısından pahalıdır.

Not 2 : Dökümler şöyle görünür (isterseniz ipset bunları sizin için oluşturacaktır):

# 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...

Not 3 : Tüm aralıklarımız CIDR blokları olarak saklandığından bir nethash kullanıyoruz. Bunları CIDR'ye dönüştürmek istemiyorsanız, bunun yerine bir iptreemap kullanabilirsiniz, ancak çok fazla trafik alıyorsanız bunun daha az verimli olabileceğini hayal ediyorum.


2
Burada vurgulamak istediğim nokta, Çin veya Kore gibi bir ülkeyi veya bu konuda herhangi bir yeri engelleme fikrinin, sizden farklı bir dil konuşan bir grup insanı engellemek değil. Ben bir ABD vatandaşıyım ve şirketinizden bir şey satın almak istersem, beni müşteri olarak kaybettiniz çünkü Güney Kore'de hizmet veriyorum. Yea Yani orada olduğunu orada meşru trafiği.
GNUix

16
Doğru, bunun dışında Güney Kore'ye gönderim yapmadığımız için, size hiçbir şey satamayız, bu yüzden web sitemize girmenin bir anlamı yok. Çin veya Kore'den hiç kimsenin bir şey satın almamasını ve ABD'ye göndermesini hiç yapmamıştık, bu nedenle kaybedilen satışların sayısı analizimize dayanarak yılda 10'a ulaşabilir.
Dan Udey

2

Koddaki bir hatayı nasıl düzeltirsiniz?

Öyle mi?

Hata: Add (2,2) 0 döndürür, 4 döndürmelidir.

Sabit kod:

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

Belli ki değil. Sadece özel vakaların can sıkıcı bir canavarlığı yaratmazsınız, bu son derece kırılgan ve felaket için bir reçete. Ayrıca, BUGÜN'ün altta yatan sorunun belirtisini düzeltmekle kalmazsınız.

Bunun yerine, temel nedeni bulun ve düzeltin. Bu, uygulayabileceğiniz herhangi bir özel özel durum yamasından çok daha sağlamdır.

Web uygulamanız neden spam'a karşı savunmasız? Hangi özellikler onu savunmasız hale getiriyor? Hangi özellikler onu değerli bir hedef yapar? Uygulamanızı spam'a karşı daha dayanıklı ve daha az çekici bir hedef haline getirmek için bu özellikleri değiştirmenin yolları var mı? Bu soruların cevabı neredeyse kesinlikle evet. Formlarınıza doğrulama zincirleri ekleyin, akıllıca bir captcha kullanın, URL'leri ve / veya parametre adlarını botlara düşmanca hale getirmek için rastgele seçin. Bu soruna yaklaşmanın milyonlarca yolu var, üzgünüm, en az değerli, en az kullanışlı ve en kırılgan çözümlerden birini seçtiğinizi söyledi.


15
Tüm bunlara sahibim, teşekkürler. Cevabınızı formüle etmeden önce yayını gerçekten okudunuz mu?
Eli

1
@Eli, belli ki var. Bu yüzden radikal önlemlere geri dönüyorsunuz. Çünkü önceki çabalarınız çok etkili oldu.
Kama

1

İlk olarak, bunu yapmamanızı şiddetle tavsiye ederim.

Diğerleri çok daha etkili bir şekilde ifade ettikleri için, belirli bir ülkeyi engellemek sorunu çözmez, sadece biraz savunur. Ayrıca, o ülkeden kullanıcılar onları özellikle engellediğinizi gördüğünde , onları yalnızca size daha fazla soruna neden olacak şekilde motive edecektir .

Bununla birlikte, bunu gerçekten yapmak istiyorsanız, IPinfoDB ücretsiz bir IP coğrafi konum veritabanı sağlar,

İlk olarak, sadece ülkeye göre bir IP bulmak olacaktır.

Bu şekilde arama yaparsınız:

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

Veya

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

İkincisi, iptable, htaccess dosyası veya kullandığınız her şeyi içeren bir engelleme listesi oluşturmak için belirli bir ülkenin IP'sini almak isteyebilirsiniz. Bu şekilde yapılır:

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

hangi size verecek:

63.243.149.0/24
67.212.160.0/24

0

Web uygulamanızda attığınız hataları spam girişiminin başladığını belirtmek için fail2ban gibi ürünleri kullanmalısınız. Bu, IP'yi bir süre için engelleyerek sitenizi dayanıklı hale getirir, ancak tüm IP bloklarını battaniye engellemez.


3
Kimsenin okumadığı yazıda söylediğim gibi, spam'ı engelleme ve önleme konusunda mükemmel bir sistemim var. Yapması gereken iş yükünü ve onu izlemek için harcadığım zamanı hafifletmek istiyorum.
Eli

Bu yüzden fail2ban önerdim. Büyük IP bloklarını engelleyen kaba kuvvet olmadan sizin için sorunlu IP'leri otomatik olarak yasaklar.
Kevin Kuphal

0

Birkaç çözüm:

Bu çözümler kolay ve hızlı bir şekilde yerleştirilebilir ve ücretsizdir.

Daha uzun vadeli bir çözüm, web uygulamanızdaki spam'i tespit etmek, IP'yi günlüğe kaydetmek ve iptables'larınızı otomatik olarak engellemek için beslemek olacaktır.


0

Saldırıyacağınız ağları kimin kullandığını bulmayı düşündünüz mü? Whois kullanarak "kötüye kullanım" kişisini bulun ve onlara bildirin. Tabii ki birkaç ağdan gelebilir, ancak bazı yinelenen adresler / ağ blokları görürseniz de buna değebilir.


4
Asya'daki ISP'lerle (özellikle Çin, Kore, vb.) Uğraşmaya çalıştıysanız, asla yapmadıkları şeylerin bir şeyden şikayet eden bazı yabancıları önemsediğini göreceksiniz. İşleri düzgün yapmak için zaman ayırmaya değmez, bu yüzden yapmazlar. Kötüye kullanımı bildirmek zaman kaybettirir.
Dan Udey

Kore'de yaşıyorum ve Koreli ISS'lerle ilgili hoş bir deneyimden başka bir şeyim yoktu.
GNUix

0

You have her kendiniz için haklı nedeni ne olursa olsun IP adreslerini bloke etme hakkına. Bir hizmet sunan sizsiniz ve kime sahip olabileceğine siz karar verirsiniz. Bunun ahlaki olup olmadığı tartışmalıdır, ancak bu sadece kendiniz için karar verebileceğiniz bir şeydir.

Bununla birlikte, bir IP segmentini engellemek, bazı coğrafi yönleri olduğu için bana panik yaklaşımı gibi geliyor.

Geçmişte yaptığım şey, en son günlüklerimden geçen ve 24 saatlik bir süre boyunca can sıkıcı bireysel IP'leri yasaklayan bir tarayıcıya sahip olmak. Eğer belirli bir IP tekrar yanlış davranıyorsa, 2 gün, 3 gün vb. İçin yasaklanır.

Bir haftadan uzun süre yasaklanan IP'ler bana postalanacak ve bu hizmet sağlayıcısına (hatta yardımcı olabileceğini bilen) kötüye kullanım postası göndereceğim.


0

Böyle bir şeyi dinamik olarak koruyabilecek bir Snort + OSSEC çözümünü tercih ederim.


Güvenli VPN'ler bunun içindir.
Andrew Ensley
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.