Mode kunci statis menghubungkan tepat dua rekan, dan itulah rancangannya, bukan batasan yang seseorang lupa mencabutnya. client-to-client adalah opsi penerusan mode server, jadi menambahkannya ke konfigurasi --secret tidak mengubah berapa banyak klien yang dapat terhubung. Keputusannya bukan opsi mana yang ditambahkan, melainkan apakah penerapan memerlukan tautan titik-ke-titik atau layanan banyak klien. Jika beberapa perangkat harus terhubung secara mandiri, mode perlindungan berubah dan setiap perangkat mendapatkan identitas.

Dua rekan, satu kunci, dan tanpa status per klien: bentuk itulah seluruh kisah mode ini.

Untuk apa mode kunci statis

Dalam mode rahasia kedua rekan berbagi satu berkas kunci, dan kunci itu melindungi lalu lintas secara langsung. Tidak ada jabat tangan, tidak ada pertukaran sertifikat, dan tidak ada sesi per klien, karena tidak ada klien dalam arti server, hanya dua titik akhir.

Mode ini tetap berguna untuk pasangan mesin tetap dengan proses rotasi kunci yang terdokumentasi, dan OpenVPN 2.6 menandainya usang justru karena mode TLS mencakup kasus-kasus itu dengan sifat yang lebih baik. Yang tidak dapat dilakukannya adalah membedakan satu perangkat yang terhubung dari yang lain, karena kepemilikan berkas adalah seluruh kisah autentikasi. Menambahkan perangkat ketiga berarti berbagi kunci yang sama dengannya, setelah itu dua perangkat pertama tidak lagi dapat membedakannya dari diri mereka sendiri.

Itulah sebabnya batas dua rekan bersifat struktural, bukan pengaturan yang dapat diubah.

Mengapa client-to-client bukan bagian yang hilang

client-to-client mengendalikan apakah klien yang terhubung boleh bertukar lalu lintas melalui server. Opsi ini tidak menerima klien, tidak memberikan identitas, dan tidak menciptakan mode server yang belum dikonfigurasi, dan dalam konfigurasi kunci statis tidak ada daftar klien yang dapat diaturnya.

Kebingungan umum lainnya menyangkut materi tls-crypt atau tls-auth. Server TLS dapat berbagi salah satu kunci itu di antara semua klien, karena kunci itu melindungi kanal kendali, bukan membuktikan siapa setiap klien. Kunci kanal kendali bersama dalam mode TLS adalah objek berbeda dari kunci data statis bersama, meskipun keduanya datang sebagai berkas yang tampak serupa.

Memilih di antara mode-mode itu bermuara pada dua pertanyaan. Apakah lebih dari satu perangkat perlu terhubung secara mandiri, dan apakah penerapan memerlukan pencabutan per perangkat? Jawaban tidak untuk keduanya membuat mode kunci statis tetap layak; jawaban ya untuk salah satunya mengarah ke TLS. Tidak ada pilihan ketiga di mana klien kedua diterima tanpa identitasnya sendiri.

Membangun server banyak klien

Server banyak klien memerlukan mode TLS, sertifikat sisi server, dan identitas per klien. Pembantu server menyiapkan kumpulan alamat dan mode banyak klien, tetapi tidak menyediakan konfigurasi TLS, jangkar kepercayaan, atau sertifikat klien yang membuat penerimaan bermakna.

Daftarkan setiap perangkat melalui otoritas sertifikat yang ada alih-alih menyalin kredensial satu klien. Identitas yang berbeda itulah yang memungkinkan pencabutan, perutean per klien, dan log yang berguna, dan satu sertifikat klien bersama meruntuhkan ketiganya.

Jika penerapan mengautentikasi pengguna melalui direktori eksternal atau faktor kedua, rancangan itu tetap seperti apa adanya. Beralih ke mode server TLS menentukan bagaimana rekan membuktikan diri di lapisan terowongan, dan itu tidak menentukan backend akun. Jaga kedua keputusan tetap terpisah agar perubahan pada yang satu tidak diam-diam mengubah yang lain.

Kemudian putuskan kebijakan penerusan secara sengaja. client-to-client mengaktifkan lalu lintas antar-klien di jalur server ruang pengguna, yang diinginkan banyak penerapan dan tidak boleh dimiliki sebagian. Ini sakelar kebijakan, bukan mekanisme identitas, dan harus dinyalakan karena rancangan menuntutnya, bukan karena tutorial memasukkannya.

Memeriksa bahwa klien benar-benar mandiri

Hubungkan dua klien dan pastikan keduanya menerima alamat berbeda dan muncul dengan identitas berbeda di log server. Lalu cabut satu dan pastikan yang lain tetap berfungsi, yang merupakan uji praktis bahwa identitas tidak dibagi.

Uji layanan yang diizinkan antar-rekan dan layanan yang harus tetap diblokir. Dua login berhasil membuktikan penerimaan, bukan isolasi, dan perbedaannya penting ketika penerapan seharusnya memisahkan kelompok pengguna.

Terakhir, baca mode server dari konfigurasi yang berjalan, bukan dari ingatan. Konfigurasi kunci statis dengan opsi tambahan tetap merupakan tautan titik-ke-titik, dan server TLS yang benar adalah satu-satunya susunan di mana beberapa klien benar-benar rekan yang terpisah.

Jika log menunjukkan satu nama umum untuk setiap perangkat, masalahnya bukan mode. Masalahnya adalah proses pendaftaran.

Artikel terkait