Postingan

Cara Mengamankan VPS Debian/Ubuntu

Tutorial langkah awal mengamankan VPS dengan sistem operasi Linux

Cara Mengamankan VPS Debian/Ubuntu

Tujuan

Server Pribadi Virtual (Virtual Private Server - VPS) adalah server khusus tervirtualisasi yang memberi Anda fleksibilitas dan kontrol yang lebih besar dibandingkan solusi hosting web tradisional. Tidak seperti paket hosting yang terkelola (managed), di mana tugas-tugas pengelolaan ditangani, administrasi VPS sepenuhnya menjadi tanggung jawab Anda. Sebagai administrator sistem, Anda bertanggung jawab untuk mengonfigurasi, memelihara, dan mengamankan server untuk memastikan pengoperasian dan keandalannya yang tepat.

Panduan ini menyediakan semua informasi yang diperlukan untuk langkah-langkah pertama Anda dengan VPS (dengan asumsi VPS Anda menggunakan sistem operasi Linux, yang merupakan hal umum).

Persiapan Awal

Sebelum memulai, pastikan Anda sudah memiliki VPS dengan akun pengguna minimal non-root yang dilengkapi dengan hak sudo.

Menambah akun pengguna non-root dengan Hak sudo

Anda dapat melewati langkah ini jika di VPS Anda sudah terdapat pengguna non-root dengan hak sudo. Klik di sini untuk lompat ke langkah selanjutnya

Jika VPS Anda hanya memiliki akun pengguna root, sangat disarankan untuk membuat akun pengguna baru non-root dengan hak sudo. Mengapa ini begitu penting? Menggunakan akun root untuk aktivitas sehari-hari di VPS itu seperti membiarkan kunci utama rumah Anda terbuka lebar. Root memiliki kekuasaan penuh atas sistem, sehingga kesalahan perintah atau celah keamanan pada akun root bisa berakibat fatal bagi seluruh VPS Anda. Oleh sebab itu, membuat pengguna non-root dengan hak sudo adalah solusi cerdas. Pengguna ini memiliki akses terbatas secara default, sehingga mengurangi risiko kerusakan akibat kesalahan atau serangan malware. Saat tugas administratif diperlukan, perintah sudo memungkinkan pengguna non-root untuk sementara mendapatkan hak root, hanya untuk perintah itu saja. Ini seperti menggunakan kunci khusus hanya saat dibutuhkan, dan tetap menjaga keamanan sistem secara keseluruhan

Langkah-langkah membuat akun pengguna non-root dengan hak sudo:

Pertama, login ke VPS Anda sebagai pengguna root. Anda biasanya melakukan ini melalui SSH menggunakan perintah seperti:

1
ssh root@IP_VPS_Anda

Ganti IP_VPS_Anda dengan alamat IP VPS Anda. Anda akan diminta memasukkan kata sandi root Anda.

Lalu, buat pengguna baru. Gunakan perintah adduser untuk membuat pengguna baru. Ganti nama_pengguna_baru dengan nama pengguna yang Anda inginkan (misalnya, webadmin, developer, user_anda).

1
adduser nama_pengguna_baru

Sistem akan meminta Anda untuk memasukkan kata sandi untuk pengguna baru ini dan informasi tambahan opsional (seperti nama lengkap, nomor ruangan, dll.). Pastikan Anda memilih kata sandi yang kuat dan aman. Anda bisa melewati informasi opsional dengan menekan Enter.

Setelah pengguna baru berhasil dibuat, tambahkan pengguna baru ke grup sudo. Ini memberikan hak administratif kepada pengguna baru. Di sebagian besar distribusi Linux (seperti Ubuntu, Debian, CentOS, Fedora), grup yang memberikan hak sudo biasanya adalah grup sudo atau wheel. Perintah untuk menambahkan pengguna ke grup sudo adalah:

1
usermod -aG sudo nama_pengguna_baru

Catatan: Untuk memastikan grup mana yang memberikan hak sudo di sistem Anda, Anda dapat memeriksa file konfigurasi sudoers. Namun, dalam kebanyakan kasus, sudo akan berfungsi.

Verifikasi hak sudo pengguna baru. Sekarang, coba beralih ke pengguna baru dan uji apakah hak sudo berfungsi. Keluar dari sesi root dengan perintah exit. Kemudian, login kembali ke VPS Anda, kali ini menggunakan pengguna baru yang baru saja dibuat:

1
ssh nama_pengguna_baru@IP_VPS_Anda

Masukkan kata sandi pengguna baru Anda. Setelah berhasil login, coba jalankan perintah yang memerlukan hak administratif, seperti memperbarui daftar paket sistem. Gunakan perintah sudo di depannya:

1
sudo apt update

Anda akan diminta memasukkan kata sandi pengguna baru Anda lagi (ini adalah perilaku standar sudo untuk keamanan). Jika perintah berjalan tanpa kesalahan dan Anda melihat proses pembaruan berjalan, berarti hak sudo sudah dikonfigurasi dengan benar.

