Assegureu-vos MariaDB amb suport SSL a Ubuntu 16.04

MariaDB és una base de dades de codi obert gratuïta i és el substitut de MySQL més utilitzat. Està fet pels desenvolupadors de MySQL i està pensat per romandre lliure sota la GNU GPL. És molt ràpid, escalable i inclou un ric conjunt de funcions que el fan molt versàtil per a una gran varietat de casos d'ús.

Aquest tutorial us explicarà com instal·lar i configurar MariaDB amb suport SSL a Ubuntu 16.04.

Requisits

  • Una nova instància d'Ubuntu 16.04 Vultr.
  • Un usuari no root amb privilegis sudo.
  • Una adreça IP estàtica 192.168.0.190 està configurada a la instància del servidor.
  • Una adreça IP estàtica 192.168.0.191 està configurada a la màquina client.

Pas 1: instal·leu MariaDB

Per defecte, la darrera versió de MariaDB no està disponible al repositori Ubuntu 16.04; per tant, haureu d'afegir el repositori MariaDB al vostre sistema.

Primer, descarregueu la clau amb l'ordre següent:

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

A continuació, afegiu el repositori MariaDB al /etc/apt/sources.listfitxer:

sudo echo "deb [arch=amd64,i386,ppc64el] http://ftp.utexas.edu/mariadb/repo/10.1/ubuntu xenial main" >> /etc/apt/sources.list

Actualitzeu l'índex apt amb l'ordre següent:

sudo apt-get update -y

Un cop s'hagi actualitzat l'índex apt, instal·leu el servidor MariaDB amb l'ordre següent:

sudo apt-get install mariadb-server -y

Inicieu el servidor MariaDB i activeu-lo perquè s'iniciï a l'inici:

sudo systemctl start mysql
sudo systemctl enable mysql

A continuació, haureu d'executar l' mysql_secure_installationscript per assegurar la instal·lació de MariaDB. Aquest script us permet establir la contrasenya d'arrel, eliminar usuaris anònims, no permetre l'inici de sessió d'arrel remot i eliminar la base de dades de prova:

sudo mysql_secure_installation

Pas 2: creeu un certificat SSL i una clau privada per al servidor

Primer, creeu un directori per emmagatzemar tots els fitxers de claus i certificats.

sudo mkdir /etc/mysql-ssl

A continuació, canvieu el directori /etc/mysql-ssli creeu el certificat CA i la clau privada amb l'ordre següent:

sudo cd /etc/mysql-ssl
sudo openssl genrsa 2048 > ca-key.pem
sudo openssl req -new -x509 -nodes -days 365000 -key ca-key.pem -out ca-cert.pem

Respon totes les preguntes tal com es mostra a continuació:

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:IN
State or Province Name (full name) [Some-State]:GUJ
Locality Name (eg, city) []:JND
Organization Name (eg, company) [Internet Widgits Pty Ltd]:ENJ
Organizational Unit Name (eg, section) []:SYSTEM
Common Name (e.g. server FQDN or YOUR name) []:HITESH
Email Address []:example@example.com

A continuació, creeu una clau privada per al servidor amb l'ordre següent:

sudo openssl req -newkey rsa:2048 -days 365 -nodes -keyout server-key.pem -out server-req.pem

Contesteu totes les preguntes tal com vau fer a l'ordre anterior.

A continuació, exporteu la clau privada del servidor a una clau de tipus RSA amb l'ordre següent:

sudo sudo openssl rsa -in server-key.pem -out server-key.pem

Finalment, genereu un certificat de servidor mitjançant el certificat CA de la manera següent:

sudo openssl x509 -req -in server-req.pem -days 365 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem

Ara podeu veure tots els certificats i clau amb l'ordre següent:

ls

Hauríeu de veure la sortida següent:

ca-cert.pem  ca-key.pem  server-cert.pem  server-key.pem  server-req.pem

Un cop hàgiu acabat, podeu passar al següent pas.

Pas 3: configureu el servidor MariaDB per utilitzar SSL

Hauríeu de tenir tots els certificats i una clau privada; i ara haureu de configurar MariaDB per utilitzar la clau i els certificats. Podeu fer-ho editant el /etc/mysql/mariadb.conf.d/50-server.cnffitxer:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Afegiu les línies següents a la [mysqld]secció:

ssl-ca=/etc/mysql-ssl/ca-cert.pem
ssl-cert=/etc/mysql-ssl/server-cert.pem
ssl-key=/etc/mysql-ssl/server-key.pem

##Change this value to connect the MariaDB server from another host.
bind-address = *

Deseu el fitxer i, a continuació, reinicieu el servei MariaDB per aplicar aquests canvis:

sudo systemctl restart mysql

Ara, podeu comprovar si la configuració SSL funciona o no amb la consulta següent:

mysql -u root -p
MariaDB [(none)]> SHOW VARIABLES LIKE '%ssl%';

Si la configuració ha tingut èxit, hauríeu de veure la sortida següent:

+---------------+--------------------------------+
| Variable_name | Value                          |
+---------------+--------------------------------+
| have_openssl  | YES                            |
| have_ssl      | YES                            |
| ssl_ca        | /etc/mysql-ssl/ca-cert.pem     |
| ssl_capath    |                                |
| ssl_cert      | /etc/mysql-ssl/server-cert.pem |
| ssl_cipher    |                                |
| ssl_crl       |                                |
| ssl_crlpath   |                                |
| ssl_key       | /etc/mysql-ssl/server-key.pem  |
+---------------+--------------------------------+

Hauríeu de notar que els valors have_ssli have_opensslestan activats a la sortida anterior.

Pas 4: creeu un usuari amb privilegis SSL

Creeu un usuari remot que tingui privilegi per accedir al servidor MariaDB mitjançant SSL. Feu-ho executant l'ordre següent:

Primer, inicieu sessió a l'intèrpret d'ordres de MySQL:

mysql -u root -p

A continuació, creeu un usuari remotei atorgueu privilegis per accedir al servidor mitjançant SSL.

MariaDB [(none)]>GRANT ALL PRIVILEGES ON *.* TO 'remote'@'192.168.0.191' IDENTIFIED BY 'password' REQUIRE SSL;

A continuació, esborreu els privilegis amb l'ordre següent:

MariaDB [(none)]>FLUSH PRIVILEGES;

Finalment, sortiu de l'intèrpret d'ordres MySQL amb la següent comanda:

MariaDB [(none)]>exit;

Nota: 192.168.0.191 és l'adreça IP de la màquina de l'usuari remot (Client).

El vostre servidor ja està preparat per permetre connexions a l'usuari remot.

Pas 5: creeu el certificat de client

La configuració del costat del servidor s'ha completat. A continuació, haureu de crear una clau i un certificat nous per al client.

A la màquina servidor, creeu la clau del client amb l'ordre següent:

sudo cd /etc/mysql-ssl
sudo sudo openssl req -newkey rsa:2048 -days 365 -nodes -keyout client-key.pem -out client-req.pem

A continuació, processeu la clau RSA del client amb l'ordre següent:

sudo openssl rsa -in client-key.pem -out client-key.pem

Finalment, signeu el certificat del client amb l'ordre següent:

sudo openssl x509 -req -in client-req.pem -days 365 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem

Pas 6: configureu el client MariaDB per utilitzar SSL

Tots els certificats i la clau estan a punt per al client. A continuació, haureu de copiar tots els certificats de client a qualsevol màquina client on vulgueu executar el client MariaDB.

Haureu d'instal·lar el client MariaDB a la màquina client.

Primer, a la màquina client, descarregueu la clau per a MariaDB amb l'ordre següent:

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

A continuació, afegiu el repositori MariaDB al /etc/apt/sources.listfitxer:

sudo echo "deb [arch=amd64,i386,ppc64el] http://ftp.utexas.edu/mariadb/repo/10.1/ubuntu xenial main" >> /etc/apt/sources.list

A continuació, actualitzeu l'índex apt amb l'ordre següent:

sudo apt-get update -y

Un cop actualitzat l'índex apt, instal·leu el client MariaDB a la màquina client amb l'ordre següent:

sudo apt-get install mariadb-client -y

Ara creeu un directori per emmagatzemar tots els certificats:

sudo mkdir /etc/mysql-ssl

A continuació, copieu tots els certificats de client de la màquina servidor a la màquina client amb l'ordre següent:

sudo scp root@192.168.0.190:/etc/mysql-ssl/client-* /etc/mysql-ssl/

Aleshores, haureu de configurar el client MariaDB per utilitzar SSL. Podeu fer-ho creant un /etc/mysql/mariadb.conf.d/50-mysql-clients.cnffitxer:

sudo nano /etc/mysql/mariadb.conf.d/50-mysql-clients.cnf

Afegiu les línies següents:

[client]
ssl-ca=/etc/mysql-ssl/ca-cert.pem
ssl-cert=/etc/mysql-ssl/client-cert.pem
ssl-key=/etc/mysql-ssl/client-key.pem

