Доступ к базе данных n уровня с помощью Navicat

#n-tier-architecture #navicat

#n-уровневая архитектура #navicat

Вопрос:

Мы только что сделали нашу веб-систему более безопасной, преобразовав один веб-сервер / сервер базы данных в двухуровневую систему с веб-сервером перед сервером базы данных. Веб-сервер имеет 2 сетевых адаптера, один для внешнего мира и один для внутренней сети. Сервер базы данных имеет один сетевой адаптер для внутренней сети.

В прежние времена я мог использовать функцию SSH Navicat для подключения к одному веб-серверу / серверу базы данных. Теперь сервер базы данных скрыт.

Используя командную строку, я могу подключиться по ssh к веб-серверу, а затем по ssh к серверу базы данных. Но я скучаю по своим графическим инструментам. Есть ли какой-либо способ заставить Navicat подключиться к серверу базы данных? Могу ли я настроить что-нибудь на веб-сервере, что будет подключать прокси к базе данных?

Ответ №1:

Краткий ответ: Вы не должны подключаться к серверу базы данных через веб-сервер. Да, есть способы, которыми вы могли бы это настроить, но я бы не рекомендовал это, если ваша цель — повышение безопасности.

У вас должен быть способ подключиться по VPN к внутренней сети, а затем по ssh к обоим хостам оттуда. Преимущество безопасности в значительной степени заключается в уменьшении поверхности атаки на ваших компьютерах, доступных извне, поэтому вам было бы лучше полностью отключить ssh во внешнем интерфейсе, а затем подключиться по VPN к внутренней сети (которая, я надеюсь, защищена брандмауэром, чтобы разрешать трафик базы данных только между двумя серверами, а не для того, чтобы веб-сервер имел сетевой адаптер, который находится в вашей внутренней сети!) Подключившись к внутренней сети, Navicat может подключаться напрямую к серверу без необходимости ssh-туннелирования. (Очевидно, вам нужно правильно настроить политики брандмауэра в вашем VPN-туннеле, чтобы разрешить это.)

Если эта настройка невозможна, например, если вы используете общий веб-хостинг низкого уровня, ознакомьтесь с этими инструкциями по настройке туннельного HTTP-соединения через веб-хостинг. Я бы действительно рекомендовал использовать VPN-решение, если вы можете, но если вы не можете, HTTP-туннелирование — это самый безопасный способ поддерживать прямое подключение через веб-сервер к серверу БД.