Как найти помощь в настройке защиты NGINX от DDoS атак?

Как настроить сервер для защиты от DDOS с использованием реверс-прокси с установкой белого списка IP-адресов?
  • 18 декабря 2023 г. 18:07
Ответы на вопрос 2
Для настройки защиты NGINX от DDoS атак и использования реверс-прокси с белым списком IP-адресов, следуйте следующим шагам:

1. Установите NGINX на сервер.
   - Для Linux: 
     - Ubuntu: `sudo apt-get install nginx`
     - CentOS: `sudo yum install nginx`
   - Для Windows загрузите установщик с официального сайта NGINX и выполните инсталляцию.

2. Создайте файл конфигурации NGINX для вашего сервера.
   - Для Linux:
     - Ubuntu: `sudo nano /etc/nginx/sites-available/default`
     - CentOS: `sudo nano /etc/nginx/nginx.conf`
   - Для Windows: `C:\nginx\conf\nginx.conf` (при условии, что NGINX установлен в папку C:\nginx)

3. Настройте сервер для использования реверс-прокси.
   - Добавьте следующий блок `location` в файл конфигурации NGINX:

     ```nginx
     location / {
         proxy_pass http://localhost:8080;  # Замените порт на тот, на котором работает ваше приложение
         proxy_set_header X-Real-IP  $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header X-Forwarded-Proto $scheme;
     }
     ```

4. Настройте ограничение доступа к серверу с использованием белого списка IP-адресов.
   - Добавьте следующие строки перед блоком `location`:

     ```nginx
     geo $allowed {
         default 0;
         192.168.0.1/32 1;  # Добавьте IP-адреса, которым разрешен доступ
         10.0.0.0/16 1;     # Примеры формата для указания IP-адресов в CIDR нотации
     }
     ```

   - Добавьте следующее условие в блок `location`:

     ```nginx
     if ($allowed = 0) {
         return 403;  # Запретить доступ всем адресам, не указанным в белом списке
     }
     ```

5. Сохраните и закройте файл конфигурации.

6. Перезапустите NGINX, чтобы применить новую конфигурацию.
   - Для Linux:
     - Ubuntu: `sudo service nginx restart`
     - CentOS: `sudo systemctl restart nginx`
   - Для Windows: Откройте командную строку, перейдите в каталог с установленным NGINX (`C:\nginx`) и выполните команду `nginx.exe -s reload`

После выполнения этих шагов NGINX будет настроен на использование реверс-прокси и доступ только для IP-адресов, указанных в белом списке. Это поможет защитить ваш сервер от DDoS атак, выполняя фильтрацию запросов и разрешая доступ только определенным адресам. Однако, имейте в виду, что это лишь одна из многих методов защиты и для надежной защиты важно использовать комплексный подход.
Проще всего использовать  CDN типа CloudFlare. 

Или настроить блокировщик типа такого
https://docs.crowdsec.net/u/bouncers/nginx/
Похожие вопросы