DataLife Engine / Запрещаем веб трафик на origins, кроме Cloudflare IPs

Запрещаем веб трафик на origins, кроме Cloudflare IPs


Cloudflare — это сервис, который располагается между пользователями и сервером владельца сайта, выступающий как обратный прокси-сервер для сайтов. Cloudflare предоставляет сеть доставки контента (CDN), защиту от DDoS атак и распределенные службы доменных имен (DNS).

Термин "origins" используется в Cloudflare, как сервер находящийся за облаком Cloudflare и принимающий запросы от него.

Предполагается, что ваш сайт уже настроен на работу с сервисами Cloudflare.

Создайте скрипт, который будет актуализировать информацию об IP адресах Cloudflare, а также обновлять конфигурацию в NGINX.

vi /root/cloudflare-ips.sh
#!/bin/bash

# GET Cloudflare IPs
curl https://www.cloudflare.com/ips-v4 > /etc/nginx/extras/ips-v4

# add "allow" to start and ";" to end of lines
sed 's/.*/allow &;/' /etc/nginx/extras/ips-v4 >> /tmp/cf-ips
mv -f /tmp/cf-ips /etc/nginx/extras/cf-ips

# test nginx conf
/usr/sbin/nginx -t

if [[ $? == 0 ]]; then
    echo "Reload nginx configuration..."
    systemctl reload nginx.service
else
    echo "Cannot reload nginx because test conf failed..."
fi

Добавьте acl в нужный location в nginx:
include /etc/nginx/extras/cf-ips;
deny all;

cloudflare-ips.sh [464 b] (cкачиваний: 59)
17-12-2020, 11:40
Вернуться назад