אבטח את סודותיך באמצעות קמרון

בלוג הכספת של Ansible מסביר כיצד נתונים רגישים (סיסמאות / קבצי מפתח סוד / קבצים מאוחסנים) מאוחסנים בקבצים מוצפנים ומוטבעים בספרי פלייבק של Ansible.

שימוש גבוה יותר בטכנולוגיה, כך גדל האיום האפשרי לביטחון. מערכת טיפוסית של Ansible דורשת ממך להזין 'סודות'. סודות אלה יכולים להיות ממש כל דבר, סיסמאות, אסימוני API, מפתחות ציבוריים או פרטיים של SSH, אישורי SSL וכו '. כיצד נשמור על סודות אלה? Ansible מספק תכונה שנקראת Ansible Vault.

בבלוג זה אדגים כיצד להשתמש בכספת Ansible ולחקור כמה מהשיטות המומלצות לשמירה על בטיחות הנתונים.





הנושאים הניתנים בבלוג זה:

אם ברצונך לשלוט ב- DevOps, ' כמובן שתהיה אפשרות ללכת שלך.



מה זה קמרון Ansible?

תשתית כקוד יכולה להוות איום על חשיפת הנתונים הרגישים שלך לעולם, מה שמוביל לבעיות אבטחה לא רצויות. הכספת Ansible הינה תכונה המאפשרת לך לשמור על כל סודותיך. הוא יכול להצפין קבצים שלמים, ספרי הפעלה שלמים ב- YAML או אפילו כמה משתנים. הוא מספק מתקן שבו אתה יכול לא רק להצפין נתונים רגישים אלא גם לשלב אותם בספרי הפליילי שלך.

הכספת מיושמת בפירוט ברמת הקובץ כאשר הקבצים מוצפנים לחלוטין או בלתי מוצפנים לחלוטין. הוא משתמש באותה סיסמה להצפנה כמו גם לפענוח קבצים מה שהופך את השימוש ב- Ansible Vault לידידותי מאוד למשתמש.

מדוע להשתמש בכספת Ansible?

מאחר ש- Ansible משמש לאוטומציה, קיימת אפשרות גבוהה שספרי השמעה מכילים אישורים מסוימים, אישורי SSL או נתונים רגישים אחרים. שמירת נתונים רגישים כמו טקסט רגיל זה רעיון רע. התחייבות שגויה אחת לגניבה או לגניבת מחשב נייד עלולה לגרום לארגון הפסד עצום. כאן נכנס לתמונה קמרון Ansible. זוהי דרך נהדרת לקבל תשתית כקוד, מבלי להתפשר על האבטחה.



נניח, יש לנו ספרון שמספק את מופע ה- EC2 שלך ב- AWS. עליכם לספק את מזהה מפתח הגישה AWS ואת המפתח הסודי של AWS בספר ההפעלה. אינך משתף את המפתחות האלה עם אחרים מסיבות ברורות. איך שומרים עליהם לא חשופים? ישנן שתי דרכים - להצפין את שני המשתנים הללו ולהטמיע אותם בחוברת ההשמעה או להצפין את כל חוברת ההשמעה.

זה היה רק ​​אחד התרחישים שבהם ניתן להשתמש בכספת רגילה. אנו יכולים להצפין קבצים שלמים או פשוט להצפין כמה משתנים שעשויים להכיל נתונים רגישים ואז Ansible מפענח אותם אוטומטית בזמן הריצה. כעת נוכל להקצות ערכים אלה בבטחה ל- GitHub.

יצירת קובץ מוצפן

כדי ליצור קובץ מוצפן, השתמש ב- ליצור קמרון פקודה והעבר את שם הקובץ.

$ ansible-vault ליצור שם הקובץ.yaml

תתבקש ליצור סיסמה ולאחר מכן לאשר אותה על ידי הקלדה מחדש.

- יצירת קמרון. - קמרון

לאחר אישור הסיסמה שלך, ייווצר קובץ חדש ויפתח חלון עריכה. כברירת מחדל, העורך של הכספת Ansible הוא vi. ניתן להוסיף נתונים, לשמור ולצאת.

מהי הפשטה ב- c ++

והקובץ שלך מוצפן.

עריכת קבצים מוצפנים

אם ברצונך לערוך קובץ מוצפן, תוכל לערוך אותו באמצעות עריכת קמרון ansible פקודה.

$ ansible-vault ערוך secrets.txt

איפה secrets.txt הוא קובץ מוצפן שכבר נוצר.

תתבקש להכניס את סיסמת הכספת. הקובץ (גרסה מפוענחת) ייפתח בעורך vi ואז תוכלו לבצע את השינויים הנדרשים.

אם תבדוק את הפלט, תראה שהטקסט שלך יוצפן אוטומטית כשאתה שומר וסוגר.

מציג קובץ מוצפן

אם ברצונך להציג רק קובץ מוצפן, תוכל להשתמש ב- נוף קמרון פקודה.

$ ansible-vault להציג קובץ name.yml

שוב תתבקש להזין סיסמה.

ותראה פלט דומה.

אחזור סיסמת הכספת

