Selamatkan MariaDB Dengan Sokongan SSL di Ubuntu 16.04

MariaDB adalah pangkalan data sumber terbuka percuma, dan merupakan pengganti drop-in yang paling banyak digunakan untuk MySQL. Ia dibuat oleh pembangun MySQL dan bertujuan untuk tetap bebas di bawah GNU GPL. Ini sangat cepat, dapat diskalakan, dan dilengkapi dengan serangkaian fitur yang kaya yang menjadikannya sangat serbaguna untuk berbagai macam kes penggunaan.

Tutorial ini akan memandu anda bagaimana memasang dan mengkonfigurasi MariaDB dengan sokongan SSL di Ubuntu 16.04.

Keperluan

  • Contoh Ubuntu 16.04 Vultr yang segar.
  • Pengguna bukan root dengan hak istimewa sudo.
  • Alamat IP statik 192.168.0.190 dikonfigurasikan pada contoh pelayan.
  • Alamat IP statik 192.168.0.191 dikonfigurasikan pada mesin pelanggan.

Langkah 1: Pasang MariaDB

Secara lalai, versi terbaru MariaDB tidak terdapat di repositori Ubuntu 16.04; jadi anda perlu menambahkan repositori MariaDB ke sistem anda.

Pertama, muat turun kunci dengan arahan berikut:

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

Seterusnya, tambahkan repositori MariaDB ke /etc/apt/sources.listfail:

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

Kemas kini indeks apt dengan arahan berikut:

sudo apt-get update -y

Setelah indeks apt telah dikemas kini, pasang pelayan MariaDB dengan arahan berikut:

sudo apt-get install mariadb-server -y

Mulakan pelayan MariaDB dan aktifkan pada masa boot:

sudo systemctl start mysql
sudo systemctl enable mysql

Seterusnya, anda perlu menjalankan mysql_secure_installationskrip untuk mendapatkan pemasangan MariaDB. Skrip ini membolehkan anda menetapkan kata laluan root, membuang pengguna tanpa nama, tidak membenarkan masuk root jauh dan membuang pangkalan data ujian:

sudo mysql_secure_installation

Langkah 2: Buat Sijil SSL dan Kunci Peribadi untuk Pelayan

Pertama, buat direktori untuk menyimpan semua fail kunci dan sijil.

sudo mkdir /etc/mysql-ssl

Seterusnya, ubah direktori ke /etc/mysql-ssldan buat sijil CA dan kunci peribadi dengan arahan berikut:

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

Jawab semua soalan seperti di bawah:

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]

Seterusnya, buat kunci peribadi untuk pelayan dengan arahan berikut:

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

Jawab semua soalan seperti yang anda lakukan dalam arahan sebelumnya.

Seterusnya, eksport kunci peribadi pelayan ke kekunci jenis RSA dengan arahan berikut:

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

Akhirnya, buat sijil pelayan menggunakan sijil CA seperti berikut:

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

Anda kini dapat melihat semua sijil dan kunci dengan arahan berikut:

ls

Anda harus melihat output berikut:

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

Setelah selesai, anda boleh meneruskan ke langkah seterusnya.

Langkah 3: Konfigurasikan MariaDB Server untuk menggunakan SSL

Anda harus mempunyai semua sijil dan kunci peribadi; dan sekarang anda perlu mengkonfigurasi MariaDB untuk menggunakan kunci dan sijil. Anda boleh melakukan ini dengan mengedit /etc/mysql/mariadb.conf.d/50-server.cnffail:

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

Tambahkan baris berikut di bawah [mysqld]bahagian:

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

Simpan fail, kemudian mulakan semula perkhidmatan MariaDB untuk menerapkan perubahan ini:

sudo systemctl restart mysql

Sekarang, anda boleh menyemak sama ada konfigurasi SSL berfungsi atau tidak dengan pertanyaan berikut:

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

Sekiranya konfigurasi berjaya, anda akan melihat output berikut:

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

Anda harus perhatikan have_ssldan have_opensslnilai diaktifkan dalam output di atas.

Langkah 4: Buat Pengguna dengan Keistimewaan SSL

Buat pengguna jauh yang mempunyai hak istimewa untuk mengakses pelayan MariaDB melalui SSL. Lakukan ini dengan menjalankan perintah berikut:

Pertama, login ke shell MySQL:

mysql -u root -p

Seterusnya, buat pengguna remotedan berikan hak istimewa untuk mengakses pelayan melalui SSL.

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

Kemudian, lengkapkan hak istimewa dengan arahan berikut:

MariaDB [(none)]>FLUSH PRIVILEGES;

Akhirnya, keluar dari shell MySQL dengan arahan berikut:

MariaDB [(none)]>exit;

Catatan: 192.168.0.191 adalah alamat IP mesin pengguna jauh (Pelanggan).

Pelayan anda kini bersedia untuk membenarkan sambungan ke pengguna jauh.

Langkah 5: Buat Sijil Pelanggan

