Server Hardening: Mengubah Port SSH di Alma Linux Untuk Mengatasi Brute Force
Alma Linux 9 adalah sebuah Distro Linux yang populer & banyak digunakan sebagai OS pada server VPS maupun Dedicated. Alma Linux merupakan distro rebuild dari Red Hat yang bersifat open source & kompatibel secara binary.
Sampai sekarang OS ini selalu jadi andalan gweh di semua server yang gw manage, yang gw rasakan adalah OS ini lebih gampang di tuning & secure by default. Bagi pemula yang mau coba pakai OS ini, mungkin akan kaget dengan learning curve nya diawal-awal. Tapi bisa lihai kalau sudah familiar dengan sintak-sintak nya.
Isi pada alma linux sangat jauh berbeda dari distro debian-based. Tapi linux tetaplah linux, jadi seharusnya kamu akan cepat beradaptasi dengan sintak-sintak yang ada.
Kenapa Harus Ganti Port SSH?
Di semua distro & semua provider server, katakanlah ketika kamu baru membeli sebuah VPS, biasanya sudah ada notifikasi seperti “There were x failed login attempts since the last successful login.” yang muncul ketika kamu masuk ke server kamu melalui SSH. Ini menandakan bahwa VPS kamu diserang menggunakan port scanner untuk mencari Port SSH standar yang terbuka & kemudian port SSH kamu di brute force.

Ini cukup mengganggu karena intensitasnya cukup sering. Jadi biasanya kalau server yang kamu beli sudah aktif, maka sebaiknya hal pertama yang dilakukan adalah mengganti port SSH agar tidak menggunakan port standar.
Terhubung ke server melalui SSH
Pastikan kamu sudah membuka terminal & terhubung ke server kamu melalui SSH agar bisa menjalankan perintah di server, secara default perintah SSH standar akan terlihat seperti ini:
ssh user-vps-kamu@ip-server-kamu
Setelah itu masukkan password user kamu saat diminta.
Cek status SELinux
Alma Linux didesain untuk secure by default menggunakan sistem bernama SELinux (Security-Enhanced Linux) yang lumayan strict.
Sebelum melanjutkan ke step berikutnya kita perlu mengecek status selinux kita, se linux sendiri memiliki 3 mode yaitu: Permissive, Enforcing, Disabled.
Ketikkan perintah berikut untuk mengetahui status selinux di server kamu
sestatus && getenforce

Jika sestatus kamu seperti diatas (Enforcing) dan kamu tidak ingin menonaktifkan sistem tersebut secara permanen, silahkan ikuti langkah-langkah tambahan berikut
Install semanage (jika belum ada)

Jika kamu belum memiliki semanage, maka ketikkan perintah berikut untuk memasang paket semanage
yum install -y policycoreutils-python-utils
Setelah terinstall, kita akan membuka port 2342 terlebih dahulu pada sistem selinux agar bisa digunakan oleh service SSH. Ketikkan perintah berikut untuk membuka:
semanage port -a -t ssh_port_t -p tcp 2342
Setelah itu kita bisa melanjutkan ke step berikutnya.
Modifikasi Konfigurasi SSH
Sekarang kita akan memodif konfigurasi SSH yang ada pada sistem. Kita akan mengubah port SSH standar 22 menjadi port 2342.
Install nano (opsional)
Sebelum itu kita perlu memasang paket nano untuk memudahkan kita saat mengedit file daripada menggunakan vi.
yum update && yum install nano -y
Perintah diatas akan melakukan update package (bukan OS) & kemudian memasang paket nano secara otomatis. Jika sudah terbiasa menggunakan vi maka bisa skip step ini.
Modifikasi file config
File config untuk SSH berada di /etc/ssh/sshd_config, sekarang ketikkan perintah berikut untuk membuka file tersebut menggunakan nano
nano /etc/ssh/sshd_config
Jika sudah terbuka, tekan tombol CTRL + W lalu ketikkan Port 22 untuk mencari kata tersebut agar tidak perlu scroll manual.

Lalu akan muncul port 22 di file tersebut seperti berikut

Sekarang kita hanya perlu menghapus tanda pagar # tersebut dan mengubah port nya menjadi 2342

Jika sudah diubah, tekan tombol CTRL + X pada keyboard, jika muncul seperti dibawah maka tekan Y lalu tekan Enter

Restart Service SSH
Selanjutnya kita akan merestart service SSH agar konfigurasi yang baru saja kita edit bisa diterapkan ke sistem.
Sebelum itu, jika memiliki sistem firewall maka kita harus menambahkan port 2342 ke firewall tersebut, jika tidak kamu akan kehilangan akses ke server kamu karena port masih terblokir oleh firewall.
Jika kamu menggunakan firewalld maka kamu bisa menjalankan perintah berikut
firewall-cmd --add-port=2342/tcp --zone=public --permanent && firewall-cmd --reload

Jika sudah, selanjutnya kita akan melakukan restart service daemon SSH, ketikkan perintah berikut & pastikan tidak ada error.
systemctl restart sshd
Uji coba
Setelah melakukan restart service daemon SSH, jangan tutup terminal yang sudah terhubung ke server sebelumnya, lakukan uji coba terlebih dahulu menggunakan tab terminal baru tanpa menutup tab terminal sebelumnya. Ketikkan perintah berikut pada window/tab terminal baru
ssh user-kamu@ip-server-kamu -p 2342

Jika hasilnya sudah berhasil login seperti diatas, maka service SSH pada server kamu sudah berjalan pada port baru 2342 dan bukan port 22 lagi. Pastikan untuk mengingat port baru ini agar kamu tidak lupa & kehilangan akses.
Sampai disini kita sudah berhasil mengimplementasikan salah satu server hardening dengan mengubah port SSH untuk menghindari brute force.