כמובן, ישנם מקרים בהם תרצה לשנות את סיסמת הכספת. אתה יכול להשתמש ב- מקמר קפיצה פקודה.

$ ansible-vault rekey secrets.txt

תתבקש להזין את הסיסמה הנוכחית של הכספת ואז את הסיסמה החדשה ולבסוף תסיים על ידי אישור הסיסמה החדשה.

הצפנת קבצים לא מוצפנים

נניח שיש לך קובץ שברצונך להצפין, אתה יכול להשתמש ב- הצפנת קמרון ansible פקודה.

$ ansible-vault מצפין את filename.txt

תתבקש להכניס סיסמה ולאשר אותה והקובץ שלך מוצפן.

עכשיו כשאתה מסתכל על תוכן הקובץ, הכל מוצפן.

פענוח קבצים מוצפנים

אם ברצונך לפענח קובץ מוצפן, תוכל להשתמש בו לפענח קמרון ansible פקודה.

$ ansible-vault לפענח את filename.txt

כרגיל, הוא יבקש מכם להכניס ולאשר את סיסמת הכספת.

הצפנת משתנים ספציפיים

הנוהג הטוב ביותר בשימוש בכספת Ansible הוא להצפין רק את הנתונים הרגישים. בדוגמה שהוסברה לעיל, צוות הפיתוח לא רוצה לחלוק את הסיסמה שלהם עם ההפקה וצוות ההיערכות, אך ייתכן שיהיה עליהם גישה לנתונים מסוימים כדי לבצע את המשימה שלהם. במקרים כאלה עליכם להצפין רק את הנתונים שאינכם רוצים לשתף עם אחרים, ולהשאיר את השאר כפי שהוא.

הכספת Ansible מאפשרת לך להצפין משתנים ספציפיים בלבד. אתה יכול להשתמש ב- הצפנה_מחרוזת ansible-vault פקודה לכך.

$ ansible-vault encrypt_string

תתבקש להכניס את סיסמת הכספת ואז לאשר אותה. לאחר מכן תוכל להתחיל להוסיף את ערך המחרוזת שברצונך להצפין. לחץ על ctrl-d כדי לסיים את הקלט. עכשיו אתה יכול להקצות את זה מוצפןערךלמחרוזת בספר ההשמעה.

אתה יכול גם להשיג את אותו הדבר בשורה אחת.

$ ansible-vault encrypt_string 'מחרוזת' - שם 'שם משתנה'

פענוח קבצים מוצפנים במהלך זמן ריצה

אם ברצונך לפענח קובץ בזמן ריצה, תוכל להשתמש –לבקש לעבור בכספת דֶגֶל.

$ ansible-playbook launch.yml - ask-vault-pass

פעולה זו תפענח את כל הקבצים המוצפנים המשמשים לביצוע ההפעלה של launch.yml. כמו כן, הדבר אפשרי רק אם כל הקבצים מוצפנים באותה סיסמה.

הנחיות סיסמא יכולות להיות מעצבנות. מטרת האוטומציה הופכת להיות חסרת טעם. איך נשפר זאת? ל- Ansible יש תכונה הנקראת 'קובץ סיסמה' המתייחס לקובץ המכיל את הסיסמה. לאחר מכן תוכל פשוט להעביר את קובץ הסיסמה במהלך זמן הריצה כדי להפוך אותו לאוטומטי.

$ ansible-playbook launch.yml - vault-password-file ~ / .vault_pass.txt

ייתכן גם שיש סקריפט נפרד המציין את הסיסמאות. עליכם לוודא שקובץ הסקריפט ניתן להפעלה והסיסמה מודפסת לפלט רגיל כדי שהיא תעבוד ללא שגיאות מעצבנות.

$ ansible-playbook launch.yml - vault-password-file ~ / .vault_pass.py

באמצעות מזהה הכספת

מזהה הכספת הוא דרך לספק מזהה לסיסמת קמרון מסוימת. מזהה הכספת עוזר להצפין קבצים שונים עם סיסמאות שונות להפניה בתוך חוברת השמעה. תכונה זו של Ansible יצאה עם שחרורו של Ansible 2.4. לפני שחרור זה, ניתן היה להשתמש בסיסמת קמרון אחת בלבד בכל ביצוע חוברת פלייבק.

אז עכשיו, אם ברצונך להפעיל חוברת Ansible המשתמשת בקבצים מרובים המוצפנים עם סיסמאות שונות, תוכל להשתמש ב- Vault Id.

$ ansible-playbook - vault-id vault-pass1 - vault-id vault-pass2 filename.yml

עם זה, אנו מגיעים לסוף הבלוג הזה של Ansible Vault. מדהים להדביק את הטכנולוגיה ולהפיק את מלוא היתרונות מהן אך לא על ידי התפשרות על האבטחה. זו אחת הדרכים הטובות ביותר לקבל תשתית כקוד (IaC).

אם אתה מוצא מאמר זה מועיל, עיין ב ' המוצעת על ידי אדוריקה. הוא מכסה את כל הכלים שהפכו את תעשיית ה- IT לחכמה יותר.

יש לך שאלה עבורנו? אנא פרסם אותו ב ונחזור אליך.