docker

Setup Master-Slave Database Cluster Pada Ubuntu 24.04 LTS Menggunakan Docker dan MariaDB

RMS
RMS 18 Mar 2025

Rumusan masalah :

  1. Apa saja persiapan kunci (perangkat keras dan lunak) agar set-up Master-Slave berjalan tanpa kendala?

  2. Bagaimana cara membangun benteng pertahanan (security) yang kokoh untuk menjaga integritas data pada server?

  3. Seperti apa panduan langkah-demi-langkah yang paling efisien dalam mengintegrasikan Master-Slave database cluster?

Spesifikasi Lingkungan (Environment):

  • Provider: Virtual Private Server (VPS) Hostinger

  • Sistem Operasi: Ubuntu 24.04 LTS (Noble Numbat)

  • Container Engine: Docker (untuk manajemen aplikasi)

  • Database: MariaDB (sebagai sistem manajemen basis data relasional)

Keamanan & Monitoring:

  • Fail2ban: Proteksi serangan brute force melalui pemantauan file log sistem.

  • Monarx: Solusi antivirus untuk perlindungan server secara real-time.



A. Set-up Server

Ada beberapa langkah-langkah yang harus kita siapkan dalam set-up server database untuk master slave database cluster, seperti : setup user, port SSH, firewall, dan security untuk keamanan server.

1. Set-up User :

Proses ini untuk membuat user agar bisa akses ke server, untuk user root nantinya akan kita non-aktifkan.

  • run : adduser randidev

  • Masukan password dan retype password

  • Berikan akses sudo : usermod -aG randidev

  • Check user : groups

2. Ganti Port SSH

Mengganti port ssh bertujuan untuk meningkatkan keamanan dengan menyamarkan server dari serangan otomatis, terutama serangan bruto force dan port scanning yang sering menargetkan port 22.

  • Edit sshd config : sudo nano /etc/ssh/sshd_config

  • Cari baris Port 22, ubah menjadi Port 2221

  • Restart ssh : sudo systemctl restart ssh

3. Set-Up Firewall

Firewall berfungsi untuk membangun penghalang keamanan antara jaringan internal pribadi Anda (baik rumah maupun kantor) dan jaringan eksternal yang tidak aman, seperti internet.

  • Check status firewall : ufw status

  • Allow Port SSH : ufw allow 2221/tcp

  • Allow Port Database : ufw allow 3306/tcp

  • Aktifkan firewall : ufw enable

  • Reload firewall : ufw reload

4. Set-up SSH Key

SSH Key adalah kredensial autentikasi kriptografi yang terdiri dari pasangan kunci publik dan kunci privat, digunakan untuk masuk ke server secara aman tanpa kata sandi, mengotomatisasi tugas, dan memastikan komunikasi antar mesin melalui protokol SSH (Secure Shell) terenkripsi.

  • Pada komputer / PC lokal, run : ssh-keygen -t ed25519 -C "Database Master Slave Hostinger"

  • Masukan Passphrase

  • Masukan penamaan file : database-cluster

  • Hasilnya : /nama-folder/.ssh/database-cluster (private) dan /nama-folder/.ssh/database-cluster.pub (public)

  • Copy-kan ke VPS : ssh-copy-id randidev@ip-address-public-server -p 2221

  • Update sshd_config VPS : sudo nano /etc/ssh/sshd_config

  • Set variabel berikut :

    PasswordAuthentication no
    PermitEmptyPasswords no
    UsePAM no
    X11Forwarding no
    PermitRootLogin no
    AuthenticationMethods publickey
    AllowUsers randidev
  • Restart sshd : sudo systemctl restart ssh

  • Coba akses server menggunakan ssh : ssh -p 2221 -i ~/.ssh/database-cluster randidev@ip-address-public-server

5. Instalasi Fail2ban

Fail2ban adalah alat keamanan (security framework) yang sangat populer untuk server Linux, termasuk Ubuntu. Fungsi utamanya adalah melindungi server dari serangan brute-force, yaitu upaya login berulang kali secara ilegal oleh bot atau peretas.

  • Pertama, pastikan repositori sistem Anda mutakhir dan instal paketnya:

    sudo apt update
    sudo apt install fail2ban -y

  • Membuat File Konfigurasi Local

    Di Fail2ban, Anda sebaiknya tidak mengedit file /etc/fail2ban/jail.conf secara langsung karena file tersebut bisa tertimpa saat ada pembaruan sistem. Kita akan membuat salinannya ke file .local

    sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

  • Mengatur Konfigurasi Global

    Buka file .local tersebut menggunakan teks editor (seperti Nano):

    sudo nano /etc/fail2ban/jail.local

    Cari bagian [DEFAULT] dan sesuaikan nilai-nilai berikut sesuai kebutuhan Anda:

    - ignoreip: Masukkan alamat IP komputer pribadi Anda agar tidak terkunci secara tidak sengaja (Contoh: 127.0.0.1/8 ::1 192.168.1.100).

    - bantime: Durasi pemblokiran IP. (Contoh: 1h untuk satu jam, atau 1d untuk satu hari).

    - findtime: Rentang waktu untuk menghitung jumlah kegagalan login.

    - maxretry: Berapa kali percobaan gagal yang diperbolehkan sebelum diblokir (Contoh: 3 atau 5).

  • Mengaktifkan Proteksi SSH

    Scroll ke bawah sampai Anda menemukan bagian [sshd] , pastikan pengaturannya terlihat seperti ini:

    [sshd]
    enabled = true
    port    = 2221
    filter  = sshd
    logpath = /var/log/auth.log
    backend = %(sshd_backend)s
    maxretry = 3
    bantime = 86400
    findtime = 3600

    (Catatan: Mengatur bantime menjadi 24h di sini akan memberikan hukuman lebih berat khusus untuk serangan SSH).

  • Menjalankan dan Menerapkan Perubahan

    sudo systemctl restart fail2ban
    sudo systemctl enable fail2ban

  • Cara Memantau Status Fail2ban

    Setelah aktif, Anda bisa memantau siapa saja yang mencoba menyerang server anda dengan perintah berikut:

    # Melihat status umum
    sudo fail2ban-client status
    
    # Melihat IP yang sedang diblokir di SSH
    sudo fail2ban-client status sshd
    
    # Cara melepas blokir IP (Unban) jika anda salah pencet
    sudo fail2ban-client set sshd unbanip [ALAMAT_IP_TARGET]

6. Instalasi Monarx sebagai Antivirus

Berbeda dengan sistem Linux pada umumnya yang mengharuskan instalasi malware scanner secara manual via Terminal, layanan VPS Hostinger sudah dilengkapi dengan Monarx secara gratis. Keunggulan Monarx terletak pada antarmuka grafisnya yang intuitif, sehingga memudahkan pengguna pemula dalam mengamankan server tanpa perlu keahlian teknis yang mendalam.

Setelah menyiapkan VPS Anda, ikuti langkah-langkah berikut untuk menginstal Monarx:

  • Masuk ke hPanel lalu klik VPS pada menu.

  • Pilih VPS Anda, lalu buka SecurityMalware Scanner di sidebar kiri.

  • Klik banner pendeteksi malware dan pilih Install pada pop-up yang muncul.



B. Set-Up Docker dan MariaDB

1. Instalasi Docker

2. Instalasi MariaDB

3. Configurasi Master Slave Database Cluster

Leave a reply