Как предотвратить DDoS-атаки с помощью Nginx

Как предотвратить DDoS-атаки с помощью Nginx

DDoS-атаки (распределенный отказ в обслуживании) с использованием неправомерной тактики цифровой связи перегружают ресурсы сервера. Эти виды атак представляют собой организованные рейды в компьютерном мире. Бесчисленные акты отвратительного противодействия в совокупности создают угрозу, достаточно серьезную, чтобы заставить сервер остановиться.

Хуже всего то, что существует множество способов вести партизанскую веб-войну против таких хостов. К счастью, серверы можно настроить для защиты от таких атак.

Nginx, очень популярная серверная система для компьютеров Unix, обладает достаточным встроенным функционалом, чтобы значительно ограничить эффективность DDoS-атак.

Вот несколько эффективных способов борьбы с такими угрозами с помощью Nginx.

Как предотвратить DDoS-атаки с помощью Nginx?

Резервное копирование файлов конфигурации

Прежде чем изменять какие-либо настройки, обязательно сделайте быструю резервную копию конфигурации вашего сервера. Для этой цели работает следующая команда:

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup-original

Как предотвратить DDoS-атаки с помощью Nginx

После завершения вы готовы продолжить.

Проверить трафик

Мониторинг трафика на вашем сервере позволяет легко оптимизировать безопасность и реализовать дополнительные стратегии. В Nginx есть модуль, созданный специально для этой цели.

Настроить страницу статуса

Nginx обычно поставляется с модулем под названием «статус-заглушка» (http_stub_status_module), который позволяет довольно легко интегрировать этот тип функциональности в серверную среду. Сначала проверьте его с помощью следующей команды:

nginx -V

Как предотвратить DDoS-атаки с помощью Nginx

Или используйте следующую команду, чтобы найти его быстрее:

nginx -V 2>&1 | grep -o with-http_stub_status_module

Как предотвратить DDoS-атаки с помощью Nginx

Если ваш результат выглядит так, как показано выше, то все в порядке. В противном случае вам придется установить или перекомпилировать установку Nginx с включенным модулем.

Настроить страницу состояния, которую вы можете проверить, просто, но вам также необходимо ограничить доступ к минимуму (только компьютер) для обеспечения безопасности. Начните с открытия основного файла конфигурации сервера, расположенного по адресу /etc/nginx/nginx.conf.

Откройте его и добавьте следующий код в «директиву http» , чтобы включить модуль, заменив собственную информацию в «localhost», «/status_page» и «127.0.0.1».

server {
listen 80;
listen [::]:80;
server_name localhost;
##
# Status Page Settings
##
location /status_page {
stub_status on;
allow 127.0.0.1;
allow ::1;
deny all;
}
}

Примечание . Для изменения этого файла вам потребуются права sudo.

Как предотвратить DDoS-атаки с помощью Nginx

Теперь проверьте вашу конфигурацию:

sudo nginx -t

Как предотвратить DDoS-атаки с помощью Nginx

Если все в порядке, отправьте серверу сигнал перезагрузки:

sudo systemctl reload nginx

Как предотвратить DDoS-атаки с помощью Nginx

Чтобы получить доступ к странице статуса, посетите местоположение имя_сервера , а затем «/status_page» в веб-браузере или с помощью инструмента командной строки, такого как Curl. (Это полезно, если кеш вашего браузера не обновляется автоматически). Вот команда curl для доступа к странице в примерах:

curl localhost/status_page

Как предотвратить DDoS-атаки с помощью Nginx

В браузере вывод приведенной выше команды выглядит следующим образом.

Как предотвратить DDoS-атаки с помощью Nginx

Проверьте журналы доступа

Если вы заметили необычный трафик при проверке страницы состояния, настроенной выше, вы можете проверить журнал доступа к серверу. Журнал доступа к серверу можно найти по адресу «/var/log/nginx/access.log». В журнале перечислены использованные методы HTTP, дата/время попыток доступа, пользовательский агент и страницы, к которым был осуществлен доступ.

Как предотвратить DDoS-атаки с помощью Nginx

Ограничения на подключение

Среди множества полезных тактик предотвращения DDoS-атак, которые стоит попробовать, одна из самых простых и эффективных — ограничение скорости входящего трафика.

В идеале вам следует ограничить доступ ровно настолько, чтобы предотвратить перегрузку вашего сервера вредоносными ботами, сохраняя при этом разумные скорости. В Nginx это можно сделать с помощью директив limit_req_zone и limit_req . Следующий код устанавливает ограничения памяти и скорости для использования в любом месте, для отображения которого настроен ваш сервер:

limit_req_zone $binary_remote_addr zone=speedbump:10m rate=10r/s;

«Зона» указывает имя и емкость (в данном случае в мегабайтах) области памяти, в которой хранятся пользовательские запросы. «Скорость» устанавливает общее количество запросов, которые Nginx будет принимать в секунду (в этом примере 10 запросов). Думайте об этом коде как о правиле, и ниже описано использование этого правила:

