Vesta 2.0 is coming soon! See our progress update: https://vestacp.com/docs/vesta-2-update
Блокировка ботов
Блокировка ботов
Подскажите как реализовать блокировку ботов средствами iptables из удаленного источника, а именно с сервиса
http://ru.myip.ms/browse/blacklist/
http://ru.myip.ms/files/blacklist/csf/l ... cklist.txt
http://ru.myip.ms/files/blacklist/csf/l ... mitted.txt
Желательно сделать проверку айпих раз в сутки
http://ru.myip.ms/browse/blacklist/
http://ru.myip.ms/files/blacklist/csf/l ... cklist.txt
http://ru.myip.ms/files/blacklist/csf/l ... mitted.txt
Желательно сделать проверку айпих раз в сутки
Re: Блокировка ботов
Исключительно руками - нужно писать что-то свое, т.е. нужно забирать список, парсить его при необходимости и добавлять в iptables, но имхо проще в nginx такое пихать.
Re: Блокировка ботов
Не подскажите как реализовать через nginx?skurudo wrote:Исключительно руками - нужно писать что-то свое, т.е. нужно забирать список, парсить его при необходимости и добавлять в iptables, но имхо проще в nginx такое пихать.
Re: Блокировка ботов
Там тоже скрипты, вот как пример:usr999 wrote:Не подскажите как реализовать через nginx?
http://www.mybbstuff.com/thread-61.html
Re: Блокировка ботов
Или же добавьте идею: http://bugs.vestacp.com/usr999 wrote:Подскажите как реализовать блокировку ботов средствами iptables из удаленного источника, а именно с сервиса http://ru.myip.ms/browse/blacklist/
Re: Блокировка ботов
Можно также использовать ipset модуль для iptables. Пример:
yum install ipset
создать файл /etc/ipset.conf
добавить блокировку в /etc/sysconfig/iptables
добавить в конец файла /etc/sysconfig/iptables-config (для загрузки ipset перед iptables)
создать скрипт /root/scripts/fail2ban.sh
рестартнуть сервис iptables, а скрипт запускать по крону
yum install ipset
создать файл /etc/ipset.conf
Code: Select all
create fail2ban hash:ip family inet hashsize 32768 maxelem 65536
Code: Select all
-A INPUT -p tcp -m set --match-set fail2ban src -j BLACKLISTS
SpoilerShow
Code: Select all
test `/usr/sbin/ipset --list | wc -l` = 0 && /usr/sbin/ipset --restore < /etc/ipset.conf
SpoilerShow
Code: Select all
#!/bin/sh
cd `dirname $0`
GOOGLE="^209\.185\.108|^209\.185\.253|^209\.85\.238|^216\.239\.46|^64\.68\.8|^64\.68\.9[0-2]|^66\.249\.6[4-9]|^66\.249\.7[0-3]|^66\.249\.7[8-9]|^72\.14\.199|^8\.6\.48"
echo "flush fail2ban" > fail2ban.txt
wget -q -O- http://lists.blocklist.de/lists/all.txt | sort | uniq > fail2ban.new
grep -qE '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' fail2ban.new || exit
cat fail2ban.new | grep -Eo '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$' | grep -vE "$GOOGLE" | awk '{print "add fail2ban",$1}' >> fail2ban.txt
/usr/sbin/ipset --restore < fail2ban.txt
/usr/sbin/ipset --save > /etc/ipset.conf
rm -f fail2ban.txt fail2ban.new
/usr/sbin/ipset list fail2ban | wc -l