Pemajuan SSH setempat atau VPN penuh untuk satu skrin Mac?
Untuk satu skrin pada satu hos, pemajuan SSH gelung-balik lebih kecil daripada VPN. Inilah bila ia memadai, apa yang disulitkannya dan bila perlu berhenti menggunakannya.
Anda perlu melihat skrin satu Mac dari mesin anda sendiri, Mac itu berada di belakang hos yang sudah boleh anda SSH, dan persoalannya ialah sama ada itu layak mendapat VPN. Biasanya tidak. Satu pemajuan setempat membawa satu port TCP melalui sesi SSH yang sudah anda miliki, dan untuk satu skrin pada satu hos itu susunan yang lebih kecil dan lebih mudah diaudit daripada menghala seluruh rangkaian.
Tiga syarat menentukannya, dan mana-mana satu daripadanya boleh menolak anda ke arah VPN terurus.
Tiga syarat menentukannya
Yang pertama ialah skop: satu perkhidmatan pada satu hos, atau beberapa hos dan beberapa port. Yang kedua ialah sama ada setiap lonjakan antara bastion dan sasaran sudah dipercayai, kerana SSH hanya melindungi segmen yang ditamatkannya. Yang ketiga ialah siapa yang mesti menyokong susunan ini selepas anda membinanya, kerana terowong buatan tangan cenderung hidup lebih lama daripada orang yang memahaminya. Namakan orang itu sebelum anda bermula, dan tulis perintah itu di tempat yang boleh dia temui. Pemajuan tanpa dokumentasi ialah insiden masa depan dengan tarikh mula yang ditangguhkan.
Jika jawapannya «satu», «ya» dan «saya, buat masa ini», pemajuan ialah alat yang betul. Jika mana-mana jawapan berubah, reka bentuk akses jauh yang disokong lebih murah sepanjang tahun daripada semakan insiden yang menyusuli terowong tanpa dokumentasi.
Majukan satu port, bukan rangkaian
Pemajuan setempat membuka pendengar pada mesin anda dan memajukan setiap sambungan melalui pelayan SSH ke destinasi yang boleh dicapai oleh pelayan itu. Untuk Mac yang perkhidmatan perkongsian skrinnya mendengar pada TCP 5900, dan bastion yang boleh menyelesaikan mac.corp.example, perintahnya pendek dan sengaja sempit. Setiap pilihan di dalamnya wujud untuk memastikan susunan itu kecil: tiada shell, tiada pendengar pada semua antara muka, tiada daemon. Bacalah sebagai pernyataan skop, bukan sebagai resipi.
ssh -N -o ExitOnForwardFailure=yes -L 127.0.0.1:15900:mac.corp.example:5900 [email protected]Mengikat pendengar pada 127.0.0.1 menjauhkannya daripada setiap antara muka lain. Itu bukan formaliti: pemajuan yang diikat pada semua antara muka menjadikan komputer riba anda relai terbuka ke rangkaian korporat bagi sesiapa sahaja di Wi-Fi kafe yang sama. Jika port itu sudah digunakan, pilih port tinggi yang lain dan kemas kini pemapar; jangan hentikan perkhidmatan yang tidak berkaitan supaya contoh itu sesuai.
Akaun pada bastion juga memerlukan kebenaran untuk memajukan ke destinasi itu. Sesetengah konfigurasi SSH yang diperkukuh melumpuhkan pemajuan port sepenuhnya, dan sesetengahnya mengehadkannya dengan arahan permit-listen atau permit-open. Baca dasar pelayan sebelum menganggap saluran yang ditolak bermakna kata laluan itu salah.
Apa yang disulitkan SSH, dan di mana ia berhenti
Sesi SSH melindungi trafik dari Mac anda ke bastion, dan pemajuan membawa protokol VNC di dalam sesi itu tanpa memahaminya. Sebaik sahaja sambungan meninggalkan bastion menuju sasaran, ia tidak lagi berada di dalam sesi SSH anda. Apa jua perlindungan yang ada pada lonjakan terakhir itu adalah milik protokol sasaran dan kawalan rangkaian peribadi itu sendiri.
Sebab itulah lonjakan VNC terakhir yang biasa tidak patut digambarkan sebagai disulitkan hujung ke hujung hanya kerana lonjakan pertama menggunakan SSH. Terangkan segmen itu dengan jujur: kukuh dari klien ke bastion, dan apa sahaja yang disokong sasaran selepas itu. Jika keperluannya ialah seluruh laluan disulitkan oleh satu mekanisme, pemajuan tidak memenuhinya.
Pengesahan di sasaran sekali lagi perkara berasingan. Akaun SSH tidak memberikan log masuk macOS, dan perkhidmatan perkongsian skrin masih meminta kelayakan sendiri dan masih menggunakan senarai aksesnya sendiri. Pendengar setempat yang menerima sambungan tidak membuktikan apa-apa tentang sama ada perkhidmatan jauh akan menerima sesi itu.
Bila VPN penuh ialah keputusan yang betul
Pilih VPN apabila tugas memerlukan lebih daripada satu port: fungsi pengurusan dan pelaporan Apple Remote Desktop menggunakan trafik TCP dan UDP tambahan yang tidak dapat dibawa oleh satu pemajuan TCP. Pemajuan bukan pelaksanaan separa bagi keseluruhan produk; ia alat lain yang lebih kecil.
Pilihnya apabila beberapa pentadbir menyambung dari lokasi yang berubah-ubah, kerana profil terurus mengagihkan laluan, kelayakan dan dasar tanpa setiap orang mencipta baris perintah sendiri. Pilihnya apabila jejak audit mesti menunjukkan siapa menyambung ke apa, kerana sesi SSH bagi setiap pengguna dan pemajuan setempat yang dikongsi meninggalkan rekod yang sangat berbeza.
Pilihnya, akhirnya, apabila rangkaian sasaran tidak patut boleh dicapai dari komputer riba sama sekali tanpa pintu gerbang organisasi sendiri. Pemajuan peribadi memintas pintu itu secara reka bentuk, dan itulah sebabnya ia tergolong dalam rekod perubahan dan bukan sejarah shell.
Buat pemajuan gagal dengan kuat
Gunakan ExitOnForwardFailure=yes supaya pengikatan yang gagal menghentikan sesi daripada meninggalkan shell yang kelihatan bersambung dan tidak memajukan apa-apa. Biarkan pengesahan kunci hos dihidupkan, dan utamakan kunci atau agen daripada kata laluan. Kemudian uji URL tepat yang akan digunakan oleh pemapar, kerana sesi SSH yang berfungsi dan sambungan skrin yang berfungsi ialah dua hasil yang berbeza.
Bagi klien asli pada macOS, pemapar dicapai melalui URL setempat: open "vnc://127.0.0.1:15900". Jika tetingkap terbuka dan hos jauh menolak pengesahan, terowong itu baik dan masalahnya pada sasaran. Jika tetingkap tidak pernah terbuka, masalahnya pada pendengar atau port.
Hentikan sesi apabila selesai, dan catat port, bastion, sasaran dan dasar akaun. Pemajuan yang tidak didokumenkan oleh sesiapa tidak dapat dibezakan daripada pintu belakang enam bulan kemudian, dan itulah hujah terkuat untuk memastikannya kecil, bernama dan sementara.