При використанні віртуальних\виділених серверів іноді трапляються DOS атаки, щоб вивести з ладу тей чи інший сайт. У даній статті розберемо як побороти такі атаки.
Для початку ми повинні розуміти:
DOS-атака – коли багато запитів відправляється з одного IP.
DDOS-атака – коли запити надходять з безліч IP адрес, які відстежити важко.
У разі DOS атаки ми можемо подивитися кількість з’єднань з сервером по кожному IP командою:
netstat -n | grep :80 | awk '{print $5}' | cut -d':' -f1 | sort | uniq -c | sort -nr | head
Ця команда покаже, які IP підключені до сервера і їх кількість по 80 порту. Замініть порт на 443 якщо потрібно подивитися з’єднання по захищеному порту SSL, або пропишіть будь-який інший порт.
Так само, є можливість відстежити який IP відправляє безліч запитів до конкретного сайту використовуючи логи. Для цього можна використовувати дану команду:
tail -n50000 /var/log/apache2/domains/site.com.log | awk '{print $1}' | sort | uniq -c | sort -n
Де, /var/log/apache2/domains/site.com.log – шлях до логу потрібного сайту. Ця команда покаже скільки запитів відправив той чи інший IP, якого можна заблокувати через брандмауер.
У разі, якщо Ви використовуєте фаєрвол cpf\apf – можна обмежити кількість з’эднань в конфігурації даного брандмауера:
CT_LIMIT = 12 CT_INTERVAL = 10 CT_EMAIL_ALERT= 0 CT_BLOCK_TIME = 3600 CT_SKIP_TIME_WAIT = 0 CT_STATES = CT_PORTS = 80,443
Тут вказується з яким інтервалом файервол буде сканувати порти 80\443 і якщо підключень більше 12 – тоді IP буде заблокований на годину. Дану конфігурацію радимо включати саме на момент атаки.
Зверніть увагу, якщо ви використовуєте панель керування ISPmanager 5 lite\Bussines – в ній є можливість налаштувати захисту від DOS атак через налаштування www-домена. При цьому сервер повинен використовувати nginx. Щоб включити захист – перейдіть в розділ Www-домени – виділіть необхідний сайт і натисніть “Изменить“. Позначте “DDOS защита” і внизу сторінки виставте конфігурацію даного налаштування.
Другим способом боротьби з DOS-атаками можна вважати захист CoudFlare – якщо Ваш сайт підключений і працює через даний сервіс – треба включити на його стороні режим “Under Attack” що знизить навантаження на сервер, а сервіс CoudFlare встановить капчу або заглушку при завантаженні вашого сайту і відсіє ботів.