A
B
C
Ç
D
E
F
G
Ğ
H
I
İ
J
K
L
M
N
O
P
R
S
Ş
T
U
Ü
V
Y
Z
Q
W
X
+ Ekle
Web Sayfalarını Tarayan Spam ve Casus Robotları Engelleme

Web Sayfalarını Tarayan Spam ve Casus Robotları Engelleme 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











  Ad Soyad
  Yorum