Zabezpečte MariaDB s podporou SSL na Ubuntu 16.04

MariaDB je bezplatná databáza s otvoreným zdrojovým kódom a je najpoužívanejšou náhradou za MySQL. Je vytvorený vývojármi MySQL a je určený na to, aby zostal zadarmo pod GNU GPL. Je veľmi rýchly, škálovateľný a prichádza s bohatou sadou funkcií, vďaka ktorým je veľmi univerzálny pre širokú škálu prípadov použitia.

Tento tutoriál vás prevedie tým, ako nainštalovať a nakonfigurovať MariaDB s podporou SSL na Ubuntu 16.04.

Požiadavky

  • Nová inštancia Ubuntu 16.04 Vultr.
  • Používateľ bez oprávnenia root s oprávneniami sudo.
  • Na inštancii servera je nakonfigurovaná statická adresa IP 192.168.0.190.
  • Na klientskom počítači je nakonfigurovaná statická IP adresa 192.168.0.191.

Krok 1: Nainštalujte MariaDB

V predvolenom nastavení nie je najnovšia verzia MariaDB dostupná v úložisku Ubuntu 16.04; takže budete musieť pridať úložisko MariaDB do vášho systému.

Najprv si stiahnite kľúč pomocou nasledujúceho príkazu:

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

Potom do /etc/apt/sources.listsúboru pridajte úložisko MariaDB :

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

Aktualizujte index apt pomocou nasledujúceho príkazu:

sudo apt-get update -y

Po aktualizácii indexu apt nainštalujte server MariaDB pomocou nasledujúceho príkazu:

sudo apt-get install mariadb-server -y

Spustite server MariaDB a povoľte jeho spustenie pri spustení:

sudo systemctl start mysql
sudo systemctl enable mysql

Ďalej budete musieť spustiť mysql_secure_installationskript na zabezpečenie inštalácie MariaDB. Tento skript vám umožňuje nastaviť heslo používateľa root, odstrániť anonymných používateľov, zakázať vzdialené prihlásenie používateľa root a odstrániť testovaciu databázu:

sudo mysql_secure_installation

Krok 2: Vytvorte certifikát SSL a súkromný kľúč pre server

Najprv vytvorte adresár na uloženie všetkých súborov kľúčov a certifikátov.

sudo mkdir /etc/mysql-ssl

Potom zmeňte adresár na /etc/mysql-ssla vytvorte certifikát CA a súkromný kľúč pomocou nasledujúceho príkazu:

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

Odpovedzte na všetky otázky, ako je uvedené nižšie:

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 []:[email protected]

Potom vytvorte súkromný kľúč pre server pomocou nasledujúceho príkazu:

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

Odpovedzte na všetky otázky tak, ako ste to urobili v predchádzajúcom príkaze.

Potom exportujte súkromný kľúč servera do kľúča typu RSA pomocou nasledujúceho príkazu:

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

Nakoniec vygenerujte certifikát servera pomocou certifikátu CA takto:

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

Teraz môžete zobraziť všetky certifikáty a kľúč pomocou nasledujúceho príkazu:

ls

Mali by ste vidieť nasledujúci výstup:

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

Po dokončení môžete prejsť na ďalší krok.

Krok 3: Nakonfigurujte server MariaDB na používanie SSL

Mali by ste mať všetky certifikáty a súkromný kľúč; a teraz budete musieť nakonfigurovať MariaDB na používanie kľúča a certifikátov. Môžete to urobiť úpravou /etc/mysql/mariadb.conf.d/50-server.cnfsúboru:

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

Do [mysqld]sekcie pridajte nasledujúce riadky :

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

Uložte súbor a potom reštartujte službu MariaDB, aby ste použili tieto zmeny:

sudo systemctl restart mysql

Teraz môžete pomocou nasledujúceho dotazu skontrolovať, či konfigurácia SSL funguje alebo nie:

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

Ak bola konfigurácia úspešná, mali by ste vidieť nasledujúci výstup:

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

Mali by ste si všimnúť, že hodnoty have_ssla have_opensslsú vo vyššie uvedenom výstupe povolené.

Krok 4: Vytvorte používateľa s oprávneniami SSL

Vytvorte vzdialeného používateľa, ktorý má privilégium na prístup k serveru MariaDB cez SSL. Vykonajte to spustením nasledujúceho príkazu:

Najprv sa prihláste do shellu MySQL:

mysql -u root -p

Next, create user remote and grant privilege to access the server over SSL.

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

Then, flush the privileges with the following command:

MariaDB [(none)]>FLUSH PRIVILEGES;

Finally, exit from the MySQL shell with the following command:

MariaDB [(none)]>exit;

Note: 192.168.0.191 is the IP address of the remote user (Client) machine.

Your server is now ready to allow connections to remote user.

