Re: [Lug-bg] Филтриране на Web Crawlers чрез iptables
- Subject: Re: [Lug-bg] Филтриране на Web Crawlers чрез iptables
- From: Georgi Chorbadzhiyski <gf@xxxxxxxxxxx>
- Date: Tue, 29 Jul 2008 01:15:32 +0300
- Organization: Unix Solutions (http://unixsol.org)
On 07/29/08 01:21, Sertys wrote:
> Georgi Chorbadzhiyski wrote:
>> On 07/28/08 15:55, Веселин Михайлов wrote:
>>
>>> Имам следният въпрос, над който се чудя и не успявам да стигна до работещо
>>> решение. Възможно ли е (и как) да се ограничат временно връзките на Web
>>> Crawler-те (IP адресите им) чрез лимит?
>>>
>>> Рових и четох документация, но нещо ми се изплъзва. Идеята е когато един
>>> "паяк" направи определено количество връзки към хоста да бъде блокиран за
>>> определено време (примерно час).
>>>
>>> Възможно ли е това да стане само с iptables или ще трябва да се пише
>>> някакъв допълнителен скрипт/демон който да го прави?
>>>
>>
>> Има доста видове лимити, които можеш да приложиш (connlimit, hashlimit,
>> limit) виж man iptables
>>
>> Ето ти един пример:
>>
>> iptables -A INPUT -s XX.XX.XX.XX/YY -p tcp --dport 80 --syn -m limit --limit 5/hour -j ACCEPT
>> iptables -A INPUT -s XX.XX.XX.XX/YY -p tcp --dport 80 -j LOG
>> iptables -A INPUT -s XX.XX.XX.XX/YY -p tcp --dport 80 -j REJECT
>>
>> XX.XX.XX.XX/YY ти е мрежата, която искаш да има достъп до порт
>> tcp/80 по 5 пъти на час макс.
>>
>> Това дето си решил да го правиш не скалира особено, най-малкото
>> защото трябва да изровиш на crawler-ите ip мрежите, а не зная те
>> колко често се сменят и колко са.
>>
> Да, Жоро, обаче забравяш, че не са един и два WebCrawles/Spiders. Да
> лист-ваш и лимитираш всичките е доста времеемко занимание.
Е аз това съм написал де :)
> Според мен най-удачното е скрипт някъде из сайта(стига да не става дума
> за много хостове), който да инжектира iptables лимит-ите или reject-ите
> след проверка на хедърите или при определено поведение.
> (Тоя скрипт ще си иска необходимите привилегии, така че се защити от
> data overrule и проверявай правилно хедърите)
>
> Ако хостовете са много, по-скоро един лог парсър би бил по-добро решение.
>
> Най-сложния вариант е layer7 filtering-a и евентуално behaviour module
> за него.
http://www.iplists.com/
http://en.wikipedia.org/wiki/Robots.txt#Extended_Standard
--
Georgi Chorbadzhiyski
http://georgi.unixsol.org/
_______________________________________________
Lug-bg mailing list
Lug-bg@xxxxxxxxxxxxxxxxxx
http://linux-bulgaria.org/mailman/listinfo/lug-bg
|