SoftEther ServerCertSet: жаңартылған тізбекті vpncmd арқылы импорттау
Жаңартылған файл SoftEther серверінің бірегейлігін өзгертпейді. Тізбекті ServerCertSet арқылы импорттап, орналастыру қадамын іліп, тыңдаушыны оқыңыз.
Certbot сәтті жаңарту туралы хабарлайды, дискідегі файлдарда жаңа күндер бар, ал клиенттер әлі күнге дейін ескі бірегейлікке тап болады. SoftEther өзінің SSL сервер сертификатын өзінің сервер деңгейіндегі конфигурациясында ұстайды, сондықтан дискідегі жаңа файл жапырақ пен оның кілті импортталмайынша ештеңені өзгертпейді. Төмендегі реттілік бір қолмен импорттауды, әр жаңартудан кейін іске қосылатын қаптаманы және тыңдаушы шын мәнінде нені ұсынатынын оқитын тексеруді қамтиды. Әр қадам келесі жаңартудан кейін салыстыруға болатын дәлелдер қалдырады.
Жаңартылған файл сервердің бірегейлігін өзгертпейді
Беру және орналастыру — бөлек сәтсіздік режимдері бар бөлек оқиғалар. ACME клиенті файлдарды шежіре каталогына жазып, сәттілікті тіркейді; SoftEther конфигурациясына соңғы жүктелген сертификатты қолдануды жалғастырады. Сондықтан нөлдік шығу күйі файлдарды сипаттайды, қызметті емес, және ешкім қарамағанша бұл екеуі алшақ болуы мүмкін. Импортты орналастыру қадамы, ал жаңартуды оның кірісі деп қараңыз.
Бұл айырмашылық шатастыратын жартылай сәтсіздікті де түсіндіреді: ескі сертификат мерзімі біткенше жұмыс істейді, сондықтан әуелде ештеңе сынған болып көрінбейді. Мерзімі біткенде барлық клиенттер бір уақытта сәтсіздікке ұшырайды, бұл өткізіп жіберілген орналастыру қадамы емес, үзіліс сияқты көрінеді. Әр жаңартудан кейін ұсынылған бірегейлікті тексеру сол тосынсыйды күнделікті бақылауға айналдырады.
Тыңдаушыға сай келетін сынақты таңдаңыз
Сертификат клиенттер тексеретін хостты атауы керек, сондықтан ішкі белгі немесе мекенжай орнына жария DNS атауын қолданыңыз. HTTP-01 сынаққа 80 портында бір сәт жауап беруді талап етеді, бұл уақытша тыңдаушы және ешқашан SoftEther-дің өз портын жылжытуға себеп емес. DNS-01 басқаруды жазба арқылы дәлелдейді және кіріс HTTP-ны мүлдем қажет етпейді.
Қадағалаусыз жаңарту бір аймаққа шектелген тіркелгі деректерімен автоматтандырылған DNS интеграциясын білдіреді, әр екі айда қолмен терілетін TXT жазбасын емес. Қамшы белгісі сынақ түрін өзгертеді, сол автоматтандыру қажеттілігін емес. Мұны бірінші сертификат пайда болғанға дейін шешіңіз, өйткені сынақ түрін кейін өзгерту клиент конфигурациясы мен брандмауэрге бірге қол тигізуді білдіреді.
Осында болғанша артефактілерді ретте ұстаңыз. Жапырақ пен аралық сертификаттар бөлек файлдар және бір біріктірілген тізбек файлы ретінде келеді, жеке кілт тағы бөлек, ал импортқа өзінің сәйкес кілті бар тізбек қажет, жалғыз жария сертификат емес.
Тізбекті сервер деңгейінде импорттаңыз
Сертификатқа қол тигізбес бұрын сервер конфигурациясының сақтық көшірмесін жасап, басқару интерфейсіне әлі жете алатыныңызды растаңыз. Virtual Hub әкімшісі ретінде емес, сервер әкімшісі ретінде қосылыңыз, өйткені сертификат сервер нысанына тиесілі. Содан кейін тізбек пен кілтті абсолютті жолмен, команданы іске қосатын тіркелгі оқи алатын файлдардан жүктеңіз. Жолдар абсолютті, өйткені команда оларды vpncmd іске қосқан процестің жұмыс каталогынан шешеді:
ServerCertSet /LOADCERT:/etc/letsencrypt/live/vpn.example.com/fullchain.pem /LOADKEY:/etc/letsencrypt/live/vpn.example.com/privkey.pemСәттілікті болжаудың орнына команданың шығысын оқыңыз, содан кейін өткізген файлға сенудің орнына тізбекті қайта оқыңыз. Толық PEM бумасын импорттайтын құрылымдар мен тек бірінші сертификатты алатын құрылымдар арасындағы шекара бір жерде құжатталмаған, сондықтан алдыңыздағы құрылым үшін мәселені тексеру шешеді. Тыңдаушы ұсынатын сертификаттарды санаңыз; аралықсыз жапырақ тек бірінші блокты жұмсаған импорттаушының қолтаңбасы.
Импортталған кілтті тек серверді іске қосатын тіркелгі үшін оқылатын етіп ұстаңыз, ал басқару құпиясөзін shell тарихынан тыс ұстаңыз. Осы бірінші импортта құпиясөзді команда аргументі ретінде берудің орнына сұрау кезінде теріңіз. Бұл екі әдет ештеңеге тұрмайды және сертификат орналастырудың қорғауға тиіс нәрсені жария етуінің ең кең тараған жолын жояды. Мұны бірінші импорттан бұрын жасаңыз, кейін емес.
Орналастыруды іліп қойыңыз, жаңартуды емес
Қолмен импорттау жұмыс істеген соң, дәл сол қадамдарды кішкентай қаптамаға салып, сәтті жаңартудан кейін оны ACME клиентінен шақырыңыз. Certbot ілгек үшін RENEWED_LINEAGE және RENEWED_DOMAINS айнымалыларын орнатады, сондықтан қаптама бірнеше сертификатты басқаратын машинада бір сертификатқа әрекет ете алады. Хосттағы әр жаңартуға әрекет етудің орнына шежіре бойынша сүзіңіз. Қаптама сервердің артықшылықтарымен жұмыс істейтін орналастыру коды, сондықтан оны сол орындағы кез келген басқа скрипт сияқты қарап шығыңыз.
certbot renew --deploy-hook /usr/local/sbin/softether-deploy.shҚадағалаусыз жұмыс істейтін ілгекке өзінің қорғалған тіркелгі деректер қоймасы және адамға жететін сәтсіздік сигналы қажет. Егер беру сәтті болып, импорт сәтсіз болса, басқа сертификат сұраудың орнына импортты қайталаңыз, өйткені екінші сұрау орналастыру ақауын жаңа файлдың артына жасырады. Certbot жаңарту құжаттамасы ештеңені жаңартпайтын іске қосу қалыпты нәтиже екенін анық айтады, сондықтан екеуін ажырататын нәрсе — ілгек.
Ұсынылған тізбекті файлмен салыстырыңыз
Дискіні емес, тыңдаушыны оқыңыз. Клиенттер қолданатын сервер атауымен клиентке қараған портқа қосылыңыз, содан кейін саусақ ізін және жеткізілген тізбекті ілгек орнатқан шежіремен салыстырыңыз. Мұны екі команда қамтиды, ал біріншісі аралықтардың мүлдем келетінін де көрсетеді:
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 -sha256Содан кейін жаңа клиент қосылымын жасаңыз, өйткені импортқа дейін орнатылған сессиялар алдыңғы бірегейлікке қарсы аутентификацияланған және жаңасы туралы ештеңе дәлелдемейді. Егер клиенттер ескі жапырақты бекітсе, жария тізбек жарамды болса да оларға үйлестірілген жаңарту қажет, және бұл тапсырма жаңартумен бір runbook-қа жатады. Қызметтің алдындағы кері прокси жақсы сертификат ұсынуы мүмкін, ал VPN тыңдаушысы әлі ескісін ұстайды, сондықтан тексеру клиенттер шын мәнінде жететін портты атауы керек. Саусақ ізін жаңарту күнінің қасына жазыңыз, келесі салыстыру есте сақтау әрекеті емес, тексеру болсын.