Scroll Top

12 Cara Meningkatkan Keamanan / Security MySQL dan MariaDB

Ada saatnya kita ingin membuat agar Server Database kita yang berbasis MySLQ dan MariaDB lebih aman.

Berikut 12 langkah yang bisa digunakan dalam Meningkatkan Keamanan / Security MySQL dan MariaDB:

12 Cara Meningkatkan Keamanan / Security MySQL dan MariaDB

Langkah 1 : Mysql Secure Installation

# mysql_secure_installation

Lakukan hal seperti:

  • Set password root (gunakan password root yang aman/tidak mudah ditebak)
  • Disallow root remote login
  • hapus/remove anonymous user

12 Cara Meningkatkan Keamanan / Security MySQL dan MariaDB

Langkah 2 : Bind Database Server To Loopback Address

# vi /etc/my.cnf	                   [Untuk RHEL/CentOS]	
# vi /etc/mysql/my.conf                    [Untuk Debian/Ubuntu] 
ATAU
# vi /etc/mysql/mysql.conf.d/mysqld.cnf    [Untuk Debian/Ubuntu]

SET : Bind sehingga menjadi hanya ke ke localhost:

bind-address = 127.0.0.1

Langkah 3 : Disable LOCAL INFILE in MySQL

Pada [mysqld] ubah tambah/ubah:

local-infile=0

Langkah 4 : Change MYSQL Default Port

Ubah port standar 3306 ke port lain misal ke 5000. Caranya Pada [mysqld] ubah tambah/ubah:

Port=5000

Langkah 5 : Enable MySQL Logging

Aktifkan logging agar jika ada error dsj akan terlog sehingga berguna untuk pengecekan nantinya. Caranya Pada [mysqld] ubah tambah/ubah:

log=/var/log/mysql.log

Langkah 6 : Set Permission di file mysql.conf

Pastikan file mysql.conf hanya user root saja yg memiliki akses. Jalankan Perintah ini:

# chmod 644 /etc/my.cnf

Langkah 7 : Hapus MySQL Shell History

Pastikan history perintah2 mysql dihapus. Demi alasan keamanan. Jalankan Perintah ini:

# cat /dev/null > ~/.mysql_history

Langkah 8 : Jangan cantumkan password pada command mysql

Jangan jalankan perintah mysql dengan mencantumkan password. Contoh praktik yang buruk:

# mysql -u root -pPaswordABC

Tetapi baiknya Gunakan perintah ini:

# mysql -u root -p

Baru masukan password pada saat prompt.

Langkah 9 : Gunakan spesifik User untuk tiap aplikasi. 

Jangan gunakan user dan password yang sama untuk semua aplikasi. Dan jangan juga gunakan user root! Gunakan user spesifik per aplikasi!

# mysql -u root -p
MariaDB [(none)]> CREATE DATABASE wordpress_db;
MariaDB [(none)]> CREATE USER 'ibrahim'@'localhost' IDENTIFIED BY 'P4ssw0rd123%$#@';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON wordpress_db.* TO 'ibrahim'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

Langkah 10 : Gunakan aplikasi Plugin keamanan tambahan!

Bisa kamu baca disini: https://dev.mysql.com/doc/refman/5.7/en/security-plugins.html

Langkah 11 : Ubah Password Secara Berkala

Lakukan ubah password user root secara rutin agar lebih aman.

MariaDB [(none)]> USE mysql;
MariaDB [(none)]> UPDATE user SET password=PASSWORD('Pasw0RD^%&$#@') WHERE User='root' AND Host = 'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;

Langkah 12 : Update Mysql dan MariaDB secara berkala

Lakukan cara berikut untuk melakukan update mySQL dan MariaDB.

# yum update && yum upgrade
# apt-get update && apt-get upgrade
# systemctl restart mariadb		#RHEL/CentOS
# systemctl restart mysql		#Debian/Ubuntu

Sekian semoga bermanfaat!

Related Posts