Paranoid - курс от Codeby Security School

Представляем вашему вниманию курс от команды codeby - "Комплекс мер по защите персональных данных, анонимности в интернете и не только" Подробнее ...


Как настроить 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 и любых других узлах, которые вы собираетесь использовать для трафика кластера/репликации. Эти два файла будут защищать связь на стороне сервера.


Codeby Security School от Сodeby

Мы запустили свою онлайн школу по информационной безопасности. Защита персональных данных, анонимность в сети интернет, настройка виртуальных машин, безопасная передача данных, анти форензика и еще много всего полезного в курсе Paranoid


Шаг 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

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


Безопасная сделка с гарантом Сodeby

Гарант является доверенным посредником между Участниками при проведении сделки.​ Услуга сайта «Проведение сделок через Гаранта» предоставляется всем зарегистрированным пользователям codeby.net Подробнее ...


Похожие темы

Создание скрытого сервиса в TOR наподобии Silk Roa... Источник: http://www.blackmoreops.com/2015/08/19/create-hidden-service-in-tor-like-silk-road-or-darknet/ Кто из вас слышал о скрытом сервисе в TOR на...
Codeby OS. Чего стоит ждать от проекта, сроки и об... Многие слышали о том, что скоро должен выйти дистрибутив на базе ArchLinux, а именно - CodebyOS, бетта-тест должен был начаться еще 5 марта. К сожал...
Развернутое сканирование c Metasploit... Перейти к содержанию полного руководства пользователя Metasploit на русском языке. Как работает развернутое сканирование Порты в развернутом с...
Как получить пароль супер пользователя (root) в си... Привет Codeby! В этой статье я хочу показать, как с помощью инструмента MimiPenguin получить пароль супер пользователя (root) в системе Kali Lin...
Как проверить размер файла в сценариях оболочки Li... Я новый пользователь сценариев оболочки bash. Как узнать размер файла в моем сценарии оболочки bash и сохранить этот размер файла в переменной оболочк...