MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Pertimbangan Keamanan untuk Penerapan MariaDB di Lingkungan Cloud Hibrida

Awan hibrida dapat menjadi cara yang bagus untuk menambahkan fleksibilitas ke penerapan lokal yang ada. Seperti yang telah kita bahas di beberapa blog, cloud publik dapat menjadi tambahan yang bagus untuk pusat data Anda sendiri, memastikan Anda dapat dengan mudah meningkatkan skala untuk menangani beban, mengurangi belanja modal, dan digunakan untuk menerapkan prosedur pemulihan bencana. Keamanan adalah aspek lain yang harus Anda pikirkan ketika Anda berencana untuk membangun sistem seperti itu. Dalam postingan blog ini, kita akan membahas beberapa pertimbangan keamanan untuk penerapan MariaDB cloud hybrid.

Konektivitas

VPN

Bagian utama dari setiap infrastruktur hibrid adalah jaringan. Bagaimanapun, kita berbicara tentang dua lingkungan, lokal, lokal dan cloud publik, yang harus terhubung dan membentuk satu kesatuan. Koneksi harus dienkripsi. Cara mendekatinya, ada banyak cara untuk melakukannya.

Salah satunya adalah menggunakan solusi yang disediakan oleh penyedia cloud - kebanyakan dari mereka memiliki semacam opsi konektivitas yang tersedia. Ini bisa berupa AWS Direct Connect jika Anda kebetulan berintegrasi dengan Amazon Web Services. Jika Anda berencana menggunakan Google Cloud, solusinya dibahas di situs web berikut:https://cloud.google.com/hybrid-connectivity. Singkatnya, ada sejumlah besar opsi berbeda yang bervariasi mulai dari integrasi VPN perangkat keras hingga menyiapkan peering BGP.

Di sisi lain spektrum, kami memiliki solusi VPN perangkat lunak. OpenVPN atau perangkat lunak serupa dapat digunakan untuk mengatur koneksi jaringan terenkripsi yang aman antara pusat data Anda sendiri dan cloud publik. Dalam kasus seperti itu, Anda akan memerlukan instance terpisah yang berjalan di cloud publik yang akan digunakan untuk server VPN. Memanfaatkan VPN perangkat lunak memungkinkan Anda memilih solusi yang paling sesuai dengan kebutuhan Anda dan paling sesuai dengan lingkungan Anda.

Firewall

Basis data tidak boleh dapat diakses dari jaringan eksternal. Sangat penting untuk membangun lingkungan Anda sedemikian rupa sehingga tingkat basis data hanya dapat dijangkau dari kumpulan host yang terbatas. Persis apa yang diperlukan dan bagaimana melakukannya, terserah Anda untuk memutuskan. Pengaturan tipikal akan terdiri dari tingkat basis data aman yang hanya dapat diakses dari tingkat proxy dan, jika diperlukan, semacam host lompat harus diterapkan jika diperlukan untuk tugas otomatisasi dan administrasi.

Server aplikasi seharusnya tidak memiliki akses langsung ke database - mereka tidak perlu melakukannya. Semua aplikasi yang harus dilakukan adalah menghubungkan ke penyeimbang beban. Penyeimbang beban harus dapat terhubung ke database. Penyeimbang beban seperti ProxySQL sangat mampu melakukan pemisahan baca/tulis dan mengirim pembacaan dan penulisan ke node database yang benar. Aplikasi harus dapat terhubung ke ProxySQL dan sisanya akan ditangani oleh proxy - otentikasi basis data, pembentukan lalu lintas, mendistribusikan lalu lintas ke berbagai replika yang mungkin Anda miliki. Semua akses yang tidak perlu harus dibatasi. Grup keamanan, firewall - ini adalah alat yang ingin Anda gunakan untuk mengamankan lingkungan Anda.

Singkatnya, akses ke host database harus diizinkan hanya pada port yang diperlukan. Untuk MariaDB, tentu saja, ini adalah port yang digunakan untuk database tetapi juga port lain jika diperlukan - Anda mungkin telah menginstal semacam eksportir atau agen. Untuk Galera, Anda perlu membuka port untuk komunikasi intra-cluster. Anda mungkin juga ingin memiliki port terbuka untuk koneksi SSH. Idealnya, batasi akses per host; hanya sekumpulan host terbatas yang dapat mengakses port tertentu. Misalnya, port database mungkin dapat diakses dari node database lain, localhost dan lapisan proxy. Tidak perlu membuatnya tetap terbuka untuk node lain. Node basis data Anda bahkan mungkin terletak di subnet terpisah, memastikan keamanannya lebih ketat lagi.

Untuk port, praktik terbaik adalah mengubahnya dari pengaturan default ke yang lain. Idealnya, sesuatu yang acak. Mengubah port SSH dari 22 menjadi 2222 atau port MariaDB dari 3306 menjadi 33306 dapat membantu menghindari beberapa serangan otomatis tetapi masih dapat diketahui jika seseorang secara aktif ingin masuk ke jaringan Anda. Jika Anda menginginkan keamanan yang lebih baik, Anda dapat melanjutkan dengan beberapa nilai acak. Setel SSH ke 5762 dan MariaDB ke 24359. Kemungkinan besar tidak ada yang bisa menebaknya. Tetapkan batas waktu TCP Anda sehingga pemindaian port akan sangat lama dan mahal dan ini pasti akan meningkatkan peluang Anda.

SSL

Selain VPN dan firewall, Anda harus memastikan bahwa lalu lintas database Anda dienkripsi menggunakan SSL.

Idealnya, Anda akan melindungi koneksi frontend (dari penyeimbang beban) dan komunikasi antara node database Anda (baik itu replikasi atau transfer intra-cluster di cluster Galera). ClusterControl dapat membantu Anda mengaktifkan opsi tersebut hanya dengan beberapa klik.

Yang perlu Anda lakukan adalah membiarkan ClusterControl membuat sertifikat baru atau menggunakan salah satu yang sudah ada - Anda dapat mengimpor sertifikat sendiri jika mau. Mengaktifkan SSL memastikan bahwa lalu lintas basis data tidak akan dapat dibaca bahkan oleh seseorang yang mendapatkan akses ke jaringan Anda.

Keamanan Basis Data

Tentu saja, jaringan bukanlah satu-satunya aspek keamanan yang penting. Ya, ini sangat penting, terutama di lingkungan cloud hybrid, tetapi ada juga aspek lain yang sangat penting. Salah satunya adalah kontrol akses yang disematkan ke MariaDB.

Kontrol Akses Berbasis Peran untuk MariaDB

MariaDB hadir dengan seperangkat instrumen untuk memastikan bahwa akses database dikelola dan dibatasi dengan benar di mana pun diperlukan. Baris pertama otentikasi adalah pengguna. Setiap orang dan semua yang diizinkan untuk mengakses MariaDB harus menggunakan pengguna yang ditetapkan untuk terhubung ke database. Pengguna tersebut akan memiliki kata sandi yang tepat - Anda dapat mengaktifkan validasi kata sandi di MariaDB untuk memastikan bahwa kata sandinya cukup kuat. Idealnya, Anda akan membatasi host akses pengguna hanya untuk nama host atau IP penyeimbang beban - ini harus selalu menjadi cara pengguna terhubung ke database. Untuk beberapa pengguna administratif, Anda mungkin ingin mempertahankan akses localhost jika diperlukan. Selain menegakkan kekuatan kata sandi yang tepat, Anda dapat mengonfigurasi kata sandi untuk kedaluwarsa dalam jangka waktu tertentu atau memberlakukan rotasi kata sandi pada pengguna. Seperti yang dapat Anda bayangkan, kebijakan rotasi kata sandi yang tepat adalah sesuatu yang ingin Anda terapkan.

Setiap pengguna di MariaDB dapat memiliki beberapa hak istimewa yang ditetapkan. Keistimewaan dapat diberikan pada beberapa level - level global, level basis data, level tabel, atau bahkan level kolom. Praktik terbaik adalah memberikan serangkaian hak istimewa terbatas kepada pengguna sebanyak mungkin. Jika pengguna hanya membutuhkan akses ke tabel tertentu, berikan saja itu padanya. Pengguna tersebut tidak perlu mengakses tabel lain, apalagi skema lainnya. Anda dapat menentukan hak akses yang cukup mendetail menggunakan sejumlah besar hak istimewa yang dapat Anda berikan kepada pengguna. Mulai dari hak untuk membaca, memperbarui, atau menghapus data melalui hak istimewa manajemen basis data hingga hak istimewa "super" yang memungkinkan pengguna melakukan tindakan seperti mengelola utas replikasi dan mengabaikan pengaturan read_only.

Selain itu, MariaDB hadir dengan peran - untuk mempermudah pengelolaan pengguna, dimungkinkan untuk menentukan peran dengan serangkaian hak istimewa yang diberikan dan kemudian menetapkan peran tersebut kepada pengguna. Pengguna tersebut akan mewarisi hibah yang terkait dengan peran yang telah ditetapkan, membuatnya lebih mudah untuk mengelola hibah dalam skala besar:alih-alih mengubah hibah untuk beberapa pengguna, Anda dapat menetapkan mereka ke satu peran tertentu dan kemudian mengelola semua hak istimewa mereka dengan mengubah hak istimewa yang diberikan pada peran yang telah diberikan kepada mereka.

Anda juga harus memastikan bahwa Anda tidak memiliki pengguna yang sudah ada sebelumnya tanpa sandi yang ditetapkan atau dengan serangkaian hak istimewa yang terlalu besar. Audit keamanan tersebut harus dilakukan dari waktu ke waktu, memastikan bahwa Anda mengetahui potensi risiko keamanan dan Anda dapat merencanakan untuk menindaklanjutinya.

Log audit

Jika database Anda dilengkapi dengan log audit, seperti halnya MariaDB, Anda harus mempertimbangkan untuk menggunakannya untuk melacak tindakan yang terjadi di database. Log audit akan membantu Anda mencapainya. Dengan mengaktifkannya, Anda akan dapat melacak bahkan detail seperti pengguna mana yang menjalankan kueri apa. Jika Anda menggunakan ClusterControl, Anda dapat mengaktifkan log audit hanya dengan beberapa klik:

Singkatnya blog ini, ada beberapa hal yang harus Anda pertimbangkan saat merancang penerapan MariaDB di lingkungan cloud hybrid. Beberapa di antaranya sangat terkait dengan cara lingkungan dirancang, beberapa cukup terkait dengan jenis database yang Anda gunakan dan fakta bahwa Anda menggunakan hybrid cloud tidak terlalu banyak berubah. Yang benar-benar penting adalah memastikan bahwa database Anda terlindungi dengan baik - itulah tujuan akhir, apa pun lingkungannya.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana TIMESTAMP() Bekerja di MariaDB

  2. Menyebarkan Nextcloud yang Sangat Tersedia dengan MySQL Galera Cluster dan GlusterFS

  3. Cara Mengotomatiskan Failover Basis Data dengan ClusterControl

  4. Cara Menghubungkan Program C++ ke MariaDB

  5. Perbaiki "ERROR 1054 (42S22):Kolom tidak dikenal 'colname' di 'order clause' di MariaDB