HashiCorp Vault Nədir?

Rəqəmsal dünyada tətbiqlərimiz böyüdükcə idarə etməli olduğumuz "məxfi məlumatların" (secrets) sayı da həndəsi silsilə ilə artır. Verillər bazası şifrələri, API açarları, SSL sertifikatları... Bəs biz bu həssas məlumatları harada saxlayırıq? Əgər hələ də kodun içindəki .env fayllarında və ya konfiqurasiya menecerlərində düz mətn (plain text) şəklində saxlayırsınızsa, deməli, böyük bir təhlükəsizlik boşluğunuz var.

Məhz bu nöqtədə köməyimizə HashiCorp Vault çatır.

Vault Nədir?

HashiCorp Vault, məxfi məlumatlara girişi idarə etmək, onları təhlükəsiz şəkildə saxlamaq və mərkəzləşdirilmiş bir nöqtədən paylamaq üçün nəzərdə tutulmuş açıq mənbəli bir vasitədir. Vault-u sadəcə bir "şifrə saxlama qutusu" kimi deyil, infrastrukturunuzun təhlükəsizlik beyni kimi düşünə bilərsiniz.

Vault-un Əsas Funksiyaları

1. Mərkəzləşdirilmiş Məxfi İdarəetmə (Secret Management)

Artıq hər bir tətbiqin öz şifrəsini haradasa gizlətməsinə ehtiyac yoxdur. Bütün sirlər Vault-da şifrələnmiş şəkildə saxlanılır. Tətbiqlər yalnız ehtiyacı olan məlumatı müəyyən edilmiş yetkilər daxilində Vault-dan çəkir.

2. Dinamik Sirlər (Dynamic Secrets)

Vault-un ən "sehrli" xüsusiyyəti budur. Məsələn, tətbiqiniz PostgreSQL verillər bazasında  bağlanmalıdır. Vault tətbiq üçün anlıq olaraq müvəqqəti bir istifadəçi adı və şifrə yaradır, tətbiq işini bitirdikdən sonra isə bu giriş məlumatlarını avtomatik silir. Beləliklə, şifrə oğurlansa belə, artıq keçərsiz olur.

3. Məlumatların Şifrələnməsi (Encryption as a Service)

Tətbiqləriniz məlumatı veritabanına yazmamışdan əvvəl onu şifrələmək üçün Vault-dan istifadə edə bilər. Şifrələmə məntiqini kodun içində yazmaq əvəzinə, Vault-a sadə bir API sorğusu göndərirsiniz, o isə sizə şifrələnmiş məlumatı qaytarır.

4. Kirayə müddəti və Yeniləmə (Lease & Renewal)

Vault-dan aldığınız hər bir məlumatın "ömrü" (TTL - Time To Live) var. Bu müddət bitdikdə həmin giriş məlumatı etibarsız sayılır. Bu, təhlükəsizliyin ən yüksək pilləsidir.

Vault Necə İşləyir? (Sealing/Unsealing Konsepti)

Vault işə düşəndə "Sealed" (Möhürlənmiş) vəziyyətdə olur. Bu o deməkdir ki, Vault özü belə içindəki datanı oxuya bilmir. Onu açmaq üçün bir neçə açar sahibinin (məsələn, 5 nəfərdən 3-nün) öz açarlarını daxil etməsi lazımdır (Shamir's Secret Sharing alqoritmi). Bu, hətta sistem administratorunun belə təkbaşına datanı oğurlamasının qarşısını alır.

Niyə Vault İstifadə Etməliyik?

  • Təhlükəsizlik: Şifrələrin kod bazasında və ya loglarda görünmə ehtimalını sıfıra endirir.

  • Audit: "Kimin, nə vaxt, hansı şifrəyə daxil olduğunu" saniyəbəsaniyə izləyə bilərsiniz.

  • Çoxplatformalı dəstək: İstər Kubernetes-də, istər AWS-də, istərsə də fiziki serverdə (on-premise) rahatlıqla çalışır.