Anda perlu melihat layar satu Mac dari mesin Anda sendiri, Mac berada di belakang host yang sudah bisa Anda akses lewat SSH, dan pertanyaannya adalah apakah itu layak memakai VPN. Biasanya tidak. Satu penerusan lokal membawa satu port TCP melalui sesi SSH yang sudah Anda miliki, dan untuk satu layar di satu host itu pengaturan yang lebih kecil dan lebih mudah diaudit daripada merutekan seluruh jaringan.

Tiga kondisi menentukan, dan salah satunya bisa mendorong Anda ke VPN terkelola.

Tiga kondisi menentukan

Yang pertama adalah cakupan: satu layanan di satu host, atau beberapa host dan beberapa port. Yang kedua adalah apakah setiap lompatan antara bastion dan target sudah dipercaya, karena SSH hanya melindungi segmen yang diakhirinya. Yang ketiga adalah siapa yang harus mendukung pengaturan ini setelah Anda membangunnya, karena terowongan buatan tangan cenderung hidup lebih lama daripada orang yang memahaminya. Sebutkan nama orang itu sebelum Anda mulai, dan tuliskan perintahnya di tempat yang bisa ia temukan. Penerusan tanpa dokumentasi adalah insiden masa depan dengan tanggal mulai yang tertunda.

Jika jawabannya «satu», «ya», dan «saya, untuk sekarang», penerusan adalah alat yang tepat. Jika salah satu jawaban berubah, desain akses jarak jauh yang didukung lebih murah selama setahun daripada tinjauan insiden yang menyusul terowongan tanpa dokumentasi.

Teruskan satu port, bukan jaringan

Penerusan lokal membuka pendengar di mesin Anda dan meneruskan setiap koneksi melalui server SSH ke tujuan yang dapat dijangkau server itu. Untuk Mac yang layanan berbagi layarnya mendengarkan di TCP 5900, dan bastion yang dapat menyelesaikan mac.corp.example, perintahnya singkat dan sengaja sempit. Setiap opsi di dalamnya ada untuk menjaga pengaturan tetap kecil: tanpa shell, tanpa pendengar di semua antarmuka, tanpa daemon. Bacalah sebagai pernyataan cakupan, bukan resep.

ssh -N -o ExitOnForwardFailure=yes -L 127.0.0.1:15900:mac.corp.example:5900 [email protected]

Mengikat pendengar ke 127.0.0.1 menjauhkannya dari semua antarmuka lain. Itu bukan formalitas: penerusan yang terikat ke semua antarmuka mengubah laptop Anda menjadi relai terbuka ke jaringan perusahaan bagi siapa pun di Wi-Fi kafe yang sama. Jika port sudah dipakai, pilih port tinggi lain dan perbarui penampil; jangan hentikan layanan yang tidak terkait agar contohnya cocok.

Akun di bastion juga memerlukan izin untuk meneruskan ke tujuan itu. Beberapa konfigurasi SSH yang diperketat menonaktifkan penerusan port sepenuhnya, dan sebagian membatasinya dengan direktif permit-listen atau permit-open. Baca kebijakan server sebelum menganggap kanal yang ditolak berarti kata sandinya salah.

Apa yang dienkripsi SSH, dan di mana ia berhenti

Sesi SSH melindungi lalu lintas dari Mac Anda ke bastion, dan penerusan membawa protokol VNC di dalam sesi itu tanpa memahaminya. Begitu koneksi meninggalkan bastion menuju target, koneksi itu tidak lagi berada di dalam sesi SSH Anda. Perlindungan apa pun di lompatan terakhir itu milik protokol target dan kontrol jaringan privat itu sendiri.

Itulah sebabnya lompatan VNC terakhir yang polos tidak boleh digambarkan sebagai terenkripsi ujung ke ujung hanya karena lompatan pertama memakai SSH. Gambarkan segmennya dengan jujur: kuat dari klien ke bastion, dan apa pun yang didukung target setelahnya. Jika persyaratannya adalah seluruh jalur dienkripsi oleh satu mekanisme, penerusan tidak memenuhinya.

Autentikasi di target lagi-lagi terpisah. Akun SSH tidak memberikan login macOS, dan layanan berbagi layar tetap meminta kredensialnya sendiri dan tetap menerapkan daftar aksesnya sendiri. Pendengar lokal yang menerima koneksi tidak membuktikan apa pun tentang apakah layanan jauh akan menerima sesi itu.

Kapan VPN penuh adalah pilihan yang tepat

Pilih VPN ketika tugas membutuhkan lebih dari satu port: fungsi manajemen dan pelaporan Apple Remote Desktop memakai lalu lintas TCP dan UDP tambahan yang tidak bisa dibawa satu penerusan TCP. Penerusan bukan implementasi sebagian dari seluruh produk; itu alat lain yang lebih kecil.

Pilih VPN ketika beberapa administrator terhubung dari lokasi yang berubah, karena profil terkelola mendistribusikan rute, kredensial, dan kebijakan tanpa setiap orang menemukan baris perintahnya sendiri. Pilih VPN ketika jejak audit harus menunjukkan siapa terhubung ke apa, karena sesi SSH per pengguna dan penerusan lokal bersama meninggalkan catatan yang sangat berbeda.

Pilih VPN, akhirnya, ketika jaringan target tidak boleh dapat dijangkau dari laptop sama sekali tanpa gerbang organisasi sendiri. Penerusan pribadi melewati gerbang itu secara desain, dan itulah tepatnya alasan ia termasuk dalam catatan perubahan dan bukan riwayat shell.

Buat penerusan gagal dengan berisik

Gunakan ExitOnForwardFailure=yes agar pengikatan yang gagal menghentikan sesi, bukan meninggalkan shell yang tampak terhubung dan tidak meneruskan apa pun. Biarkan verifikasi kunci host menyala, dan utamakan kunci atau agen daripada kata sandi. Lalu uji URL persis yang akan dipakai penampil, karena sesi SSH yang bekerja dan koneksi layar yang bekerja adalah dua hasil berbeda.

Untuk klien asli di macOS, penampil dicapai melalui URL lokal: open "vnc://127.0.0.1:15900". Jika jendela terbuka dan host jauh menolak autentikasi, terowongannya baik dan masalahnya ada di target. Jika jendela tidak pernah terbuka, masalahnya ada di pendengar atau port.

Hentikan sesi ketika selesai, dan catat port, bastion, target, dan kebijakan akun. Penerusan yang tidak didokumentasikan siapa pun tidak bisa dibedakan dari pintu belakang enam bulan kemudian, dan itulah argumen terkuat untuk menjaganya kecil, bernama, dan sementara.

Artikel terkait