Нууц сан
AiHummer нь бүх нэвтрэх мэдээллийг — сувгийн токенууд, SMTP/IMAP нууц үгс, OAuth токенууд, талуудад зориулсан LLM түлхүүрүүд (BYOK) — хадгалдаг шифрлэгдсэн нууц хадгалах газар. Түгжих сан нь хадгалагдаж буй утгыг зөвхөн мэдээллийн сангаас уншиж болохгүй байхаар дугтуйны шифрлэлт ашигладаг бөгөөд нууцыг хадгалах зориулалттайгаар бүтээгдсэн байдаг зөвхөн загварын орчинд эсвэл тэмдэглэлийн дэвтэрт ороогүй.
Өвөрмөц шифрлэлтийн агуулга
Хадгалах сан хоёр түвшний түлхүүрийн бүтэц ашигладаг:
- А ерөнхий түлхүүр (KEK) — нийлүүлсэн бол
AIHUMMER_MASTER_KEY, base64 кодлогдсон 32-байт утга — өгөгдлийн түлхүүрүүдийг тэврэх ба тэврэхгүй болгодог. Энэ нь хэзээ ч хостоос гарахгүй бөгөөд мөн мэдээллийн санд хэзээ ч бичигддэггүй. - А оршин суугч тус бүрийн өгөгдлийг шифрлэх түлхүүр (DEK) үнэн нууц утгуудыг кодолдог хамт AES-256-GCM (баталгаажсан кодчилол). Тус бүрийн түрээсэлэгч өөрийн DEK-тэй, Тэгэхээр нэг түрээслэгчийн түлхүүр нь өөр түрээслэгчийн нууцыг тайлж чадахгүй.
Нууц утгуудыг текстэн нууцлалтаар хадгалдаг; DEK-г KEK-ийн тусламжтайгаар боож хадгалдаг. Нууц задлах нь нууц шаардлагатай үед (жишээ нь, холбогч баталгаажуулалт хийх үед) санах ойд явагдаж, дараа нь энгийн текст устгагдана.
AIHUMMER_MASTER_KEY (KEK) ──wraps──▶ per-tenant DEK ──AES-256-GCM──▶ secret value
[!NOTE] Тус нөөц PostgreSQL-д тулгуурладаг
pgcryptoсаруулах. Үүнийг баталгаажуулна уу таны мэдээллийн сан дахь боломжтой — энэ нь стандарт системийн шаардлагын нэг хэсэг юм.
Ерөнхий түлхүүр
Мастер түлхүүр нь анхдагч утга бөгөөд: энэ нь системийг эхлүүлэх үед орчноос уншигддаг бөгөөд гүй админ UI-аас тохируулах боломжтой. Суудлагч (мөн эхний удаа эхлэхэд гарц) байнга үйлдвэрлэдэг AIHUMMER_MASTER_KEY — Энэ нь сонголт биш, учир нь амраахад нууц, гэрчилгээний агуулах болон түрээслэгч тус бүрийн BYOK нь үүнээс хамаардаг. Тиймээс стандарт суулгалт нь үргэлж нэгийг агуулдаг.
# /home/.aihummer/etc/gateway.env
# 32 random bytes, base64-encoded
AIHUMMER_MASTER_KEY=Base64Of32RandomBytes==
Та нэгийг үүсгэж болно:
openssl rand -base64 32
[!WARNING] Бүх нууцлаг файлыг тайлахад мастер түлхүүр шаардлагатай. Үүнийг ингэж хандана уу таны нууцын үндэс ба тусад нь нөөцөл мэдээллийн сангаас — хэрэв хэрэв та үүнийг алдаж байвал, шифрлэгдсэн утгуудыг сэргээж чадахгүй. Харна уу Үйл ажиллагаа нөөцлөлтийн зааварчилгаа авахын тулд.
Хэрэв гол түлхүүр алга бол
Түлхүүрийг үргэлж хангаж өгдөг учраас стандарт суурилуулалт нь үргэлж ажиллаж буй хадгалах санг агуулдаг. Энд үзүүлж буй зан үйлийн хэлбэр нь ер бусын тохиолдолд хаагдсан хамгаалалт юм. AIHUMMER_MASTER_KEY ямар нэгэн байдлаар тохируулагдаагүй байна (жишээ нь, гараар засварласан env файл): сан болон түүнд хамааралтай бүх зүйл хөгжлийн бэрхшээлтэй — амарсан нууцын хадгалалт, итгэмжлэл сан болон хэрэглэгчийн BYOK түлхүүрүүд бүгд унтарсан. Энэ нь зорилсон — бүтээгдэхүүн нууцыг ил задгай хадгалах руу чимээгүйхэн шилжихгүй.
Нууцууд загварт хэзээ ч хүрдэггүй
Энэ нь агуулахын хамгийн чухал шинж чанар бөгөөд бодлогын санамж бус харин бүтэцтэй холбоотой зүйл юм.
[!DANGER] Нууцууд нь хэзээ ч системийн үгчилгээнд, ярианд шахагдсан түүх, эсвэл ямар нэг загвар харагдах текст, ба тэдгээр нь хэзээ ч тэмдэглэлийг бичсэн. Нэвтрэх эрх шаардагдах багажуудыг дуудахад нь тэд түүний гэр ороноос шийднэ хаалга, ба үүнийг гарах хүсэлтийг баталгаажуулахад ашиглана — загвар зөвхөн аюулгүй нууц биш, багаж дуудах үр дүнг л хэзээ ч хардаг.
Учир нь интерактив байдал нь хэрэгсэл дуудах замаар үүсдэг (харна уу Хамгаалалтын хаалт ба хурдан оруулах халдлагаас хамгаалах), загвар нь загвараас хадгалагдсан нууцыг “уншихыг” хүсэх зам байхгүй: загварт унших хуулбар байхгүй.
Хуваалцсан ба хэрэглэгч тус бүрийн нэвтрэх мэдээлэл
Хадгалах сан нь ялгаатай байдлыг таньж ялгадаг хуваалцсан (ажлын орчинд-талын) баталгаажуулалт ба хувийн (хэрэглэгч тус бүрийн) баталгаажуулалтын мэдээллүүд. Холболтын урсгалаар авсан хэрэглэгч тус бүрийн OAuth2 токенуудыг хадгалагчаар хадгалж, гүйлгэж байгаа хэрэглэгч шийддэг бөгөөд шаардлагатай тохиолдолд ажлын орчны нөөц боломжийг ашигладаг. Энэ нь нэг хэрэглэгчийн токеныг нөгөө нэгэнд нь ил гаргалгүйгээр, нэг хэрэгслийг өөр өөр хэрэглэгчдийн эрхийн хүрээнд ажиллуулах боломжийг олгодог.
Дараа хаашаа явах вэ
- RBAC болон хязгаарлагдсан API түлхүүрүүд — хэн уншиж эсвэл өөрчлөх эрхтэй байж болох vault-тэй нөөцлөлттэй тохиргоо.
- Эгнээний түвшний аюулгүй байдал — оршин суугч тус бүрийн тусгаарлалт дахь саруулах сангийн ард түшиглэдэг өгөгдлийн сан.
- Хамгаалалтын хаалт ба хурдан оруулах халдлагаас хамгаалах — яагаад загварыг нууцыг илчлэхэд хэзээ ч хуурч чадахгүй.