We detected you are likely not from a Russian-speaking region. Would you like to switch to the international version of the site?

  Назад к списку статей

Защищённый доступ к удалённым базам PostgreSQL и MySQL через SSH‑туннель и сертификаты в Termux

Надёжный и безопасный доступ к базам данных PostgreSQL и MySQL через Termux с использованием SSH-туннелей и SSL-сертификатов. Повышение безопасности и защита данных.

В современном мире мобильных вычислений часто возникает необходимость в доступе к удалённым базам данных, таким как PostgreSQL и MySQL. Termux предоставляет мощную среду для работы с командной строкой на Android, позволяя безопасно подключаться к этим базам данных. В этой статье мы рассмотрим, как установить защищённое соединение, используя SSH-туннели и SSL-сертификаты, обеспечивая тем самым конфиденциальность и целостность данных.

Предварительные требования

  • Установленный Termux на ваше Android-устройство.
  • Доступ к серверу с установленной базой данных PostgreSQL или MySQL.
  • Настроенный SSH-сервер на удалённом сервере.
  • Настроенные SSL-сертификаты для вашей базы данных (рекомендуется).
  • Установленный пакет openssh в Termux:
    pkg install openssh

Настройка SSH-туннеля

SSH-туннель позволяет создать зашифрованный канал между вашим устройством Termux и удалённым сервером. Это защищает данные, передаваемые между вами и базой данных, от перехвата. Для создания SSH-туннеля используйте следующую команду:

ssh -L <локальный_порт>:<адрес_базы_данных>:<порт_базы_данных> <имя_пользователя>@<адрес_сервера>

Замените:

  • <локальный_порт>: Порт на вашем устройстве Termux, который будет слушать входящие соединения. Например, 5433 для PostgreSQL или 3307 для MySQL.
  • <адрес_базы_данных>: IP-адрес или доменное имя сервера базы данных. Обычно это localhost, если база данных находится на том же сервере, что и SSH.
  • <порт_базы_данных>: Порт, на котором слушает база данных. По умолчанию 5432 для PostgreSQL и 3306 для MySQL.
  • <имя_пользователя>: Имя пользователя для подключения к SSH-серверу.
  • <адрес_сервера>: IP-адрес или доменное имя SSH-сервера.

Пример для PostgreSQL:

ssh -L 5433:localhost:5432 user@example.com

Пример для MySQL:

ssh -L 3307:localhost:3306 user@example.com

Подключение к базе данных через туннель

После установления SSH-туннеля вы можете подключиться к базе данных, используя локальный порт, указанный в команде ssh -L. Используйте соответствующие инструменты командной строки или графические клиенты (если они доступны в Termux) для подключения.

PostgreSQL

psql -h localhost -p 5433 -U <имя_пользователя_базы_данных> -d <имя_базы_данных>

MySQL

mysql -h localhost -P 3307 -u <имя_пользователя_базы_данных> -p <имя_базы_данных>

Использование SSL-сертификатов

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

PostgreSQL

В командной строке psql добавьте параметры --sslmode=require и --sslcert=<путь_к_сертификату> (если необходимо указать путь к клиентскому сертификату).

psql -h localhost -p 5433 -U <имя_пользователя_базы_данных> -d <имя_базы_данных> --sslmode=require

MySQL

В командной строке mysql добавьте параметр --ssl-ca=<путь_к_сертификату_CA>, --ssl-cert=<путь_к_клиентскому_сертификату> и --ssl-key=<путь_к_приватному_ключу> (если необходимо указать пути к сертификатам).

mysql -h localhost -P 3307 -u <имя_пользователя_базы_данных> -p --ssl-ca=/path/to/ca.pem --ssl-cert=/path/to/client.pem --ssl-key=/path/to/client-key.pem <имя_базы_данных>

Дополнительные меры безопасности

  • Используйте надёжные пароли для SSH и баз данных.
  • Регулярно обновляйте программное обеспечение Termux и SSH-сервер.
  • Ограничьте доступ к базе данных только авторизованным пользователям.
  • Рассмотрите возможность использования двухфакторной аутентификации для SSH.
  • Для организации более сложной сетевой инфраструктуры, например, при работе с несколькими серверами, можно использовать VPN для создания локальной сети и последующего подключения по SSH-туннелям. Важно помнить, что VPN используется исключительно для организации безопасной локальной сети, а не для обхода каких-либо блокировок.

Заключение

Использование SSH-туннелей и SSL-сертификатов в Termux обеспечивает надёжный и безопасный доступ к удалённым базам данных PostgreSQL и MySQL. Следуя рекомендациям, изложенным в этой статье, вы можете значительно повысить уровень защиты ваших данных и предотвратить несанкционированный доступ.

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

* Текст статьи подготовлен и структурирован с использованием технологий искусственного интеллекта. Проверен и доработан перед публикацией.

Нужна помощь с настройкой Termux, Linux и серверов?

Я оказываю ИТ-услуги: настройка серверов, автоматизация, безопасность, помощь с Linux и инфраструктурой. Материалы сайта — только в ознакомительных и образовательных целях.

Связаться со мной
Поддержать проект