Salah satu cara untuk meningkatkan keselamatan server adalah dengan menukar port default SSH. Artikel ini akan mengajar anda bagaimana untuk menukar port SSH pada CentOS 7 kepada port lain.

Buka file sshd_config di : /etc/ssh/sshd_config . Secara asalnya, baris Port 22 diletakkan komen seperti #Port 22. Buang simbol komen tesebut dan tambah satu lagi baris dibawahnya dan tulis Port 1234 seperti berikut :

Port 22
Port 1234
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

Port 1234 merupakan port tambahan kepada protokol SSH. Anda boleh tukar kepada apa-apa sahaja nombor port yang anda mahu asalkan tidak bertindih dengan servis lain dalam server tersebut.

Bermakna sekarang servis SSH anda sedang beroperasi menggunakan dua port iaitu Port 22 dan Port 1234. Kenapa anda perlu jalankan ia pada dua port ? Kerana ini adalah sebagai langkah berhati-hati.

Misalnya port 1234 anda tidak berfungsi ketika anda cuba untuk remote ke server anda nanti kerana kesalahan konfigurasi, anda masih boleh lagi rmeote ke server anda menggunakan default port iaitu port 22 untuk membuat pembetulan konfigurasi.

Selesai menambah port ? Simpan tetapan tersebut. Kemudan restart servis ssh dengan memberikan arahan berikut :

service sshd restart

Anda boleh memastikan servis SSH anda telah berjalan pada port yang anda telah tetapkan dengan memberikan arahan lihat listening port seperti berikut :

netstat -tunlp

Anda akan dapat lihat dua servis sshd sedang dijalankan. Satu adalah port asal bagi ssh iaitu port 22 dan satu lagi adalah port yang anda telah tambah kepada servis ssh iaitu port 1234.

[[email protected] /]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:1234 0.0.0.0:* LISTEN 17075/sshd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 17075/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 3422/master
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 11215/zabbix_agentd
tcp6 0 0 :::1234 :::* LISTEN 17075/sshd
tcp6 0 0 :::9902 :::* LISTEN 399/php-fpm: pool p
tcp6 0 0 :::22 :::* LISTEN 17075/sshd
tcp6 0 0 ::1:25 :::* LISTEN 3422/master
tcp6 0 0 :::10050 :::* LISTEN 11215/zabbix_agentd
udp 0 0 0.0.0.0:68 0.0.0.0:* 3003/dhclient
udp 0 0 127.0.0.1:323 0.0.0.0:* 2409/chronyd
udp6 0 0 ::1:323 :::* 2409/chronyd

Jika anda tidak dapat melihat port baru yang anda telah tambah, cuba restart ssh beberapa kali. Jika masih tidak kelihatan apabila anda memberikan arahan netstat -tunlp, ada kemungkinan port tersebut tidak dapat di bind dengan ip server disebabkan perlindungan keselamatan oleh servis selinux. Untuk membolehkan anda tambah port tersebut pada servis ssh, anda perlu tambah rule pada selinux dengan memberikan arahan berikut :

 semanage port -a -t ssh_port_t -p tcp 1234 

Selepas berjaya memberikan arahan tersebut, cuba restart servis sshd sekali lagi dan semak pada listening port. Jika ada bermakna anda telah berjaya menambahkan port pada servise ssh.

Sekarang masa untuk ujikaji. Cuba remote login ke server anda menggunakan port 22 dan port yang anda baru tambah tadi. Sebagai contoh saya gunakan port 1234. Jika kedua-duanya berjaya, bermakna anda boleh menukar port ssh anda daripada port 22 ke port baru anda iaitu 1234 dengan selamat.

Bagaimana untuk menukar ? Mudah sahaja, cuma komenkan pada baris Port 22 dalam fail config sshd tadi di /etc/ssh/sshd seperti berikut :

#Port 22
Port 1234
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

Kemudian restart servis sshd tadi. Selesai ! Sekarang anda telah menukarkan port ssh anda daripada port 22 kepada port 1234 dengan jayanya ! Selamat mencuba !

Tinggalkan komen dibawah jika anda mempunyai sebarang pertanyaan.

Tutup Menu