Чат codeby в telegram перезагрузка

Обсуждаем вопросы информационной безопасности, методы защиты информации, программирование. Задавайте свои вопросы и комментируйте чужие.

  Подробнее ...

Как настроить MariaDB SSL и установить безопасные соединения с различных клиентовЯ собираюсь установить MariaDB SSL (Secure Sockets Layer) а также безопасные соединения от клиента MySQL и приложения PHP. Как включить SSL для сервера и клиента MariaDB, работающего в Linux или Unix-подобной системе?

MariaDB — сервер базы данных, который предлагает функциональные возможности вклинивания для сервера MySQL.

MariaDB был создан некоторыми из оригинальных авторов MySQL, с помощью более широкого штата разработчиков Free и другого программного обеспечения с открытым исходным кодом. В дополнение к основным функциям MySQL, MariaDB предлагает богатый набор улучшений функций, включая альтернативные механизмы хранения, оптимизацию серверов и другие исправления. В этом руководстве я собираюсь рассказать о том, как настроить сервер MariaDB с помощью SSL и как установить безопасные соединения с помощью консоли и PHP-скриптов.

Как настроить MariaDB SSL и установить безопасные соединения с различных клиентов

При создании сертификатов SSL важно использовать 192.168.1.100 в качестве стандартного имени.

Шаг 1 – Установка MariaDB

Введите команду в соответствии с вашим вариантом Linux или Unix.

Установка MariaDB сервера/клиента на Ubuntu/Debian Linux

Введите одну из следующих команд: apt-get command или apt command:

Установка MariaDB сервера/клиента на CentOS/RHEL/Fedora Linux

Введите следующую команду yum :

Для пользователей Fedora Linux необходимо ввести команду dnf :

Установка MariaDB сервера/клиента на Arch Linux

Введите следующую команду pacman:

Установка MariaDB сервера/клиента на FreeBSD unix

Для установки порта запустите:

Чтобы добавить бинарный пакет, введите:

Шаг 2 – Обеспечение безопасной установки MariaDB

Введите следующую команду:

Примеры возможных выводов данных:

Обеспечение безопасной установки MariaDB

Рисунок.01: Обезопасьте установку MariaDB

Шаг 3 – Создайте CA сертификат

Создайте директорию под названием ssl в /etc/mysql/ directory :

Значение: Стандартное значение имени (Common Name), используемое для сертификатов / ключей сервера и клиента, должно отличаться от стандартного значения имени (Common Name), используемого для сертификата CA. Чтобы избежать каких-либо проблем, я устанавливаю их следующим образом:

Стандартное имя CA: MariaDB admin
Стандартное имя сервера: MariaDB server
Стандартное имя клиента: MariaDB client

Введите следующую команду для создания нового CA ключа:

Примеры возможных выводов данных:

Создайте CA сертификат

Рисунок.02: Создание CA ключа

Введите следующую команду для создания сертификата с помощью этого ключа:

Создайте CA сертификат

Рисунок.03: Используя ключ CA, сгенерируйте сертификат CA для MariaDB

Примеры возможных выводов данных:

Теперь у вас должно быть два следующих файла::

  1. /etc/mysql/ssl/ca-cert.pem  – Файл сертификата для Центра сертификации (Certificate Authority (CA)).
  2. /etc/mysql/ssl/ca-key.pem  – Файл ключа для Центра сертификации (Certificate Authority (CA)).

Я собираюсь использовать оба файла для создания сертификатов сервера и клиента.

Шаг 4 – Создание сертификата сервера

Для создания ключа сервера, запустите:

Примеры возможных выводов данных:

Создание сертификата сервера

Рисунок 04: Создание ключа сервера для сервера MariaDB

Затем обработайте ключ RSA сервера, для этого введите:

Примеры возможных выводов данных:
Наконец, подпишите сертификат сервера, для этого запустите:

Примеры возможных выводов данных:

Теперь у вас должны появиться дополнительные файлы:

  1. /etc/mysql/ssl/server-cert.pem  – MariaDB файл сертификата сервера.
  2. /etc/mysql/ssl/server-key.pem  – MariaDB файл ключа сервера.

Вы должны использовать не менее двух файлов на сервере MariaDB и любых других узлах, которые вы собираетесь использовать для трафика кластера/репликации. Эти два файла будут защищать связь на стороне сервера.



Шаг 5 – Создание сертификата клиента

Клиент mysql, и приложение PHP/Python/Perl/Ruby будет использовать сертификат клиента для защиты соединяемости клиента. Вы должны установить следующие файлы на всех ваших клиентах, включая веб-сервер. Чтобы создать клиентский ключ, запустите:

Примеры возможных выводов данных:

Создание сертификата клиента

Рисунок.05: Создание ключа клиента для сервера MariaDB

Затем обработайте ключ клиента RSA, для этого введите

Наконец, подпишите сертификат клиента, для этого запустите:

Примеры возможных выводов данных:

Шаг 6 – Как проверить сертификаты?

Введите следующую команду, чтобы проверить сертификаты, чтобы убедиться, что все было создано правильно:

Примеры возможных выводов данных:

Не должно быть никаких ошибок, и вы должны получить ответ OK для сертификатов сервера и клиента.

Шаг 7 – Настройте сервер MariaDB для использования SSL

Отредактируйте файл vi /etc/mysql/mariadb.conf.d/50-server.cnf или /etc/mysql/mariadb.cnf следующим образом:

Добавьте [mysqld] следующим образом:

Сохраните и закройте файл. Вы можете перезапустить mariadb следующим образом:

Или

Шаг 8 – Настройте клиент MariaDB для использования SSL

Настройте MariaDB клиент как 192.168.1.200 для использования SSL (добавьте в /etc/mysql/mariadb.conf.d/50-mysql-clients.cnf ):

Добавьте [mysql] в раздел:

Сохраните и закройте файл. Вы должны скопировать файлы /etc/mysql/ssl/ca-cert.pem , /etc/mysql/ssl/client-cert.pem и /etc/mysql/ssl/client-key.pem  для всех ваших клиентов. Например:

Шаг 9 – Проверка

Введите следующую команду:

Введите следующую SHOW VARIABLES LIKE ‘%ssl%’; команду в MariaDB [(none)]> строке:

ИЛИ выполните команду status:

Примеры возможных выводов данных:

Введите следующую SHOW VARIABLES LIKE

Рисунок 06: Установление безопасного соединения с консолью и ее проверка

Проверьте соединения SSL и TLS. Следующая команда должна завершиться неудачей, так как ssl 3 не поддерживается и, соответственно, она не настроена для использования:

Проверьте TLS v 1/1.1/1.2:

Примеры возможных выводов данных:

Как читать файл захвата пакета tcpdump для проверки защищенной связи

Наконец, вы можете использовать анализатор пакетов команд tcpdump, который запускается под командной строкой, чтобы посмотреть порт 3306:

Теперь подключитесь к вашему приложению PHP/Python/Perl/Ruby mysql или консольному приложению mysql:

Используйте tcpdump для проверки того, что никакая текстовая информация, включая пароли, не обменивается между сервером и клиентом. Это делается следующим образом:

Вы можете прочитать захваченный трафик с помощью tcpdump или других инструментов, таких как Wireshark.

Шаг 10 – Добавлениепользователя на MariaDB сервер

Введите следующую команду:

Создайте базу данных под названием foo:

Создайте пользователя с имение bar for  для базы данных под названием foo:

Предоставление доступа с веб-сервера, размещенного по адресу 192.168.1.200:

Создайте безопасное соединение из оболочки bash

Вы можете войти в систему с консоли следующим образом:

Создайте безопасное соединение из Python

Сначала установите интерфейс Python для MySQL:

ИЛИ для Python v3.x

Здесь приведен пример кода Python для безопасного соединения с использованием:

ИЛИ

Примеры возможных выводов данных:

Перевод: Анна Давыдова
Источник: cyberciti.biz

Это интересно:


Наш канал в telegram канал codeby

Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде !

  Подробнее ...

Похожие темы

Как проверить количество MySQL соединений на Linux... Чтобы посчитать текущие MySQL соединения сервера MySQL, используйте этот трюк командной строки Linux. Подразумевается, что вы уже на хосте Linux...
Установка The Elder Scrolls V: Skyrim под Linux и ... Возрождение эпической фантазии Следующая часть крайне долгожданной саги Elder Scrolls приходит от создателей Игры года 2006 и 2008 годов Bethes...
Как запустить Metasploit Framework в Kali Linux... Для запуска Metasploit Framework в Kali 2.0 смотрите здесь. Чтобы соответствовать Политике Сетевых Служб (Network Services Policy) Kali Linux, при за...
Как установить Kali Linux на Raspberry Pi... Raspberry Pi — это очень простой дешёвый ARM компьютер. Не смотря на то, что его спецификация звёзд не хватает, это отличный вариант для крошечной Lin...
Новости софта от 17 сентября 2014 года (phpMyAdmin... Обновились все поддерживаемые линейки phpMyAdmin 4.0.10.3, 4.1.14.4 и 4.2.8.1. Обновление минорное и исправляет один единственный баг, который относит...