limit_req zone=speedbump burst=20;

Приведенный выше код на самом деле делает немного больше, чем просто реализацию правила ограничения. Он также добавляет небольшую очередь до 20 запросов для корректной обработки законных соединений, которые обрабатываются немного быстрее, чем обычно, что превышает как правила, так и очередь, что приводит к ошибке 503 для клиента. Обе директивы в nginx.conf выглядят следующим образом:

Как предотвратить DDoS-атаки с помощью Nginx

Создайте черный список IP-адресов

Если вы получите IP-адрес , который осуществляет DDoS-атаку на ваш сервер, вы можете просто занести его в черный список и исключить все соединения, исходящие с этого IP-адреса.

Добавьте следующий код в директиву вашего сервера:

location / {
deny 123.123.123.0/28;
# ...
}

Блокировать запросы к определенным файлам

Если DDoS-атака нацелена на определенные файлы на сервере — например, на файл xmlrpc.php в WordPress (это обычно целевой файл на большинстве серверов WordPress), вы можете заблокировать их все, все требования к нему. Добавьте этот код в директиву вашего сервера:

location /xmlrpc.php {
deny all;
}

Следуйте описанному выше процессу, и вы сможете ограничить большинство DDoS-атак. Обязательно ознакомьтесь с документацией Nginx , чтобы узнать о дополнительных параметрах безопасности, которые вы можете применить.

Надеюсь, вы добьетесь успеха.


Как очистить и сбросить кеш Microsoft Store в Windows 10

Как очистить и сбросить кеш Microsoft Store в Windows 10

Если у вас возникли проблемы с установкой или обновлением приложения «Магазин» в Windows 10, это может быть связано с проблемой с кешем магазина. Узнайте как <strong>очистить кеш магазина Microsoft</strong> для вашей учетной записи в Windows 10.

Топ-10 лучших бесплатных программ-кейлоггеров для Windows

Топ-10 лучших бесплатных программ-кейлоггеров для Windows

Кейлоггер - это программное обеспечение для захвата и сбора информации о нажатиях клавиш. Узнайте о лучших бесплатных кейлоггерах для Windows. Как защитить свои данные!

Как всегда запускать Microsoft Edge в режиме InPrivate в Windows 10

Как всегда запускать Microsoft Edge в режиме InPrivate в Windows 10

Если вы используете Microsoft Edge на общем компьютере с Windows 10 и хотите сохранить конфиденциальность своей истории просмотров, узнайте, как настроить Edge для запуска в режиме InPrivate.

8 способов открыть MSConfig в Windows 11

8 способов открыть MSConfig в Windows 11

Вы можете решить многие проблемы, возникающие в Windows 11, с помощью настройки системы. Например, если игра не запускается, открытие и изменение настроек MSConfig может решить проблему.

Инструкция по настройке и использованию VPNBook на Windows

Инструкция по настройке и использованию VPNBook на Windows

VPNBook — бесплатный провайдер VPN с неограниченной пропускной способностью, идеален для доступа к заблокированным сайтам. Узнайте, как настроить VPN на Windows за считанные минуты.

Включить/отключить функцию встроенного автозаполнения в проводнике и диалоговом окне «Выполнить» в Windows 10.

Включить/отключить функцию встроенного автозаполнения в проводнике и диалоговом окне «Выполнить» в Windows 10.

Узнайте, как включить или отключить встроенное автозаполнение в адресной строке проводника и диалоговом окне «Выполнить» в Windows 10. Следуйте нашим простым шагам!

6 способов получить доступ к меню параметров загрузки в Windows 10

6 способов получить доступ к меню параметров загрузки в Windows 10

Windows 10 предоставляет <strong>меню параметров загрузки</strong>, позволяющее исправлять проблемы и перенастраивать систему. Узнайте, как получить доступ к этому меню.

Как запустить любое приложение с помощью кнопки «Удобство доступа» на экране входа в Windows 10

Как запустить любое приложение с помощью кнопки «Удобство доступа» на экране входа в Windows 10

Кнопка «Удобство доступа» на экране входа в Windows 10 дает возможность пользователям запускать приложения, такие как диспетчер задач и командную строку, для улучшения доступа и функциональности.

Как изменить веб-камеру по умолчанию на компьютере с Windows 10

Как изменить веб-камеру по умолчанию на компьютере с Windows 10

Эта статья поможет вам настроить переключение между веб-камерами на компьютере с Windows 10. Убедитесь, что у вас по умолчанию установлена нужная веб-камера.

9 способов открыть Блокнот в Windows 11

9 способов открыть Блокнот в Windows 11

Узнайте, как быстро и удобно открыть Блокнот в Windows 11 различными способами. Bлокнот — это незаменимое текстовое приложение, которое всегда под рукой.