Menonaktifkan Login root Melalui SSH

Setelah Anda yakin akun non-root dengan sudo berfungsi dengan baik, langkah keamanan tambahan yang sangat penting adalah menonaktifkan login langsung sebagai root melalui SSH. Ini mengurangi risiko jika kata sandi root Anda bocor atau terkena brute-force attack.

Buka file konfigurasi SSH server. Gunakan editor teks seperti nano atau vim dengan hak sudo:

1
sudo nano /etc/ssh/sshd_config

Cari baris PermitRootLogin yes. Jika baris ini diawali dengan #, hapus tanda # untuk mengaktifkannya. Ubah nilai yes menjadi no:

1
PermitRootLogin no

Simpan perubahan dan keluar dari editor teks. (Di nano, tekan Ctrl+X, lalu Y, lalu Enter).

Restart layanan SSH. Agar perubahan konfigurasi diterapkan, restart layanan SSH:

1
sudo systemctl restart sshd

Selesai! Sekarang Anda memiliki akun pengguna non-root dengan hak sudo di VPS Anda. Gunakan akun ini untuk aktivitas sehari-hari dan administrasi VPS Anda. Login root hanya perlu digunakan dalam situasi darurat atau untuk konfigurasi awal yang sangat jarang. Dengan langkah ini, Anda telah meningkatkan keamanan VPS Anda secara signifikan.

Memperbarui Sistem Anda

Pengembang distribusi dan sistem operasi menawarkan pembaruan paket perangkat lunak secara berkala, sangat sering untuk alasan keamanan. Memastikan distribusi atau sistem operasi Anda diperbarui adalah poin penting untuk mengamankan VPS Anda.

Pembaruan ini akan dilakukan dalam dua langkah. Memperbarui daftar paket:

1
sudo apt update

Memperbarui paket-paket aktual:

1
sudo apt upgrade

Operasi ini perlu dilakukan secara rutin untuk menjaga sistem tetap mutakhir.

Mengganti Port Listening SSH Standar

Salah satu hal pertama yang perlu dilakukan di server Anda adalah mengkonfigurasi port listening untuk layanan SSH. Secara default, port ini diatur ke port 22, oleh karena itu upaya peretasan server oleh bot akan menargetkan port ini. Mengubah pengaturan ini dengan menggunakan port yang berbeda adalah langkah sederhana untuk memperkuat keamanan server Anda terhadap serangan otomatis.

Untuk melakukan ini, modifikasi file konfigurasi layanan menggunakan editor teks pilihan Anda (nano digunakan sebagai contoh dalam hal ini):

Jika Anda menggunakan Ubuntu 23.04 dan versi yang lebih baru, silakan klik di sini

1
sudo nano /etc/ssh/sshd_config

Temukan baris berikut atau baris yang mirip:

1
2
3
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0

Ganti angka 22 dengan nomor port pilihan Anda. Mohon jangan masukkan nomor port yang sudah digunakan di sistem Anda. Agar aman, gunakan nomor antara 49152 dan 65535. Simpan dan keluar dari file konfigurasi (tekan Ctrl+X, lalu Y, lalu Enter).

Jika baris tersebut “dikomentari” (yaitu jika diawali dengan tanda “#”) seperti yang ditunjukkan dalam contoh di atas, pastikan untuk menghapus tanda “#” sebelum menyimpan file agar perubahan dapat diterapkan. Contoh:

1
2
3
Port 49152
#AddressFamily any
#ListenAddress 0.0.0.0

Lalu, mulai ulang layanan:

1
sudo systemctl restart sshd

Ini seharusnya sudah cukup untuk menerapkan perubahan. Alternatifnya, reboot VPS (sudo reboot).

Untuk Ubuntu 23.04 dan versi yang lebih baru

Untuk versi Ubuntu terbaru, konfigurasi SSH sekarang dikelola di file ssh.socket.

Untuk memperbarui port SSH, edit baris Listenstream di file konfigurasi menggunakan editor teks pilihan Anda (nano digunakan sebagai contoh dalam hal ini):

1
sudo nano /lib/systemd/system/ssh.socket
1
2
3
[Socket]
ListenStream=49152
Accept=no

Simpan perubahan Anda dan jalankan perintah berikut:

1
sudo systemctl daemon-reload
1
sudo systemctl restart ssh.service

Jika Anda telah mengaktifkan firewall sistem operasi Anda, pastikan Anda mengizinkan port baru tersebut dalam aturan firewall Anda.

Ingatlah bahwa Anda harus menyebutkan port baru setiap kali Anda membuat koneksi SSH ke server Anda:

1
ssh username@IPv4_VPS -p NewPortNumber

Contoh:

1
ssh ubuntu@203.0.113.100 -p 49152

Nah, sampai titik ini VPS Anda sudah lebih aman dari sebelumnya. Jika ingin memberikan keamanan tambahan, Anda dapat menerapkan firewall dan juga fail2ban pada VPS Anda.

Postingan ini dilisensikan di bawah CC BY 4.0 oleh penulis.

Tagar Terpopuler