Step 5 : Create The Client Certificate

Your server side configuration is complete. Next, you will need to create a new key and certificate for the client.

On the server machine, create the client key with the following command:

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

Next, process the client RSA key with the following command:

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

Finally, sign the client certificate with the following command:

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

Step 6 : Configure MariaDB Client to Use SSL

Všetky certifikáty a kľúč sú pripravené pre klienta. Ďalej budete musieť skopírovať všetky klientske certifikáty na ľubovoľný klientsky počítač, na ktorom chcete spustiť klienta MariaDB.

Na klientskom počítači budete musieť nainštalovať klienta MariaDB.

Najprv si na klientskom počítači stiahnite kľúč pre MariaDB pomocou nasledujúceho príkazu:

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

Potom do /etc/apt/sources.listsúboru pridajte úložisko MariaDB :

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

Potom aktualizujte index apt pomocou nasledujúceho príkazu:

sudo apt-get update -y

Po aktualizácii indexu apt nainštalujte klienta MariaDB na klientsky počítač pomocou nasledujúceho príkazu:

sudo apt-get install mariadb-client -y

Teraz vytvorte adresár na uloženie všetkých certifikátov:

sudo mkdir /etc/mysql-ssl

Potom skopírujte všetky klientske certifikáty zo servera na klientsky počítač pomocou nasledujúceho príkazu:

sudo scp [email protected]:/etc/mysql-ssl/client-* /etc/mysql-ssl/

Potom budete musieť nakonfigurovať klienta MariaDB na používanie SSL. Môžete to urobiť vytvorením /etc/mysql/mariadb.conf.d/50-mysql-clients.cnfsúboru:

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

Pridajte nasledujúce riadky:

