MariaDB
 sql >> база данни >  >> RDS >> MariaDB

Управление на SSL ключове и криптиране на MySQL данни при пренасяне

Базите данни обикновено работят в защитена среда. Може да е център за данни със специална VLAN за трафик на база данни. Може да е VPC в EC2. Ако вашата мрежа се разпространява в множество центрове за данни в различни региони, обикновено ще използвате някакъв вид виртуална частна мрежа или SSH тунел, за да свържете тези местоположения по сигурен начин. Тъй като поверителността и сигурността на данните са горещи теми в наши дни, може да се почувствате по-добре с допълнителен слой сигурност.

MySQL поддържа SSL като средство за криптиране на трафик както между MySQL сървъри (репликация), така и между MySQL сървъри и клиенти. Ако използвате клъстер Galera, са налични подобни функции - както вътрешноклъстерната комуникация, така и връзките с клиенти могат да бъдат криптирани чрез SSL.

Често срещан начин за прилагане на SSL криптиране е използването на самоподписани сертификати. През повечето време не е необходимо да купувате SSL сертификат, издаден от сертифициращия орган. Всеки, който е минал през процеса на генериране на самоподписан сертификат, вероятно ще се съгласи, че това не е най-простият процес - през повечето време в крайна сметка търсите в интернет, за да намерите как и инструкции как да направите това. Това е особено вярно, ако сте DBA и преминавате през този процес само на всеки няколко месеца или дори години. Ето защо добавихме функция ClusterControl, която да ви помогне да управлявате SSL ключовете във вашия клъстер от база данни. В тази публикация в блога ще използваме ClusterControl 1.5.1.

Управление на ключове в ClusterControl

Можете да влезете в управление на ключове, като отидете в Странично меню -> Управление на ключове раздел.

Ще ви бъде представен следния екран:

Можете да видите два генерирани сертификата, единият е CA, а другият е обикновен сертификат. За да генерирате още сертификати, превключете към „Генериране на ключ ’ раздел:

Сертификат може да се генерира по два начина – първо можете да създадете самоподписан CA и след това да го използвате за подписване на сертификат. Или можете да отидете директно на „Сертификати и ключ за клиент/сървър “ раздел и създайте сертификат. Необходимият CA ще бъде създаден за вас във фонов режим. Не на последно място, можете да импортирате съществуващ сертификат (например сертификат, който сте закупили от една от многото компании, които продават SSL сертификати).

За да направите това, трябва да качите вашия сертификат, ключ и CA във вашия възел ClusterControl и да ги съхранявате в директорията /var/lib/cmon/ca. След това попълвате пътищата към тези файлове и сертификатът ще бъде импортиран.

Ако сте решили да генерирате CA или да генерирате нов сертификат, трябва да попълните друг формуляр – трябва да предадете подробности за вашата организация, общо име, имейл, да изберете дължината на ключа и датата на изтичане.

След като имате всичко на място, можете да започнете да използвате новите си сертификати. ClusterControl в момента поддържа внедряване на SSL криптиране между клиенти и MySQL бази данни и SSL криптиране на вътрешноклъстерния трафик в Galera Cluster. Планираме да разширим разнообразието от поддържани внедрявания в бъдещи издания на ClusterControl.

Пълно SSL криптиране за Galera Cluster

Сега да приемем, че имаме готови SSL ключове и имаме Galera Cluster, който се нуждае от SSL криптиране, разгърнат чрез нашия екземпляр на ClusterControl. Лесно можем да го защитим в две стъпки.

Първо - криптирайте трафика на Galera с помощта на SSL. От вашия изглед на клъстера едно от действията на клъстера е „Активиране на SSL Galera Encryption '. Ще ви бъдат представени следните опции:

Ако нямате сертификат, можете да го генерирате тук. Но ако вече сте генерирали или импортирали SSL сертификат, трябва да можете да го видите в списъка и да го използвате за криптиране на трафика за репликация на Galera. Моля, имайте предвид, че тази операция изисква рестартиране на клъстера - всички възли ще трябва да спрат по едно и също време, да приложат промени в конфигурацията и след това да рестартират. Преди да продължите тук, уверете се, че сте готови за известно време на престой, докато клъстерът се рестартира.

След като трафикът в клъстера бъде защитен, искаме да покрием връзките клиент-сървър. За да направите това, изберете „Активиране на SSL криптиране ’ и ще видите следния диалогов прозорец:

Това е доста подобно - можете да изберете съществуващ сертификат или да генерирате нов. Основната разлика е, че за да се приложи криптиране клиент-сървър, не се изисква престой - ще бъде достатъчен непрекъснат рестарт. След като рестартирате, ще намерите икона за заключване точно под криптирания хост в Преглед страница:

Етикетът „Galera “ означава, че криптирането на Galera е активирано, докато „SSL ' означава, че криптирането клиент-сървър е активирано за този конкретен хост.

Разбира се, активирането на SSL в базата данни не е достатъчно - трябва да копирате сертификати на клиенти, които би трябвало да използват SSL за свързване с базата данни. Всички сертификати могат да бъдат намерени в директорията /var/lib/cmon/ca на възела ClusterControl. Също така трябва да запомните да промените грантовете за потребителите и да се уверите, че сте добавили ИЗИСКВА SSL към тях, ако искате да наложите само защитени връзки.

Надяваме се, че тези опции ще бъдат лесни за използване и ще ви помогнат да защитите вашата MySQL среда. Ако имате въпроси или предложения относно тази функция, ще се радваме да чуем от вас.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как работи операторът LIKE в MariaDB

  2. 6 начина да добавите година към дата в MariaDB

  3. Подобряване на производителността на бекенда, част 2/3:Използване на индекси на база данни

  4. Преглед на новия DBaaS от MariaDB - SkySQL

  5. Как да внедрите MariaDB Cluster 10.5 за висока наличност