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 [email protected] http://linux-bulgaria.org/mailman/listinfo/lug-bg
