Задать вопрос
@psiklop

Где блокировать ip адреса для защиты сайтов?

Вопрос по эффективности и возможностям, опыта пока мало.
Допустим надо временно ограничить доступ только для одной страны.
Если взять ip тут https://www.ipdeny.com/ipblocks/ списки не большие это кажется не сложным.

Заблокировать ip можно в iptables, но это будут правила для всего сервера, это минус, а в чем плюс.
Действительно ли это самый лучший способ и такие запросы не дойдут до nginx, если так насколько это эффективней?

Далее если использовать для защиты сам nginx, намного ли это хуже, правда ли что я смогу настроить очень гибко для каждого домена и даже сделать редирект для ip не из списка ?

И если использовать php, допустим занести при загрузке сервера список ip в memcache и первым делом проверять любой входящий, получается максимально гибко, но насколько это хуже nginx?
  • Вопрос задан
  • 182 просмотра
Подписаться 1 Простой 8 комментариев
Решения вопроса 2
@alexalexes
Весь принцип фильтрации от DDoS состоит в том, чтобы чем дальше от основного сервера будет стоять фильтр, тем меньше аппаратных ресурсов будет потрачено, чтобы определить - пропускать запрос на основной сервер или нет.
Заблокировать ip можно в iptables, но это будут правила для всего сервера, это минус, а в чем плюс.
Действительно ли это самый лучший способ и такие запросы не дойдут до nginx, если так насколько это эффективней?

Для основного сервера будет плюс - не будет тратится ресурсы на обработку запроса на нем, гибкости меньше.
Далее если использовать для защиты сам nginx, намного ли это хуже, правда ли что я смогу настроить очень гибко для каждого домена и даже сделать редирект для ip не из списка ?

Будет гибче, но при DDoS будет напрягаться nginx.
И если использовать php, допустим занести при загрузке сервера список ip в memcache и первым делом проверять любой входящий, получается максимально гибко, но насколько это хуже nginx?

Будет напрягаться то, что стоит перед nginx + сам nginx + php. Один запрос в php - поднимается один процесс php - самая дорогая операция для сервера. Хоть СУБД это не будет напрягать, и другие хранилища данных, но цель атакующего будет достигнута.
Ответ написан
Комментировать
@SunTechnik
Почитайте, что такое DDOS.
Грубо есть три вектора атаки:
1. Загрузить сервер тяжёлыми запросами или атакой на взлом.
Тут поможет защититься любой из предложенных Вами способов.

2. Загрузить сервер количеством TCP сессий.
Тут поможет способ на ip tables.

3. Загрузить входящий канал (превысить его пропускную способность)
Тут не поможет ни один из предложенных способов. Нужен внешний сервер с большим каналом для предварительной фильтрации (условно - cloudflare)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы