Zabezpečte MariaDB s podporou SSL na Ubuntu 16.04

MariaDB je bezplatná databáze s otevřeným zdrojovým kódem a je nejrozšířenější náhradou za MySQL. Je vytvořen vývojáři MySQL a má zůstat zdarma pod GNU GPL. Je velmi rychlý, škálovatelný a přichází s bohatou sadou funkcí, díky kterým je velmi univerzální pro širokou škálu případů použití.

Tento tutoriál vás provede instalací a konfigurací MariaDB s podporou SSL na Ubuntu 16.04.

Požadavky

  • Nová instance Ubuntu 16.04 Vultr.
  • Uživatel bez oprávnění root s právy sudo.
  • Na instanci serveru je nakonfigurována statická IP adresa 192.168.0.190.
  • Na klientském počítači je nakonfigurována statická IP adresa 192.168.0.191.

Krok 1: Nainstalujte MariaDB

Ve výchozím nastavení není nejnovější verze MariaDB k dispozici v úložišti Ubuntu 16.04; takže budete muset do svého systému přidat úložiště MariaDB.

Nejprve si stáhněte klíč pomocí následujícího příkazu:

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

Dále do /etc/apt/sources.listsouboru přidejte úložiště 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 pomocí následujícího příkazu:

sudo apt-get update -y

Po aktualizaci indexu apt nainstalujte server MariaDB pomocí následujícího příkazu:

sudo apt-get install mariadb-server -y

Spusťte server MariaDB a povolte jeho spuštění při spouštění:

sudo systemctl start mysql
sudo systemctl enable mysql

Dále budete muset spustit mysql_secure_installationskript pro zabezpečení instalace MariaDB. Tento skript vám umožňuje nastavit heslo uživatele root, odebrat anonymní uživatele, zakázat vzdálené přihlášení uživatele root a odstranit testovací databázi:

sudo mysql_secure_installation

Krok 2: Vytvořte certifikát SSL a soukromý klíč pro server

Nejprve vytvořte adresář pro uložení všech souborů klíčů a certifikátů.

sudo mkdir /etc/mysql-ssl

Dále změňte adresář na /etc/mysql-ssla vytvořte certifikát CA a soukromý klíč pomocí následujícího pří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

Odpovězte na všechny otázky, jak je uvedeno níže:

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]

Dále vytvořte soukromý klíč pro server pomocí následujícího příkazu:

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

Odpovězte na všechny otázky stejně jako v předchozím příkazu.

Dále exportujte soukromý klíč serveru na klíč typu RSA pomocí následujícího příkazu:

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

Nakonec vygenerujte certifikát serveru pomocí 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

Nyní můžete zobrazit všechny certifikáty a klíč pomocí následujícího příkazu:

ls

Měli byste vidět následující výstup:

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

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Krok 3: Nakonfigurujte server MariaDB pro použití SSL

Měli byste mít všechny certifikáty a soukromý klíč; a nyní budete muset nakonfigurovat MariaDB, aby používala klíč a certifikáty. Můžete to udělat úpravou /etc/mysql/mariadb.conf.d/50-server.cnfsouboru:

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

Do [mysqld]sekce přidejte následující řádky :

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 soubor a poté restartujte službu MariaDB, abyste použili tyto změny:

sudo systemctl restart mysql

Nyní můžete zkontrolovat, zda konfigurace SSL funguje nebo ne, pomocí následujícího dotazu:

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

Pokud byla konfigurace úspěšná, měli byste vidět následující 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  |
+---------------+--------------------------------+

Měli byste si všimnout, že hodnoty have_ssla have_openssljsou ve výše uvedeném výstupu povoleny.

Krok 4: Vytvořte uživatele s oprávněními SSL

Vytvořte vzdáleného uživatele, který má oprávnění přistupovat k serveru MariaDB přes SSL. To provedete spuštěním následujícího příkazu:

Nejprve se přihlaste do prostředí MySQL:

mysql -u root -p

Dále vytvořte uživatele remotea udělte oprávnění pro přístup k serveru přes SSL.

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

Poté vyprázdněte oprávnění pomocí následujícího příkazu:

MariaDB [(none)]>FLUSH PRIVILEGES;

Nakonec ukončete prostředí MySQL pomocí následujícího příkazu:

MariaDB [(none)]>exit;

Poznámka: 192.168.0.191 je IP adresa počítače vzdáleného uživatele (klienta).

Váš server je nyní připraven povolit připojení ke vzdálenému uživateli.

Krok 5: Vytvořte klientský certifikát

