Кажется, что жизнь была бы простой, чтобы запустить сервер базы данных на той же машине, что и веб-сервер, но не рискуем ли мы этим рисковать?
Средой будет сервер Windows 2008, Postgresql (последняя версия, возможно, 9.0, когда она выйдет) и Apache 2.
Ответы:
Не обязательно.
Предполагая, что ваш веб-сервер скомпрометирован, злоумышленник все равно получит учетные данные для доступа к тем же базам данных, независимо от того, на каком сервере они работают. В конце концов, сервер базы данных все равно должен быть настроен для разрешения легитимного запроса от веб-сервера.
(Принимая разумные меры безопасности, такие как mysqld, не принимающий root-пароль без пароля от localhost.)
Тем не менее, вы все равно можете запустить отдельный сервер базы данных. Это связано с производительностью, масштабируемостью и т. Д.
источник
Я не согласен с плакатами, заявляющими, что это не проблема безопасности, и вот почему:
источник
Это действительно будет зависеть от модели безопасности ваших веб-серверов и серверов БД (то есть программного обеспечения), а также от степени брандмауэра / контроля доступа / IDP, которую вы применяете на двух серверах, если они находятся на отдельных серверах.
При прочих равных условиях, вероятно , лучше разделить их. Однако на практике, по крайней мере, в среде LAMP, если вы используете privsep Apache (если вы не уверены, не волнуйтесь, вы это делаете) и не используете root-доступ к MySQL в своем веб-приложении, и у вас нет tcp / 3306, выставленного внешнему миру, вы на самом деле не получаете большую безопасность, перемещая один или другой на другой кусок кремния. Тем не менее, вы получаете преимущества в производительности и возможности отладки.
Ваш вопрос в стиле, который, кажется, требует абсолютного ответа, но без дополнительной информации (как минимум, о том, о каких разновидностях ОС и сервера Web / DB мы говорим), трудно даже дать информативный.
источник
Я не вижу большого дополнительного риска для безопасности при установке базы данных и веб-серверов на одном оборудовании. Если веб-сервер нарушен, данные все равно доступны. Безопасность не является типичной причиной разделения уровней.
В любом случае вы хотите убедиться, что сервер базы данных прослушивает нестандартные порты, будет отвечать только на запросы от веб-сервера, и что брандмауэр разрешает только запросы http / s к веб-серверу, а другие порты или адреса отсутствуют. ,
Тем не менее, их разделение - хорошая практика. Каждый сервер проще в управлении и настройке, и вы можете легче справляться со сбоями, проблемами, перестроениями, проблемами производительности и т. Д. Таким образом, вы можете рассмотреть два виртуальных сервера на одном оборудовании, которые затем могут быть разделены, когда этого требуют производительность или емкость.
источник
Я бы не стал - но это я.
Это зависит от того, что находится перед вашей коробкой (т.е. брандмауэры, балансировщики нагрузки и т. Д.) И насколько они «плотные», каковы фактические данные (то есть теперь влияют на общедоступные данные на одном конце, национальные секреты на другом) влияние их производительности на производительность, прочность сети между ними (то есть межуровневые межсетевые экраны) и качество усиления защиты ОС / приложений, которое будет применяться.
Если вы не ожидаете, что этой системе придется справляться со слишком большой нагрузкой, вы можете подумать о том, чтобы виртуализировать систему на две отдельные виртуальные машины; по одному на функцию - возможно, даже с третьей виртуальной брандмауэром только между ними. Это будет означать, что даже если кто-то взломает ваш веб-сервер, ему придется взломать сервер базы данных и, если он включен, промежуточную виртуальную машину межсетевого экрана. Конечно, это снизит общую производительность системы, но будет, по крайней мере, в некоторой степени более безопасным, а также может помочь, если ваша нагрузка когда-либо увеличится до потребности в конфигурации с двумя серверами, поскольку вы можете просто перенести одну ВМ на вторую машину. Бесплатный продукт ESWi от VMWare может сделать все это довольно легко, и уже есть бесплатные виртуальные машины с брандмауэром, предварительно упакованные и готовые к внедрению, если хотите.
источник