Mengapa menjalankan SSH pada port yang berbeda

31

Saat ini saya sedang belajar tentang menginstal Kippo SSH. Dari tutorial, dikatakan bahwa saya harus mengkonfigurasi ulang port SSH dari 22 ke port yang berbeda (yang dalam hal ini 3389). Jadi sekarang setiap kali saya mencoba SSH dari klien, itu akan terhubung ke port 3389.

Dari tutorial, alasan di balik ini adalah bahwa "kami tidak ingin Kippo memiliki akses root".

Pertanyaan saya adalah, apa bedanya menjalankan SSH dari port 22 vs port 3389?

Adam
sumber
8
Tidak ada konsep pengalihan di SSH, jadi saya menemukan sedikit tidak jelas apa yang Anda tanyakan. (Saya tidak tahu apakah itu karena tutorial yang Anda ikuti tidak jelas, atau apakah itu karena Anda menghilangkan beberapa informasi penting saat menulis pertanyaan.)
kasperd
4
Bukan jawaban, tetapi patut diketahui: TCP port 3389 sering digunakan untuk RDP. Mungkin 3389 dipilih untuk dicoba ditemukan oleh orang yang memindai akses jarak jauh.
TOOGAM
Terkait: Haruskah saya mengubah port SSH default di server linux?
Pasang kembali Monica - M. Schröder
Tutorial mana yang Anda cari ... yang ini atau yang ini atau yang lainnya?
david
@david saya menggunakan tutorial ini youtube.com/watch?v=OyBiIjrVXgk
Adam

Jawaban:

52

Sebagian besar server memerlukan akses root jika Anda ingin membuka port yang lebih rendah dari 1024.

Nomor port TCP / IP di bawah 1024 adalah spesial karena pengguna normal tidak diizinkan menjalankan server pada mereka. Ini adalah fitur keamanan, di mana jika Anda terhubung ke layanan di salah satu port ini, Anda dapat cukup yakin bahwa Anda memiliki hal yang nyata, dan bukan palsu yang dibuat oleh beberapa peretas untuk Anda.

Lihat: https://www.w3.org/Daemon/User/Installation/PrivilegedPorts.html

Thorchy
sumber
1
Saya merasa pertanyaan ini berhubungan baik dengan jawaban ini: superuser.com/questions/710253/… (Karena setelah membaca jawabannya, orang mungkin akan bertanya pada diri sendiri pertanyaan itu)
Score_Under
29

Apa bedanya menjalankan SSH dari port 22 vs port 3389?

Untuk mengikat ke port di bawah 1024 (port istimewa) suatu proses harus memiliki akses root. Dengan membuatnya mengikat ke 3389 akses root tidak diperlukan.

user9517 mendukung GoFundMonica
sumber
21

Salah satu alasan saya melihat ini dilakukan, adalah untuk mengurangi log spam dari pemindai kata sandi. Kemudian, jika seseorang mencoba memaksakan kata sandi, Anda tahu itu adalah upaya yang ditargetkan daripada mobil.

Dewi Morgan
sumber
8

Dengan mengarahkan SSH ke port non-standar - Anda membuat hidup seorang hacker lebih sulit - karena mereka tidak akan 100% yakin port mana yang Anda gunakan untuk mengakses sistem Anda.

Port 22 - adalah port default yang Anda ketahui. Tetapi jika Anda telah mengubah ini menjadi port non-standar ... Saya sekarang perlu pergi dan melakukan scan port menggunakan Nmap atau beberapa alat lain untuk mencoba dan mendeteksi di mana server ssh sekarang mendengarkan - ini meningkatkan kemungkinan IDS (Intrusion Detection System) Anda dalam mendeteksi jenis perilaku berbahaya ini - dan dapat memungkinkan Anda untuk mulai mengambil tindakan balasan (seperti menolak alamat IP target).

Memang benar bahwa untuk MENCIPTAKAN port mendengarkan di bawah 1024 Anda memerlukan akses root - sshd (daemon ssh [server]) akan dimulai pada saat boot, dan itu saja tidak akan menghentikan pengguna priv / non-priv dari mengakses proses ssh.

Jika Anda ingin menghentikan ssh untuk root - dan ini selalu merupakan hal yang baik untuk dihentikan. Kemudian ssh.config (Berubah sedikit namanya tergantung pada OS yang digunakan - lihat di / etc / ssh /)

Nilai yang mengontrol jika akun root bisa login adalah

#PermitRootLogin no

Nilai ini dan bukan nomor Port - yang omong-omong dikonfigurasi menggunakan nilai seperti

#Port 22

Apakah cara membatasi.

Ssh adalah mekanisme komunikasi yang fantastis, fleksibel dan aman - tetapi hanya jika dipahami dan digunakan dengan benar.

Benih Tim
sumber
Ada perbedaan antara ssh yang memungkinkan Anda untuk login sebagai root dan daemon ssh sendiri membutuhkan akses root agar ssh dapat membuka port yang diistimewakan. Pertanyaannya terkait dengan yang kedua dari keduanya, bukan yang pertama.
Mike Scott
3

Secara umum, ada dua alasan utama mengapa seseorang mungkin ingin menjalankan SSH mendengarkan pada port tinggi:

  • Karena ini bukan port "standar", upaya acak untuk menerobos (botnet) lebih kecil kemungkinannya untuk terhubung
  • Jika nomor port lebih dari 1024, daemon SSH memiliki satu kurang "hak istimewa root" yang perlu dipercaya

Lebih jauh, jika perangkat NAT duduk di depan beberapa server yang menjalankan SSH, itu tidak dapat memetakan port 22 ke semuanya, jadi dalam hal itu mungkin dikonfigurasi, misalnya, untuk mengarahkan port eksternal 10022 ke layanan internal 192.0.2.10 : 22 dan port eksternal 11022 hingga 192.0.2.11:22.

Namun, dalam kasus Kippo, apa yang Anda instal adalah "SSH honeypot", sebuah program yang seharusnya terlihat seperti baris perintah SSH pada sistem yang dapat digunakan tetapi sebenarnya merespons secara lambat dan tidak ada gunanya. Anda ingin menjalankan keduanya pada port SSH biasa (22) dan juga pada port tinggi yang sering digunakan (2222); sebenarnya lebih mudah untuk menjalankannya sebagai pengguna di port tinggi dan kemudian gunakan iptablesuntuk mengarahkan port rendah ke port tinggi di host yang sama. Juga dimungkinkan untuk menggunakan netcat ( nc) atau xinetd untuk mengatur pengalihan.

Agar Kippo mendengarkan pada port rendah (baik secara langsung atau melalui redirect), daemon SSH sistem biasa tidak dapat mendengarkan di sana. Selain itu, untuk membuat honeypot Anda lebih dapat dipercaya, Anda tidak ingin daemon sistem mendengarkan pada port terbuka "umum" lainnya.

Dari sudut pandang keamanan, akan lebih efektif untuk melempar dadu untuk memilih port alternatif itu, tetapi RDP tidak mungkin mendengarkan pada server Linux biasa, jadi jika Anda sudah ingat nomor port itu mungkin menyenangkan untuk bekerja dengannya. Pilihan "menarik" lainnya mungkin seperti 5190 (AOL) atau 1214 (KaZAA).

David
sumber
1
Tanpa menyadari (atau melihat) apa Kippo, tidak masuk akal mengapa daemon ssh tidak akan di-root: jika ia ingin mengotentikasi sebagai pengguna mana pun, ia harus menjaga beberapa izin untuk menjadi pengguna yang berbeda. Tetapi jawaban ini memperjelas mengapa penting untuk tidak dijalankan sebagai root.
chexum