SoftEther ServerCertSet: import rantaian yang diperbaharui dengan vpncmd
Fail yang diperbaharui tidak mengubah identiti pelayan SoftEther. Import rantaian dengan ServerCertSet, cangkuk langkah penggunaan dan baca pendengar.
Certbot melaporkan pembaharuan yang berjaya, fail pada cakera membawa tarikh baharu, dan klien masih menemui identiti lama. SoftEther menyimpan sijil SSL pelayannya dalam konfigurasi peringkat pelayannya sendiri, jadi fail baharu pada cakera tidak mengubah apa-apa sehingga daun dan kuncinya diimport. Urutan di bawah merangkumi satu import manual, pembalut yang berjalan selepas setiap pembaharuan, dan semakan yang membaca apa yang sebenarnya dipersembahkan oleh pendengar. Setiap langkah meninggalkan bukti yang boleh anda bandingkan selepas pembaharuan seterusnya.
Fail yang diperbaharui tidak mengubah identiti pelayan
Pengeluaran dan penggunaan adalah peristiwa berasingan dengan mod kegagalan berasingan. Klien ACME menulis fail ke direktori keturunan dan merekodkan kejayaan; SoftEther terus menggunakan sijil yang terakhir dimuatkan ke dalam konfigurasinya. Jadi status keluar sifar menerangkan fail, bukan perkhidmatan, dan kedua-duanya boleh berbeza selagi tiada siapa melihat. Anggap import sebagai langkah penggunaan dan pembaharuan sebagai inputnya.
Perbezaan itu juga menjelaskan kegagalan separuh yang mengelirukan: sijil lama terus berfungsi sehingga tamat tempohnya, jadi pada mulanya tiada apa yang kelihatan rosak. Apabila ia tamat tempoh, semua klien gagal serentak, yang kelihatan seperti gangguan dan bukan langkah penggunaan yang terlepas. Menyemak identiti yang dipersembahkan selepas setiap pembaharuan menjadikan kejutan itu pemerhatian rutin.
Pilih cabaran yang sesuai dengan pendengar
Sijil mesti menamakan hos yang disahkan oleh klien, jadi gunakan nama DNS awam dan bukan label dalaman atau alamat. HTTP-01 memerlukan cabaran dijawab pada port 80 sebentar, yang merupakan pendengar sementara dan tidak pernah menjadi sebab untuk memindahkan port SoftEther sendiri. DNS-01 membuktikan kawalan melalui rekod dan tidak memerlukan HTTP masuk langsung.
Pembaharuan tanpa pengawasan bermaksud integrasi DNS automatik dengan kelayakan yang terhad kepada satu zon, bukan rekod TXT yang ditaip tangan setiap dua bulan. Kad liar mengubah jenis cabaran, bukan keperluan untuk automasi itu. Putuskan perkara ini sebelum sijil pertama wujud, kerana menukar jenis cabaran kemudian bermakna menyentuh konfigurasi klien dan tembok api sekali gus.
Jaga artifak dengan teratur semasa anda di sini. Daun dan sijil perantaraan datang sebagai fail berasingan dan sebagai satu fail rantaian gabungan, kunci peribadi berasingan semula, dan import memerlukan rantaian dengan kunci yang sepadan, bukan sijil awam sahaja.
Import rantaian pada peringkat pelayan
Buat sandaran konfigurasi pelayan dan pastikan anda masih boleh mencapai antara muka pengurusan sebelum menyentuh sijil. Sambung sebagai pentadbir pelayan dan bukan pentadbir Virtual Hub, kerana sijil itu milik objek pelayan. Kemudian muatkan rantaian dan kunci dengan laluan mutlak, daripada fail yang boleh dibaca oleh akaun yang menjalankan arahan. Perhatikan laluan itu mutlak kerana arahan menyelesaikannya daripada direktori kerja proses yang menjalankan vpncmd:
ServerCertSet /LOADCERT:/etc/letsencrypt/live/vpn.example.com/fullchain.pem /LOADKEY:/etc/letsencrypt/live/vpn.example.com/privkey.pemBaca output arahan dan jangan menganggap kejayaan, kemudian baca semula rantaian dan jangan percaya fail yang anda berikan. Sempadan antara binaan yang mengimport keseluruhan berkas PEM dan binaan yang hanya mengambil sijil pertama tidak didokumenkan di satu tempat, jadi semakan itulah yang menentukannya untuk binaan di hadapan anda. Kira sijil yang dipersembahkan oleh pendengar; daun tanpa perantaraan ialah tanda pengimport yang hanya menggunakan blok pertama.
Pastikan kunci yang diimport hanya boleh dibaca oleh akaun yang menjalankan pelayan, dan jauhkan kata laluan pengurusan daripada sejarah shell. Untuk import pertama ini, taip kata laluan pada gesaan dan jangan berikannya sebagai argumen arahan. Dua tabiat ini tidak berbelanja apa-apa dan menghapuskan cara paling biasa penggunaan sijil membocorkan sesuatu yang sepatutnya dilindunginya. Lakukan sebelum import pertama, bukan selepasnya.
Cangkuk penggunaan, bukan pembaharuan
Setelah import manual berjaya, letakkan langkah-langkah itu tepat dalam pembalut kecil dan panggilnya daripada klien ACME selepas pembaharuan yang berjaya. Certbot menetapkan RENEWED_LINEAGE dan RENEWED_DOMAINS untuk cangkuk itu, jadi pembalut boleh bertindak atas satu sijil pada mesin yang menguruskan beberapa. Tapis mengikut keturunan dan jangan bertindak balas terhadap setiap pembaharuan pada hos. Pembalut ialah kod penggunaan yang berjalan dengan keistimewaan pelayan, jadi semak semula seperti mana-mana skrip lain dalam kedudukan itu.
certbot renew --deploy-hook /usr/local/sbin/softether-deploy.shCangkuk yang berjalan tanpa pengawasan memerlukan stor kelayakan terlindungnya sendiri dan isyarat kegagalan yang sampai kepada manusia. Jika pengeluaran berjaya dan import gagal, cuba import semula dan jangan meminta sijil lain, kerana permintaan kedua menyembunyikan kecacatan penggunaan di sebalik fail baharu. Dokumentasi pembaharuan Certbot menyatakan dengan jelas bahawa jalanan yang tidak mengemas kini apa-apa ialah hasil biasa, jadi cangkuk itulah yang membezakan kedua-duanya.
Bandingkan rantaian yang dipersembahkan dengan fail
Baca pendengar, bukan cakera. Sambung ke port yang menghadap klien dengan nama pelayan yang digunakan oleh klien, kemudian bandingkan cap jari dan rantaian yang dihantar dengan keturunan yang dipasang oleh cangkuk. Dua arahan merangkuminya, dan yang pertama juga menunjukkan sama ada perantaraan tiba langsung:
openssl s_client -connect vpn.example.com:443 -servername vpn.example.com -showcerts </dev/null 2>/dev/null | grep -c 'BEGIN CERTIFICATE'
openssl s_client -connect vpn.example.com:443 -servername vpn.example.com </dev/null 2>/dev/null | openssl x509 -noout -subject -dates -fingerprint -sha256Kemudian buat sambungan klien baharu, kerana sesi yang didirikan sebelum import telah disahkan terhadap identiti sebelumnya dan tidak membuktikan apa-apa tentang yang baharu. Jika klien menyematkan daun lama, mereka memerlukan kemas kini terkoordinasi walaupun rantaian awam sah, dan tugas itu tergolong dalam runbook yang sama dengan pembaharuan. Proksi terbalik di hadapan perkhidmatan boleh mempersembahkan sijil yang baik sementara pendengar VPN masih memegang yang lama, dan itulah sebabnya semakan mesti menamakan port yang sebenarnya dicapai oleh klien. Catat cap jari di sebelah tarikh pembaharuan, supaya perbandingan seterusnya ialah semakan dan bukan tindakan mengingat.