Як захистити веб-сервер від Dos атаки?

Ми розглянемо просту захист веб-сервера від частого оновлення сторінки (ctrl + F5) і від невеликих Dos атак на нього.

Давайте перевіримо, наскільки ваш веб-сервер захищений від атаки за допомогою двох простих способів:

1. Найпростіший спосіб вирубати ваш сайт – Ctrl + F5

Мало хто знає, що якщо відкрити сторінку сайту і постійно оновлювати її, не відпускаючи Ctrl + F5, через невеликий проміжок часу ваш сайт буде недоступний. Це станеться через величезної кількості запитів, з якими ваш веб-сервер не зміг впоратися. В результаті будь-який школяр, таким простим способом може укласти ваш сайт.

2. Програма для тестування веб-сервера

Давайте перевіримо веб сервер на стійкість до дрібних атакам на нього. Для цього нам знадобиться програма SwitchBlade. Завантажуємо програму і запускаємо файл run-DDos.

Програма дуже проста у використанні. В поле «URL» впишіть ім’я тестованого сайту, а в поле «Connections» кількість одночасних підключень. Після натискання кнопки «Run attack», на ваш сайт посипляться запити і через кілька секунд він стане недоступний.

Як захистити веб-сервер від атаки?

Якщо будь-який з вище перерахованих способів уклав ваш сайт, читаємо далі.

В обох випадках, при навантаженні на веб-сервер, виникала помилка, і сайт ставав недоступний. Що можна зробити?

Обмежуємо кількість одночасних підключень до сервера з одного ip адреси.

Для цього нам знадобиться скрипт DoS Deflate. Він перевіряє по логам, скільки підключень здійснюється, і коли перевищений ліміт блокує атакуючий ip.

установка DoS Deflate

Для установки заходимо з консолі під правами root і робимо, як написано нижче.

Викачуємо скрипт:

wget http://www.inetbase.com/scripts/ddos/install.sh

Міняємо права на запуск:

chmod 0700 install.sh

інсталюємо:

./install.sh

запускаємо:

sh /usr/local/ddos/ddos.sh

Налаштування DoS Deflate

Потрібно налаштувати скрипт для наших потреб. Заходимо в каталог / usr / local / ddos ​​і редагуємо ddos.conf.

Виставляємо параметри, відповідно до вимог вашого веб-сервера. Нижче приклад відповідний для більшості серверів.

  • NO_OF_CONNECTIONS = 100 – максимальна кількість з’єднань з одного ip;
  • APF_BAN = 0 – вибираємо спосіб блокування за допомогою iptables;
  • BAN_PERIOD = 600 – період блокування атакуючого в секундах;
  • KILL = 1 – залишаємо за замовчуванням;
  • EMAIL_TO = «» – відправка поштових повідомлень при атаці;
  • IGNORE_IP_LIST = «/usr/local/ddos/ignore.ip.list» – список ip адрес, які не повинні блокуватися;

важливо: в файлі ignore.ip.list після вказівки в рядок всіх ip адрес, які не повинні блокуватися, перейдіть на два рядки вниз за допомогою Enter, щоб скрипт міг туди тимчасово вписувати і потім видаляти заблоковані адреси(Щоб два рази поспіль не блокувати один і той самий ip). Інакше він може помилково видалити або дописати адреса в кінець вашого виключеного ip

Скрипт записується в cron (Планувальник) і автоматично запускається кожну хвилину, для перевірки атаки на сервер. Також скрипт автоматично додає в білий список ip вашого сервера і ваш ip, з якого ви підключилися з консолі.

Як розблокувати ip, який потрапив в чорний список.

Набираємо в консолі команду і дивимося заблоковані номер ip

iptables -L INPUT -n –line-numbers

Після номера коштує DROP all – (Заблокований ip типу 91.219.219.62)

Для видалення заблокованого ip вводимо команду, де вказуємо наш заблокований номер. (В нашому випадку заблокований ip був під номером «1»)

iptables -D INPUT 1

Після цього наш ip 91.219.219.62 буде розблоковано.

висновки

У статті ми розглянули один з найпростіших способів захисту веб-сервера, який відмінно підійде для новачків. Встановивши на веб-сервер DoS Deflate, ми зробили його більш захищеним від невеликих атак.

При більш серйозних атаках, коли Dos здійснюється з тисячі різних ip існують інші способи, які ми розглянемо в наступних статтях.

Ссылка на основную публикацию