CA dikongsi, pintu berasingan: satu perkhidmatan bagi setiap fail kemasukan
Sijil yang lulus semakan pihak berkuasa dikongsi bukan tiket ke setiap perkhidmatan. Kemasukan harus berada dalam fail setiap perkhidmatan yang dituntut oleh daemon.
Sijil yang disahkan terhadap pihak berkuasa dikongsi telah lulus ujian kepercayaan, bukan ujian keahlian. Kedua-dua keputusan ini sering dicampur kerana kedua-duanya berlaku semasa sambungan, dan pencampuran itu kekal tidak kelihatan sehingga seseorang yang tidak sepatutnya berada pada sesuatu perkhidmatan dimasukkan ke dalamnya. Pembetulannya bukan pihak berkuasa kedua; ia adalah keputusan kedua, dibuat bagi setiap perkhidmatan dan direkodkan di tempat daemon membacanya. Asingkan kedua-duanya dan sebahagian besar kekeliruan dalam bidang ini lenyap.
Rantaian yang dipercayai tidak berkata apa-apa tentang keahlian perkhidmatan
Dua perkhidmatan boleh menerima hierarki pengeluar yang sama dan masih mempunyai populasi berbeza. Satu komputer riba tergolong dalam yang pertama dan tidak boleh mencapai yang kedua, manakala pelanggan lain daripada hierarki yang sama memang tergolong di sana. Membuang pihak berkuasa daripada perkhidmatan itu akan mengunci semua yang menggunakannya secara sah, jadi kerjanya ialah kemasukan, bukan kepercayaan.
Ia membantu membayangkan dua mangga pada satu pintu. Sijil membuka mangga luar, dan keputusan bagi setiap perkhidmatan membuka mangga dalam; tiada satu menggantikan yang lain. Perkhidmatan yang hanya mempunyai mangga luar tidak menguatkuasakan keahlian langsung, ia hanya mengesahkan identiti. Tulis kedua-dua keputusan sebelum mengubah apa-apa, kerana dasar yang hanya wujud dalam bentuk sambungan yang berfungsi tidak boleh diaudit. Yang berikutnya berkaitan mangga dalam.
Jadikan penggantian pilihan sebagai pintu kemasukan
Direktori konfigurasi pelanggan biasanya satu kemudahan: fail di dalamnya menggantikan tetapan bagi pelanggan yang dinamakannya, dan pelanggan tanpa fail hanya berjalan dengan nilai lalai pelayan. Satu arahan menukar kemudahan itu menjadi pintu, sehingga fail yang tiada bermakna sambungan ditolak.
client-config-dir /etc/openvpn/service-a/clients
ccd-exclusive
Edisi komuniti OpenVPN 2.6 ccd-exclusive di halaman manualnya mendokumenkan tepat syarat ini, dan carian fail yang dinamakan bergantung pada identiti berkesan pelanggan. Binaan lain dan pelayan yang diuruskan produk mungkin berbeza, jadi sahkan versi yang dipasang sebelum bergantung pada semantik yang sama di tempat lain.
Anggap laluan di atas sebagai contoh dan periksa susun atur yang benar-benar digunakan dan bukan mencipta direktori yang direka oleh panduan. Biarkan semakan sijil, semakan identiti pelayan dan pengesahan akaun yang sedia ada tepat seperti sebelumnya, kerana serpihan ini menambah syarat dan tidak membuang apa-apa. Sediakan perubahan sebelum pengeluaran, kerana penolakan yang dibangkitkan pada tempat yang salah kelihatan seperti kegagalan sijil dan menghalakan siasatan kepada pihak berkuasa. Selepas itu sahkan bahawa baris log bagi pelanggan yang ditolak menamakan fail konfigurasi yang tiada dan bukan rantaian.
Satu direktori bagi setiap perkhidmatan, bukan satu senarai dikongsi
Keahlian milik perkhidmatan yang menguatkuasakannya, jadi setiap perkhidmatan menyimpan direktorinya sendiri dan failnya sendiri. Menghalakan dua perkhidmatan ke satu senarai membuatkan mereka berkongsi keahlian sama ada seseorang berniat begitu atau tidak, dan perubahan yang terhasil sukar dijejaki kembali kepada sesuatu keputusan. Pihak berkuasa dikongsi boleh kekal dikongsi; fail kemasukan tidak boleh. Menyimpannya berasingan juga bermakna kesilapan dalam satu perkhidmatan tidak boleh meluaskan yang lain secara senyap.
Entri DEFAULT ialah kes yang mengelirukan orang. Ia menyediakan tetapan sandaran apabila fail yang dinamakan tidak ditemui, tetapi ia bukan fail yang dinamakan yang dituntut oleh pintu itu, jadi ia tidak boleh memasukkan pelanggan secara bersendirian. Uji pelanggan yang langsung tiada entri dan sahkan penolakan itu; jika pelanggan itu dimasukkan, sandaran sedang digunakan dan ccd-exclusive tidak berkuat kuasa dalam contoh itu.
Identiti berkesan menentukan fail mana yang dibaca
Carian menggunakan identiti yang benar-benar digunakan pelanggan untuk pengesahan, yang biasanya nama umum sijil. Apabila pelayan juga mengesahkan nama pengguna dan kata laluan dan memetakan nama itu kepada nama umum, fail mesti sepadan dengan nama pengguna yang disahkan. Ketidakpadanan meninggalkan direktori penuh dengan nama fail yang munasabah tetapi tidak pernah dipilih.
Pembacaan ialah separuh yang lain. Daemon biasanya melepaskan keistimewaan selepas bermula, jadi akaun yang dikurangkan memerlukan akses baca ke direktori dan setiap entri di dalamnya. Pelanggan tidak boleh dapat mencipta entri mereka sendiri melalui mana-mana laluan yang boleh ditulis, kerana kemasukan layan diri membatalkan mekanisme itu sepenuhnya. Periksa kebenaran pelekap dan perkongsian dan bukan hanya mod fail, kerana direktori yang kelihatan tertutup bagi satu akaun boleh terbuka bagi yang lain. Kemudian sahkan akaun mana yang benar-benar digunakan oleh proses yang berjalan, bukan akaun mana yang disebut oleh fail unit. Kedua-duanya sama hanya apabila tiada apa-apa lain mengubahnya.
Perhatikan penolakan, kemasukan dan pembatalan secara berasingan
Cuba identiti yang tergolong dalam perkhidmatan itu dan sahkan ia bersambung. Cuba sijil sah tanpa entri dan sahkan ia ditolak. Cuba identiti yang dimasukkan ke perkhidmatan lain dan sahkan ia tidak dimasukkan di sini. Catat contoh perkhidmatan dan identiti berkesan di sebelah setiap hasil, kerana hasil tanpa konteks itu tidak dapat dihasilkan semula oleh orang lain.
Penarikan balik ialah operasi berasingan daripada pembatalan. Menyunting fail kemasukan membuang satu hak perkhidmatan sementara identiti kekal sah di tempat lain, manakala kunci yang terjejas memerlukan tindak balas pembatalan organisasi. Tentukan lebih awal apa yang berlaku kepada sesi yang sudah dibuka, kerana sama ada penyuntingan direktori atau senarai pembatalan tidak menamatkannya dengan sendirinya.
Kemasukan juga hanyalah pintu pertama. Menyertai perkhidmatan tidak berkata apa-apa tentang subnet, pangkalan data atau antara muka pengurusan di belakangnya, dan dasar sumber itu mesti ditulis dan diuji secara berasingan.