Назад | Перейти на главную страницу

Cloudfront с эластичным балансировщиком нагрузки без кеширования для безопасности

У меня есть домен на экземпляре ec2 с доступом в реальном времени (вставка новых потенциальных клиентов) к удаленному db. Недавно AWS посоветовал использовать облачный фронт elb + для обеспечения безопасности.

Можно включить облачный фронт в домене с доступом в реальном времени (вставка новых потенциальных клиентов) к удаленной базе данных.

И ELB, и CloudFront обеспечивают некоторую безопасность. Они предотвращают определенные атаки уровней 3 и 7 за счет разрыва соединения перед передачей его на ваш сервер. Это включает DDOS и SlowLoris.

CloudFront имеет то преимущество, что он имеет узлы по всему миру и огромную пропускную способность. Это может смягчить многие DDOS-атаки просто из-за масштаба. ELB также масштабируется вместе с трафиком, но не так быстро, как CloudFront, поскольку ему приходится запускать или выделять новые серверы.

Входящий трафик на AWS бесплатный. Это означает, что они бесплатно поглощают атаки.

Использование любого из этих продуктов повышает вашу безопасность. Вам не нужно использовать оба. Я предлагаю вам пока просто использовать CloudWatch.

Я только что настроил CloudFront для своего сервера EC2, это довольно просто, но с некоторыми хитростями вокруг https. Общие шаги (включая HTTPS):

  • Используйте диспетчер сертификатов AWS, чтобы создать сертификат для своих доменов (включая субдомен www) в регионе US-EAST-1 (ДОЛЖЕН быть в этом регионе)
  • Настройте новый поддомен для вашего происхождения. CloudFront это необходимо. Например, я использовал origin.example.com и настроил Nginx для ответа на этот адрес.
  • Настройте CloudFront с этим источником, указав свой домен и субдомены в качестве альтернативы. Тщательно настройте свое поведение, учитывая, что следует и не следует кэшировать. Даже если ничего не кэшируется, ваш веб-сайт, скорее всего, будет работать быстрее, чем если бы он передавался через Интернет, поскольку как только запрос попадает в CloudFront, он перемещается по частной оптимизированной магистрали AWS, а не через общедоступный Интернет. Динамический контент в порядке, просто установите TTL равным 0.
  • В идеале настройте Route 53, используйте записи псевдонимов, чтобы указать на CloudFront, переместите свой DNS и измените его на серверы имен.

Если вы хотите еще больше повысить свою безопасность, вы можете использовать AWS WAF. он интегрируется с CloudFront. Это дешевле, чем у большинства WAF, но вы, вероятно, потратите несколько десятков долларов в месяц, если он будет полностью настроен. Лично я не заморачиваюсь, мой сервис не критичен.

Если вам нужен еще более простой вариант, используйте CloudFlare. Это не часть AWS, но его очень просто настроить, и у них есть бесплатный уровень. Я использую его на большинстве своих сайтов.