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

Надстройките с нулев престой стават лесни с ClusterControl

„Поддържайте вашата база данни актуализирана до най-новата версия – това е за ваша безопасност“ е нещо, което често може да чуете като разумен съвет и най-добра практика, когато става въпрос за управление на база данни. От друга страна, надграждането на вашата база данни може да бъде отнемаща време задача. Дори незначителното надграждане на версия изисква да тествате задълбочено надстройката в промежуточна среда, преди да надстроите производствената си настройка. И така, каква е голямата работа? Ако изоставате само от една второстепенна версия, това не трябва да има значение, нали? Е, може и да не е... докато не стане. И наистина ли сте готови да поемете такъв риск?

По-рано тази година бе идентифицирана нова потенциално опасна уязвимост в Galera Cluster (CVE-2021-27928). На пръв поглед виждаме, че тежестта е отбелязана като висока и когато започнем да ровим по-нататък в проблема, той наистина изглежда сериозен. Изглежда, че SUPER потребител може да изпълни произволен код чрез промяна на променливите wsrep_provider и wsrep_notify_cmd по време на изпълнение. Той позволява на потребителя да зареди библиотеката .so и да посочи скрипт, който сървърът ще изпълни. Както можете да си представите, това не е добра ситуация. Разбира се, трябва да имате достъп до SUPER потребителя и ще трябва да имате нещо налично за изпълнение на възела на базата данни, но фактът, че Galera може да бъде конфигуриран да изпълнява произволен код като потребител на 'mysql', е достатъчно лош за него собствена.

Както обикновено, в случаи като тези, корекциите са създадени и нови версии на софтуера, незасегнати от уязвимостта, са избутани. Този конкретен проблем е отстранен в MariaDB 10.5.9, 10.4.18, 10.3.28 и 10.2.37, както и Percona XtraDB Cluster 5.6.51-28.46, Percona XtraDB Cluster 5.7.33-31.49 и Perlu CDB Cluster 8.0.22-13.1. Всичко изглежда се връща към нормалното. Нали?

Грешно. Има безброй системи, работещи в производството, които все още не са надградени до новата, незасегната версия. Екипът за поддръжка на Severalnines е във връзка с много среди на база данни в дивата природа и ние непрекъснато работим с потенциални клиенти, за да им помогнем да мигрират към среда, управлявана от ClusterControl. Виждаме всички видове MySQL (и не само MySQL), работещи в остарели версии, понякога дори версии, които са достигнали своя край на живота и вече не получават актуализации за сигурност. Това не трябва да е така, особено ако сте потребител на ClusterControl.

ClusterControl идва с набор от функции, които ще ви помогнат да сте в крак с всички корекции на сигурността. Нека да разгледаме:

На първо място, ClusterControl идва с оперативни отчети, един от тях е докладът за надграждане на пакета:

Както всички оперативни отчети на ClusterControl, отчетът за надграждане на пакета може да бъде планиран за да се изпълнява редовно и след това да се доставя по имейл. Той ще съдържа информация за версиите на пакета, инсталирани на възлите и дали има някакви надстройки, които трябва да се извършат:

Докладът за надграждане на пакети представя списък с пакети, които трябва да бъдат актуализирани за всички бази данни, балансьори на натоварване, корекции на сигурността и всякакви други пакети, инсталирани на възела. За всички системни пакети решението е да ги надстроите с помощта на стандартни методи (apt, yum). Що се отнася до базите данни и балансирането на натоварването, ClusterControl идва с функционалност, която ви позволява да извършвате второстепенната надстройка на версията директно от потребителския интерфейс.

Преди да се отправим натам, нека предположим, че базата данни трябва да бъде актуализирана. Не искате просто да продължите и да стартирате надстройката на сляпо - това може потенциално да причини проблеми за вашето приложение. Не трябва - второстепенните версии не нарушават обратната съвместимост (освен когато използвате MySQL 8.0 - тогава да, може да очаквате каквото и да е, когато преминавате от 8.0.x на 8.0.x+1); обаче винаги има някакъв риск. Това, което трябва да направите първо, е да тествате надстройката в отделна среда.

Имаме прост MariaDB Galera клъстер с ProxySQL и Keepalived:

Бихме искали да изградим тестов клъстер, за да можем да тестваме надстройката процес. С ClusterControl е толкова лесно, колкото да използвате задание Създаване на реплика на клъстер:

Можем да получим свежите данни от съществуващия клъстер или да използваме данните от резервно копие.

Трябва също да изберем изходен възел в производствения клъстер:

След това трябва да преминем през обикновен съветник за внедряване, като изберем версията и доставчик на базата данни, дефиниране на root парола и т.н. Завършваме, като предаваме възлите, на които ще бъде инсталиран клъстерът.

В резултат на това ще видите нов клъстер в списъка с ясен знак, че се възпроизвежда от производствения клъстер. Едно нещо, което си струва да се спомене, в настройката по подразбиране, ClusterControl ще използва най-новите версии на пакетите, за да създаде клъстер реплика. Ако искате да проверите отново само заявките, това е достатъчно. Ако искате да преминете през целия процес на надстройка, ще трябва да фиксирате по-стари версии на пакетите MySQL, за да инсталирате стара версия (и след това да ги разкачите и да тествате надстройката).

По един или друг начин, след успешни тестове, в крайна сметка ще искате да извършите надстройката. ClusterControl може да ви помогне да постигнете това:

В Управление -> Надстройки ще намерите потребителски интерфейс за извършване на надстройката .

Можете да използвате „Проверка за нови пакети“, за да опресните базата данни от налични пакети. Можем също да изберем кои възли искаме да надстроим и кои услуги: 

Просто потвърдете и това е - ClusterControl ще извърши надстройката и ще ви осигури най-новата версия на пакетите.

Както можете да видите, ClusterControl прави поддържането на вашите бази данни актуални лесно и лесно. Единствената стъпка, която трябва да извършите ръчно, е правилното тестване. В противен случай - всичко останало може да бъде извършено вместо вас от ClusterControl. Интересувате се да научите повече за това как ClusterControl може да ви помогне ефективно да управлявате вашата база данни? Изпробвайте го безплатно за 30 дни.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Увеличаване на ефективността на заявките за база данни за MySQL – първа част

  2. Конфигуриране на LDAP удостоверяване и групово картографиране с MariaDB

  3. MariaDB JSON_VALUE() срещу JSON_QUERY():Каква е разликата?

  4. Справяне с MySQL продължителни заявки

  5. Как да инсталирате и защитите MariaDB 10 в CentOS 7