Layanan Onion versus layanan VPN: model akses yang berbeda
Alamat Onion terikat pada kunci layanan dan dijangkau di dalam Tor; VPN memberi rute ke gateway. Bandingkan audiens, penemuan, dan autentikasi aplikasi.
Orang menggambarkan layanan Onion dan layanan yang hanya bisa diakses lewat VPN sebagai dua ragam dari gagasan yang sama: sembunyikan port, bagikan alamat rahasia. Keduanya berbeda dalam hal apa alamat itu terikat, siapa yang bisa menjangkaunya, dan apa yang harus terjadi sebelum permintaan tiba. Yang satu adalah titik temu di dalam Tor, yang lain adalah rute di dalam jaringan privat. Memperlakukannya sebagai hal yang bisa saling menggantikan menghasilkan rancangan yang tidak privat dan tidak terpelihara.
Mitos: kedua rancangan hanyalah pintu tersembunyi
Sifat bersamanya nyata tetapi tipis: tidak ada rancangan yang menaruh antarmuka administratif pada port publik yang bisa dijangkau langsung. Semua sisanya berbeda. Alamat Onion diturunkan dari kunci layanan itu sendiri, jadi nama terikat pada identitas; alamat VPN hanyalah alamat di dalam jaringan tempat Anda diterima. Yang satu menyembunyikan layanan di dalam lapisan tambahan, yang lain menerima Anda ke topologi privat. Menganggap yang kedua sebagai sinonim yang pertama adalah awal kebingungannya.
Tidak satu pun sifat itu menjadi kendali keamanan bagi aplikasinya sendiri. Lokasi tersembunyi tidak menambal perangkat lunak di belakangnya, dan rute privat tidak menambahkan autentikasi ke halaman masuk. Kedua rancangan tetap membutuhkan izin aplikasi itu sendiri, dan keduanya tetap membutuhkan seseorang yang bertanggung jawab atas pembaruan dan pemulihan.
Ke apa alamat Onion sebenarnya menunjuk
Alamat Onion versi v3 mengodekan kunci publik layanan, karena itu tidak ada yang bisa memilih alamat untuk layanan yang tidak dikendalikannya. Klien terhubung lewat Tor ke titik temu, dan layanan mencapai titik yang sama dari sisinya; tidak ada node keluar biasa yang membawa koneksi itu ke layanan. Nama adalah identitas, bukan catatan DNS.
dig +short example.onion
curl --socks5-hostname 127.0.0.1:9050 http://example.onion/
systemctl status tor
Karena itu menambahkan rute atau entri hosts untuk nama onion tidak berguna. Pencarian bukan mekanismenya; klien Tor dan sirkuitnya adalah mekanismenya. Jika layanan ditujukan untuk sekelompok kecil orang, otorisasi klien onion bisa menuntut kunci sebelum koneksi diterima, tetapi itu tetap bukan login aplikasi. Menerbitkan alamat juga tindakan sengaja, sebab siapa pun yang mempelajarinya bisa mencoba koneksi kecuali Anda membatasinya.
Berhentilah jika satu-satunya alasan rancangan onion adalah menghindari penyiapan autentikasi. Lapisan tambahan tidak menyediakannya, dan Anda akan membangunnya nanti juga.
Apa yang sebenarnya diberikan rute VPN
VPN menerima perangkat ke dalam jaringan dan memberinya rute ke gateway atau subnet. Layanan di belakang gateway itu melihat alamat dari kumpulan terowongan dan menerapkan otorisasi yang dimilikinya. Rute tidak mengatakan apa pun tentang siapa penggunanya; rute mengatakan ke mana paket boleh pergi.
ip route get 10.20.30.40
wg show
curl -sv https://files.internal.example/ -o /dev/null
Model itu cocok untuk kelompok yang dikenal dengan perangkat terkelola, karena gateway dapat menegakkan keadaan perangkat dan jaringan dapat diaudit. Model itu kurang cocok untuk pengunjung anonim atau ad hoc, yang harus didaftarkan lebih dahulu. Login aplikasi itu sendiri tetap yang menentukan apa yang boleh dibaca pengguna yang terhubung. Mencampuradukkan keterjangkauan dengan izin adalah cara VPN akhirnya memberi seluruh subnet kepada siapa pun yang bisa terhubung.
Berhentilah jika audiensnya tidak dikenal atau terus berubah. Mendaftarkan orang asing ke jaringan privat untuk menunjukkan satu halaman adalah komitmen besar dibandingkan menerbitkan layanan.
Memilih di antara keduanya, dan apa yang tetap sama
Pilih model onion ketika audiensnya teknis, layanan tidak boleh punya alamat publik sama sekali, dan Anda dapat menerima persyaratan klien Tor. Pilih model VPN ketika audiensnya kelompok tertentu yang perangkatnya Anda kelola dan aksesnya ingin Anda catat di lapisan jaringan. Tidak ada pilihan yang menghapus kebutuhan autentikasi aplikasi, penambalan, atau jalur pemulihan. Tidak ada yang otomatis lebih privat dalam arti yang penting bagi pengguna Anda.
Pada kedua rancangan, catat siapa yang bisa menjangkau layanan, bagaimana mereka diidentifikasi, dan apa yang terjadi ketika kredensial hilang. Jawaban untuk layanan onion mencakup kunci otorisasi klien dan alamatnya sendiri; jawaban untuk VPN mencakup akun, perangkat, dan kebijakan gateway. Itu daftar inventaris yang berbeda, dan hanya satu di antaranya akan jelas bagi administrator berikutnya.
Perbandingan berakhir di tempat aplikasi dimulai. Alamat tersembunyi dan rute privat adalah pilihan transportasi, dan aplikasi tetap harus memutuskan apa yang boleh dilakukan sebuah permintaan. Simpan keputusan itu dalam dokumen terpisah dan tak satu pun rancangan akan diam-diam menyerap pekerjaan yang lain.