Konfigurace na straně serveru je dokončena. Dále budete muset vytvořit nový klíč a certifikát pro klienta.

Na počítači serveru vytvořte klíč klienta pomocí následujícího příkazu:

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

Dále zpracujte klíč RSA klienta pomocí následujícího příkazu:

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

Nakonec podepište klientský certifikát pomocí následujícího příkazu:

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

Krok 6: Nakonfigurujte klienta MariaDB tak, aby používal SSL

Všechny certifikáty a klíč jsou připraveny pro klienta. Dále budete muset zkopírovat všechny klientské certifikáty na jakýkoli klientský počítač, kde chcete spustit klienta MariaDB.

Na klientský počítač budete muset nainstalovat klienta MariaDB.

Nejprve si na klientském počítači stáhněte klíč pro MariaDB pomocí následujícího příkazu:

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

Poté do /etc/apt/sources.listsouboru přidejte úložiště MariaDB :

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

Dále aktualizujte index apt pomocí následujícího příkazu:

sudo apt-get update -y

Jakmile je apt index aktualizován, nainstalujte klienta MariaDB na klientský počítač pomocí následujícího příkazu:

sudo apt-get install mariadb-client -y

Nyní vytvořte adresář pro uložení všech certifikátů:

sudo mkdir /etc/mysql-ssl

Dále zkopírujte všechny klientské certifikáty ze serverového počítače do klientského počítače pomocí následujícího příkazu:

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

Poté budete muset nakonfigurovat klienta MariaDB tak, aby používal SSL. Můžete to udělat vytvořením /etc/mysql/mariadb.conf.d/50-mysql-clients.cnfsouboru:

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

Přidejte následující řádky:

