🔒 آموزش طاق. قسمت 5 – تیم امنیت اطلاعات

تا کنون ، کانتینر پایه Vault ما به طور انحصاری کار کرده است ، اما نمی توان آن را به شکل فعلی بازگردانی کرد.

ما هرگز از حافظه اصلی استفاده نمی کنیم (به جای ذخیره کردن آنها). [19659003] ما می توانیم از HCL برای تعیین قسمت انتهای طاق استفاده کنیم و برای تأیید HCL ، محلی Vault را اجرا کنیم.

برای نشان دادن ، یک حساب ذخیره سازی آزور نمونه ، ظرفی از حباب ایجاد کردم و کلید را تهیه کردم.

 $ cat idj-azure-vault. hcl
ذخیره سازی "لاجوردی" {
  accountName = "idjvaulttest"
  AccountKey = "d51Zm0CSnNamDvTrUL7AAxu + yWIc4 + MrdDD1WulbWg85CoJYFWDA2euajy + 57jiF3jz87CqxfoLWzAnzL5fUcw =="
  ظرف = "idjvaultcontainer"
}

شنونده "tcp" {
 آدرس = "127.0.0.1:8200"
 tls_disable = 1
}

$ سرور طاق -config = idj-azure-vault.hcl
هشدار! mlock در این سیستم پشتیبانی نمی شود! یک syccall مشابه mlockall (2) به
از تعویض حافظه در دیسک جلوگیری کنید در این سیستم پشتیبانی نمی شود. برای
امنیت بهتر ، فقط Vault را روی سیستمهایی که این تماس پشتیبانی می شود اجرا کنید. اگر
شما Vault را در یک ظرف Docker اجرا می کنید ، کلاه IPC_LOCK را به آنها بدهید
ظرف
==> پیکربندی سرور خرک:

                     Cgo: غیرفعال است
              شنونده 1: tcp (افزودنی: "127.0.0.1:8200" ، آدرس خوشه: "127.0.0.1:8201" ، حداکثر درخواستها: دوره "1m30s" ، حداکثر درخواستها: حداکثر: "33554432" ، تعداد: "غیرفعال")
               سطح ورود: (تنظیم نشده است)
                   Mlock: پشتیبانی: نادرست ، فعال شده: false
                 ذخیره سازی: لاجوردی
                 نسخه: Vault v1.0.1
             نسخه Sha: 08df121c8b9adcc2b8fd55fc8506c3f9714c7e61

==> سرور Vault شروع شد! داده های ورود به سیستم در زیر جریان می یابد:

2019-01-01T12: 58: 21.205-0600 [WARN] مقدار `api_addr` مشخص شده در پیکربندی یا در VAULT_API_ADDR؛ در صورت امکان به شناسایی باز می گردد ، اما این مقدار باید به صورت دستی تنظیم شود

بیانیه اولیه

وقتی ابتدا Vault را با یک پس زمینه جدید شروع می کنیم ، باید خوشه را "اولیه سازی کنیم".

در اینجا می توانید ببینید که من پورت پیش فرض (9990) را تغییر دادم و یک نمونه محلی را آغاز کردم (با ذخیره سازی حباب کار می کند. لاجوردی) ؛

 $ cat idj-azure-vault.hcl
ذخیره سازی "لاجوردی" {
  accountName = "idjvaulttest"
  AccountKey = "d51Zm0CSnNamDvTrUL7AAxu + yWIc4 + MrdDD1WulbWg85CoJYFWDA2euajy + 57jiF3jz87CqxfoLWzAnzL5fUcw =="
  ظرف = "idjvaultcontainer"
}

شنونده "tcp" {
 آدرس = "127.0.0.1:9990"
 tls_disable = 1
}
$ سرور طاق -config = idj-azure-vault.hcl
هشدار! mlock در این سیستم پشتیبانی نمی شود! یک syccall مشابه mlockall (2) به
از تعویض حافظه در دیسک جلوگیری کنید در این سیستم پشتیبانی نمی شود. برای
امنیت بهتر ، فقط Vault را روی سیستمهایی که این تماس پشتیبانی می شود اجرا کنید. اگر
شما Vault را در یک ظرف Docker اجرا می کنید ، کلاه IPC_LOCK را به آنها بدهید
ظرف
==> پیکربندی سرور خرک:

                     Cgo: غیرفعال است
              شنونده 1: tcp (افزودنی: "127.0.0.1:9990" ، آدرس خوشه: "127.0.0.1:9991" ، حداکثر درخواست ها: مدت زمان "1m30s" ، حداکثر درخواست ها: اندازه: "33554432" ، تعداد: "غیرفعال")
               سطح ورود: (تنظیم نشده است)
                   Mlock: پشتیبانی: نادرست ، فعال شده: false
                 ذخیره سازی: لاجوردی
                 نسخه: Vault v1.0.1
             نسخه Sha: 08df121c8b9adcc2b8fd55fc8506c3f9714c7e61

