Biztonságos MariaDB SSL-támogatással az Ubuntu 16.04-en

A MariaDB egy ingyenes nyílt forráskódú adatbázis, és a MySQL legszélesebb körben használt beépülő modulja. A MySQL fejlesztői készítették, és a tervek szerint ingyenes marad a GNU GPL alatt. Nagyon gyors, méretezhető, és olyan funkciók gazdag készletével érkezik, amelyek nagyon sokoldalúvá teszik a legkülönfélébb használati esetekben.

Ez az oktatóanyag végigvezeti Önt, hogyan telepítheti és konfigurálja a MariaDB-t SSL-támogatással az Ubuntu 16.04 rendszeren.

Követelmények

  • Egy friss Ubuntu 16.04 Vultr példány.
  • Nem root felhasználó sudo jogosultságokkal.
  • A kiszolgálópéldányon 192.168.0.190 statikus IP-cím van konfigurálva.
  • A 192.168.0.191 statikus IP-cím van konfigurálva az ügyfélgépen.

1. lépés: Telepítse a MariaDB-t

Alapértelmezés szerint a MariaDB legfrissebb verziója nem érhető el az Ubuntu 16.04 lerakatában; így hozzá kell adnia a MariaDB tárolót a rendszeréhez.

Először töltse le a kulcsot a következő paranccsal:

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

Ezután adja hozzá a MariaDB-tárat a /etc/apt/sources.listfájlhoz:

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

Frissítse az apt indexet a következő paranccsal:

sudo apt-get update -y

Az apt index frissítése után telepítse a MariaDB szervert a következő paranccsal:

sudo apt-get install mariadb-server -y

Indítsa el a MariaDB szervert, és engedélyezze az indulást a rendszerindításkor:

sudo systemctl start mysql
sudo systemctl enable mysql

Ezután le kell futtatnia a mysql_secure_installationszkriptet a MariaDB telepítésének biztosításához. Ez a szkript lehetővé teszi a root jelszó beállítását, az anonim felhasználók eltávolítását, a távoli root bejelentkezés letiltását és a tesztadatbázis eltávolítását:

sudo mysql_secure_installation

2. lépés: Hozzon létre egy SSL-tanúsítványt és egy privát kulcsot a szerverhez

Először hozzon létre egy könyvtárat az összes kulcs- és tanúsítványfájl tárolására.

sudo mkdir /etc/mysql-ssl

Ezután módosítsa a könyvtárat, /etc/mysql-sslés hozza létre a CA-tanúsítványt és a privát kulcsot a következő paranccsal:

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

Válaszoljon az összes kérdésre az alábbiak szerint:

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

Ezután hozzon létre egy privát kulcsot a szerverhez a következő paranccsal:

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

Válaszoljon az összes kérdésre, ahogy az előző parancsban tette.

Ezután exportálja a kiszolgáló privát kulcsát RSA-típusú kulcsba a következő paranccsal:

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

Végül hozzon létre egy szervertanúsítványt a CA-tanúsítvány használatával az alábbiak szerint:

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

Most már láthatja az összes tanúsítványt és kulcsot a következő paranccsal:

ls

A következő kimenetet kell látnod:

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

Ha elkészült, folytathatja a következő lépéssel.

3. lépés: Konfigurálja a MariaDB szervert SSL használatára

Rendelkeznie kell az összes tanúsítvánnyal és egy privát kulccsal; és most be kell állítania a MariaDB-t a kulcs és a tanúsítványok használatához. Ezt a /etc/mysql/mariadb.conf.d/50-server.cnffájl szerkesztésével teheti meg :

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

Adja hozzá a következő sorokat a [mysqld]szakaszhoz:

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 = *

Mentse el a fájlt, majd indítsa újra a MariaDB szolgáltatást a módosítások alkalmazásához:

sudo systemctl restart mysql

Most a következő lekérdezéssel ellenőrizheti, hogy az SSL konfiguráció működik-e vagy sem:

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

Ha a konfiguráció sikeres volt, a következő kimenetet kell látnia:

+---------------+--------------------------------+
| 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  |
+---------------+--------------------------------+

Észre kell vennie, hogy a have_sslés have_opensslértékek engedélyezve vannak a fenti kimenetben.

4. lépés: Hozzon létre egy felhasználót SSL jogosultságokkal

Hozzon létre egy távoli felhasználót, aki jogosult SSL-en keresztül elérni a MariaDB-kiszolgálót. Ezt a következő parancs futtatásával teheti meg:

Először jelentkezzen be a MySQL shellbe:

mysql -u root -p

Ezután hozzon létre felhasználót, remoteés adjon jogosultságot a szerver SSL-en keresztüli elérésére.

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

Ezután öblítse ki a jogosultságokat a következő paranccsal:

MariaDB [(none)]>FLUSH PRIVILEGES;

Végül lépjen ki a MySQL shellből a következő paranccsal:

MariaDB [(none)]>exit;

Megjegyzés: A 192.168.0.191 a távoli felhasználói (kliens) gép IP-címe.

A kiszolgáló készen áll a távoli felhasználókkal való kapcsolatok engedélyezésére.

5. lépés: Hozza létre az ügyféltanúsítványt

A szerveroldali konfiguráció kész. Ezután új kulcsot és tanúsítványt kell létrehoznia az ügyfél számára.

A szervergépen hozza létre az ügyfélkulcsot a következő paranccsal:

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

Ezután dolgozza fel az ügyfél RSA kulcsát a következő paranccsal:

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

Végül írja alá az ügyféltanúsítványt a következő paranccsal:

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

6. lépés: Konfigurálja a MariaDB-klienst az SSL használatára

Az összes tanúsítvány és a kulcs készen áll az ügyfél számára. Ezután át kell másolnia az összes ügyféltanúsítványt bármely olyan ügyfélgépre, amelyen futtatni kívánja a MariaDB-ügyfelet.

Telepítenie kell a MariaDB klienst az ügyfélgépen.

Először az ügyfélgépen töltse le a MariaDB kulcsát a következő paranccsal:

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

Ezután adja hozzá a MariaDB tárat a /etc/apt/sources.listfájlhoz:

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

Ezután frissítse az apt indexet a következő paranccsal:

sudo apt-get update -y

Az apt index frissítése után telepítse a MariaDB klienst az ügyfélgépre a következő paranccsal:

sudo apt-get install mariadb-client -y

Most hozzon létre egy könyvtárat az összes tanúsítvány tárolására:

sudo mkdir /etc/mysql-ssl

Ezután másolja át az összes ügyféltanúsítványt a kiszolgáló gépről az ügyfélgépre a következő paranccsal:

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

Ezután be kell állítania a MariaDB klienst az SSL használatára. Ezt megteheti egy /etc/mysql/mariadb.conf.d/50-mysql-clients.cnffájl létrehozásával :

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

Adja hozzá a következő sorokat:

[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

Mentse el a fájlt, ha végzett.

7. lépés: Ellenőrizze a távoli kapcsolatokat

Most, hogy minden be van állítva, ideje ellenőrizni, hogy sikeresen tud-e csatlakozni a MariaDB szerverhez vagy sem.

Az ügyfélgépen futtassa a következő parancsot a MariaDB kiszolgálóhoz való csatlakozáshoz:

mysql -u remote -h 192.168.0.190 -p mysql

Meg kell adnia a remotefelhasználói jelszót. A jelszó megadása után bejelentkezik a távoli MariaDB szerverre.

Ellenőrizze a kapcsolat állapotát a következő paranccsal:

MariaDB [mysql]> status

A következő kimenetet kell látnod:

--------------
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

Látnia kell SSL: Cipher in use is DHE-RSA-AES256-SHAa fenti kimenetben. Ez azt jelenti, hogy kapcsolata immár biztonságos az SSL segítségével.

Következtetés

Gratulálunk! Sikeresen konfigurált egy SSL-támogatással rendelkező MariaDB-kiszolgálót. Mostantól hozzáférést biztosíthat más ügyfeleknek a MariaDB-kiszolgáló eléréséhez SSL-en keresztül.

Hagyj kommentárt

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Ez az oktatóanyag végigvezeti Önt a Vultrs rendszerekkel kompatibilis Windows ISO létrehozásának folyamatán. Itt megtanulhatja az <>Windows ISO<> előállításának lépéseit az NTLite segítségével.

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.