![]() Daha iyi ve mutlu bir yaşam için 21 tane sağlıklı öneri. Ücretsiz Ekitap. | ![]() |
|
| |||||||
![]() |
| | Seçenekler |
|
#1
| ||||
| | ||||
Web Sayfalarını Tarayan Spam ve Casus Robotları EngellemeMart 2004 İlker Fıçıcılar Web sayfalarımı her gün pek çok robot gezip bandwidth'den giderek daha fazla çalmaya başlayınca bir çözüm aramak gerekti. Web sunucularımın önünde squid bir httpd hızlandırıcı olarak çalışıyor. Uygun refresh_pattern ayarlarıyla squid'in sunucuyu oldukça rahatlattığını söyleyebilirim. Squid'le mutluyuz ve mutluluk gölgeleyici bu kötü robotlardan kurtulmak istiyoruz. Squid ile Apache bir denge içinde çalışmalı, aksi halde kullanıcılar, sayfayı gezenler istenmeyen sonuçlarla karşılaşıyorlar. Performans için gerek squid'de gerekse apache'de pek çok ayarı sınırlarında kullanmak gerekiyor. Örneğin apache'de mod_gzip açtıysanız, apache'nin önündeki squid'in sayfaların farklı biçimlerini de önbellekte tutmasını sağlamalısınız, yoksa gzip ile sıkıştırılmış sayfaları gösteremeyen bir tarayıcı sayfalarınızı okuyamayacaktır. Benzer şekilde kötü robotları apache içinden engellerseniz ve uygun Vary başlıkları eklemezseniz, ya robotlar squid'de daha önce normal kullanıcılarca önbelleklenmiş bilgiye ulaşacaklar ve engellenmemiş olacaklar, ya da ilk davranan kötü bir robotsa ve bu istek önbelleğe girdiyse normal kullanıcılar da Erişim Yasak sayfası ile karşılaşacaklardır. Bunu önlemek için apache'ye Header append "Vary:" "User-Agent" şeklinde bir ekleme yapabilirsiniz, ama bu da squid'in her sayfanın her tarayıcı için ayrı bir kopyasını önbellekte tutmasına yol açar. Bu ise, ziyaret eden farklı user-agent sayısına göre, performansını on kattan daha fazla düşürüyor. Bu durumda, apache'de vary başlığı ayarı olarak sadece Header append "Vary:" "Accept-Encoding" kullanmak, apache'de RewriteEngine ile RewriteCond %{HTTP_USER_AGENT} EmailSiphon ve RewriteRule .* - [F,L] biçimindeki yasaklamaları kullanmamak gerekiyor. Yapmak istediğimizi squid acl'leri ile halledeceğiz. Önce, apache veya squid http_accelerator kayıtlarınızı inceleyerek sizi rahatsız eden robotları tesbit etmelisiniz. Aşağıdaki liste veya internetteki başka listeler yerine kendi istenmeyen robotlar listenizi oluşturmanız verimlilik açısından yararlı olacaktır. Yine de bu kısa listeyi kullanabilirsiniz: EmailSiphon Microsoft\ URL\ Control NPBot Windows\ XP FrontPage MSIECrawler HTTrack ^Mozilla/4.0$ Sqworm WebCopier WebReaper Bu listedeki FrontPage sayfanızı editlemeye çalışıp başarılı olamadıkça tekrar tekrar deneyen acemileri engellemek için. Windows XP yazısı ise hiçbir normal user-agent'ta görülmez. Diğerleri ise spam, casus ve offline robotları / agent'ları genelde. Sayfanızın Teleport, GetRight vb. programlarla sömürülmesini istemiyorsanız listeyi bunları da ekleyerek biraz daha genişletebilirsiniz: DA\ GetRight FlashGet Teleport EmailSiphon Microsoft\ URL\ Control NPBot Windows\ XP FrontPage MSIECrawler HTTrack ^Mozilla/4.0$ Sqworm WebCopier WebReaper Bu listeyi bir dosyaya yazıp kaydedin. Ben /usr/local/share/koturobot.lst dosyasına yazıp, squid.conf ayar dosyasına şu satırları ekledim: acl koturobot browser "/usr/local/share/koturobot.lst" http_access deny koturobot Evet, hepsi bu. Eğer www sunucularınızın önünde bir squid httpd hızlandırıcı olarak çalışıyorsa, bu ayar sayfalarınızdan eposta adresi ve resim çalınması engellemek yönünde iyi bir adım olacak ve bandwidth'inizin de bir miktar rahatlamasını sağlayacaktır. Eğer, squid'siz sadece apache sunucuyu kullanıyorsanız, virtual hostlarınız için aşağıdaki gibi bir ayar eklemesiyle apache'nin bu robotları engellemesini sağlayabilirsiniz: RewriteEngine on RewriteCond %{HTTP_USER_AGENT} "DA " [OR] RewriteCond %{HTTP_USER_AGENT} GetRight [OR] RewriteCond %{HTTP_USER_AGENT} FlashGet [OR] RewriteCond %{HTTP_USER_AGENT} Teleport [OR] RewriteCond %{HTTP_USER_AGENT} EmailSiphon [OR] RewriteCond %{HTTP_USER_AGENT} "Microsoft URL Control" [OR] RewriteCond %{HTTP_USER_AGENT} NPBot [OR] RewriteCond %{HTTP_USER_AGENT} "Windows XP" [OR] RewriteCond %{HTTP_USER_AGENT} FrontPage [OR] RewriteCond %{HTTP_USER_AGENT} MSIECrawler [OR] RewriteCond %{HTTP_USER_AGENT} HTTrack [OR] RewriteCond %{HTTP_USER_AGENT} "^Mozilla/4.0$" [OR] RewriteCond %{HTTP_USER_AGENT} Sqworm [OR] RewriteCond %{HTTP_USER_AGENT} WebCopier [OR] RewriteCond %{HTTP_USER_AGENT} WebReaper RewriteRule .* - [F,L] Bu yöntemle sadece user-agent'inden tanınabilen robotları durdurabiliyoruz. Diğerleri, user-agent bilgilerini normal olanlara benzeterek bu filtrelerden geçebiliyorlar. Bunları ise IP adreslerinden, IP bloklarından tanıyarak engellemek mümkün. Bu engeli de ister iptables ile, istersek de squid ile koyabiliriz. Kısa bir Kötü Robot IP Listesi olarak şunlar kullanılabilir: 64.140.49.66/30 12.148.196.128/25 12.148.209.192/26 63.148.99.224/27 Bu listeyi, /usr/local/share/koturobotip.lst gibi bir dosyaya kaydettikten sonra, iptables ile şu şekilde kullanıyoruz: cat /usr/local/share/koturobotip.lst | while read ipler do iptables -A INPUT -i $DEV -s $ipler -p tcp --destination-port 80 -j DROP done Squid içinden kullanabilmek için listeyi önce squid'in anlayabileceği biçime getirelim: 64.140.49.66-64.140.49.69/255.255.255.69 12.148.196.128-12.148.196.255/255.255.255.255 12.148.209.192-12.148.209.255/255.255.255.255 63.148.99.224-63.148.99.255/255.255.255.255 Bu IP listesini /usr/local/share/koturobotadres.lst dosyasına yazıp şu iki satırı da squid'e ekleyerek squid'in bu adresleri engellemesini sağlarız: acl koturobotadres src "/usr/local/share/koturobotadres.lst" http_access deny koturobotadres Daha kapsamlı bir Kötü Robotlar Listesi olarak aşağıdaki kullanılabilir: almaden CherryPicker Crescent DA\ DIIbot EmailCollector EmailSiphon EmailWolf ExtractorPro FlashGet FrontPage GetRight HTTrack InternetSeer\.com LinkWalker Microsoft\ URL\ Control Mozilla.*Indy Mozilla.*NEWT ^Mozilla/4.0$ MSIECrawler NICErsPRO NPBot psbot sitecheck\.internetseer\.com Sqworm Teleport WebBandit webbandit WebCopier WebEMailExtrac WebReaper Windows\ XP Zeus.*Webster Son Not: Bazen çok ufak unutkanlıklar, sorunu yanlış yerde aramamıza ve epeyce bir zaman kaybetmemize yol açabilirler. Sözün özü, yukarıdaki değişiklikleri yaptıktan sonra squid ve/veya apache'yi yeniden başlatmayı unutmamakta yarar var. Yardımcı Kaynaklar: * * * * Mart 2004 İlker FIÇICILAR ALINTIDIR
__________________ |
![]() |
| Seçenekler | |
| |
Benzer Konular | ||||
| Konu | Konu Açanlar | Forum | Cevaplar | Güncel Mesajlar |
| Robots.txt Dosyası Kullanım Robotları Yölendirme Kontrol | kardesbune | SEO Arama Motoru Optimizasyonu | 1 | 28-04-2008 04:33 |
| Web robotları hakkında her türlü bilgi! | teknokız | Yeni Başlayanlara WebmasterSitesi | 0 | 27-03-2008 06:04 |
| Casus yazılım nedir? | teknohaberci | Webmaster Sözlügü | 0 | 19-02-2008 02:33 |
| IP Engelleme Fonksiyonu | B737 | ASP | 0 | 26-01-2008 03:39 |
| Açılış Sayfalarını Seçme « | teknohaberci | Google Adwords | 0 | 09-12-2007 11:48 |
| |