Сначала я начну с того, что я не системный администратор или каким-либо образом разбираюсь в серверах, я просто разработчик, которому поручено настроить инфраструктуру для приложения SaaS, над которым я работаю, так что простите меня за не совсем все понимает. Я провел много исследований по этому поводу, но все еще нуждаюсь в небольшом руководстве.
Я подумываю использовать капли DigitalOcean для приложения Laravel. Будет 3 капли, 2 из которых будут действовать как веб-сайт / серверы, а 3-я будет использоваться как балансировщик нагрузки, и все они будут настроены с использованием Laravel Forge. Будет создана база данных Digital Ocean Managed Database, к которой будут подключаться оба сервера, а также будет использоваться Digital Ocean Spaces для активов, доставляемых через их CDN.
Cloudflare будет использоваться для защиты от DDoS-атак, но мне просто интересно, как это будет настроено, я предполагаю, что его лучше всего разместить на балансировщике нагрузки, поскольку это первая строка в цепочке при просмотре / подключении к сайту? Таким образом, поступает запрос, Cloudflare обрабатывает его, передает запрос балансировщику нагрузки, который затем распределяет его на любой сервер, где сервер затем подключается к управляемой базе данных, таким образом защищая как серверы, так и базу данных за один раз.
Считается ли это хорошей настройкой или есть способ лучше настроить? Я также думаю, что Spaces CDN потребует дополнительной защиты от DDoS-атак, поскольку это отдельная область, но я не уверен, как лучше всего с этим справиться, или есть ли способ использовать Cloudflare для Droplet / Database и CDN.
Я также читал о сокрытии общедоступных IP-адресов серверов, которые можно использовать для обхода Cloudflare. Какие шаги я могу предпринять, чтобы предотвратить это, чтобы обеспечить мне лучшую защиту от атаки?
Размещение Cloudflare перед балансировщиком нагрузки - это правильный путь, поскольку тогда ваш балансировщик нагрузки видит только «настоящий» трафик. Защита Cloudflare от DDOS работает, «пряча» ваш веб-сервер за своей сетью Anycast, что по сути означает, что конкретный IP-адрес, который Cloudflare служит в качестве ответа на запросы DNS для вашего сайта, доступен в более чем 100 точках по всему миру, и потенциальные злоумышленники тогда ваши веб-серверы не могут быть перегружены, поскольку они не знают, как отправлять на них трафик, кроме как через Cloudflare.
Я бы порекомендовал также изучить использование Cloudflare или DigitalOcean для части балансировки нагрузки, они оба предлагают специальный продукт для этой цели, который проще в настройке и немного более надежен. Они также могут выполнять такие действия, как разгрузка SSL, кэширование и другие вещи, что значительно снижает нагрузку на ваши веб-серверы.
Что касается размещения Cloudflare перед CDN DigitalOcean Spaces, это может быть немного излишним, поскольку CDN DO уже должен быть вполне способен обрабатывать DDOS-атаки.