[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

Po dokončení uložte súbor.

Krok 7: Overte vzdialené pripojenia

Teraz, keď je všetko nakonfigurované, je čas overiť, či sa môžete úspešne pripojiť k serveru MariaDB alebo nie.

Na klientskom počítači spustite nasledujúci príkaz na pripojenie k serveru MariaDB:

mysql -u remote -h 192.168.0.190 -p mysql

Budete vyzvaní na zadanie remotehesla používateľa. Po zadaní hesla budete prihlásení na vzdialený server MariaDB.

Skontrolujte stav pripojenia pomocou nasledujúceho príkazu:

MariaDB [mysql]> status

Mali by ste vidieť nasledujúci výstup:

--------------
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:       [email protected]
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

Mali by ste vidieť SSL: Cipher in use is DHE-RSA-AES256-SHAvo vyššie uvedenom výstupe. To znamená, že vaše pripojenie je teraz zabezpečené pomocou SSL.

Záver

Gratulujem! Úspešne ste nakonfigurovali server MariaDB s podporou SSL. Teraz môžete udeliť prístup iným klientom na prístup k serveru MariaDB cez SSL.


Inštalácia InfluxDB na Ubuntu 14

Inštalácia InfluxDB na Ubuntu 14

Úvod InfluxDB je open source, distribuovaná databáza časových radov bez externých závislostí. Áno, čítali ste odsek bez externých závislostí

Ako nainštalovať Apache Cassandra 3.11.x na Ubuntu 16.04 LTS

Ako nainštalovať Apache Cassandra 3.11.x na Ubuntu 16.04 LTS

Používate iný systém? Apache Cassandra je bezplatný a otvorený systém správy databáz NoSQL, ktorý je navrhnutý tak, aby poskytoval škálovateľnosť, vysokú

Ako nainštalovať Apache Cassandra 3.11.x na CentOS 7

Ako nainštalovať Apache Cassandra 3.11.x na CentOS 7

Používate iný systém? Apache Cassandra je bezplatný a otvorený systém správy databáz NoSQL, ktorý je navrhnutý tak, aby poskytoval škálovateľnosť, vysokú

Ako nainštalovať a nakonfigurovať ArangoDB na CentOS 7

Ako nainštalovať a nakonfigurovať ArangoDB na CentOS 7

Používate iný systém? Úvod ArangoDB je open source databáza NoSQL s flexibilným dátovým modelom pre dokumenty, grafy a hodnoty kľúča. to je

Ako nainštalovať Laravel GitScrum na CentOS 7

Ako nainštalovať Laravel GitScrum na CentOS 7

Laravel GitScrum alebo GitScrum je nástroj na zvýšenie produktivity s otvoreným zdrojom určený na pomoc vývojovým tímom implementovať metodiku Scrum podobným spôsobom.

Ako nainštalovať a nakonfigurovať OrientDB Community Edition na CentOS 7

Ako nainštalovať a nakonfigurovať OrientDB Community Edition na CentOS 7

OrientDB je nová generácia multimodelových open source NoSQL DBMS. Vďaka podpore viacerých dátových modelov môže OrientDB poskytnúť viac funkcií a flexibility

Zabezpečenie MongoDB

Zabezpečenie MongoDB

MongoDB nie je v predvolenom nastavení zabezpečený. Ak inštalujete MongoDB a spúšťate ho bez toho, aby ste ho nakonfigurovali na autentifikáciu, budete mať zlý čas

Zálohovanie databáz MySQL

Zálohovanie databáz MySQL

MySQL je najpopulárnejší softvér na svete používaný pre databázy. Uistenie sa, že máte zálohy databázy, je veľmi dôležité. Táto prax umožňuje

Ako zálohovať a obnoviť databázy PostgreSQL na Ubuntu 16.04

Ako zálohovať a obnoviť databázy PostgreSQL na Ubuntu 16.04

Úvod PostgreSQL je bezplatný a otvorený systém správy databáz, ktorý možno použiť na ukladanie informácií súvisiacich s webovými stránkami. Je tiež známy a

Ako nainštalovať PostgreSQL 11.1 na Arch Linux

Ako nainštalovať PostgreSQL 11.1 na Arch Linux

Predpoklady Server Vultr s aktuálnou verziou Arch Linuxu (pozri tento článok.) Prístup sudo. Príkazy potrebné na spustenie ako root majú predponu # a jedna

Nasaďte súpravu replík s vysokou dostupnosťou v MongoDB 3.4 pomocou súboru kľúča na riadenie prístupu na Ubuntu 16.04

Nasaďte súpravu replík s vysokou dostupnosťou v MongoDB 3.4 pomocou súboru kľúča na riadenie prístupu na Ubuntu 16.04

Od svojho počatia v roku 2009 je MongoDB lídrom v odvetví NoSQL. Jedným zo základných konceptov MongoDB je Replica Set, takže pred prácou s i

Nainštalujte novšie verzie MongoDB na Debian 7

Nainštalujte novšie verzie MongoDB na Debian 7

MongoDB je rýchla a výkonná databáza NoSQL. Repozitáre Debianu sa však aktualizujú pomaly a často obsahujú veľmi staré verzie balíkov. Táto lekcia

Nastavte Barnyard 2 so Snortom

Nastavte Barnyard 2 so Snortom

Barnyard2 je spôsob, ako uložiť a spracovať binárne výstupy zo Snortu do databázy MySQL. Skôr ako začneme Upozorňujeme, že ak nemáte chrápanie

Ako nainštalovať Apache Cassandra 3.11.x na Debian 9

Ako nainštalovať Apache Cassandra 3.11.x na Debian 9

Používate iný systém? Apache Cassandra je bezplatný a otvorený systém správy databáz NoSQL, ktorý je navrhnutý tak, aby poskytoval škálovateľnosť, vysokú

Nainštalujte RockMongo na CentOS 7

Nainštalujte RockMongo na CentOS 7

RockMongo je webový nástroj na správu MongoDB, ktorý je podobný nástroju na správu MySQL: phpMyAdmin. Tento tutoriál sa bude zaoberať procesom inštalácie

Nainštalujte InfluxDB na Debian Jessie s Telegrafom

Nainštalujte InfluxDB na Debian Jessie s Telegrafom

Úvod InfluxDB je databáza založená na časových sériách napísaná v Go. InfluxDB má mnoho praktických využití, jedným z nich je ukladanie monitorovacích údajov na servery. ja

Zabezpečte MariaDB s podporou SSL na Ubuntu 16.04

Zabezpečte MariaDB s podporou SSL na Ubuntu 16.04

MariaDB je bezplatná databáza s otvoreným zdrojovým kódom a je najpoužívanejšou náhradou za MySQL. Je vytvorený vývojármi MySQL a určený na remai

Ako nainštalovať phpRedisAdmin na CentOS 7

Ako nainštalovať phpRedisAdmin na CentOS 7

phpRedisAdmin je webová aplikácia, ktorá spravuje databázy Redis pomocou intuitívneho grafického používateľského rozhrania. Tento tutoriál vám vysvetlí, ako nainštalovať

Ako nainštalovať a používať ArangoDB na Ubuntu 16.04

Ako nainštalovať a používať ArangoDB na Ubuntu 16.04

Používate iný systém? Úvod ArangoDB je open source databáza NoSQL s flexibilným dátovým modelom pre dokumenty, grafy a hodnoty kľúča. to je

Začnite so serverom SQL Server 2017 (MS-SQL) na CentOS 7 s Dockerom

Začnite so serverom SQL Server 2017 (MS-SQL) na CentOS 7 s Dockerom

Predpoklady Docker engine 1.8+. Minimálne 4 GB miesta na disku. Minimálne 4 GB RAM. Krok 1. Inštalácia Docker Aby bolo možné nainštalovať SQL-Server, Docker musí

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac