Category: Sistem Operasi

DatabaseMac OSServerTeknologiUbuntuWindows

Panduan Lengkap: Cara Membuat Pengguna Baru dan Pemberian Izin di MySQL

MySQL adalah salah satu sistem manajemen basis data (database management system) yang paling populer dan banyak digunakan di dunia. MySQL dikembangkan oleh perusahaan Oracle Corporation dan tersedia secara gratis sebagai perangkat lunak open source. MySQL biasanya digunakan untuk aplikasi web dan digunakan sebagai database untuk banyak aplikasi web populer, seperti WordPress, Joomla, Drupal, dan lain sebagainya.

(more…)
ServerSistem OperasiUbuntu

Cara Membuat dan Menggunakan Pasangan Kunci SSH

SSH adalah protokol jaringan kriptografi yang memungkinkan pengguna dapat mengakses server secara aman pada jaringan yang tidak aman. Secara default, SSH dapat diakses dengan kata sandi sebagai otentikasi.

Serangan umum terhadap SSH adalah dengan melakukan peretasan kata sandi brute-force, yaitu menebak kata sandi dengan bantuan aplikasi. Untuk mengurangi resiko seperti ini sangat direkomendasikan untuk menggunakan otentikasi dengan pasangan kunci.

Pasangan kunci adalah dua set kunci yang salah satunya akan ditaruh di sisi server, dan kunci lainnya akan digunakan untuk mengakses server. Analoginya seperti anak kunci (kunci privat) dan lubang kunci pada pintu (kunci publik). Untuk memasuki rumah, kita harus menggunakan anak kunci supaya bisa membuka pintu, meski saat ini sudah banyak pintu yang dikunci menggunakan PIN. Memang PIN akan memudahkan pemilik rumah untuk keluar masuk rumah tanpa harus membawa-bawa kunci, namun juga mudah disusupi oleh orang-orang yang tidak diinginkan, seperti maling.

Membuat Pasangan Kunci

Sebenarnya ada 4 jenis kunci SSH, di antaranya: DSA, RSA, ECDSA dan Ed25519. Sangat direkomendasikan hanya menggunakan RSA dengan panjang 4096 bit, dan jenis Ed25519.

RSA merupakan jenis kunci SSH default pada banyak sistem saat ini, namun apabila dibandingkan dengan Ed25519, RSA lebih lamban dan lebih rentan. Ed25519 hanya tersedia di sistem-sisterm terbaru yang dikenalkan pada OpenSSH versi 6.5 adalah implementasi ECDSA menggunakan Twisted Edward Curve. Metode tersebut menawarkan keamanan yang lebih baik dengan performa lebih cepat dibandingkan dengan DSA ataupun ECDSA.

Kunci publik Ed25519 sangat kompak, hanya terdiri dari 68 karakter, dibandingkan dengan RSA 3072 yang terdiri dari 544 karakter. Membuat kunci Ed25519 sama cepatnya dengan saat menggunakannya untuk mengakses server. Buka terminal dengan ketikan perintah berikut untuk membuat kunci SSH:

ssh-keygen -o -a 100 -t ed25519 -f ~/.ssh/id_ed25519 -C "[email protected]"

Kita akan ditanyakan untuk memasukkan kata sandi untuk kunci ini, disarankan menggunakan kombinasi kata yang sulit ditebak, bahkan oleh kita sendiri.

  • -o: menggunakan format OpenSSH terbaru
  • -a: jumlah putaran KDF (Key Derivation Function). Makin tinggi angka menghasilkan verifikasi kata sandi lebih lamban, namun menambah ketahanan serangan brute-force apabila kunci privat tercuri.
  • -t: menentukan jenis kunci yang akan dibuat.
  • -f: menentukan lokasi file-file dari pembuatan kunci. Jika tidak digunakan, maka file akan tersimpan di folder .ssh
  • -C: Opsi menentukan komentar, yang akan ditambahkan pada akhir isi file kunci publik. Jika tidak digunakan, maka komentar akan diisi dengan <login>@<hostname>.

Untuk jenis RSA, gunakan perintah berikut:

ssh-keygen -t rsa -b 4096
  • -b: panjang bit.

Selanjutnya salin kunci publik ke server yang kita inginkan:

ssh-copy-id [email protected]_ip_server

Semua kunci publik yang berada di folder .ssh akan disalin ke server yang lokasi filenya ada di .ssh/authorized_keys. Selanjutnya kita bisa masuk ke server dengan kunci privat. Ubah layanan SSH untuk hanya menerima kunci bukan kata sandi.

Photo by Fons Reijsbergen from FreeImages

ServerSistem OperasiUbuntu

Cara Instalasi dan Menggunakan Docker di Ubuntu 20.04

Docker adalah sebuah sistem yang menyederhanakan pengaturan proses aplikasi yang terisolasi dalam sebuah server, sehingga proses yang dijalankan dengan Docker tidak akan mengganggu sistem utamanya. Dapat dianalogikan sebuah kapal peti kemas sebagai server, sehingga apapun yang terjadi di dalam salah satu peti kemas yang diangkutnya diharapkan tidak akan berdampak langsung terhadap kapal pembawa-nya maupun peti kemas lainnya.

Di sisi lain, ada jenis server yang disebut VPS (Virtual Private Server) yang merupakan hasil pembagian hardware dengan menggunakan teknologi virtualisasi. Pada sistem ini, hardware harus dibagi secara eksplisit, apabila server utama memiliki RAM sebesar 16GB, maka pembagian RAM pada VPS yang aktif tidak boleh melebihi kapasitas RAM pada server utama. Sebagai contoh, jika terdapat 3 VPS dengan RAM 4GB diberikan kepada setiap VPS, maka total yang digunakan oleh VPS aktif adalah 12GB, sedangkan sisanya hanya sekitar 4GB yang bisa dimanfaatkan oleh server utama.

Berbeda dengan VPS, di dalam sebuah server atau bahkan VPS, kita dapat membuat Container Docker sebanyak yang dibutuhkan. Sumber daya yang tersedia dapat diperebutkan oleh semua Container yang sedang aktif.

Instalasi Docker

Perbaharui daftar paket pada sistem Ubuntu:

sudo apt update

Instalasi beberapa paket berikut supaya apt menggunakan paket melalui HTTPS:

sudo apt install apt-transport-https ca-certificates curl software-properties-common -y

Tambahkan kunci GPG dari repository resmi Docker ke sistem Ubuntu:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Tambah repository Docker pada APT source:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

Perintah di atas juga meng-update database paket dengan paket-paket dari Docker yang repo nya tadi ditambahkan. Pastikan untuk meng-install dari repo Docker dan bukan dari repo default dari Ubuntu:

apt-cache policy docker-ce

Outputnya akan seperti ini:

docker-ce:
  Installed: (none)
  Candidate: 5:20.10.11~3-0~ubuntu-focal
  Version table:
     5:20.10.11~3-0~ubuntu-focal 500
        500 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages

Informasi tersebut menandakan docker-ce belum terinstall, namun kandidat untuk instalasi berasal dari repository Docker untuk Ubuntu 20.04 (focal). Selanjutnya install Docker:

sudo apt install docker-ce

Setelah selesai, seharusnya Docker sudah terinstall, daemon aktif, dan proses diaktifkan saat boot. Cek dengan perintah berikut:

sudo systemctl status docker

Outputnya akan seperti ini:

● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2021-11-29 12:36:21 UTC; 29s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 2887 (dockerd)
      Tasks: 7
     Memory: 37.0M
     CGroup: /system.slice/docker.service
             └─2887 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Informasi di atas menandakan Docker sudah aktif.

Secara default perintah-perintah Docker hanya bisa dijalankan oleh akun root atau akun yang berada pada grup docker. Untuk menjalankan perintah docker tanpa akun root atau tanpa sudo, kita harus menambahkan user biasa ke dalam grup docker:

sudo usermod -aG docker ${USER}

Untuk mengaktifkan keanggotaan grup docker, keluar dari sistem dan masuk kembali, atau ketikkan perintah berikut:

su - ${USER}

Masukkan kata sandi user untuk melanjutkan. Pastikan user sudah ditambahkan ke grup docker:

groups

Outputnya akan seperti ini kira-kira:

joko sudo docker

Sampai di sini, kita sudah bisa menjalankan semua perintah docker tanpa perlu root atau sudo. Tutorial membuat container di dalam docker dan pengaturan lainnya, insya Allah akan saya buatkan artikel terpisah.

Photo by Ken Munyard from FreeImages