Merhaba arkadaşlar kısa bir süre önce bir problem yaşadım , Japonya üzerinden yoğun mail saldırıları almaktaydım bir ara mail servislerini bile durdurmak zorunda kaldım , ancak müşterilerimden gelen şikayetler üzerine pratik bir çözümle soruna çare buldum ve sizlerle paylaşmak istedim. Şimdiki makalemde ufak bir Shell Script yardımı ile dilediğimiz ülke ip bloklarını yada sizin daha önce hazırladığınız .txt formatındaki ip bloklarını kısa yoldan banlamayı anlatmaya çalışıcağım.
''Tabi bu yöntemi farklı amaçlardada kullandım umarım bu yöntemler size yardımcı olur yada daha akılcı projeler çıkarmanıza vesile olacaktır.''
Öncelikle bir ülkenin ip aralıklarını nasıl bulabiliriz buna yanıt verelim , bu bağlantıdan dilediğimiz ülkenin ip aralıklarını görebilirsiniz.
Dilediğimiz ülkenin ip aralıklarını öğrendim peki ne yapıcam ?
Åžimdi gelelim Shell Scrpit'imize
Sunucumuza Root olarak login olduktan sonra root dizinide ''ipler'' isminde bir dosya oluşturuyoruz ve içerisine dilediğimiz ülkenin ip lerini ekliyoruz , bunun için alttaki komutları kullanabilirsiniz.
cd /root
nano ipler
Bu komutları yazdıktan sonra boş bir pencere açılacaktır ve daha sonra söz konusu iplerimizi ekliyoruz ''CTRL+X ve ENTER'' yaparak kaydediyoruz daha sonra ''CHMOD +X ipler'' komutu ile dosyamıza çalışma izni veriyoruz.
Şimdi gelelim ''ipler'' dosyasının içerisindeki ipleri nasıl banlıycaz.
while read ipler; do iptables -A INPUT -s $ipler -j DROP ; done < /root/ipler
Bu komutu uyguladımızda ''ipler'' dosyasının içerisindeki tüm ipleri ''iptables'' yardımı ile banlamış oluyoruz , daha sonra ''iptables -F'' komutu ile tekrar açıp ve dilediğimiz zaman üstteki komutla yeniden banlayabiliriz.
Ve bu komuya iliştirilmesi gereken bir kaç site daha paylaşmak istiyorum sizlerle
.htaccess ile
http://www.blockacountry.com
sunucu+php bazinda: GeoIP PECL PHP Geo-Targeting (ben bunu kurup deneyecegim)
http://www.agnivo.com/webmasters/block-ip-country-spam-traffic-geoip-geo-targeting-107.html
php bazinda: 580kb lik bir veritabani var, bence dosya cok büyük
http://www.phptutorial.info/iptocountry/the_script.html
sunucu bazinda: IP tables ile ilgili:
http://blacklist.linuxadmin.org/
Ülke IP araliklari
http://www.ipdeny.com/ipblocks/
Özellikle bu bağlantıdaki site ise size ip aralıklarını verirken banlamanız içinde komutlarını sunmakta , hatta söz konusu iplerin hangi portlara giriş yapmalarını engelleyebileceğinizi bile belirleyebiliyor.
Umarım yararlı bir makale olmuştur , yeni bir makalede görüşmek üzere.



Yorumlar
benimde böyle bir sorunum var ama toplu olarak ıpleri nasıl bulacağımı bilemiyorum. elinizdeki özellikle çin ıplerini verirmisiniz? sizin yönteminizi deneyeceğim.
teşekkürler.Mail adresim sahinkevser@gma il.com
aynı sorundan muzdaribim elinizdeki bloklanan çin Iplerini verirmisiniz? mail adresim sahinkevser@gma il.com
Çin ip bloklarını bu bağlantıdan indirebilirsini z ; http://www.ipdeny.com/ipblocks/data/countries/cn.zone
ipler texti oluşturdum ama şu şekilde hata aldım.
while read ipler; do iptables -A INPUT -s $ipler -j DROP ; done < /root/ipler
Bad argument `DROP'
Try `iptables -h' or 'iptables --help' for more information.
Sunucunuzdaki iptaples de sorun olma ihtımalı var veya ipleri kopyalarken satır kaymışta olabilir , sizin için mahsuru yoksa sunucu bilgilerinizi ismail @ clubturk.net adresine iletiniz yardımcı olmaya çalışalım.
İyi çalışmalar
RSS beslemesi, bu iletideki yorumlar için.