Базы данных AlterOffice-cloud
Содержание
- 1 SQLite
- 2 MariaDB
- 2.1 Установка MariaDB
- 2.2 Безопасное соединение с MariaDB
- 2.2.1 Улучшение безопасности установки
- 2.2.2 Сертификаты
- 2.2.3 Создание CA/корневого сертификата
- 2.2.4 Создание сертификата сервера
- 2.2.5 Создание сертификата клиента
- 2.2.6 Как проверить сертификаты?
- 2.2.7 Настройка сервер MariaDB для использования SSL
- 2.2.8 Настройка клиент MariaDB для использования SSL
- 2.2.9 Проверка
- 3 PostgreSQL
- 4 Oracle
SQLite
SQLite в основном поддерживается для тестовых установок и не рекомендуется для производственных серверов.
MariaDB
MariaDB/MySQL — канонический выбор для AlterOffice-cloud
Установка MariaDB
Установка в общем виде:
sudo yum install mariadb-server mariadb
Установка инсталлятором для AlterOffice-cloud:
sudo yum install MariaDB-server MariaDB-client
Безопасное соединение с MariaDB
Для настроек необходимо, чтобы администрир баз данных был sudoers, т. е. в группе wheel. Чтобы добавить пользователя в группу:
usermod -aG wheel username
Чтобы удалить пользователя из группы, используйте команду gpasswd с опцией -d следующим образом:
gpasswd -d wheel username
Улучшение безопасности установки
mysql_secure_installation
Эта программа позволяет вам повысить безопасность вашей установки MariaDB следующими способами:
- Вы можете установить пароль для учетных записей root.
- Вы можете удалить учетные записи root, доступные за пределами локального хоста.
- Вы можете удалить учетные записи анонимных пользователей.
- Вы можете удалить тестовую базу данных, к которой по умолчанию имеют доступ анонимные пользователи.
Сертификаты
Создайте каталог для сертификатов:
sudo -i mkdir -p /etc/my.cnf.d/ssl/{private,certs} cd /etc/my.cnf.d/ssl
При создании сертификатов необходимо корректно заполнить поля, в часности поле CN/Common Name/Общее имя:
- имя корневого сертификата: MariaDB_CA
- имя сервера сертификата: MariaDB_server
- имя клиента сертификата: MariaDB_client
Создание CA/корневого сертификата
# MariaDB_CA sudo -i /usr/bin/openssl req -x509 -nodes -days 3650 -newkey rsa:4096 -keyout /etc/my.cnf.d/ssl/private/MariaDB_CA.key -out /etc/my.cnf.d/ssl/certs/MariaDB_CA.crt
Создание сертификата сервера
Для создания ключа сервера, выполните:
# MariaDB_server sudo -i /usr/bin/openssl req -newkey rsa:4096 -days 365 -nodes -keyout /etc/my.cnf.d/ssl/private/MariaDB_server.key -out /etc/my.cnf.d/ssl/private/MariaDB_server_req.key 2> /dev/null
Затем обработайте ключ RSA сервера, для этого введите:
sudo -i openssl rsa -in /etc/my.cnf.d/ssl/private/MariaDB_server.key -out /etc/my.cnf.d/ssl/private/MariaDB_server.key # Вывод: writing RSA key
Наконец, подпишите сертификат сервера, для этого запустите:
sudo -i openssl x509 -req -in /etc/my.cnf.d/ssl/private/MariaDB_server_req.key -days 365 -CA /etc/my.cnf.d/ssl/certs/MariaDB_CA.crt -CAkey /etc/my.cnf.d/ssl/private/MariaDB_CA.key -set_serial 01 -out /etc/my.cnf.d/ssl/certs/MariaDB_server.crt
Теперь у вас должны появиться дополнительные файлы:
- /etc/my.cnf.d/ssl/certs/MariaDB_server.crt – MariaDB файл сертификата сервера.
- /etc/my.cnf.d/ssl/private/MariaDB_server.key – MariaDB файл ключа сервера.
Вы должны использовать не менее двух файлов на сервере MariaDB и любых других узлах, которые вы собираетесь использовать для трафика кластера/репликации. Эти два файла будут защищать связь на стороне сервера.
Создание сертификата клиента
Как проверить сертификаты?
Настройка сервер MariaDB для использования SSL
Настройка клиент MariaDB для использования SSL
Проверка
PostgreSQL
PostgreSQL обеспечивает более высокую производительность и в целом имеет меньше особенностей по сравнению с MariaDB/MySQL.
Oracle
В списке поддерживаемых баз данных также есть база данных Oracle. Этот продукт здесь не будет рассмотрен.