Konfigurasi sisi pelayan anda selesai. Seterusnya, anda perlu membuat kunci dan sijil baru untuk pelanggan.

Pada mesin pelayan, buat kunci klien dengan arahan berikut:

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

Seterusnya, proseskan kunci RSA klien dengan arahan berikut:

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

Akhirnya, tandatangani sijil pelanggan dengan arahan berikut:

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

Langkah 6: Konfigurasikan Pelanggan MariaDB untuk Menggunakan SSL

Semua sijil dan kunci siap untuk pelanggan. Seterusnya, anda perlu menyalin semua sijil klien ke mana-mana mesin pelanggan di mana anda ingin menjalankan klien MariaDB.

Anda perlu memasang klien MariaDB pada mesin pelanggan.

Pertama, pada mesin pelanggan, muat turun kunci untuk MariaDB dengan arahan berikut:

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

Kemudian, tambahkan repositori MariaDB ke /etc/apt/sources.listfail:

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

Seterusnya, kemas kini indeks apt dengan arahan berikut:

sudo apt-get update -y

Setelah indeks apt dikemas kini, pasang klien MariaDB pada mesin pelanggan dengan arahan berikut:

sudo apt-get install mariadb-client -y

Sekarang buat direktori untuk menyimpan semua sijil:

sudo mkdir /etc/mysql-ssl

Seterusnya, salin semua sijil klien dari mesin pelayan ke mesin pelanggan dengan arahan berikut:

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

Kemudian, anda perlu mengkonfigurasi klien MariaDB untuk menggunakan SSL. Anda boleh melakukan ini dengan membuat /etc/mysql/mariadb.conf.d/50-mysql-clients.cnffail:

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

Tambahkan baris berikut:

[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

Simpan fail apabila anda selesai.

Langkah 7: Sahkan Sambungan Jauh

Setelah semuanya dikonfigurasikan, sudah tiba masanya untuk mengesahkan sama ada anda dapat menyambung ke pelayan MariaDB dengan jayanya atau tidak.

Pada mesin pelanggan, jalankan arahan berikut untuk menyambung ke pelayan MariaDB:

mysql -u remote -h 192.168.0.190 -p mysql

Anda akan diminta memasukkan remotekata laluan pengguna. Setelah memberikan kata laluan, anda akan log masuk ke pelayan MariaDB yang jauh.

Periksa status sambungan dengan arahan berikut:

MariaDB [mysql]> status

Anda harus melihat output berikut:

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

Anda harus melihat SSL: Cipher in use is DHE-RSA-AES256-SHApada output di atas. Ini bermakna sambungan anda kini selamat dengan SSL.

Kesimpulannya

Tahniah! Anda berjaya mengkonfigurasi pelayan MariaDB dengan sokongan SSL. Anda kini boleh memberikan akses kepada klien lain untuk mengakses pelayan MariaDB melalui SSL.



Leave a Comment

Pasang RockMongo di CentOS 7

Pasang RockMongo di CentOS 7

RockMongo adalah alat Pengurusan MongoDB berasaskan web yang serupa dengan alat Pengurusan MySQL: phpMyAdmin. Tutorial ini akan merangkumi proses installin

Menjamin MongoDB

Menjamin MongoDB

MongoDB tidak selamat secara lalai. Sekiranya anda memasang MongoDB dan melancarkannya tanpa mengkonfigurasinya untuk pengesahan, anda akan mengalami masa yang buruk

Siapkan Barnyard 2 Dengan Snort

Siapkan Barnyard 2 Dengan Snort

Barnyard2 adalah cara untuk menyimpan dan memproses output binari dari Snort ke dalam pangkalan data MySQL. Sebelum kita mulakan Harap maklum bahawa jika anda tidak mempunyai dengkuran

Cara Memasang MongoDB 4.0 pada Arch Linux

Cara Memasang MongoDB 4.0 pada Arch Linux

Prasyarat Pelayan Vultr yang berjalan sehingga Arch Linux terkini (lihat artikel ini) Akses Sudo: Perintah yang diperlukan untuk dijalankan sebagai root diawali oleh #, dan satu

Konfigurasikan MariaDB pada OpenBSD 6

Konfigurasikan MariaDB pada OpenBSD 6

Dalam artikel ini, Saya akan menunjukkan kepada anda cara memasang MariaDB pada OpenBSD 6 dan mengkonfigurasinya agar dapat diakses oleh pelayan web chroot (Apache atau Nginx). Anda juga akan

Menyandarkan Pangkalan Data MySQL

Menyandarkan Pangkalan Data MySQL

MySQL adalah perisian yang paling popular di dunia yang digunakan untuk pangkalan data. Memastikan bahawa anda mempunyai sandaran pangkalan data anda sangat penting. Amalan ini membenarkan

Cara Memasang dan Mengkonfigurasi OrientDB Community Edition di CentOS 7

Cara Memasang dan Mengkonfigurasi OrientDB Community Edition di CentOS 7

OrientDB adalah sumber terbuka pelbagai model generasi berikutnya NoSQL DBMS. Dengan sokongan untuk pelbagai model data, OrientDB dapat memberikan lebih banyak fungsi dan fleksibiliti dalam

Cara Memasang dan Mengkonfigurasi ArangoDB di CentOS 7

Cara Memasang dan Mengkonfigurasi ArangoDB di CentOS 7

Menggunakan Sistem yang berbeza? Pengenalan ArangoDB adalah pangkalan data NoSQL sumber terbuka dengan model data yang fleksibel untuk dokumen, grafik, dan nilai kunci. Ia adalah

Pasang Versi Baru MongoDB pada Debian 7

Pasang Versi Baru MongoDB pada Debian 7

MongoDB adalah pangkalan data NoSQL yang pantas dan kuat. Walau bagaimanapun, repositori Debian dikemas kini dengan perlahan dan selalunya mengandungi pakej versi lama. Tutoria ini

Cara Memasang Apache Cassandra 3.11.x pada Debian 9

Cara Memasang Apache Cassandra 3.11.x pada Debian 9

Menggunakan Sistem Berbeza? Apache Cassandra adalah sistem pengurusan pangkalan data bebas dan terbuka NoSQL yang direka untuk menyediakan skalabilitas, hig

Cara Memasang MyCLI di Linux (CentOS, Debian, Fedora, dan Ubuntu)

Cara Memasang MyCLI di Linux (CentOS, Debian, Fedora, dan Ubuntu)

Pengenalan MyCLI adalah pelanggan baris perintah untuk MySQL dan MariaDB yang membolehkan anda melengkapkan secara automatik dan membantu dengan sintaks perintah SQL anda. MyCL

Pasang InfluxDB pada Debian Jessie dengan Telegraf

Pasang InfluxDB pada Debian Jessie dengan Telegraf

Pengenalan InfluxDB adalah pangkalan data berdasarkan siri masa yang ditulis dalam Go. InfluxDB mempunyai banyak kegunaan praktikal, salah satunya menyimpan data pemantauan pada pelayan. Saya

Cara Memasang phpRedisAdmin di CentOS 7

Cara Memasang phpRedisAdmin di CentOS 7

phpRedisAdmin adalah aplikasi web yang menguruskan pangkalan data Redis dengan antara muka pengguna grafik yang intuitif. Tutorial ini akan menerangkan cara memasang

Cara Memasang Redis di Ubuntu 15.10

Cara Memasang Redis di Ubuntu 15.10

Redis adalah penyelesaian penyimpanan data kunci-nilai, sering disebut sebagai pangkalan data NoSQL. Ia dapat mencapai kelajuan membaca / menulis yang sangat tinggi kerana ia adalah memori dalam memori

Cara Memasang MariaDB 10.3 atau MySQL 8.0 pada Arch Linux

Cara Memasang MariaDB 10.3 atau MySQL 8.0 pada Arch Linux

Prasyarat Pelayan Vultr berjalan dengan up to date Arch Linux (lihat artikel ini.) Akses Sudo: Perintah yang diperlukan untuk dijalankan sebagai root diawali oleh #, dan satu

Cara Pasang Apache Cassandra 3.11.x pada Ubuntu 16.04 LTS

Cara Pasang Apache Cassandra 3.11.x pada Ubuntu 16.04 LTS

Menggunakan Sistem Berbeza? Apache Cassandra adalah sistem pengurusan pangkalan data bebas dan terbuka NoSQL yang direka untuk menyediakan skalabilitas, hig

Cara Membuat Sandaran, Memulihkan atau Memindahkan Pangkalan Data MySQL / MariaDB di Ubuntu 16.04

Cara Membuat Sandaran, Memulihkan atau Memindahkan Pangkalan Data MySQL / MariaDB di Ubuntu 16.04

Membuat sandaran adalah bahagian penting dalam menangani pangkalan data. Tidak kira sama ada anda menjalankan laman web korporat, atau hanya menghoskan WordPress, penting untuk menyokong anda

Terapkan Set Replika Dengan Ketersediaan Tinggi di MongoDB 3.4 Menggunakan Keyfile untuk Kawalan Akses pada Ubuntu 16.04

Terapkan Set Replika Dengan Ketersediaan Tinggi di MongoDB 3.4 Menggunakan Keyfile untuk Kawalan Akses pada Ubuntu 16.04

Sejak dibentuk pada tahun 2009 MongoDB telah menerajui industri NoSQL. Salah satu konsep teras MongoDB adalah Replica Set, jadi sebelum bekerja dengan i

Cara Memasang dan Menggunakan ArangoDB pada Ubuntu 16.04

Cara Memasang dan Menggunakan ArangoDB pada Ubuntu 16.04

Menggunakan Sistem Berbeza? Pengenalan ArangoDB adalah pangkalan data NoSQL sumber terbuka dengan model data fleksibel untuk dokumen, grafik, dan nilai kunci. Ia adalah

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut