HeidiSQL - альтернатива phpMyAdmin

phpMyAdmin · защита · закрыть доступ · настройка HeidiSQL · PuTTY · SSH-туннель · plink.exe
Для личных нужд и web-разработки у меня в квартире работает ARM-сервер Efika MX Smarttop под управлением Debian без графического интерфейса.

Во время разработки часто приходится работать с базами данных MySQL, поэтому у меня был установлен phpMyAdmin. Когда разрабатываемый проект надо показать заказчику, очень удобно, что сервер доступен из Интернета — контролировать разработку можно круглосуточно и вовремя вносить необходимые поправки.

Однако, доступность сервера из Сети сразу привлекает множество всякой нечисти — просматривая логи доступа, каких только "кулхацкерских" ников я не прочитал. Практически всех очень интересует доступ к phpMyAdmin, сервер буквально "осматривают" по всем возможным адресам, где он может находиться. Сначала я решил закрыть доступ к phpMyAdmin извне и оставить возможность входить только из локальной сети. Однако, на одном форуме я встретил хороший ответ на вопрос "Как защитить phpMyAdmin?", и он звучит так: "Не устанавливать его." :)

Тут мне в голову пришла хорошая идея: "Я пользуюсь phpMyAdmin при разработке, которую веду только на ноутбуке, так зачем мне запускать клиента MySQL на сервере? Буду запускать его на клиенте!" После этого я удалил phpMyAdmin с сервера, а на ноутбук установил клиента с графическим интерфейсом HeidiSQL.

Плюсы HeidiSQL

  • Программа бесплатна
  • Симпатичный интерфейс
  • Возможность работы вкупе с PuTTY

Минусы

  • Разработка проекта прекращена
В принципе, минус не такой уж и страшный — последняя стабильная версия прекрасно работает с Windows 7, о чем заявлено на официальном сайте проекта, а вот возможность работы вместе с PuTTY позволяет делать хитрый трюк — подключение через SSH-туннель, что увеличивает безопасность MySQL-сервера и освобождает от необходимости дополнительной его настройки, в частности, переопределения параметра bind-address в файле конфигурации с 127.0.0.1 (localhost) на что-то другое.

После подключения через SSH-туннель, обеспечиваемый PuTTY (а именно компонентом plink.exe), дальнейшее общение с MySQL-сервером происходит как будто с локальной машины. Именно по этой причине при настройке SSH-туннеля нужно указывать IP или host удаленного сервера, а при настройке подключения к MySQL — localhost.

Так выглядит окно настроек SSH-туннеля, укажите верный путь к plink.exe (обычно находится в директории с программными файлами PuTTY после установки обычной версии) или скачайте отдельно: А вот так выглядит окно настроек подключения к MySQL-серверу (возможно, кстати, включить сжатие трафика): В общем, теперь я избавился от тормозов и уязвимости phpMyAdmin, вырвав проблему с корнем. С идеологической точки зрения также порядок: клиент работает на клиентской машине, а сервер — на сервере.

Обсуждение

Никто не оставлял здесь комментариев.
Войдите на сайт, чтобы присоединиться к обсуждению.