Salin profil ke tablet, sambung, dan komputer riba terputus. Tambah duplicate-cn, kedua-duanya kekal bersambung, dan masalah kelihatan selesai sehingga kedua-dua peranti berebut alamat terowong yang sama atau satu tablet yang hilang membawa seluruh akaun luar talian. Pilihan ini mengubah satu perkara dan satu perkara sahaja: sama ada pelayan membenarkan sesi kedua di bawah nama yang sudah dilihatnya. Semua yang orang harapkan ia betulkan, daripada kebebasan peranti hingga pengalamatan setiap peranti dan pembatalan terpilih, masih dilakukan melalui identiti, dan identiti di sini ialah sijil.

Mitos: sesi kedua ialah identiti kedua

Intuisinya ialah dua sambungan mesti dua klien, dan dua klien sepatutnya dua peranti dengan hak masing-masing. Pelayan tidak memodelkannya begitu. Ia melihat satu nama umum, dan dengan duplicate-cn diaktifkan ia menerima lebih daripada satu sesi hidup yang membawa nama itu, dan setiap satu mendapat keadaan sesinya sendiri dalam daemon.

Tiada apa-apa dalam penerimaan itu menyentuh pengesahan sijil. Sijil yang sama masih menjadi kelayakan, kunci yang sama masih menjadi kunci peribadi, dan mana-mana dasar yang berasaskan subjek sijil masih diselesaikan kepada nilai yang sama dua kali. Sesi kedua ialah soket kedua, bukan identiti kedua.

Perbezaan itu tidak kelihatan selagi semuanya berfungsi. Ia menjadi sangat ketara pada saat anda perlu membezakan kedua-dua peranti, yang biasanya merupakan hari salah satunya hilang.

Apa yang benar-benar berubah apabila dua sesi berkongsi nama

Tanpa pilihan ini, sambungan baharu di bawah nama umum yang sudah bersambung menyingkirkan sesi terdahulu. Itulah sebabnya komputer riba terputus apabila tablet bersambung, dan ia ialah penghalang kekaburan yang disengajakan, bukan pepijat. Dengan pilihan ini, kedua-dua sesi kekal hidup dan pelayan menjejakinya secara berasingan mengikut sesi, bukan mengikut peranti.

Setiap sesi masih mendapat sambungan luarnya sendiri dan kuncinya yang dirundingkan sendiri, jadi daya pengeluaran serentak benar-benar serentak. Yang mereka kongsi ialah segala yang diterbitkan daripada kelayakan: carian dasar, konfigurasi khusus klien, identiti dalam log dan pembatalan. Keadaan sesi milik sambungan dan mati bersamanya, manakala fakta peringkat kelayakan kekal untuk kedua-duanya. Itulah sebabnya output status boleh menyenaraikan nama yang sama dua kali sementara pembilangnya kekal berasingan.

Sahkan apa yang binaan anda benar-benar lakukan sebelum mereka bentuk berdasarkannya, kerana kesan pilihan ditentukan oleh pilihan itu sendiri dan bukan oleh cerita rakyat:

grep -n 'duplicate-cn\|client-config-dir\|username-as-common-name' /etc/openvpn/server.conf

Alamat statik yang anda sangka telah anda tetapkan

Konfigurasi setiap klien dicari mengikut nama, dan di situlah perangkapnya. Fail client-config-dir yang dinamakan sempena nama umum terpakai kepada setiap peranti yang menggunakan nama itu, jadi ifconfig-push di dalamnya memberikan kedua-dua peranti alamat terowong yang sama. Sesi kedua sama ada gagal terbentuk atau berlanggar dengan cara yang kelihatan seperti kerosakan penghalaan.

Kolam dinamik berkelakuan lebih baik secara kebetulan, kerana setiap sesi diperuntukkan alamat daripada kolam secara berasingan. Itu masih tidak memberi anda alamat stabil setiap peranti, dan sudah tentu tidak memberi anda dasar setiap peranti yang terikat pada alamat itu.

Jika penggunaan menggunakan username-as-common-name, kunci carian menjadi nama pengguna yang disahkan dan bukan subjek sijil, dan perlanggaran yang sama berlaku kepada sesiapa yang log masuk dua kali. Nama yang memacu konfigurasi mesti unik bagi setiap peranti agar konfigurasi setiap peranti bermakna.

Apa yang tidak boleh dilakukan oleh identiti dikongsi semasa pembuangan

Pembatalan bertindak pada sijil, bukan pada nama paparan dan bukan pada sesi. Batalkan sijil itu dan setiap peranti yang memegang salinan kehilangan akses serta-merta, termasuk yang berada di pejabat yang tiada siapa mahu ganggu. Kekalkannya dan peranti yang hilang terus berfungsi, kerana tiada apa-apa dalam protokol membezakannya daripada salinan yang diluluskan.

Log mewarisi kekaburan yang sama. Output status menunjukkan satu nama umum dan satu alamat sebenar, dan kedua-duanya boleh menjadi milik mana-mana satu daripada dua peranti itu. Semakan insiden yang perlu tahu mesin mana melakukan apa tidak dapat menjawab soalan itu daripada rekod VPN sendiri, seberapa terperinci pun aras log diberikan.

Tiada jalan pintas kriptografi untuk ini. Dua peranti yang mengemukakan sijil yang sama, bagi pelayan, ialah peserta yang sama dua kali, dan mana-mana skema yang berpura-pura sebaliknya ialah konvensyen penamaan, bukan kawalan.

Bila perkongsian itu betul, dan bagaimana mengehadkannya

Perkongsian mempunyai kegunaan yang sah: akaun makmal yang digunakan oleh beberapa mesin ujian, atau isi rumah yang perantinya diurus bersama dan kehalusan pembatalan tidak penting. Dalam kes itu, aktifkan pilihan ini secara sengaja, jauhkan kelayakan yang dikongsi daripada dasar setiap peranti, dan beri ruang kepada kolam supaya sesi tidak berlanggar pada satu alamat.

Bagi apa-apa yang memerlukan alamat berasingan, log berasingan atau pembuangan berasingan, keluarkan sijil berasingan melalui laluan pendaftaran biasa. Itu memberikan setiap sistem hiliran objek tersendiri untuk dijadikan asas, dan pilihan ini tidak lagi penting kerana namanya sudah unik.

Laluan mana pun yang anda pilih, uji model pengurusan dan bukan log masuk. Sambungkan kedua-dua peranti, sahkan keduanya memegang alamat berbeza, kemudian simulasikan kehilangan dan periksa sama ada anda boleh membuang tepat satu daripadanya. Manual openvpn(8) menetapkan skop pilihan; prosedur pembuangan andalah yang menetapkan sama ada perkongsian itu benar-benar boleh diterima.

Artikel berkaitan