Запретить доступ к сайту

12
V
На сайте с 20.09.2009
Offline
153
2467

Здравствуйте, на сайт идет много запросов с определенного ip, его нужно заблокировать что б уменьшить нагрузку на сервер, как правильно будет в .htaccess прописать:

1.

<Limit GET POST>

order allow,deny

deny from 178.111.111.111

allow from all

</Limit>

2.

iptables -A INPUT -s 178.111.111.111 -j DROP

в 1 варианте будет писать ему ошибка 403, во втором 500

И еще- как запретить доступ к серверу сайта полностью всей стране (в частности молдове) ?

спасибо за помощь.

M
На сайте с 01.12.2009
Offline
235
#1

надо использовать geoip а уже в Iptables иди ещё где-то это вопрос.

Администратор Linux,Freebsd. построения крупных проектов.
M
На сайте с 16.09.2009
Offline
278
#2
viktordl:

2.
iptables -A INPUT -s 178.111.111.111 -j DROP
в 1 варианте будет писать ему ошибка 403, во втором 500

А кто "будет писать" ошибку 500 - волшебная фея?

viktordl:
И еще- как запретить доступ к серверу сайта полностью всей стране (в частности молдове) ?

А тут Вам правильно посоветовали geoip. Есть и модуль для apache и для iptables.

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
V
На сайте с 20.09.2009
Offline
153
#3

А если без geoip, а например молдову так заблокировать(все подсети):

<Limit GET HEAD POST>

order allow,deny

deny from 77.89.192.0/18

deny from 77.235.96.0/19

deny from 80.94.240.0/20

deny from 83.218.192.0/19

deny from 87.248.160.0/19

deny from 87.255.64.0/19

deny from 89.28.0.0/17

deny from 89.149.64.0/18

deny from 89.187.32.0/19

deny from 193.16.111.0/24

deny from 193.17.78.0/24

deny from 193.84.183.0/24

deny from 193.239.182.0/23

deny from 193.243.132.0/23

deny from 195.22.224.0/19

deny from 195.128.182.0/23

deny from 195.138.96.0/19

deny from 212.0.192.0/19

deny from 212.56.192.0/19

deny from 217.12.112.0/20

deny from 217.19.208.0/20

deny from 217.26.144.0/20

deny from 217.26.160.0/20

allow from all

</LIMIT>

Raistlin
На сайте с 01.02.2010
Offline
247
#4

viktordl, В данном случае блокировать надо через iptables - тогда запрос не доберётся до сервера никаким образом. Да, можете блокировать как угодно.

HostAce - Асы в своем деле (http://hostace.ru)
zexis
На сайте с 09.08.2005
Offline
388
#5

Поставьте перед апачем NGINX

В нем есть возможность задать лимиты на количество запросов и коннектов с одного IP.

Это существенно снизит нагрузку от ботов на сервер, пока они не забанены.

Ботов лучше добавлять в отдельную цепочку, а не в INPUT

iptables –N ban

iptables -A ban -s 178.111.111.111 -j DROP

Himiko
На сайте с 28.08.2008
Offline
560
#6

geoip как-то правильнее всё-таки.

Ну или хотя бы через ipset. А то захочется кучу стран заблочить по Ip-адресам, а Iptables может тоже нагрузку создать "хорошую".

Профессиональное администрирование серверов (https://systemintegra.ru). Круглосуточно. Отзывы (/ru/forum/834230) Лицензии (http://clck.ru/Qhf5) ISPManager,VDSManager,Billmanager e.t.c. по низким ценам.
V
На сайте с 20.09.2009
Offline
153
#7
Raistlin:
viktordl, В данном случае блокировать надо через iptables - тогда запрос не доберётся до сервера никаким образом. Да, можете блокировать как угодно.

если так-

iptables -A INPUT -s 77.89.192.0/18 -j DROP

iptables -A INPUT -s 77.235.96.0/19 -j DROP

iptables -A INPUT -s 80.94.240.0/20 -j DROP

и т.д.

еще- ограничить кол-во запросов с одного ip, верно прописано все?

iptables -I INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 10 -j REJECT

спасибо за помощь

Raistlin
На сайте с 01.02.2010
Offline
247
#8

wget hostace.ru/barf.pl

вашу проблему это решит, если отредактируете скрипт под свои цели

V
На сайте с 20.09.2009
Offline
153
#9

Как в .htaccess прописать что бы с одного IP не более определенного количества подключений было к сайту?

с ув.

Raistlin
На сайте с 01.02.2010
Offline
247
#10

viktordl, никак. Вы, видимо, всё, что вам в теме написали - пропустили мимо ушей.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий