Skip to Content
Building Osבניית תכונות

בניית תכונות

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

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

מצא את ערכת התכונות הנוכחית

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

לפני בחירת תכונה, בדוק:

  • האם הוא גלוי ומופעל עבור חשבונך;
  • האם הוא מצהיר על אריזות למשפחת ההפצה של המתכון;
  • האם המקורות החיצוניים שלו מוצמדים וניתנים לשליפה;
  • האם יש לו הצהרות המוכיחות את ההתנהגות שאתה צריך; ו
  • האם זה מתנגש עם מודול מבוקש אחר.

קטגוריות מייצגות

הרישום כולל כיום מודולים בקטגוריות כגון:

קטגוריהדוגמאותעדות לדרוש
שולחן עבודהdesktop-kde, desktop-gnome-minimal, krita, kdenliveסוג הפעלה, חבילות מותקנות, התנהגות משגר ומבחן עשן אמיתי לשולחן העבודה
שורת פיקוד ופיתוחgit, curl, python, nodejs, rustמלאי חבילה/גרסה ובדיקות עשן הניתנות להפעלה
תשתיתnginx, postgresql, redis, docker, ansibleתצורת שירות, מצב מופעל/ריצה, יציאות ותקינות ברמת היישום
אבטחהfirewall, audit-logging, security-hardening, apparmorמדיניות שנוצרה, מצב זמן ריצה פעיל, בדיקות שליליות וחריגים מתועדים
מוכווני ציותcis-benchmarks, gxp, disa-stig, nist-800-53מקור אמת מידה/בקרה מדויק, ישימות, תוצאות לכל בקרה ונטייה אנושית
כלי בינה מלאכותיתollama, alpaca, aider, codex-cliמקור/חבילה מוצמדת, גבול הורדת דגם, בדיקת השקה ודרישות משאבים

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

התכונה, החבילה והשירות שונים

  • os.features בוחר מודולי בנייה רשומים.
  • os.packages מבקש ממנהל החבילות המקורי חבילות ספציפיות.
  • os.services חומרים מתכלים בשם כוונת הפעלה ותצורה.

לדוגמה:

{ "os": { "features": ["ssh", "firewall"], "packages": ["curl", "jq"], "services": [ { "name": "ssh", "enabled": true, "config": { "port": 22, "disable_password_auth": true } } ] } }

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

תוויות אבטחה ותאימות

security-hardening מתקין ומגדיר קו בסיס התקשות כללי. זה לא שם נרדף לפרופיל CIS. hardening_level של המתכון הוא תווית תצורה המתפרשת על ידי מחוללים ספציפיים למטרה; זה לא הסמכה או מיפוי אוניברסלי לרמה 1 של CIS או לרמה 2.

לתכונה cis-benchmarks יש נתיב תיקון ספציפי יותר של Ubuntu 24.04 רמה 1. בסיסים אחרים אינם מקבלים את אותו תפקיד. עבור הגבול המדויק, עיין ב-CIS benchmark evidence.

באופן דומה, הפעלת תכונה בשם GxP, HIPAA, SOC 2, PCI DSS, NIST או DISA אינה מבססת תאימות ארגונית. זה יכול להוסיף חבילות, תצורה ובדיקות התורמות ראיות להערכה המנוהלת בנפרד.

שילוב תכונות בצורה בטוחה

  1. התחל עם הסט הקטן ביותר שמבטא את ההתנהגות המבוקשת.
  2. אמת את המתכון ובדוק את הפלט המנורמל עבור שדות שנפלטו או נגזרו.
  3. סקור את החבילה המורחבת ותוכנית ה-hook.
  4. בנה פעם אחת ופעל לפי מזהה הבנייה העמיד שלו.
  5. הפעל קביעות ספציפיות לתכונה באורח מאותחל.
  6. רשום כשלים וחריגים מכוונים במפורש.
  7. הוסף תכונה נוספת רק לאחר הבנת קו הבסיס הנוכחי.

לצורת ה-JSON הקנונית, ראה סכמת מתכון.