saya ada pertanyaan tentang SSH dg port yang ga default.. default port SSH 22, waktu saya install server,,saya ganti ke 8246 dg tujuan biar saat di scan port pake nmap/port scanner dari luar port- nya ga keliatan.. dan saya gunaain firewall dg skema :
1. allow semua traffic yg out dari server
2. allow in port http 80
3. allow in port ssh 8246
4. allow in port ftp 21
5. allow in port https 443
6. block all
ketika saya nmap server tersebut dari komputer lain,,,port yang open cuman ada http 80,ftp 21,https 443.. kemudian saya gunaain nettool buat scan server tersebut..dan semua port yang open kelihatan termasuk ssh 8246
kira-kira menurut rekan2 apakah saya salah configure firewall atau memang seharusnya port ssh yang ga default tetep keliatan sebagai open port di nettool? berarti,,klo memang masih keliatan sebagai open port seperti diatas..fungsi buat ngrubah port default buat apa?
–
setelah beberapa hari mempelajari SSH,,ada beberapa poin penting yang saya dapet dari googling…dan pertanyaan2 kemaren dari saya sudah mulai terjawab..
untuk lebih mempermudah bacanya saya bahas dalam bentuk tanya jawab saja :
1. mengapa kita perlu mengubah port default SSH?
jawab : tujuan kita mengubah default port SSH untuk meminimalisasi serangan otomatis yang dilakukan oleh botnet, dimana botnet ini akan secara otomatis mencari port default SSH yaitu 22 dan melakukan attempt ke SSH Server yang default port-nya 22, botnet akan mencoba login dengan username dan password secara acak, hal ini sangat memungkinkan sebuah botnet masuk ke Server kita jika kita tidak mengubah default port SSH
2. apakah jika sudah kita ubah tidak akan terlihat sebagai port yang ‘open’?
jawab : tetap akan terlihat sebagai ‘open’ port, ini tergantung dari kemampuan tool yang digunakan untuk melakukan scan port ketika kita menggunakan port scanner, scanner port akan mencari port yang ‘open’. dengan mengubah port default SSH 22 menjadi port yang lain akan membingungkan attacker untuk melakukan serangan, sehingga bisa saja hal ini mengakibatkan kesalahan penggunaan tool hacker untuk melakukan serangan, misal kita ubah port SSH jadi 21,,hal ini bagi attacker akan dikira sebagai service ftp,,
3. apakah ada ketentuan dalam pengubahan port SSH?
jawab : ga ada ketentuan khusus, yang ada jika memang port itu ga dipakai,,,bisa saja kita pakai untuk SSH. berarti sebelumnya kita musti ngecek port yang ga kepakai.. tapi direkomendasikan untuk menggunakan port-port yang unused yaitu diatas 1024 dan dibawah 65537
4. bagaimana cara mengetahui sebuah port itu sudah diapakai atau belum?
jawab : kita bisa menggunakan command lsof -i:port
sampel:
# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
httpd 2816 root 3u IPv6 14383 TCP *:http (LISTEN)
httpd 2820 apache 3u IPv6 14383 TCP *:http (LISTEN)
httpd 2821 apache 3u IPv6 14383 TCP *:http (LISTEN)
httpd 2822 apache 3u IPv6 14383 TCP *:http (LISTEN)
httpd 2823 apache 3u IPv6 14383 TCP *:http (LISTEN)
httpd 2824 apache 3u IPv6 14383 TCP *:http (LISTEN)
httpd 2933 apache 3u IPv6 14383 TCP *:http (LISTEN)
httpd 21922 apache 3u IPv6 14383 TCP *:http (LISTEN)
# lsof -i:21
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
inetd 2659 root 6u IPv4 13059 TCP *:ftp (LISTEN)
# lsof -i:22
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
sshd 2666 root 3u IPv6 13095 TCP *:ssh (LISTEN)
sshd 4362 root 3r IPv6 387789 TCP local.org:ssh->192.168.111.21:
sshd 4364 admin 3u IPv6 387789 TCP local.org:ssh->
# lsof -i:23
5. bagaimana cara mengamankan SSH Server kita?
jawab : disini ada beberapa cara yang bisa dilakukan :
- ubah port default SSH sesuai yang direkomendasikan diatas
Port 4215
- disable direct root login, maksudnya user root tidak diijinkan login secara langsung ke server via SSH, jadi kita musti login sebagai user biasa dan kemudian su ke root
PermitRootLogin no
- buatlah user spesifik yang bisa login ke SSH
AllowUsers Dwi
- deny terhadap user yang login tanpa password
PermitEmptyPasswords no
- perkecil waktu logingracetime-nya, ini disetting untuk disconnect server terhadap user setelah beberapa waktu tidak bisa login
LoginGraceTime 30s
- perkecil MaxAuthTries-nya, ini digunakan untuk disconnect server terhadap user yang beberapa kali gagal login
MaxAuthTries 2
- gunakan tool pendukung pengaman service SSH, seperti sshutout, port-knocking, dsb.