Re: [Lug-bg] Филтриране на Web Crawlers чрез iptables
- Subject: Re: [Lug-bg] Филтриране на Web Crawlers чрез iptables
- From: Sertys <sertys@xxxxxxxxxxxxxx>
- Date: Tue, 29 Jul 2008 01:21:58 +0300
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
за него.
_______________________________________________
Lug-bg mailing list
Lug-bg@xxxxxxxxxxxxxxxxxx
http://linux-bulgaria.org/mailman/listinfo/lug-bg
|