Varen MariaDB s podporo za SSL v Ubuntu 16.04

MariaDB je brezplačna odprtokodna baza podatkov in je najbolj razširjena zamenjava za MySQL. Izdelali so ga razvijalci MySQL in naj bi ostal brezplačen pod GNU GPL. Je zelo hiter, razširljiv in ima bogat nabor funkcij, zaradi katerih je zelo vsestranski za najrazličnejše primere uporabe.

Ta vadnica vas bo vodila skozi namestitev in konfiguracijo MariaDB s podporo za SSL v Ubuntu 16.04.

Zahteve

  • Nov primerek Ubuntu 16.04 Vultr.
  • Nekorenski uporabnik s privilegiji sudo.
  • Na primerku strežnika je konfiguriran statični naslov IP 192.168.0.190.
  • Na odjemalskem računalniku je konfiguriran statični naslov IP 192.168.0.191.

1. korak: Namestite MariaDB

Najnovejša različica MariaDB privzeto ni na voljo v skladišču Ubuntu 16.04; zato boste morali v svoj sistem dodati skladišče MariaDB.

Najprej prenesite ključ z naslednjim ukazom:

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

Nato v /etc/apt/sources.listdatoteko dodajte skladišče MariaDB :

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

Posodobite indeks apt z naslednjim ukazom:

sudo apt-get update -y

Ko je indeks apt posodobljen, namestite strežnik MariaDB z naslednjim ukazom:

sudo apt-get install mariadb-server -y

Zaženite strežnik MariaDB in mu omogočite zagon ob zagonu:

sudo systemctl start mysql
sudo systemctl enable mysql

Nato boste morali zagnati mysql_secure_installationskript za zaščito namestitve MariaDB. Ta skript vam omogoča, da nastavite korensko geslo, odstranite anonimne uporabnike, onemogočite oddaljeno root prijavo in odstranite testno bazo podatkov:

sudo mysql_secure_installation

2. korak: Ustvarite SSL certifikat in zasebni ključ za strežnik

Najprej ustvarite imenik za shranjevanje vseh datotek ključev in potrdil.

sudo mkdir /etc/mysql-ssl

Nato spremenite imenik v /etc/mysql-sslin ustvarite potrdilo CA in zasebni ključ z naslednjim ukazom:

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

Odgovorite na vsa vprašanja, kot je prikazano spodaj:

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]

Nato ustvarite zasebni ključ za strežnik z naslednjim ukazom:

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

Odgovorite na vsa vprašanja, kot ste storili v prejšnjem ukazu.

Nato izvozite zasebni ključ strežnika v ključ vrste RSA z naslednjim ukazom:

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

Končno ustvarite strežniško potrdilo s potrdilom CA, kot sledi:

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

Zdaj si lahko ogledate vsa potrdila in ključe z naslednjim ukazom:

ls

Videti bi morali naslednji izhod:

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

Ko končate, lahko nadaljujete na naslednji korak.

3. korak: Konfigurirajte strežnik MariaDB za uporabo SSL

Imeti morate vsa potrdila in zasebni ključ; in zdaj boste morali konfigurirati MariaDB za uporabo ključa in potrdil. To lahko storite tako, da uredite /etc/mysql/mariadb.conf.d/50-server.cnfdatoteko:

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

Pod [mysqld]razdelek dodajte naslednje vrstice :

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

Shranite datoteko, nato znova zaženite storitev MariaDB, da uporabite te spremembe:

sudo systemctl restart mysql

Zdaj lahko preverite, ali konfiguracija SSL deluje ali ne z naslednjo poizvedbo:

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

Če je bila konfiguracija uspešna, bi morali videti naslednji izhod:

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

Moral bi opazili have_sslin have_opensslvrednosti so omogočene v zgornji izhod.

4. korak: Ustvarite uporabnika s privilegiji SSL

Ustvarite oddaljenega uporabnika, ki ima privilegij za dostop do strežnika MariaDB prek SSL. To storite tako, da zaženete naslednji ukaz:

Najprej se prijavite v lupino MySQL:

mysql -u root -p

Nato ustvarite uporabnika remotein podelite privilegij za dostop do strežnika prek SSL.

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

Nato izpraznite privilegije z naslednjim ukazom:

MariaDB [(none)]>FLUSH PRIVILEGES;

Končno zapustite lupino MySQL z naslednjim ukazom:

MariaDB [(none)]>exit;

Opomba: 192.168.0.191 je naslov IP oddaljenega uporabnika (odjemalca).

Vaš strežnik je zdaj pripravljen dovoliti povezave z oddaljenim uporabnikom.

5. korak: Ustvarite potrdilo odjemalca

Konfiguracija na strani strežnika je končana. Nato boste morali ustvariti nov ključ in potrdilo za odjemalca.

