# Как решить проблему утечки исходного IP и DDoS-атак даже при использовании CDN Cloudflare?

**URL:** https://meta.discourse.org/t/how-to-solve-the-problem-of-source-ip-leakage-and-dd-attacks-even-when-using-cloudflare-cdn/326476
**Category:** Support
**Created:** [14.Сентябрь.2024 06:33:38 UTC](https://meta.discourse.org/t/how-to-solve-the-problem-of-source-ip-leakage-and-dd-attacks-even-when-using-cloudflare-cdn/326476 "2024-09-14T06:33:38Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![nwnuyhs](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nwnuyhs/32/444904_2.png) [@nwnuyhs](https://meta.discourse.org/u/nwnuyhs)
#### Post date: [14.Сентябрь.2024 06:33:38 UTC](https://meta.discourse.org/t/how-to-solve-the-problem-of-source-ip-leakage-and-dd-attacks-even-when-using-cloudflare-cdn/326476/1 "2024-09-14T06:33:38Z")

</div>

Мой сайт использует Discourse. Изначально он не был защищён Cloudflare и подвергся DDoS-атаке.

Позже я изменил IP-адрес и настроил Cloudflare. Однако сайт снова подвергся DDoS-атаке, вероятно, из-за утечки IP-адреса исходного сервера.

При использовании CDN Cloudflare, как предотвратить утечку IP-адреса исходного сервера? Есть ли у кого-нибудь хорошие методы? Спасибо.

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [14.Сентябрь.2024 08:19:21 UTC](https://meta.discourse.org/t/how-to-solve-the-problem-of-source-ip-leakage-and-dd-attacks-even-when-using-cloudflare-cdn/326476/2 "2024-09-14T08:19:21Z")

</div>

Я не знаю, но IP-адреса всех онлайн-серверов будут раскрыты одновременно с их созданием.

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [14.Сентябрь.2024 08:29:00 UTC](https://meta.discourse.org/t/how-to-solve-the-problem-of-source-ip-leakage-and-dd-attacks-even-when-using-cloudflare-cdn/326476/3 "2024-09-14T08:29:00Z")

</div>

Вы можете предотвратить множество утечек, выполнив следующие действия:

- настройте прокси-сервер, например Tinyproxy, на отдельном VPS;
- установите переменные окружения `HTTPS_PROXY` и `HTTP_PROXY`, чтобы Discourse использовал их (укажите их в секции `env` вашего файла `app.yml`);
- установите `NO_PROXY='127.0.0.1, localhost, <internal-network>'`.

Также см. [Install discourse with internet access only via proxy](https://meta.discourse.org/t/install-discourse-with-internet-access-only-via-proxy/66396/), [Configuration outbound proxy](https://meta.discourse.org/t/configuration-outbound-proxy/65992) и [Discourse Link previews through a proxy server? - #14 by supermathie](https://meta.discourse.org/t/discourse-link-previews-through-a-proxy-server/72720/14)

Кроме того, если вы используете Cloudflare, вы можете настроить брандмауэр на хосте с Discourse, разрешив входящий трафик только с IP-адресов Cloudflare (а также с хоста, с которого вы сами получаете доступ к нему).

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [14.Сентябрь.2024 09:59:38 UTC](https://meta.discourse.org/t/how-to-solve-the-problem-of-source-ip-leakage-and-dd-attacks-even-when-using-cloudflare-cdn/326476/4 "2024-09-14T09:59:38Z")

</div>

> [@Richard - Communiteq](#):
>
> Настройте брандмауэр на вашем хосте Discourse так, чтобы он принимал входящий трафик только от Cloudflare.

Это и есть решение. Безопасность через неясность не является надёжной. Тогда не будет иметь значения, если ваш IP-адрес станет общеизвестным.

---

<div class="post-metadata">

### Author: ![itsbhanusharma](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/itsbhanusharma/32/180717_2.png) [@itsbhanusharma](https://meta.discourse.org/u/itsbhanusharma)
#### Post date: [14.Сентябрь.2024 10:28:23 UTC](https://meta.discourse.org/t/how-to-solve-the-problem-of-source-ip-leakage-and-dd-attacks-even-when-using-cloudflare-cdn/326476/5 "2024-09-14T10:28:23Z")

</div>

> [@RGJ](#):
>
> вы можете настроить брандмауэр на вашем хосте Discourse так, чтобы он принимал входящий трафик только с IP-адресов Cloudflare

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

---

<div class="post-metadata">

### Author: ![MarcP](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/marcp/32/160184_2.png) [@MarcP](https://meta.discourse.org/u/MarcP)
#### Post date: [14.Сентябрь.2024 21:29:23 UTC](https://meta.discourse.org/t/how-to-solve-the-problem-of-source-ip-leakage-and-dd-attacks-even-when-using-cloudflare-cdn/326476/6 "2024-09-14T21:29:23Z")

</div>

> [@Richard - Communiteq](#):
>
> Кроме того, когда вы используете CF, вы можете настроить брандмауэр на вашем хосте Discourse так, чтобы он принимал входящий трафик только с IP-адресов Cloudflare (и с того хоста, с которого вы сами к нему обращаетесь).

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

но в моём случае с ufw стоит отметить, что Docker по умолчанию обходит ufw, поэтому необходимо убедиться, что правила применяются также к внутренним IP-адресам контейнеров Docker.

Прошло уже довольно много времени, но я могу разобраться подробнее, если вам это ещё нужно, на этой неделе.

И да, туннели Cloudflare — это потрясающе! @itsbhanusharma

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [14.Сентябрь.2024 21:35:25 UTC](https://meta.discourse.org/t/how-to-solve-the-problem-of-source-ip-leakage-and-dd-attacks-even-when-using-cloudflare-cdn/326476/7 "2024-09-14T21:35:25Z")

</div>

> [@MarcP](#):
>
> Но в моём случае с UFW стоит упомянуть, что Docker по умолчанию обходит UFW, поэтому необходимо убедиться, что правила применяются также к внутренним IP-адресам Docker.

Вам следует использовать брандмауэр, предоставляемый вашим провайдером VPS. Использование хост-ориентированного брандмауэра будет гораздо менее эффективным в борьбе с DDoS-атаками, так как трафик всё равно достигает вашего сетевого стека.

---

<div class="post-metadata">

### Author: ![MarcP](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/marcp/32/160184_2.png) [@MarcP](https://meta.discourse.org/u/MarcP)
#### Post date: [14.Сентябрь.2024 21:43:20 UTC](https://meta.discourse.org/t/how-to-solve-the-problem-of-source-ip-leakage-and-dd-attacks-even-when-using-cloudflare-cdn/326476/8 "2024-09-14T21:43:20Z")

</div>

Думаю, у большинства крупных провайдеров защита от DDoS включена по умолчанию? Разве этого недостаточно? Ручное добавление IP-адресов CloudFlare через интерфейс кажется излишним хлопотом (например, мой пользовательский bash-скрипт за 2 секунды автоматически подтягивает IP-адреса CF).

Надо сказать, обычно я вижу обратное: ufw/локальный фаервол вместо фаервола провайдера 🤔

Редактирование: я понимаю логику, с точки зрения защиты от DDoS это, вероятно, эффективнее, и вы правы. Тем не менее, если основной IP-адрес изначально правильно скрыт, DDoS-атаки не должны быть проблемой, верно?

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [15.Сентябрь.2024 07:42:23 UTC](https://meta.discourse.org/t/how-to-solve-the-problem-of-source-ip-leakage-and-dd-attacks-even-when-using-cloudflare-cdn/326476/9 "2024-09-15T07:42:23Z")

</div>

> [@MarcP](#):
>
> Добавление IP-адресов CloudFlare вручную через интерфейс кажется неудобным

У большинства провайдеров сейчас есть для этого API?

> [@MarcP](#):
>
> если основной IP-адрес изначально правильно скрыт, DDoS-атаки не должны быть проблемой, верно?

Верно! Но это довольно большое «если»…

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [15.Сентябрь.2024 08:26:46 UTC](https://meta.discourse.org/t/how-to-solve-the-problem-of-source-ip-leakage-and-dd-attacks-even-when-using-cloudflare-cdn/326476/10 "2024-09-15T08:26:46Z")

</div>

На самом деле это неверно. Просто потому, что IP-адрес никогда не скрывается. DDoS-атака не является проблемой, если обратный прокси-сервер или аналогичное решение имеет инструменты для её блокировки. И даже в случае реальной атаки простого решения начального уровня будет недостаточно. Если же боты или подконтрольные пользователи сканируют закрытые порты или порты с ограничением по IP, это не такая уж большая проблема. Я бы назвал это очередной «четвергом» в мире WordPress, но Discourse во многих отношениях — это совсем другая история.

С другой стороны, я не эксперт в этой области.

Но мне любопытно… какой объём трафика необходим для успешной DDoS-атаки? Конечно, это зависит от ресурсов конфигурации, но, пожалуйста, приведите какие-нибудь цифры.

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [15.Сентябрь.2024 10:05:21 UTC](https://meta.discourse.org/t/how-to-solve-the-problem-of-source-ip-leakage-and-dd-attacks-even-when-using-cloudflare-cdn/326476/11 "2024-09-15T10:05:21Z")

</div>

> [@Jagster](#):
>
> Просто потому, что IP-адрес никогда не скрыт.

Всё зависит от вашего определения слова _скрыт_. Да, все IP-адреса являются публичными. Но тогда какой из 4 миллиардов IP-адресов является правильным? Я считаю, что в рамках этого обсуждения IP-адрес можно считать скрытым, если нет способа определить IP-адрес(а) сервера, на котором размещён конкретный форум Discourse (то есть функция f(h) не определена, где функция f возвращает истинный IP-адрес для хоста).

При условии:

- вы не Cloudflare
- форум не раскрывает свой IP через исходящий трафик, например, через oneboxing, заголовки исходящей почты или любым другим способом

Однако я согласен с вами, что термин «скрыт» вводит в заблуждение и является некорректным. Вероятно, лучше использовать слово «неизвестен».

> [@Jagster](#):
>
> DDoS не является проблемой, если обратный прокси или аналогичное решение имеет инструменты для его остановки.

Это зависит от типа DDoS-атаки. Для атаки на уровне приложений это может быть верно, но также сложно реализовать, так как потребуется某种形式的 rate limiting с инспекцией запросов. Однако для атаки на сетевом уровне (просто затопление трафика через усиление или SYN-атаку) это может не сработать. Кроме того, по сути вы говорите: «это не проблема, если вы можете её смягчить», что довольно очевидно, но при этом сложно и/или дорого.

> [@Jagster](#):
>
> Но мне интересно… сколько трафика нужно для успешной DDoS-атаки? Конечно, это зависит от ресурсов настройки, но, пожалуйста, приведите мне какие-то цифры.

Это также зависит от типа атаки. Атака на уровне приложений должна быть адаптирована под Discourse, но, например, может запускать тяжёлые запросы, такие как поиск, чтобы перегрузить серверы приложений, тогда как атака на сетевом уровне может быть более универсальной, требовать большего объёма трафика и просто забивать nginx или сеть VPS.

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [15.Октябрь.2024 10:05:57 UTC](https://meta.discourse.org/t/how-to-solve-the-problem-of-source-ip-leakage-and-dd-attacks-even-when-using-cloudflare-cdn/326476/12 "2024-10-15T10:05:57Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
