Найти тему

Минимальная конфигурация приложения в сети сегодня

Раньше как у нас сайт располагался в сети? Shared hosting, покупаешь там место, запускаешь сайт на php, создаешь базу данных MySQL и настраиваешь скрипты, если они нужны. Все крутилось на одной машине и работало.

Как это выглядит сейчас? Ну или должно выглядеть с точки зрения безопасности. Код приложения работает на одной выделенной машине (можно в Docker контейнере), база данных работает на другой машине (тоже в может быть в Docker), обе эти машины находятся в виртуальной частной сети без публичных IP адресов, доступ к ним возможен только по защищенному VPN туннелю. Машина с кодом приложения выходит в интернет через NAT-шлюз, перед которым стоит на отдельной машине NGFW (файрволл нового поколения) и в дальнейшем перед ним появится балансировщик нагрузки (когда система начнет расти) — обе находятся в отдельной виртуальной частной сети. Все это защищается сверху от DDOS-атак либо отдельным внешним сервисом, либо облачным сервисом внутри этой частной сети.

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

В общем, вспоминается анекдот про "три раза обмотать бинтом и главное после этого — никаких половых контактов" :) Но! Только так эта система будет максимально защищена и от проникновений, и от атак, и от сканирования периметра, и самое главное — от утечки данных как из базы, так и кода приложения.