Kali ini saya hendak share cara untuk mengganti port SSH pada VPS melalui CLI. Alasan kenapa kita ingin untuk merubah port SSH dari default (yakni 22) adalah alasan keamanan. Bukan berarti dengan mengganti port SSH lantas server anda menjadi aman 100%. Merubah port SSH hanya membantu untuk menghindari serangan acak pada port default yang biasa dilakukan robot. Merubah port SSH paling tidak menambah layer sekuritas

Contoh serangan robot/bot sebanyak 24x selama kurang dari 1 menit (52 detik) 

Persiapan

  • Software SSH, disini saya menggunakan PuTTy yang umum dipergunakan. Anda bisa mendownloadnya disini 
  • Server yang saya gunakan adalah VPS dengan CentOS 7

Tutorial

Pertama masuk ke terminal menggunakan aplikasi PuTTy kemudian buka sshd_config dengan text editor (disini saya menggunakan vim)

vim /etc/ssh/sshd_config

hapus tanda pagar sebelum kata port 22 dan rubah angka 22 menjadi yang anda inginkan (pastikan portnya tidak digunakan service lain) kemudian simpan dengan menekan tombol :wq enter (:wq adalah command untuk save kemudian exit dari vim adapaun merupakan kepanjangan dari write and quit)

dalam contoh ini saya rubah portnya menjadi 2020

Selanjutnya anda membutuhkan agar SELinux mengetahui tentang perubahan port ini melalui command semanage silahkan test vps anda dengan command berikut

semanage

Jika terminal anda muncul seperti berikut, artinya ada package yang mem-provide semanage yang belum terinstall

tuliskan command berikut untuk mengetahui package apa yang belum terinstall

yum whatprovides semanage

Dalam hal VPS saya yang belum terinstall adalah policycoreutils-python-2.xxxx. Ketikkan command berikut untuk install package tersebut

yum install -y policycoreutils-python

Jika sudah selesai anda perlu untuk memerintahkan SELinux mendengarkan port yang baru dengan command berikut

semanage port -a -t ssh_port_t -p tcp 2020

Jika sudah anda perlu memverifikasi apakah command diatas sudah masuk dengan cara masukkan command berikut

semanage port -l | grep ssh

dan akan muncul seperti berikut menandakan SELinux sudah posisi listen terhadap port yang kita masukkan

Jika sudah sesuai, jika VPS anda memiliki firewall, masukkan command berikut untuk memperbolehkan port baru masuk kemudian lakukan reload firewall

firewall-cmd --add-port=2020/tcp --permanent
firewall-cmd --reload

terakhir lakukan restart pada service SSHD

systemctl restart sshd

Silahkan keluar dari terminal anda kemudian lakukan login ulang dengan port yang baru