Deseu el fitxer quan hàgiu acabat.

Pas 7: verifiqueu les connexions remotes

Ara que tot està configurat, és hora de verificar si us podeu connectar al servidor MariaDB amb èxit o no.

A la màquina client, executeu l'ordre següent per connectar-vos al servidor MariaDB:

mysql -u remote -h 192.168.0.190 -p mysql

Se us demanarà que introduïu la remotecontrasenya d'usuari. Després de donar la contrasenya, iniciareu la sessió al servidor MariaDB remot.

Comproveu l'estat de la connexió amb l'ordre següent:

MariaDB [mysql]> status

Hauríeu de veure la sortida següent:

--------------
mysql  Ver 15.1 Distrib 10.2.7-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Connection id:      62
Current database:   mysql
Current user:       remote@192.168.0.191
SSL:            Cipher in use is DHE-RSA-AES256-SHA
Current pager:      stdout
Using outfile:      ''
Using delimiter:    ;
Server:         MariaDB
Server version:     10.0.31-MariaDB-0ubuntu0.16.04.2 Ubuntu 16.04
Protocol version:   10
Connection:     192.168.0.190 via TCP/IP
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    utf8
Conn.  characterset:    utf8
TCP port:       3306
Uptime:         1 hours 31 min 31 sec

Hauríeu de veure'l SSL: Cipher in use is DHE-RSA-AES256-SHAa la sortida anterior. Això vol dir que ara la vostra connexió està segura amb SSL.

Conclusió

Felicitats! Heu configurat correctament un servidor MariaDB amb suport SSL. Ara podeu concedir accés a altres clients per accedir al servidor MariaDB mitjançant SSL.

Deixa un comentari

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

La Intel·ligència Artificial no està en el futur, és aquí mateix en el present. En aquest bloc Llegiu com les aplicacions d'Intel·ligència Artificial han afectat diversos sectors.

Atacs DDOS: una breu visió general

Atacs DDOS: una breu visió general

També ets víctima d'atacs DDOS i estàs confós sobre els mètodes de prevenció? Llegiu aquest article per resoldre les vostres consultes.

Us heu preguntat mai com guanyen diners els pirates informàtics?

Us heu preguntat mai com guanyen diners els pirates informàtics?

Potser haureu sentit que els pirates informàtics guanyen molts diners, però us heu preguntat mai com guanyen aquest tipus de diners? anem a discutir.

Invents revolucionaris de Google que us facilitaran la vida.

Invents revolucionaris de Google que us facilitaran la vida.

Vols veure els invents revolucionaris de Google i com aquests invents van canviar la vida de tots els éssers humans actuals? A continuació, llegiu al bloc per veure els invents de Google.

Divendres essencial: què va passar amb els cotxes impulsats per IA?

Divendres essencial: què va passar amb els cotxes impulsats per IA?

El concepte de cotxes autònoms per sortir a les carreteres amb l'ajuda de la intel·ligència artificial és un somni que tenim des de fa temps. Però malgrat les diverses promeses, no es veuen enlloc. Llegeix aquest blog per saber-ne més...

Singularitat tecnològica: un futur llunyà de la civilització humana?

Singularitat tecnològica: un futur llunyà de la civilització humana?

A mesura que la ciència evoluciona a un ritme ràpid, fent-se càrrec de molts dels nostres esforços, també augmenten els riscos de sotmetre'ns a una singularitat inexplicable. Llegeix, què pot significar per a nosaltres la singularitat.

Funcionalitats de les capes darquitectura de referència de Big Data

Funcionalitats de les capes darquitectura de referència de Big Data

Llegeix el blog per conèixer de la manera més senzilla les diferents capes de l'Arquitectura Big Data i les seves funcionalitats.

Evolució de lemmagatzematge de dades – Infografia

Evolució de lemmagatzematge de dades – Infografia

Els mètodes d'emmagatzematge de les dades que han anat evolucionant poden ser des del naixement de les dades. Aquest bloc tracta l'evolució de l'emmagatzematge de dades a partir d'una infografia.

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

En aquest món digital, els dispositius domèstics intel·ligents s'han convertit en una part crucial de les vides. A continuació, es mostren alguns avantatges sorprenents dels dispositius domèstics intel·ligents sobre com fan que la nostra vida valgui la pena i sigui més senzilla.

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Recentment, Apple va llançar macOS Catalina 10.15.4, una actualització de suplements per solucionar problemes, però sembla que l'actualització està causant més problemes que provoquen el bloqueig de les màquines Mac. Llegiu aquest article per obtenir més informació