==> سرور Vault شروع شد! داده های ورود به سیستم در زیر جریان می یابد:
..2019-01-01T13: 12: 08.434-0600 [INFO] core: شنوندگان خوشه با موفقیت خاموش شدند
2019-01-01T13: 12: 08.434-0600 [INFO] برگشت: متوقف کردن مدیر برگشت
2019-01-01T13: 12: 08.434-0600 [INFO] core: first seardown teardown کامل 

اکنون می توانیم با دستور init برای دریافت کلیدهای نامشخص ما تماس بگیریم.

به طور پیش فرض ، Vault تنظیم شده است که کلیدها را با 5 تقسیم کند. منابع مشترک (حداقل 3 مورد نیاز).

 $ export VAULT_ADDR = "http://127.0.0.1:9990"
AHD-MBP13-048: ~ isaac.johnson $ اولیه عملگر طاق
کلید Unseal 1: 7Zk7e298NV1ZRT9rouryXf1O41 / erScyoaUOANibj / p0
کلید Unseal 2: aqephGg4K6DFp4gFrK + XuR + g1RCOOcuurxLL42AiXXFK
کلید Unseal 3: nKkeSIDVChwZDiFrYv + WmHiTT7ujM + rL3 + uzGWkT3ZRU
کلید Unseal 4: NiNOyWEGqaR2ssveIFDMA7bWrLoYBzSnDHKUOzjT2RyW
کلید Unseal 5: uX8zJXydLHFKntbqEcSSpYVHzkMKYhVxfN / w6c60wl29

توکن اولیه ریشه: s.GajsySoAWg7fWANaA1jYB1ws

Vault با 5 سهم کلیدی و یک آستانه کلیدی 3 آغاز شد. لطفا با اطمینان ... 

کالبد شکافی

هر بار سرور Vault شروع می شود ، در حالت "بسته" کار می کند.

ما باید آن را چاپ کنیم. حداقل 3 مورد از این کلیدها.

ما می توانیم برای این منظور از اپراتور unseal استفاده کنیم.

وقتی به آستانه رسیدیم ، می توانیم ببینیم که "مهر و موم شده" تغییر یافته نادرست

 $ taultse operator
کلید Unseal (پنهان خواهد شد):
مقدار کلیدی
--- -----
شمر نوع مهر
درستی درست است
مهر و موم واقعی است
مجموع سهام 5
آستانه 3
پیشرفت Unseal 1/3
Unseal Nonce 160f8b32-c70e-80a5-aa85-abbd09ae9a3b
نسخه 1.0.1
HA فعال نادرست است
$ عملگر طاق بینظیر است
کلید Unseal (پنهان خواهد شد):
مقدار کلیدی
--- -----
شمر نوع مهر
درستی درست است
مهر و موم واقعی است
مجموع سهام 5
آستانه 3
پیشرفت Unseal 2/3
Unseal Nonce 160f8b32-c70e-80a5-aa85-abbd09ae9a3b
نسخه 1.0.1
HA فعال نادرست است
$ عملگر طاق بینظیر است
کلید Unseal (پنهان خواهد شد):
مقدار کلیدی
--- -----
شمر نوع مهر
درستی درست است
مهر و موم کاذب
مجموع سهام 5
آستانه 3
نسخه 1.0.1
نام خوشه vault-cluster-f2fb0f8a
ID خوشه 2b8cfa34-80ef-5b56-90cf-c1b9060215f5
HA فعال نادرست است

$ ورود به خرک s.GajsySoAWg7fWANaA1jYB1ws
موفقیت! اکنون احراز هویت شده اید. اطلاعات توکن نمایش داده شده در زیر ... 
 ...
==> سرور Vault شروع شد! داده های ورود به سیستم در زیر جریان می یابد:

2019-01-01T13: 17: 09.189-0600 [WARN] مقدار `api_addr` مشخص شده در پیکربندی یا در VAULT_API_ADDR؛ در صورت امکان به شناسایی باز می گردد ، اما این مقدار باید به صورت دستی تنظیم شود
2019-01-01T13: 19: 01.121-0600 [INFO] core: vault issealed
2019-01-01T13: 19: 01.326-0600 [INFO] core: start-setup setup
2019-01-01T13: 19: 01.436-0600 [INFO] هسته: کلید توکن بسته بندی شده
...