בניית תכונות
תכונה היא מודול בנייה בשם. ערך הרישום שלו יכול להכריז על חבילות עבור משפחת הפצה אחת או יותר, ויכול לכלול גם הוקס, כינויים, מטא נתונים של יכולות והצהרות אורחים.
הוספת תכונה מבטאת כוונה. זה, כשלעצמו, לא מוכיח שכל חבילה הייתה זמינה, כל הוק רץ, או שההתנהגות שנוצרה עובדת על תמונת היעד. אימות מתכון, השלמת בנייה ואימות אורח הם שערים נפרדים.
מצא את ערכת התכונות הנוכחית
השתמש בבורר התכונות או ב-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 אינה מבססת תאימות ארגונית. זה יכול להוסיף חבילות, תצורה ובדיקות התורמות ראיות להערכה המנוהלת בנפרד.
שילוב תכונות בצורה בטוחה
- התחל עם הסט הקטן ביותר שמבטא את ההתנהגות המבוקשת.
- אמת את המתכון ובדוק את הפלט המנורמל עבור שדות שנפלטו או נגזרו.
- סקור את החבילה המורחבת ותוכנית ה-hook.
- בנה פעם אחת ופעל לפי מזהה הבנייה העמיד שלו.
- הפעל קביעות ספציפיות לתכונה באורח מאותחל.
- רשום כשלים וחריגים מכוונים במפורש.
- הוסף תכונה נוספת רק לאחר הבנת קו הבסיס הנוכחי.
לצורת ה-JSON הקנונית, ראה סכמת מתכון.