Проблемы с IPTables и UFW

Привет, сообщество Discourse!

Обычно при запуске веб-сервера я использую этот скрипт в сочетании с Cloudflare:

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

Я пробовал множество способов воспроизвести это с Discourse, но у меня ничего не получается.

Также я пробовал это с помощью IPTables:

Кто-нибудь смог реализовать подобное решение с Discourse?

Docker выполняет действия, которые нарушают работу iptables. Думаю, вам стоит поискать об этом в Google.

Я тоже с ним согласен. Жаль, что Discourse не работает так: если заходишь по прямому IP, видишь белый экран или вообще что угодно — просто сбрасывай соединение без указания домена, чёрт возьми.

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

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

Конечно, повысит, так как это предотвращает обнаружение IP-адреса через DNS, Censys, Shodan и т. д.
Я пытался найти в Google, как разрешить только Cloudflare, но без особого успеха. Не помню, к чему это привело. К тому же, если я разрешу только IP-адреса Cloudflare и при этом использую конфигурацию CF для получения реального IP, не сломает ли это всё? Очень хотелось бы найти документацию по этому вопросу.

Кроме того, я не знаю, как редактировать конфигурацию nginx. Когда я захожу в приложение, ничего нельзя изменить. Извините, я немного новичок, ха-ха.

Шаблон веб-сайта добавляет перенаправление для IP-адреса (и любого подключения), поэтому вы можете отменить эту часть.

Allowing Cloudflare IP addresses only in Nginx | inDev. Journal описывает, как разрешить только IP-адреса Cloudflare. Понять, как заставить шаблон делать это, потребует некоторой работы от того, кто разбирается в шаблонах, но это должно быть возможно.

Нет. Реальный адрес находится в другом заголовке.

и первая ссылка (Packet filtering and firewalls | Docker Docs) описывает это:

Таким образом, вам нужно будет соответствующим образом изменить скрипт Cloudflare.

Это выше моих сил, но я очень ценю ваш ответ. Скоро прочитаю эту документацию. Надеюсь, кто-нибудь из тех, у кого есть время, увидит это и напишет что-то по теме. Я уже видел здесь довольно много постов, посвященных этой проблеме.

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

У меня есть форум, который уже подвергался атакам. Благодаря Cloudflare (с использованием тарифа Pro) нам помогли, но было бы здорово «подготовиться» к этому заранее, ведь нужна лучшая защита, верно? Да, понимаю, это требует много работы.

Я думаю, что ChatGPT и скрипт из первого поста могут это решить.

Понятно, надеюсь, что OP сможет это попробовать, я тоже позже посмотрю, спасибо за помощь.