Как заблокировать IP-адреса?
Как заблокировать IP-адреса?
С нескольких (около 50ти) IP-адресов многие мои сайты сканируют боты. Хочу полностью заблокировать любой доступ к серверу с этих адресов.
Для теста в файерволе прописал свой IP, но сайты с этого IP все-равно доступны....
Что там написать и куда надо нажать, чтобы полностью игнорировать все запросы с определенных IP?
Для теста в файерволе прописал свой IP, но сайты с этого IP все-равно доступны....
Что там написать и куда надо нажать, чтобы полностью игнорировать все запросы с определенных IP?
-
- Support team
- Posts: 1111
- Joined: Tue Jul 30, 2013 10:18 pm
- Contact:
- Os: CentOS 6x
- Web: nginx + php-fpm
Re: Как заблокировать IP-адреса?
На скрине 123.123.123.123 указан как порт.
Файервол отвечает за открытость портов. Для блокировок идите в настройки fail2ban. На скрине есть эта ссылка.
Файервол отвечает за открытость портов. Для блокировок идите в настройки fail2ban. На скрине есть эта ссылка.
Re: Как заблокировать IP-адреса?
Я так понимаю в fail2ban IP-адрес храниться временно, даже если через панель VestaCP добавить? Пожизненно можно блокировать, либо создать список IP-адресов отдельным файлом и подключать как-нибудь в конфиге include-ом?
-
- Support team
- Posts: 1111
- Joined: Tue Jul 30, 2013 10:18 pm
- Contact:
- Os: CentOS 6x
- Web: nginx + php-fpm
Re: Как заблокировать IP-адреса?
А черт его знает, не пользовался ни разу.
Re: Как заблокировать IP-адреса?
fail2ban лишний на продакшене.
iptables сам справляется с задачей быстрее и надежнее
пример
не уверен что через панель такое добавить
+ у вас есть nginx через который также же можно отсечь ботов
iptables сам справляется с задачей быстрее и надежнее
пример
Code: Select all
# cat /etc/sysconfig/iptables
-A INPUT -p tcp -m tcp --dport 21 -m state --state NEW -m recent --rcheck --seconds 7200 --name BLOCK --rsource -j DROP
-A INPUT -p tcp -m tcp --dport 21 -m state --state NEW -m hashlimit --hashlimit-above 5/min --hashlimit-burst 10 --hashlimit-mode srcip --hashlimit-name BLOCK -m recent --set --name BLOCK --rsource -j DROP
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
+ у вас есть nginx через который также же можно отсечь ботов
Code: Select all
map $http_user_agent $limit_bots {
default 0;
~*(google|bing|yandex|msnbot) 1;
~*(AltaVista|Googlebot|Slurp|BlackWidow|Bot|ChinaClaw|Custo|DISCo|Download|Demon|eCatch|EirGrabber|EmailSiphon|EmailWolf|SuperHTTP|Surfbot|WebWhacker) 1;
~*(Express|WebPictures|ExtractorPro|EyeNetIE|FlashGet|GetRight|GetWeb!|Go!Zilla|Go-Ahead-Got-It|GrabNet|Grafula|HMView|Go!Zilla|Go-Ahead-Got-It) 1;
~*(rafula|HMView|HTTrack|Stripper|Sucker|Indy|InterGET|Ninja|JetCar|Spider|larbin|LeechFTP|Downloader|tool|Navroad|NearSite|NetAnts|tAkeOut|WWWOFFLE) 1;
~*(GrabNet|NetSpider|Vampire|NetZIP|Octopus|Offline|PageGrabber|Foto|pavuk|pcBrowser|RealDownload|ReGet|SiteSnagger|SmartDownload|SuperBot|WebSpider) 1;
~*(Teleport|VoidEYE|Collector|WebAuto|WebCopier|WebFetch|WebGo|WebLeacher|WebReaper|WebSauger|eXtractor|Quester|WebStripper|WebZIP|Wget|Widow|Zeus) 1;
~*(Twengabot|htmlparser|libwww|Python|perl|urllib|scan|Curl|email|PycURL|Pyth|PyQ|WebCollector|WebCopy|webcraw) 1;
}
location / {
if ($limit_bots = 1) {
return 403;
}
}
Re: Как заблокировать IP-адреса?
Code: Select all
map $http_user_agent $limit_bots {
default 0;
~*(google|bing|yandex|msnbot) 1;
~*(AltaVista|Googlebot|Slurp|BlackWidow|Bot|ChinaClaw|Custo|DISCo|Download|Demon|eCatch|EirGrabber|EmailSiphon|EmailWolf|SuperHTTP|Surfbot|WebWhacker) 1;
~*(Express|WebPictures|ExtractorPro|EyeNetIE|FlashGet|GetRight|GetWeb!|Go!Zilla|Go-Ahead-Got-It|GrabNet|Grafula|HMView|Go!Zilla|Go-Ahead-Got-It) 1;
~*(rafula|HMView|HTTrack|Stripper|Sucker|Indy|InterGET|Ninja|JetCar|Spider|larbin|LeechFTP|Downloader|tool|Navroad|NearSite|NetAnts|tAkeOut|WWWOFFLE) 1;
~*(GrabNet|NetSpider|Vampire|NetZIP|Octopus|Offline|PageGrabber|Foto|pavuk|pcBrowser|RealDownload|ReGet|SiteSnagger|SmartDownload|SuperBot|WebSpider) 1;
~*(Teleport|VoidEYE|Collector|WebAuto|WebCopier|WebFetch|WebGo|WebLeacher|WebReaper|WebSauger|eXtractor|Quester|WebStripper|WebZIP|Wget|Widow|Zeus) 1;
~*(Twengabot|htmlparser|libwww|Python|perl|urllib|scan|Curl|email|PycURL|Pyth|PyQ|WebCollector|WebCopy|webcraw) 1;
}
location / {
if ($limit_bots = 1) {
return 403;
}
}
Это придется делать для каждого сайта на сервере. А для всех сразу - не получится.