Brány logujú chyby overovania súvisiace s certifikátmi a prvým impulzom je pridať príjemcovi ďalšiu CA. To predpokladá, že certifikát dorazil a bol odmietnutý. Druhou možnosťou je, že nebol nikdy odoslaný, a to určuje politika pripojenia odosielateľa. Pred zmenou dôvery zistite, ktorý z oboch prípadov nastal.

Čo send_cert skutočne riadi

Overovanie certifikátom vyžaduje, aby sa certifikát koncového subjektu protistrany dostal na druhú stranu cez výmenu IKE alebo cez skoršie zriadenie. V swanctl nastavenie pripojenia send_cert určuje, či tento koncový bod prikladá svoj certifikátový obsah: nikdy, vždy alebo ifasked. Predvolené ifasked ho odošle ako odpoveď na žiadosť o certifikát od protistrany. Žiadosť o certifikát je samostatné nastavenie, pretože požiadať druhú stranu o jej certifikát nie je to isté ako ponúknuť ten svoj.

Staršie nasadenia ipsec.conf používali leftsendcert a rightsendcert a tieto názvy zodpovedajú miestnym a vzdialeným rolám, nie priamo swanctl.

Prečítajte si jeden pokus pred zmenou pripojenia

Diagnostikujte z jedného riadeného pokusu, nie zo všeobecného dojmu, že ide o certifikáty. Prezrieť možno aj politiku, aj aktívnu asociáciu.

swanctl --list-conns
swanctl --list-sas
journalctl -u strongswan --since "10 min ago" | grep -iE "cert|CERT"

Zoznam pripojení ukazuje nakonfigurovanú hodnotu send_cert a zoznam SA ukazuje, ktoré pripojenia skutočne vznikli. Log dopĺňa podrobnosti vyjednávania: či dorazila žiadosť o certifikát a či odišiel certifikátový obsah. Všeobecná chyba overovania neukazuje na problém s doručením, preto pred akýmkoľvek záverom nájdite konkrétnu výmenu. Zaznamenajte časovú značku pokusu, aby okno logu pokrylo celé nadväzovanie.

Dôvera príjemcu je samostatné rozhodnutie

Doručenie a dôvera sú rôzne vlastnosti a oprava jednej neopraví druhú. Príjemca musí mať zamýšľaný koreň dôvery, prijať použiteľnú reťaz a zodpovedať očakávanej identite protistrany. Certifikát koncového subjektu, ktorý dorazí bez svojho sprostredkujúceho certifikátu, stále neprejde prísnou kontrolou reťaze. Naopak, inštalácia CA protistranu vôbec nenúti svoj certifikát odoslať.

openssl x509 -in peer-chain.pem -noout -subject -issuer -dates

Kontrola ukazuje, ktorý vydavateľ certifikát podpísal a kedy vyprší, a tomu musí zodpovedať koreň dôvery príjemcu. Dôverujte vydávajúcej CA, ktorú nasadenie vlastní, nie každému sprostredkujúcemu certifikátu v reťazi, pretože povýšenie každého sprostredkujúceho certifikátu na koreň rozširuje dôveru ďaleko za jednu protistranu. Ponechajte overovanie identity aktívne, pretože pripojenie, ktoré uspeje len s vypnutou validáciou, nie je oprava. Kde je reťaz neúplná, opravte zriadenie, nie politiku odosielateľa.

Meňte odosielateľa len s dôkazmi

Keď log ukáže, že certifikát nebol nikdy odoslaný a príjemca oň skutočne požiadal, je send_cert na always oprávnenou zmenou pre to pripojenie. Použite ju v konfigurácii swanctl, znovu načítajte pripojenia a vytvorte novú reláciu, namiesto opätovného použitia existujúceho SA. Potvrďte, že sa certifikátový obsah teraz objaví a že ho príjemca prijme voči zamýšľanému koreňu. Ak sa nič nezmení, chyba bola napokon na strane dôvery a nastavenie odosielateľa nebolo príčinou.

Zapíšte pozorovanú výmenu, koreň a výsledné overenie do záznamu zmien. Oprava certifikátu, ktorú nemožno opísať týmito pojmami, je náhoda.

Súvisiace články