remote-cert-tls server: OpenVPN профайлд юуг шалгадаг вэ
Энэ заавар нь эсрэг талын сертификатад кодлогдсон үүргийг шалгадаг, нэрийг нь биш. Ямар нэг зүйлийг идэвхгүй болгохын өмнө үүрэг, итгэлцлийн зангуу, хост нэрийн шалгалтыг харьцуулна уу.
OpenVPN профайлын гурван өөр хэсэг гурван өөр асуултад хариулдаг бөгөөд тэдгээрийг хольж нийлүүлэх нь хүмүүсийг ажиллаж байсан шалгалтыг унтраахад хүргэдэг. Эсрэг талын сертификат миний итгэдэг байгууллагаар гарын үсэг зурсан уу? Тэр сертификат TLS серверийн үүргийг зарлаж байна уу? Энэ нь би хүрэхийг хүссэн тэр сервер мөн үү? remote-cert-tls server зөвхөн дунд асуултад хариулдаг бөгөөд үүнийг сертификат доторх өргөтгөлүүдийг уншиж хийдэг.
Толгойд хольж нийлүүлэхэд хялбар гурван шалгалт
Итгэлцлийн зангуу ca зааварт оршдог. Үүргийн шалгалт remote-cert-tls зааварт хамаарна. Биеийн байдлын шалгалт verify-x509-name зааварт хамаарна, профайл үүнийг ашиглах үед, эсвэл байршуулалтын нэмдэг аливаа нэрийн шалгалтад.
Тэд өөр өөр алдааг хамардаг:
| Question | Directive | Failure it catches |
|---|---|---|
| Who signed this? | ca | Certificate from an unrelated authority |
| Is this a server? | remote-cert-tls | Client certificate presented by a peer |
| Is this my server? | verify-x509-name | Another valid server from the same CA |
Профайл гурвыг бүгдийг нь агуулж болох бөгөөд CA хэт өргөн хуваалцвал сул хэвээр байж болно, энэ нь зааврын биш, түлхүүрийн удирдлагын асуудал.
Үүргийн шалгалт юу уншдаг вэ
Заавар нь макро юм. Энэ нь түлхүүр ашиглах шаардлага болон TLS вэб серверийн үүргийг нэрлэсэн өргөтгөсөн түлхүүр ашиглах шаардлага болж тэлдэг тул эсрэг талын сертификат тэр зорилгыг үнэхээр зарлах ёстой. Клиентийн баталгаажуулалтад олгогдсон сертификат үүнийг хангахгүй, тэр ч байтугай ижил байгууллага хоёуланд нь гарын үсэг зурсан ч.
Энэ нь чухал, учир нь хуваалцсан CA жижиг байршуулалтад түгээмэл байдаг. Нэг байгууллага клиент бүр болон серверт гарын үсэг зурдаг бөгөөд үүргийн шалгалтгүйгээр тэр сертификатуудын аль нь ч гар барилтын сервер талыг гүйцээж чадна. Шалгалт нь тэр хувилбарыг боломжгүй болгодоггүй, гэхдээ түүний өчүүхэн хувилбарыг арилгадаг.
Заавар нь дизайнаараа тэгш бус: клиентүүд remote-cert-tls server агуулдаг, серверүүд remote-cert-tls client агуулдаг. Тэдгээрийг сольсон бол холболт бүр эвдэрсэн сертификат мэт харагдах үүргийн алдаатайгаар бүтэлгүйтнэ.
Хуучин профайлууд заримдаа ижил зорилгоор ns-cert-type ашигладаг. Одоогийн гарын авлагын хуудсууд тэр сонголтыг орлуулсан гэж үздэг тул одоо ч түүнд тулгуурлаж буй профайлыг дибаг хийхээс илүү шилжүүлэх нь зүйтэй.
Яагаад үүнийг идэвхгүй болгох нь засвар мэт санагддаг вэ
Үүргийн шалгалт бүтэлгүйтэх үед холболт баталгаажуулалтын алдаатай зогсдог бөгөөд илэрхий алхам нь мөрийг устгах юм. Дараа нь холболт босч, энэ нь ахиц мэт санагдаж, үнэндээ зааврын сэргийлэхээр оршдог бүтэлгүйтлийн горим юм. Одоо та тэр үүрэгт зориулагдаагүй сертификаттай эсрэг талыг хүлээн авч байна.
Оронд нь алдааг уншаарай. Энэ нь бүтэлгүйтсэн шалгалтыг нэрлэдэг бөгөөд нөгөө талын сертификатыг шалгаж үнэхээр ямар өргөтгөл агуулж байгааг харж болно. Хоёр минут унших нь алдаа олголтод уу, тохиргоонд уу гэдгийг шийддэг. Таамаглах нь хагас өдөр зарцуулж, ихэвчлэн суларсан профайлаар төгсдөг. Өргөтгөсөн түлхүүр ашиглалтаа алдсан шинэчлэгдсэн серверийн сертификат нь шинэчлэл дэх жинхэнэ алдаа бөгөөд клиентийг сулруулах шалтгаан биш.
Нэрийн шалгалт нь тусдаа заавар
Үүргийн шалгалтыг хангах нь эсрэг тал таны байгууллагаар гарын үсэг зурсан ямар нэг сервер гэсэн үг. Аль нь гэдгийг энэ нь хэлэхгүй, энэ нь ижил CA хэд хэдэн гарцад сертификат олгох бөгөөд тэдгээрийн нэг нь эвдэрсэн эсвэл дахин зориулагдсан үед чухал юм.
verify-x509-name сертификатын субъектыг таны тохируулсан утгатай харьцуулдаг бөгөөд яг субъект, угтвар эсвэл нэг талбарын тохирлын горимтой. Гарцыг үнэхээр тодорхойлдог талбарыг ашиглаж, нэр өөрчлөгдөхөд санаатайгаар шинэчлэхээр төлөвлөөрэй.
Аль ч заавар нь түлхүүрийн сайн харьцааг орлохгүй. Хэрэв клиентийн түлхүүрийн файлыг профайлын хамт хуулж тээвэрлэвэл эсрэг талын хувийн байдал нь түгээлтийн жагсаалт шиг л хүчтэй.
Профайлыг засахын өмнө сертификатыг шалгаарай
Эсрэг талын сертификат болон клиентийн логыг энэ дарааллаар уншаарай. Сертификат нь ямар үүрэг зарлаж байгааг хэлдэг; лог нь аль шалгалт түүнийг татгалзсаныг хэлдэг.
Эдгээр командууд дэлгэрэнгүй холболтоос ашиглалтын өргөтгөл болон баталгаажуулалтын мөрүүдийг хэвлэнэ:
openssl x509 -in server.crt -noout -text | grep -A1 -E "Key Usage|Extended Key Usage"
sudo openvpn --config client.ovpn --verb 4 2>&1 | grep -i verifyХэрэв өргөтгөлүүд серверийн үүргийг харуулж, лог нь үүргийн алдааг хэвээр мэдээлж байвал профайл нь муу сертификат биш буруу сертификатын файл руу зааж байна. Хэрэв өргөтгөлүүд зөвхөн клиентийн баталгаажуулалтыг харуулбал клиентийг харахаа болиод олголтыг засна уу. Ямар ч тохиолдолд холболтыг эрүүл гэж нэрлэхийн өмнө шалгалтыг сэргээгээрэй, учир нь баталгаажуулалтыг хассаны дараах амжилттай гар барилт нь түүнийг орлуулсан алдаанаас бага зүйлийг нотолдог.