strongSwan send_cert: IKE сертификатыг хэзээ илгээдэг
send_cert нь peer өөрийн сертификатаа илгээх эсэхийг тодорхойлдог бол send_certreq нөгөө талаас үүнийг шаарддаг. Хүлээн авагчийн итгэлийг өөрчлөхөөс өмнө логыг шалгана уу.
Гарцууд сертификаттай холбоотой баталгаажуулалтын алдааг логт бичдэг бөгөөд эхний бодол нь хүлээн авагчид өөр нэг CA нэмэх байдаг. Энэ нь сертификат ирсэн бөгөөд татгалзсан гэж үздэг. Нөгөө боломж нь түүнийг хэзээ ч илгээгээгүй бөгөөд үүнийг илгээгчийн холболтын бодлого шийддэг. Итгэлийг өөрчлөхөөс өмнө хоёр тохиолдлын аль нь болсныг тогтооно уу.
send_cert үнэндээ юуг удирддаг
Сертификатаар баталгаажуулах нь нөгөө талын төгсгөлийн объектын сертификат IKE солилцоо эсвэл урьдчилсан бэлтгэлээр дамжин хүрэхийг шаарддаг. swanctl дотор холболтын тохиргоо send_cert нь энэ төгсгөлийн цэг өөрийн сертификатын ачааг оруулах эсэхийг тодорхойлдог: хэзээ ч, үргэлж эсвэл ifasked. Анхдагч ifasked үүнийг peer-ээс ирсэн сертификатын хүсэлтэд хариу болгон илгээдэг. Сертификат хүсэх нь тусдаа тохиргоо, учир нь нөгөө талаас түүний сертификатыг хүсэх нь өөрийнхөө санал болгохтой ижил биш.
Хуучин ipsec.conf байршуулалтууд leftsendcert болон rightsendcert ашигладаг байсан бөгөөд эдгээр нэр нь орон нутгийн болон алсын үүрэгт хамаарах бөгөөд swanctl-д шууд биш.
Холболтыг өөрчлөхөөс өмнө нэг оролдлогыг уншина уу
Нэг хяналттай оролдлогоос диагноз тавь, сертификат оролцож байна гэсэн ерөнхий сэтгэгдлээс биш. Бодлого болон идэвхтэй холбоог хоёуланг нь үзэж болно.
swanctl --list-conns
swanctl --list-sas
journalctl -u strongswan --since "10 min ago" | grep -iE "cert|CERT"
Холболтын жагсаалт тохируулсан send_cert утгыг, SA-ийн жагсаалт аль холболтууд үнэхээр боссныг харуулна. Лог нь хэлэлцээрийн дэлгэрэнгүйг нэмдэг: сертификатын хүсэлт ирсэн эсэх, сертификатын ачаа гарсан эсэх. Ерөнхий баталгаажуулалтын алдаа нь хүргэлтийн асуудлыг заадаггүй тул дүгнэлт хийхээс өмнө тодорхой солилцоог хайна уу. Оролдлогын цагийн тэмдэглэгээг бичээрэй, логны цонх бүх гар барилтыг хамарна.
Хүлээн авагчийн итгэл бол тусдаа шийдвэр
Хүргэлт ба итгэл нь өөр өөр шинж чанар бөгөөд нэгийг засах нь нөгөөг засдаггүй. Хүлээн авагч нь зорьсон итгэлийн зангууг эзэмшиж, ашиглах боломжтой гинжийг хүлээн авч, хүлээгдэж буй peer-ийн таних тэмдэгтэй тохирох ёстой. Өөрийн завсрын сертификатгүй ирсэн төгсгөлийн объектын сертификат хатуу гинжин шалгалтад орсоор унадаг. Харин CA суулгах нь peer-ийг сертификатаа огт илгээхийг албаддаггүй.
openssl x509 -in peer-chain.pem -noout -subject -issuer -dates
Шалгалт нь сертификатыг аль олгогч гарын үсэг зурсан, хэзээ дуусахыг харуулдаг бөгөөд хүлээн авагчийн зангуу үүнд тохирох ёстой. Байршуулалтад хамаарах олгогч CA-д итгэ, гинжин дэх завсрын сертификат бүрт биш, учир нь завсрын сертификат бүрийг үндэс болгон дээшлүүлэх нь итгэлийг нэг peer-ээс хамаагүй өргөн болгодог. Таних тэмдгийн баталгаажуулалтыг идэвхтэй байлга, учир нь зөвхөн баталгаажуулалт унтарсан үед амжилттай болдог холболт бол засвар биш. Гинж бүрэн бус газарт бэлтгэлийг зас, илгээгчийн бодлогыг биш.
Илгээгчийг зөвхөн нотолгоотой өөрчил
Лог нь сертификатыг хэзээ ч илгээгээгүй, харин хүлээн авагч үүнийг үнэхээр шаардсаныг харуулбал send_cert-ийн always утга нь тухайн холболтын хувьд үндэслэлтэй өөрчлөлт юм. Үүнийг swanctl тохиргоонд хэрэглэж, холболтуудыг дахин ачаалж, одоо байгаа SA-г дахин ашиглахын оронд шинэ сесс үүсгэ. Сертификатын ачаа одоо гарч байгаа, хүлээн авагч үүнийг зорьсон зангуутай харьцуулан хүлээн зөвшөөрч байгааг батал. Юу ч өөрчлөгдөхгүй бол алдаа итгэлийн талд байсан бөгөөд илгээгчийн тохиргоо шалтгаан болоогүй.
Ажиглагдсан солилцоо, зангуу болон түүнээс гарах баталгаажуулалтыг өөрчлөлтийн бүртгэлд бич. Эдгээр нэр томъёогоор тайлбарлах боломжгүй сертификатын засвар бол санамсаргүй тохиол.