[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í soubor uložte.

Krok 7: Ověřte vzdálená připojení

Nyní, když je vše nakonfigurováno, je čas ověřit, zda se můžete úspěšně připojit k serveru MariaDB nebo ne.

Na klientském počítači spusťte následující příkaz pro připojení k serveru MariaDB:

mysql -u remote -h 192.168.0.190 -p mysql

Budete požádáni o zadání remoteuživatelského hesla. Po zadání hesla budete přihlášeni ke vzdálenému serveru MariaDB.

Zkontrolujte stav připojení pomocí následujícího příkazu:

MariaDB [mysql]> status

Měli byste vidět následující 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

Měli byste vidět SSL: Cipher in use is DHE-RSA-AES256-SHAve výše uvedeném výstupu. To znamená, že vaše připojení je nyní zabezpečené pomocí SSL.

Závěr

Gratulujeme! Úspěšně jste nakonfigurovali server MariaDB s podporou SSL. Nyní můžete udělit přístup dalším klientům pro přístup k serveru MariaDB přes SSL.


Instalace InfluxDB na Ubuntu 14

Instalace InfluxDB na Ubuntu 14

Úvod InfluxDB je open source, distribuovaná databáze časových řad bez externích závislostí. Ano, četli jste par

Jak nainstalovat Apache Cassandra 3.11.x na Ubuntu 16.04 LTS

Jak nainstalovat Apache Cassandra 3.11.x na Ubuntu 16.04 LTS

Používáte jiný systém? Apache Cassandra je bezplatný a otevřený systém pro správu databází NoSQL, který je navržen tak, aby poskytoval škálovatelnost, vysokou

Jak nainstalovat Apache Cassandra 3.11.x na CentOS 7

Jak nainstalovat Apache Cassandra 3.11.x na CentOS 7

Používáte jiný systém? Apache Cassandra je bezplatný a otevřený systém pro správu databází NoSQL, který je navržen tak, aby poskytoval škálovatelnost, vysokou

Jak nainstalovat a nakonfigurovat ArangoDB na CentOS 7

Jak nainstalovat a nakonfigurovat ArangoDB na CentOS 7

Používáte jiný systém? Úvod ArangoDB je open source databáze NoSQL s flexibilním datovým modelem pro dokumenty, grafy a páry klíč–hodnota. to je

Jak nainstalovat Laravel GitScrum na CentOS 7

Jak nainstalovat Laravel GitScrum na CentOS 7

Laravel GitScrum nebo GitScrum je open source nástroj pro produktivitu navržený tak, aby pomohl vývojovým týmům implementovat metodologii Scrum podobným způsobem.

Automaticky zálohujte více databází MySQL nebo MariaDB

Automaticky zálohujte více databází MySQL nebo MariaDB

Úvod V tomto zápisu si dobře projděte, jak zálohovat více databází MySQL nebo MariaDB, které sedí na stejném počítači pomocí vlastního bash skriptu.

Jak nainstalovat a nakonfigurovat OrientDB Community Edition na CentOS 7

Jak nainstalovat a nakonfigurovat OrientDB Community Edition na CentOS 7

OrientDB je nová generace multimodelového open source NoSQL DBMS. Díky podpoře více datových modelů může OrientDB poskytnout více funkcí a flexibility

Zabezpečení MongoDB

Zabezpečení MongoDB

MongoDB není ve výchozím nastavení zabezpečený. Pokud instalujete MongoDB a spouštíte jej bez konfigurace pro ověřování, budete mít špatný čas

Zálohování databází MySQL

Zálohování databází MySQL

MySQL je nejpopulárnější software na světě používaný pro databáze. Ujistit se, že máte zálohy databáze, je velmi důležité. Tato praxe umožňuje

Jak zálohovat a obnovit databáze PostgreSQL na Ubuntu 16.04

Jak zálohovat a obnovit databáze PostgreSQL na Ubuntu 16.04

Úvod PostgreSQL je bezplatný a otevřený systém pro správu databází, který lze použít k ukládání informací souvisejících s webovými stránkami. Je také známo a

Jak nainstalovat PostgreSQL 11.1 na Arch Linux

Jak nainstalovat PostgreSQL 11.1 na Arch Linux

Předpoklady Server Vultr s aktuální verzí Arch Linuxu (viz tento článek.) Přístup Sudo. Příkazy požadované ke spuštění jako root mají předponu # a jedna

Nasaďte sadu replik s vysokou dostupností v MongoDB 3.4 pomocí Keyfile pro řízení přístupu na Ubuntu 16.04

Nasaďte sadu replik s vysokou dostupností v MongoDB 3.4 pomocí Keyfile pro řízení přístupu na Ubuntu 16.04

Od svého vzniku v roce 2009 je MongoDB vedoucím odvětvím NoSQL. Jedním ze základních konceptů MongoDB je Replica Set, takže než začnete pracovat s i

Nainstalujte novější verze MongoDB na Debian 7

Nainstalujte novější verze MongoDB na Debian 7

MongoDB je rychlá a výkonná databáze NoSQL. Repozitáře Debianu se však aktualizují pomalu a často obsahují velmi staré verze balíčků. Tento tutoriál

Nastavení Barnyard 2 s Snort

Nastavení Barnyard 2 s Snort

Barnyard2 je způsob, jak uložit a zpracovat binární výstupy ze Snortu do databáze MySQL. Než začneme Vezměte prosím na vědomí, že pokud nemáte chrápání

Jak nainstalovat Apache Cassandra 3.11.x na Debian 9

Jak nainstalovat Apache Cassandra 3.11.x na Debian 9

Používáte jiný systém? Apache Cassandra je bezplatný a otevřený systém pro správu databází NoSQL, který je navržen tak, aby poskytoval škálovatelnost, vysokou

Nainstalujte RockMongo na CentOS 7

Nainstalujte RockMongo na CentOS 7

RockMongo je webový nástroj pro správu MongoDB, který je podobný nástroji pro správu MySQL: phpMyAdmin. Tento tutoriál se bude zabývat procesem instalace

Nainstalujte InfluxDB na Debian Jessie pomocí Telegrafu

Nainstalujte InfluxDB na Debian Jessie pomocí Telegrafu

Úvod InfluxDB je databáze založená na časových řadách napsaná v Go. InfluxDB má mnoho praktických využití, jedním z nich je ukládání monitorovacích dat na servery. já

Zabezpečte MariaDB s podporou SSL na Ubuntu 16.04

Zabezpečte MariaDB s podporou SSL na Ubuntu 16.04

MariaDB je bezplatná databáze s otevřeným zdrojovým kódem a je nejrozšířenější náhradou za MySQL. Je vytvořen vývojáři MySQL a je určen k remai

Jak nainstalovat phpRedisAdmin na CentOS 7

Jak nainstalovat phpRedisAdmin na CentOS 7

phpRedisAdmin je webová aplikace, která spravuje databáze Redis s intuitivním grafickým uživatelským rozhraním. Tento tutoriál vysvětlí, jak nainstalovat

Jak nainstalovat a používat ArangoDB na Ubuntu 16.04

Jak nainstalovat a používat ArangoDB na Ubuntu 16.04

Používáte jiný systém? Úvod ArangoDB je open source databáze NoSQL s flexibilním datovým modelem pro dokumenty, grafy a páry klíč–hodnota. to je

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více