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

Стоит ли использовать удаленный доступ для mysql

Я не системный парень, я впервые настраиваю систему. У меня есть удаленная система, как с точки зрения разработчика, для меня было бы хорошо иметь удаленный доступ к базе данных.
С точки зрения безопасности открытие удаленного соединения не так уж безопасно.
Мой вопрос Следует ли мне использовать удаленный доступ, если да, то какой метод лучше.
Я использую CentOS 5.5 и mysql.

  1. настроить mysql для прослушивания только на локальном хосте
  2. получить учетную запись ssh на этом сервере
  3. настроить ssh-туннель:

    Пользователь ssh @ mysql-server -L3306: localhost: 3306

  4. теперь ваши подключения mysql к localhost 3306 будут прозрачно перенаправлены на сервер mysql. вы можете использовать любое ваше оружие разработчика, как если бы вы работали непосредственно на сервере (оболочка mysql, phpmyadmin)

Это зависит от того, как вы хотите взаимодействовать - сеанс ssh даже по общедоступной ссылке (с небольшим количеством дополнительной обфускации путем перемещения порта ssh) будет довольно безопасным. Если вам нужен больший доступ (прямой доступ к базе данных через порт 3306 и веб-инструменты, такие как phpmyadmin), VPN к удаленному серверу или его сети будет хорошим шагом. В худшем случае будет ограничен доступ напрямую к порту 3306, разрешив соединения только с определенных IP-адресов, но я бы не рекомендовал открывать порт 3306 для внешнего мира.

я бы сказал, что если ваш разработчик действительно должен взаимодействовать с БД, вы должны установить phpmyadmin. Это потому, что, вероятно, если вы смените своего разработчика, почти 100% вероятность, что вы забудете удалить его привилегии в базе данных. Так что разрешите только ваш локальный хост и дайте ему доступ через веб-интерфейс. Я действительно оценил множество серверов mysql, на которых было много авторизованных разработчиков, которые исчезли, но авторизация всегда была.

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

С другой стороны, если ваш сервер работает в Интернете 24/7 с общедоступным IP-адресом, вы хотите заблокировать его как можно больше - укажите еще одну ссылку на [Реализация сетевой безопасности на серверах Centos / RHEL], которая идет через ряд вещей лучше, чем я когда-либо мог1.

Что касается наилучшего способа защиты соединения, это зависит от того, что вы хотите сделать. Если просто запустить SQL-запросы вручную, тогда SSH - это все, что вам нужно, и приведенная выше ссылка доставит вас туда безопасным способом. Если вы хотите использовать какой-либо интерфейс с графическим интерфейсом, то лучше всего подойдет доступ к VPN, упомянутый Linker3000 и кратко описанный adirau.

Я бы не рекомендовал включать phpmyadmin в качестве общедоступной службы, если вы не можете защитить его с помощью более чем пароля имени пользователя. Если вам нужен phpmyadmin, я бы получил доступ только через VPN-туннель. Нет ссылки вроде http: //www.my-nice-site/phpmyadmin - он будет исследован в течение нескольких минут, и любые будущие эксплойты для phpmyadmin будут опробованы. Я видел свои собственные журналы сервера, и это прямо вверху неудачных HTTP-запросов!

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

  • Предоставьте разработчику минимально необходимые привилегии. Разрешите доступ с как можно меньшего числа серверов.
  • Ограничьте root-доступ к localhost.
  • Брандмауэр порта, чтобы разрешить доступ только из утвержденных мест.
  • Рассмотрите возможность использования шифрования TLS (SSL) для удаленного доступа.
  • Запустить mysql_secure_installation скрипт, если есть.