Хувийн CA-ийн нөөц хуулбар: шифрлэсэн архив эсвэл HSM түлхүүрийн нөөц
Шифрлэсэн архив эсвэл HSM-ээр ороосон түлхүүр: VPN CA-ийн нөөц хуулбарын загвар бүр хэрхэн сэргээгддэг, юу агуулах ёстой, ямар алдааг та үнэхээр даван туулж чадах вэ.
Үүний ихэнхийг шийддэг асуулт нь та архивыг хэрхэн шифрлэх вэ гэдэг биш. Харин таны CA хувийн түлхүүр өөрийн контейнерээс гарч чадах эсэх юм. Түлхүүр нь файл бол бүх CA хавтасыг нэг шифрлэсэн блок руу хуулж, хэдхэн минутад дуусгаж болно. Хэрэв түлхүүрийг гаргах боломжгүй гэж тэмдэглэдэг HSM эсвэл токен дотор амьдардаг бол тэр хуулбар байхгүй бөгөөд таны төлөвлөгөө нийлүүлэгчийн ороож сэргээх журам тухай төлөвлөгөө болно. Хоёр загвар хоёулаа ажилладаг, өөр өөрөөр бүтэлгүйтдэг бөгөөд та даван туулж чадах алдаа нь төлөвлөхөд үнэ цэнэтэй нь юм.
Хоёр нөөц загвар хаана хуваагдана
Загвар A бол хавтасын хуулбар. OpenSSL хэв маягийн CA нь ажлын хавтас бөгөөд нэг гэрчилгээ биш: ca.key эсвэл cakey.pem, ca.crt, олголтын мэдээллийн сан, serial ба crlnumber тоолуур, openssl.cnf. Тэр хавтасыг тэгш хэмт шифрээр битүүмжилж, үр дүнг хоёр дахь зөөвөрлөгч рүү зөөвөл сэргээх гэдэг нь задлах, шалгах, гарын үсэг зурах. Олгогчид хэрэгтэй бүхэн хамт аялдаг, хэн ч бичсэнээ санахгүй долоо хоногийн цуцлалтын түүхийг оруулаад.
Загвар B бол түлхүүрийг хамгаалах. Түлхүүр PKCS#11 модуль дотор үүсч, гаргах боломжгүй гэж тэмдэглэгддэг; модуль үүнийг нөөцлөхөөр ороож чадна, гэхдээ ямар ч процесс түүхий байтуудыг хэзээ ч уншдаггүй. Тэгэхээр таны нөөц нь зөв дарааллаар сэргээх ёстой хоёр артефакт: зөвхөн тэр модулийн бүлэг онгойлгож чадах ороосон түлхүүрийн блок, нэмээд мэдээллийн сан, тохиргоо, гэрчилгээний энгийн хуулбар.
| Attribute | Encrypted archive | HSM key backup |
|---|---|---|
| What you store | one encrypted file | wrapped blob plus CA records |
| Who can restore it | anyone holding the passphrase | holder of the module and the blob, often vendor support |
| If a copy leaks | attacker with the passphrase becomes the CA | blob is inert without the matching module |
| What usually breaks it | forgotten passphrase, one damaged copy | replacement module rejects the blob, contract gap |
Харьцуулалт нь аль загвар хийсвэрээр илүү хүчтэй вэ гэдэг тухай хэзээ ч биш. Аль нэгийг танай баг шөнийн 2 цагт үнэхээр сэрүүн байгаа хүмүүстэй сэргээж чадах тухай. Хэн ч тайлж чадахгүй архив, хэн ч туршаагүй HSM блок хоёулаа адил хэрэггүй. Ялгаа нь архивын алдаа нууц үгийн менежерт илэрдэг, HSM-ийн алдаа дэмжлэгийн гэрээнд нуугддаг.
CA-ийн нөөц бүр юу агуулах ёстой
Хоёр загварт ижил бичлэгийн багц хэрэгтэй. OpenSSL CA-д тэдгээр файл нь index.txt — олгосон гэрчилгээ бүрт нэг мөр, төлөв, хугацаа, serial, сэдвийг хамарна, дараа нь index.txt.attr, дараагийн олгох serial-ыг хадгалах serial, дараагийн CRL дугаарыг хадгалах crlnumber, таны CA үнэхээр ажилладаг dir, policy, default_days бүхий openssl.cnf. openssl-ca гарын авлага эдгээр тоолуур бүр юуг удирддагийг тайлбарлана. easy-rsa ижил өгөгдлийг pki/ дор хадгалж, vars файл гэрчилгээний талбарыг тодорхойлно.
Түлхүүр, гэрчилгээ бол дахин бүтээж чадахгүй хэсэг. Мэдээллийн сан бол ой санамжаас сэргээж чадахгүй хэсэг. index.txt-ийг алгасвал шинэ гэрчилгээнд гарын үсэг зурж чадна хэвээр, тэгээд л энэ бол яг урхи: гэрчилгээ цуцлагдсан эсэхийг үйлчлүүлэгч анх асуухад дутуу байгааг мэднэ. CA-ийн хурууны хээг нөөцөөс гадна бүртгэ, ингэснээр сэргээлт таны итгэдэг утгатай харьцуулагдана, дөнгөж сэргээсэн файлтай биш.
openssl x509 -in ca.crt -noout -fingerprint -sha256
tar czf ca-state.tar.gz ca.crt ca.key index.txt* serial* crlnumber* openssl.cnf
openssl enc -aes-256-cbc -pbkdf2 -iter 200000 -salt -in ca-state.tar.gz -out ca-state.tar.gz.enc
openssl ca -config openssl.cnf -gencrl -out crl.pem
Олгогчийг салбарладаггүй сэргээлтийн туршилтууд
Ижил сэдэв, ижил түлхүүртэй хоёр амьд CA эх хувийг итгэдэг бүх үйлчлүүлэгчид ижил харагдана. Ижил дугаартай ч өөр агуулгатай хоёр CRL нь үйлчлүүлэгчид таны цуцалсан гэрчилгээг чимээгүй хүлээн зөвшөөрөх арга юм. Сэргээлтийг үйлчлүүлэгчид рүү чинь замгүй хост дээр эсвэл нэг удаагийн VM дээр ажиллуулж, туршилтын үүсгэсэн CRL-ыг хэзээ ч нийтэлж болохгүй.
Архив нээгддэгийг л баталдаг туршилт олголтын талаар юу ч батлахгүй. Тооцох дараалал: сэргээсэн ca.crt-ийн хурууны хээг бүртгэсэн утгатай харьцуул, serial сүүлд олгосон гэрчилгээгээр илэрхийлэгдэхтэй таарч байгааг батал, нэг удаагийн CN-д нэг гэрчилгээ олгож index.txt мөр нэмэгдэхийг хар, дараа нь тэр гэрчилгээг цуцалж CRL-ыг дахин үүсгэ.
openssl verify -CAfile ca.crt -CRLfile crl.pem -crl_check client.crt
openssl crl -in crl.pem -noout -lastupdate -nextupdate
HSM-тэй ижил туршилт модулиар дамжина. Блокыг солих төхөөрөмжид онгойлгож, модулийн мэдээлсэн CA гэрчилгээ таны бүртгэсэн хурууны хээтэй таарч байгааг батал, зөвхөн дараа нь гарын үсэг зуруул. Модуль өөрийн объектын агуулахтай бол ороолт түлхүүрийн объект болон түүний шошгыг хамах ёстой, учир нь түлхүүрийг өөр шошгын дор сэргээх нь түүн рүү заасан тохиргоог эвддэг.
Сонголтыг шийддэг бүтэлгүйтлийн горимууд
Таван бүтэлгүйтэл бодит алдагдлын ихэнхийг тайлбарлана. Нууцын бие даасан хуулбаргүй мартсан архивын нууц үг архивыг тоосго болгоно. Нэг диск дээрх ганц хуулбар тэр дисктэйгээ хамт үхэж, шалгах нийлбэр тайлалт ажиллаж байгаа эсэхийг хэзээ ч хэлэхгүй. Нөөцийн огнооны дараа цуцалсан гэрчилгээ сэргээлтийн дараа дахин хүчинтэй харагдана, тиймээс нөөцийн интервал тань цуцлалтын сохор цэг ч юм. Хуучин serial тоолуурыг сэргээх нь серийн дугаарыг дахин ашиглаж, serial-д холбосон кэш болон CRL хайлтыг төөрөгдүүлнэ. Ороосон блокыг татгалздаг солих HSM нь техник хангамжийн солилтыг бүрэн дахин олголт болгоно.
Загвар A эхний дөрөвийг муу боловч харагдахуйц шийднэ. Загвар B тэдгээрийг модуль эсвэл нийлүүлэгчийн процесс бүтэлгүйтэх хүртэл сайн шийднэ. Хэрэв таны түлхүүрүүд экспортлогдох боломжтой бөгөөд баг цөөн бол шифрлэсэн архив бол шударга сонголт бөгөөд хоёр зөөвөрлөгч, бичгээр нууц үгийн журамд тулгуурлана. Хэрэв түлхүүр гаргах боломжгүй бол танд сонголт огт байхгүй, ажил нь хэрэгтэй өдрөөс өмнө нийлүүлэгчийн сэргээлтийн замыг батлах руу шилждэг.
Загварыг сонгох, хуваарьлах
Гурван нөхцөл шийдвэрийг шийднэ. Түлхүүрийг нийлүүлэгчийн процесгүйгээр экспортлож болох уу? Сэргээлт таны одоо байхгүй техник хангамж дээр буух ёстой юу? Дэмжлэгтэй маргалдах хооронд олголт хэр удаан зогсож чадах вэ? Тэдгээр гурванд хариул, загвар шийдэгдэнэ; дараагийн бүхэн хуваарьлалт.
Гарын үсгийн ёслол бүрийн дараа, ямар ч тохиргооны өөрчлөлтийн өмнө нөөц ав, учир нь тохиргоо бол төлөвийн хэсэг. Хоёр хуулбарыг өөр өөр газарт өөр өөр зөөвөрлөгч дээр хадгал, нэг нь офлайн байг, тайлах нууцыг хуулбаруудаас өөр итгэлийн домэйн дээр хадгал. Сүүлийн амжилттай сэргээлтийн огноог нөөцийн бүртгэл дээр бич. Хэзээ ч сэргээгээгүй нөөц бол таамаглал, хяналт биш.
Тикетийг хаахаас өмнө эдгээр таван зүйлийг батал:
- ca.crt-ийн хурууны хээ нөөцөөс гадна хаа нэгтээ бүртгэгдсэн.
- index.txt, serial, crlnumber, openssl.cnf бүгд архив эсвэл блокийн багц дотор.
- Нууц үг эсвэл ороосон түлхүүрийн хадгалалт баримтлагдсан бөгөөд архивын эзнээс өөр хүнд байна.
- Тусгаарлагдсан хост дээр нэг олголт, нэг цуцлалттай сэргээлтийг туршсан.
- Нөөцийн интервалаас үүдэх цуцлалтын завсрыг бичгээр хүлээн авсан эсвэл богиносгосон.