it-swarm-id.com

Bahaya membuka berbagai pelabuhan? (mosh)

Mengapa kami umumnya mengonfigurasi firewall untuk memfilter semua lalu lintas yang tidak kami izinkan secara khusus? Apakah ini hanya lapisan keamanan tambahan untuk pertahanan mendalam yang tidak memberi kita apa-apa jika kita tidak menjalankan malware pada sistem kita?

Apakah ada bahaya mengatakan membuka port 60000 hingga 61000 untuk koneksi UDP masuk yang secara signifikan kurang aman daripada mengatakan hanya membuka beberapa port?

Saya baru saja mendengar mosh yang mengiklankan dirinya sebagai cara yang lebih baik untuk melakukan mobile ssh (melalui wifi/ponsel). Mosh menggunakan UDP daripada TCP, jadi jika Anda secara singkat memasuki terowongan atau perubahan alamat IP Anda (beralih menara ponsel), Anda tidak perlu menunggu untuk kembali dari kontrol kemacetan atau membuat sesi ssh baru. Pada dasarnya mosh menggunakan ssh untuk memulai mosh-server dari jarak jauh sebagai pengguna yang tidak berhak, menukar kunci AES-OCB menggunakan ssh, dan kemudian mengirim/menerima paket yang dienkripsi (dengan nomor urut) ke port dalam kisaran 60000-61000, yang harus Anda lakukan konfigurasikan firewall Anda untuk membuka.

Saya agak tidak nyaman dengan membuka ~ 1000 port untuk koneksi masuk (UDP), tetapi tidak bisa memikirkan alasan yang sangat bagus untuk ini. Jika tidak ada perangkat lunak yang mendengarkan data pada port itu, itu akan diabaikan begitu saja? (Di edit: tidak - sebenarnya mengarahkan server untuk mengirim kembali respons ICMP (ping) yang tidak dapat dijangkau). Saya kira jika saya memiliki malware yang berjalan di server saya, itu bisa menunggu untuk mendengarkan instruksi dari alamat IP palsu pada salah satu port yang dibuka ini. Namun, malware yang berjalan pada sistem yang terhubung ke internet sudah dapat membuat koneksi/mengunduh informasi dari server malware lain (meskipun harus tahu alamat IP) dan mengambil instruksi, jadi ini tidak membuat keamanan yang jauh lebih tidak aman.

EDIT: Menarik, baru saja melihat ini pertanyaan lain yang membuat saya membaca tentang DP_flood_attack . Saya kira juga saya perlu menonaktifkan sistem saya dari mengirim tujuan ping balasan yang tidak terjangkau untuk port UDP yang baru dibuka.

29
dr jimbob

Selain jawaban Justin tentang secara tidak sengaja membuka aplikasi yang akan diakses dari jarak jauh, ingatlah bahwa meskipun tidak ada yang secara khusus mendengarkan koneksi, sistem operasinya SELALU akan mendengarkan - jika hanya untuk rute/peta ke proses yang sesuai atau menolak atau diam-diam menjatuhkan paket. Oleh karena itu, sistem operasi masih merupakan satu vektor serangan spesifik yang dapat tetap tidak terlindungi ketika firewall memungkinkan lalu lintas mengalir ke port "tidak aktif".

Namun, semua hal yang sama dalam skenario ini, membuka satu port tidak aktif atau 1000 port tidak aktif membuat sedikit perbedaan. Tapi jelas mengindahkan saran prinsip privilege paling rendah.

11
logicalscope

Sejauh yang saya mengerti, Mosh tidak benar-benar membutuhkan seribu port untuk bekerja; hanya membutuhkan satu (per klien). Jadi Anda dapat membuka port tunggal, dan meminta Mosh untuk menggunakannya (dari manual ):

mosh -p 60000 my.server

Apa alasan memilih port secara acak? Ini saya tidak mengerti.

[PEMBARUAN] tidak memilih port acak. Ia mencari melalui serangkaian port untuk menemukan yang terbuka pertama ( lihat kode ). Jika bukan karena ini, Anda harus memilih port gratis secara manual pada sistem multi-pengguna.

Ini berarti bahwa Anda hanya membutuhkan port sebanyak yang Anda miliki pengguna (orang-orang yang mungkin menggunakan mosh) di server Anda . Jika itu kotak Anda sendiri, Anda hanya perlu membuka port 60000.

11
Leonid Shevtsov

Masalahnya adalah bahwa membuka berbagai port mungkin memungkinkan penyerang untuk mengekspos aplikasi lain yang mungkin menggunakan port tersebut. Sebagai contoh, aplikasi EMR saya yang digunakan untuk menyimpan catatan pasien mungkin dikonfigurasikan untuk menggunakan berbagai port tersebut, tetapi saya tidak ingin seseorang dari Internet yang tidak terpercaya dapat mengeksploitasi pembukaan itu. Itu datang untuk menegakkan paling sedikit hak istimewa sebanyak yang Anda bisa. Dalam skenario ini, Anda ingin memanfaatkan VPN yang memiliki rentang port terbuka. Itu menangani masalah otentikasi dan karenanya otorisasi. Jika Anda berbicara tentang firewall eksternal Anda pada DMZ Anda hanya mempercayai tingkat protokol/port dan karenanya harus lebih ketat lagi.

6
Justin Andrusk

Seharusnya sangat mungkin untuk meminimalkan jangkauan port UDP mosh di

https://github.com/keithw/mosh/blob/master/src/network/network.h#L77

Jika saya mengerti benar ini adalah rentang dari mana proses pengirim akan memilih port UDP. Jadi mungkin untuk mengkompilasi edisi mosh "sempit" lokal dan memiliki kebijakan UDP firewall "sempit" lokal yang sesuai untuk mosh.

Yang membawa saya ke pertanyaan meta: seberapa sempit rentang cukup lebar untuk mosh berguna?

Jika saya mengerti dengan benar, satu port per mosh server diperlukan. Jadi dalam hal server pribadi dan kebiasaan penggunaan tmux (= hanya satu klien) satu untuk bekerja dan satu untuk memperbaiki hal-hal diperlukan.

Tapi saya mungkin salah, saya bukan Coder dan saya menemukan mosh hanya kemarin.

4
Peter