Na strežniškem računalniku ustvarite odjemalski ključ z naslednjim ukazom:

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

Nato obdelajte odjemalski ključ RSA z naslednjim ukazom:

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

Na koncu podpišite potrdilo odjemalca z naslednjim ukazom:

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. korak: Konfigurirajte odjemalca MariaDB za uporabo SSL

Vsi certifikati in ključi so pripravljeni za stranko. Nato boste morali kopirati vsa potrdila odjemalca na kateri koli odjemalski računalnik, kjer želite zagnati odjemalca MariaDB.

Na odjemalski računalnik boste morali namestiti odjemalca MariaDB.

Najprej na odjemalskem računalniku prenesite ključ za MariaDB z naslednjim ukazom:

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

Nato v /etc/apt/sources.listdatoteko dodajte skladišče MariaDB :

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

Nato posodobite indeks apt z naslednjim ukazom:

sudo apt-get update -y

Ko je indeks apt posodobljen, namestite odjemalca MariaDB na odjemalski stroj z naslednjim ukazom:

sudo apt-get install mariadb-client -y

Zdaj ustvarite imenik za shranjevanje vseh potrdil:

sudo mkdir /etc/mysql-ssl

Nato kopirajte vsa odjemalska potrdila iz strežniškega računalnika na odjemalsko napravo z naslednjim ukazom:

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

Nato boste morali konfigurirati odjemalca MariaDB za uporabo SSL. To lahko storite tako, da ustvarite /etc/mysql/mariadb.conf.d/50-mysql-clients.cnfdatoteko:

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

Dodajte naslednje vrstice:

[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

Ko končate, shranite datoteko.

7. korak: Preverite oddaljene povezave

Zdaj, ko je vse konfigurirano, je čas, da preverite, ali se lahko uspešno povežete s strežnikom MariaDB ali ne.

Na odjemalskem računalniku zaženite naslednji ukaz za povezavo s strežnikom MariaDB:

mysql -u remote -h 192.168.0.190 -p mysql

Pozvani boste, da vnesete remoteuporabniško geslo. Po vnosu gesla boste prijavljeni v oddaljeni strežnik MariaDB.

Preverite stanje povezave z naslednjim ukazom:

MariaDB [mysql]> status

Videti bi morali naslednji izhod:

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

Morali bi videti SSL: Cipher in use is DHE-RSA-AES256-SHAv zgornjem izpisu. To pomeni, da je vaša povezava zdaj varna s SSL.

Zaključek

Čestitam! Uspešno ste konfigurirali strežnik MariaDB s podporo za SSL. Zdaj lahko drugim odjemalcem dodelite dostop za dostop do strežnika MariaDB prek SSL.


Namestitev InfluxDB na Ubuntu 14

Namestitev InfluxDB na Ubuntu 14

Uvod InfluxDB je odprtokodna, porazdeljena baza podatkov časovnih vrst brez zunanjih odvisnosti. Da, prebrali ste odstavek brez zunanjih odvisnosti

Kako namestiti Apache Cassandra 3.11.x na Ubuntu 16.04 LTS

Kako namestiti Apache Cassandra 3.11.x na Ubuntu 16.04 LTS

Uporaba drugega sistema? Apache Cassandra je brezplačen in odprtokodni sistem za upravljanje baz podatkov NoSQL, ki je zasnovan tako, da zagotavlja razširljivost, visoko

Kako namestiti Apache Cassandra 3.11.x na CentOS 7

Kako namestiti Apache Cassandra 3.11.x na CentOS 7

Uporaba drugega sistema? Apache Cassandra je brezplačen in odprtokodni sistem za upravljanje baz podatkov NoSQL, ki je zasnovan tako, da zagotavlja razširljivost, visoko

Kako namestiti in konfigurirati ArangoDB na CentOS 7

Kako namestiti in konfigurirati ArangoDB na CentOS 7

Uporaba drugega sistema? Uvod ArangoDB je odprtokodna baza podatkov NoSQL s prilagodljivim podatkovnim modelom za dokumente, grafe in ključe-vrednosti. je

Kako namestiti Laravel GitScrum na CentOS 7

Kako namestiti Laravel GitScrum na CentOS 7

Laravel GitScrum ali GitScrum je odprtokodno orodje za produktivnost, zasnovano za pomoč razvojnim ekipam pri implementaciji metodologije Scrum na podoben način.

Samodejno varnostno kopirajte več baz podatkov MySQL ali MariaDB

Samodejno varnostno kopirajte več baz podatkov MySQL ali MariaDB

Uvod V tem zapisu si oglejte, kako varnostno kopirati več baz podatkov MySQL ali MariaDB, ki se nahajajo na istem računalniku z uporabo bash skripta po meri.

Kako namestiti in konfigurirati OrientDB Community Edition na CentOS 7

Kako namestiti in konfigurirati OrientDB Community Edition na CentOS 7

OrientDB je večmodelna odprtokodna NoSQL DBMS naslednje generacije. S podporo za več podatkovnih modelov lahko OrientDB zagotovi več funkcionalnosti in prilagodljivosti

Zaščita MongoDB

Zaščita MongoDB

MongoDB privzeto ni varen. Če nameščate MongoDB in ga zaženete, ne da bi ga konfigurirali za preverjanje pristnosti, boste imeli slab čas

Varnostno kopiranje baz podatkov MySQL

Varnostno kopiranje baz podatkov MySQL

MySQL je najbolj priljubljena programska oprema na svetu, ki se uporablja za baze podatkov. Zelo pomembno je zagotoviti, da imate varnostne kopije vaše baze podatkov. Ta praksa omogoča

Kako varnostno kopirati in obnoviti baze podatkov PostgreSQL v Ubuntu 16.04

Kako varnostno kopirati in obnoviti baze podatkov PostgreSQL v Ubuntu 16.04

Uvod PostgreSQL je brezplačen in odprtokodni sistem za upravljanje baz podatkov, ki se lahko uporablja za shranjevanje informacij, povezanih s spletnimi mesti. Znano je tudi a

Kako namestiti PostgreSQL 11.1 na Arch Linux

Kako namestiti PostgreSQL 11.1 na Arch Linux

Predpogoji Strežnik Vultr, ki izvaja posodobljen Arch Linux (glejte ta članek.) Dostop Sudo. Ukazi, ki jih je treba zagnati kot root, imajo predpono # in ena

Namestite nabor replik z visoko razpoložljivostjo v MongoDB 3.4 z uporabo ključne datoteke za nadzor dostopa v Ubuntu 16.04

Namestite nabor replik z visoko razpoložljivostjo v MongoDB 3.4 z uporabo ključne datoteke za nadzor dostopa v Ubuntu 16.04

Od svoje zasnove leta 2009 MongoDB vodi industrijo NoSQL. Eden od temeljnih konceptov MongoDB je nabor replik, zato pred delom z i

Namestite novejše različice MongoDB na Debian 7

Namestite novejše različice MongoDB na Debian 7

MongoDB je hitra in zmogljiva baza podatkov NoSQL. Vendar pa se skladišča Debian posodabljajo počasi in pogosto vsebujejo zelo stare različice paketov. Ta vadnica

Nastavite Barnyard 2 s Snort

Nastavite Barnyard 2 s Snort

Barnyard2 je način za shranjevanje in obdelavo binarnih izhodov iz Snort v bazo podatkov MySQL. Preden začnemo. Prosimo, upoštevajte, da če nimate smrčanja

Kako namestiti Apache Cassandra 3.11.x na Debian 9

Kako namestiti Apache Cassandra 3.11.x na Debian 9

Uporaba drugega sistema? Apache Cassandra je brezplačen in odprtokodni sistem za upravljanje baz podatkov NoSQL, ki je zasnovan tako, da zagotavlja razširljivost, visoko

Namestite RockMongo na CentOS 7

Namestite RockMongo na CentOS 7

RockMongo je spletno orodje za upravljanje MongoDB, ki je podobno orodju za upravljanje MySQL: phpMyAdmin. Ta vadnica bo obravnavala postopek namestitve

Namestite InfluxDB na Debian Jessie s Telegrafom

Namestite InfluxDB na Debian Jessie s Telegrafom

Uvod InfluxDB je baza podatkov, ki temelji na časovnih vrstah, napisana v Go. InfluxDB ima veliko praktičnih uporab, ena od njih je shranjevanje podatkov spremljanja na strežnikih. jaz

Varen MariaDB s podporo za SSL v Ubuntu 16.04

Varen MariaDB s podporo za SSL v Ubuntu 16.04

MariaDB je brezplačna odprtokodna baza podatkov in je najbolj razširjena zamenjava za MySQL. Izdelali so ga razvijalci MySQL in naj bi ga še naprej uporabljali

Kako namestiti phpRedisAdmin na CentOS 7

Kako namestiti phpRedisAdmin na CentOS 7

phpRedisAdmin je spletna aplikacija, ki upravlja baze podatkov Redis z intuitivnim grafičnim uporabniškim vmesnikom. Ta vadnica bo razložila, kako namestiti

Kako namestiti in uporabljati ArangoDB v Ubuntu 16.04

Kako namestiti in uporabljati ArangoDB v Ubuntu 16.04

Uporaba drugega sistema? Uvod ArangoDB je odprtokodna baza podatkov NoSQL s prilagodljivim podatkovnim modelom za dokumente, grafe in ključe-vrednosti. je

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več