OnWorks Linux ו-Windows Online WorkStations

לוגו

אירוח מקוון בחינם עבור תחנות עבודה

<הקודם | תוכן | הבא>

10.3.2. יצירת חבילות תצורה‌


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

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

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



מסתכל לתוך מדגם אם אתה רוצה לבדוק חבילה אמיתית שהיא בעצם חבילת תצורה, חֲבִילָה עיין ב kali-ברירות מחדל חֲבִילָה. זה לא פשוט כמו הדוגמה בסעיף זה אבל יש לו את כל המאפיינים הרלוונטיים ואפילו משתמש בטכניקות מתקדמות (כמו

dpkg-divert) כדי להחליף קבצים שכבר סופקו על ידי חבילות אחרות.

מסתכל לתוך מדגם אם אתה רוצה לבדוק חבילה אמיתית שהיא בעצם חבילת תצורה, חֲבִילָה עיין ב kali-ברירות מחדל חֲבִילָה. זה לא פשוט כמו הדוגמה בסעיף זה אבל יש לו את כל המאפיינים הרלוונטיים ואפילו משתמש בטכניקות מתקדמות (כמו

dpkg-divert) כדי להחליף קבצים שכבר סופקו על ידי חבילות אחרות.


תמונה

1https://www.debian.org/doc/manuals/maint-guide/

אל האני offsec-defaults החבילה תכיל כמה קבצים:


/etc/apt/sources.list.d/offsec.list: sources.list כניסה עבור APT, המאפשרת את מאגר החבילות הפנימי של החברה


/etc/apt/trusted.gpg.d/offsec.gpg: מפתח GnuPG המשמש לחתימה על מאגר החבילות הפנימי של החברה


/etc/salt/minion.d/offsec.conf: קובץ תצורה של SaltStack כדי לציין היכן למצוא את ה-Salt master


/usr/share/images/offsec/background.png: תמונת רקע נחמדה עם הלוגו של Offensive Security


/usr/share/glib-2.0/schemas/90_offsec-defaults.gschema.override: קובץ המספק הגדרות ברירת מחדל חלופיות עבור שולחן העבודה של GNOME


ראשית, צור א offsec-defaults-1.0 ספרייה ושם את כל הקבצים בספרייה הזו. ואז לרוץ dh_make --native (מ ה dh-make package) כדי להוסיף הוראות אריזה של Debian, אשר יאוחסנו ב-a דביאן ספריית משנה:


$ mkdir offsec-defaults-1.0; cd offsec-defaults-1.0

$ dh_make --native

סוג החבילה: (יחיד, אינדפ, ספריה, פיתון) [s/i/l/p]? i

כתובת דוא"ל : [מוגן בדוא"ל] רישיון: gpl3

שם חבילה : offsec-defaults שם שומר : רפאל הרצוג גרסה : 1.0

סוג חבילה: אינדפ

תאריך : יום ה', 16 ביוני 2016 18:04:21 +0200

האם הפרטים נכונים? [Y/n/q] y

כרגע אין Makefile ברמה העליונה. זה עשוי לדרוש כוונון נוסף בוצע. אנא ערוך את הקבצים בספריית המשנה debian/ כעת.

$ mkdir offsec-defaults-1.0; cd offsec-defaults-1.0

$ dh_make --native

סוג החבילה: (יחיד, אינדפ, ספריה, פיתון) [s/i/l/p]? i

כתובת דוא"ל : [מוגן בדוא"ל] רישיון: gpl3

שם חבילה : offsec-defaults שם שומר : רפאל הרצוג גרסה : 1.0

סוג חבילה: אינדפ

תאריך : יום ה', 16 ביוני 2016 18:04:21 +0200

האם הפרטים נכונים? [Y/n/q] y

כרגע אין Makefile ברמה העליונה. זה עשוי לדרוש כוונון נוסף בוצע. אנא ערוך את הקבצים בספריית המשנה debian/ כעת.


ראשית, תתבקש להזין סוג חבילה. בדוגמה, בחרנו אינדפ, מה שמציין שחבילת מקור זו תיצור חבילה בינארית יחידה שניתן לשתף בכל הארכיטקטורות (אדריכלות: הכל). יחיד פועל כמקביל, ומייצר חבילה בינארית אחת התלויה בארכיטקטורת היעד (אדריכלות: כל). במקרה הזה, אינדפ רלוונטי יותר, מכיוון שהחבילה מכילה רק קבצי טקסט וללא תוכנות בינאריות, כך שניתן להשתמש בה באופן דומה במחשבים מכל הארכיטקטורות. ה ספריה סוג שימושי עבור ספריות משותפות, מכיוון שהן צריכות לציית לכללי אריזה קפדניים. באופן דומה, פִּיתוֹן צריך להיות מוגבל למודולי Python.


שם מנהל ו רוב התוכניות המעורבות בתחזוקת החבילות יחפשו את שמך ו

כתובת דוא"ל כתובת אימייל ב- DEBFULLNAME ו DEBEMAIL or EMAIL משתני סביבה. הגדרתם, אחת ולתמיד, מונעת הקלדה חוזרת של מספר פעמים. אם הקליפה הרגילה שלך היא Bash, זה עניין פשוט של הוספת שתי השורות הבאות שלך ~ / .bashrc קוֹבֶץ. לדוגמה:

ייצוא EMAIL="[מוגן בדוא"ל]"

ייצוא DEBFULLNAME=”רפאל הרצוג”


אל האני dh_make הפקודה נוצרה א דביאן ספריית משנה המכילה קבצים רבים. חלקם נדרשים, במיוחד כללי, לִשְׁלוֹט, changelog, ו זכויות יוצרים. קבצים עם ה שנאי סיומת הם קבצים לדוגמה שניתן להשתמש בהם על ידי שינוים והסרת ההרחבה. כאשר אין בהם צורך, אנו ממליצים להסיר אותם. ה compat יש לשמור את הקובץ, מכיוון שהוא נדרש לתפקוד נכון של ה 12 formal חבילת תוכניות (כולן מתחילות ב- dh_ קידומת) בשימוש בשלבים שונים של תהליך בניית החבילה.

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


פורמט: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: offsec-defaults


קבצים: *

זכויות יוצרים: 2016 רישיון אבטחה פוגענית: GPL-3.0+


רישיון: GPL-3.0+

תוכנית זו הינה תוכנה חופשית: תוכל להפיץ אותה מחדש ו / או לשנות אותה בתנאי הרישיון הציבורי הכללי של GNU כפי שפורסם על ידי קרן התוכנה החופשית, בגרסה 3 של הרישיון, או (לפי בחירתך) כל גרסה מאוחרת יותר.

.

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

רישיון ציבורי כללי של GNU לפרטים נוספים.

.

היית צריך לקבל עותק של הרישיון הציבורי הכללי של GNU יחד עם תוכנית זו. אם לא, ראה .

.

על מערכות דביאן, הטקסט המלא של כללי GNU

ניתן למצוא את גרסה 3 של רישיון ציבורי ב"/usr/share/common-licenses/GPL-3".

פורמט: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: offsec-defaults


קבצים: *

זכויות יוצרים: 2016 רישיון אבטחה פוגענית: GPL-3.0+


רישיון: GPL-3.0+

תוכנית זו הינה תוכנה חופשית: תוכל להפיץ אותה מחדש ו / או לשנות אותה בתנאי הרישיון הציבורי הכללי של GNU כפי שפורסם על ידי קרן התוכנה החופשית, בגרסה 3 של הרישיון, או (לפי בחירתך) כל גרסה מאוחרת יותר.

.

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

רישיון ציבורי כללי של GNU לפרטים נוספים.

.

היית צריך לקבל עותק של הרישיון הציבורי הכללי של GNU יחד עם תוכנית זו. אם לא, ראה .

.

על מערכות דביאן, הטקסט המלא של כללי GNU

ניתן למצוא את גרסה 3 של רישיון ציבורי ב"/usr/share/common-licenses/GPL-3".

ברירת המחדל changelog הקובץ מתאים בדרך כלל; החלפת "השחרור הראשוני" בהסבר רב יותר אמורה להספיק:


offsec-defaults (1.0) לא יציבים; דחיפות=בינונית


* הוסף את קובץ התצורה של salt minion.

* הוסף את רשומת sources.list של APT ומפתח GPG מהימן של APT.

* עוקף את סכימת ה-gsettings המגדירה את תמונת הרקע.


-- רפאל הרצוג[מוגן בדוא"ל]> יום ה', 16 ביוני 2016 18:04:21 +0200

offsec-defaults (1.0) לא יציבים; דחיפות=בינונית


* הוסף את קובץ התצורה של salt minion.

* הוסף את רשומת sources.list של APT ומפתח GPG מהימן של APT.

* עוקף את סכימת ה-gsettings המגדירה את תמונת הרקע.


-- רפאל הרצוג[מוגן בדוא"ל]> יום ה', 16 ביוני 2016 18:04:21 +0200


בדוגמה, נבצע שינויים ב- לִשְׁלוֹט קוֹבֶץ. אנחנו נשנה את סעיף שדה misc ולהסיר את דף הבית, Vcs-Git, ו Vcs-דפדפן שדות. לבסוף, נמלא את תיאור שדה:


מקור: offsec-defaults סעיף: שונות

עדיפות: אופציונלי

משמר: רפאל הרצוג[מוגן בדוא"ל]> Build-Depends: debhelper (>= 9)

תקנים-גרסה: 3.9.8


חבילה: offsec-defaults ארכיטקטורה: הכל תלוי: ${misc:Depends}

תיאור: הגדרות ברירת מחדל עבור אבטחה פוגענית

חבילה זו מכילה מספר קבצים להגדרת מחשבים בבעלות Offensive Security.

.

זה משנה במיוחד:

- התצורה של APT

- תצורת המלח-מיניון

- הגדרות ברירת המחדל של שולחן העבודה

מקור: offsec-defaults סעיף: שונות

עדיפות: אופציונלי

משמר: רפאל הרצוג[מוגן בדוא"ל]> Build-Depends: debhelper (>= 9)

תקנים-גרסה: 3.9.8


חבילה: offsec-defaults ארכיטקטורה: הכל תלוי: ${misc:Depends}

תיאור: הגדרות ברירת מחדל עבור אבטחה פוגענית

חבילה זו מכילה מספר קבצים להגדרת מחשבים בבעלות Offensive Security.

.

זה משנה במיוחד:

- התצורה של APT

- תצורת המלח-מיניון

- הגדרות ברירת המחדל של שולחן העבודה


אל האני כללי הקובץ מכיל בדרך כלל קבוצה של כללים המשמשים להגדרה, בנייה והתקנה של התוכנה בספריית משנה ייעודית (על שם החבילה הבינארית שנוצרה). התוכן של ספריית משנה זו מאוחסן בארכיון בתוך חבילת Debian כאילו היה השורש של מערכת הקבצים. במקרה זה, קבצים יותקנו ב- debian/offsec-defaults/ ספריית משנה. לדוגמה, לסיים עם התקנת חבילה /etc/apt/sources.list.d/offsec.list, התקן את הקובץ ב debian/offsec-defaults/etc/apt/sources.list.d/offsec.list. ה כללי הקובץ משמש כ קובץ Makefile, עם כמה יעדים סטנדרטיים (כולל לְנַקוֹת ו בינרי, משמש בהתאמה לניקוי ספריית המקור ויצירת החבילה הבינארית).


מה זה קובץ Makefile קוֹבֶץ? אולי שמתם לב להודעה הנוגעת לנעדרים קובץ Makefile בסוף ה dh_make פלט והזכרת הדמיון שלו ל- כללי קוֹבֶץ. א קובץ Makefile הוא קובץ סקריפט המשמש את לעשות תכנית; הוא מתאר כללים כיצד לבנות קבוצה של קבצים זה מזה בעץ של תלות. לדוגמה, תוכנית יכולה להיבנות מקבוצה של קבצי מקור. ה קובץ Makefile הקובץ מתאר כללים אלה בפורמט הבא:

target: source1 source2 ... פקודה1

פקודה 2


הפרשנות של כלל כזה היא כדלקמן: אם אחד מה מָקוֹר* קבצים עדכניים יותר מה- יעד קובץ, אז יש ליצור את היעד, באמצעות פקודה 1 ו פקודה 2.

שים לב ששורות הפקודה חייבות להתחיל עם תו tab; שים לב גם שכאשר שורת פקודה מתחילה עם תו מקף (-), כישלון הפקודה אינו מפריע לכל התהליך.


למרות שקובץ זה הוא לב התהליך, הוא מכיל רק את המינימום ההכרחי להפעלת קבוצה סטנדרטית של פקודות שסופק על ידי 12 formal כְּלִי. זה המקרה עבור קבצים שנוצרו על ידי dh_make. כדי להתקין את רוב הקבצים שלך, אנו ממליצים להגדיר את ההתנהגות של dh_install הפקודה על ידי יצירת הפקודה הבאה debian/offsec-defaults.install קובץ:


apt/offsec.list etc/apt/sources.list.d/ apt/offsec.gpg etc/apt/trusted.gpg.d/ salt/offsec.conf etc/salt/minion.d/ images/background.png usr/ share/images/offsec/

apt/offsec.list etc/apt/sources.list.d/ apt/offsec.gpg etc/apt/trusted.gpg.d/ salt/offsec.conf etc/salt/minion.d/ images/background.png usr/ share/images/offsec/


אתה יכול גם להשתמש בזה כדי להתקין את קובץ עקיפת gsettings אבל debhelper מספק כלי ייעודי לכך (dh_installgsettings) כך שתוכל לסמוך עליו. ראשית, הכנס את ההגדרות שלך debian/offsec-defaults.gsettings-override:


[org.gnome.desktop.background] picture-options='zoom'

picture-uri='file:///usr/share/images/offsec/background.png'

[org.gnome.desktop.background] picture-options='zoom'

picture-uri='file:///usr/share/images/offsec/background.png'


לאחר מכן, תעקוף את dh_installgsettings להתקשר דביאן/כללים כדי להעלות את העדיפות לרמה הצפויה לעקיפה של ארגון (שהיא 90 לפי דף המדריך):


#!/usr/bin/make -f


%:

dh $@


override_dh_installgsettings: dh_installgsettings --priority=90

#!/usr/bin/make -f


%:

dh $@


override_dh_installgsettings: dh_installgsettings --priority=90

תמונה

בשלב זה, חבילת המקור מוכנה. כל מה שנותר לעשות הוא ליצור את החבילה הבינארית באותה שיטה ששימשה בעבר לבנייה מחדש של חבילות: הפעל את dpkg-buildpackage -us

פקודת -uc מתוך ספריית offsec-defaults-1.0:


$ dpkg-buildpackage -us -uc

dpkg-buildpackage: info: חבילת מקור offsec-defaults dpkg-buildpackage: info: מקור גרסה 1.0

dpkg-buildpackage: מידע: הפצת מקור לא יציבה

dpkg-buildpackage: מידע: המקור השתנה על ידי רפאל הרצוג[מוגן בדוא"ל]> dpkg-buildpackage: מידע: ארכיטקטורת מארח amd64

dpkg-source --before-build offsec-defaults-1.0 fakeroot debian/rules clean

dh נקי

dh_testdir dh_auto_clean dh_clean

dpkg-source -b offsec-defaults-1.0

dpkg-source: info: באמצעות פורמט מקור '3.0 (מקורי)'

dpkg-source: info: building offsec-defaults in offsec-defaults_1.0.tar.xz dpkg-source: info: building offsec-defaults in offsec-defaults_1.0.dsc

debian/rules build dh build

dh_testdir dh_update_autotools_config dh_auto_configure dh_auto_build

dh_auto_test

fakeroot debian/rules בינארי dh בינארי

dh_testroot dh_prep dh_auto_install dh_install dh_installdocs

dh_installchangelogs

debian/rules override_dh_installgsettings

make[1]: כניסה לספרייה '/home/rhertzog/kali/kali-book/samples/offsec-defaults-1.0' dh_installgsettings --priority=90

make[1]: יציאה מהספרייה '/home/rhertzog/kali/kali-book/samples/offsec-defaults-1.0' dh_perl

dh_link dh_strip_non-determinism dh_compress

dh_fixperms dh_installdeb dh_gencontrol dh_md5sums


dh_builddeb

dpkg-deb: בניית חבילת 'offsec-defaults' ב-'../offsec-defaults_1.0_all.deb'. dpkg-genchanges >../offsec-defaults_1.0_amd64.changes

dpkg-genchanges: מידע: כולל קוד מקור מלא בהעלאה dpkg-source --after-build offsec-defaults-1.0

dpkg-buildpackage: מידע: העלאה מלאה; חבילת Debian-native (המקור המלא כלול)

dh_builddeb

dpkg-deb: בניית חבילת 'offsec-defaults' ב-'../offsec-defaults_1.0_all.deb'. dpkg-genchanges >../offsec-defaults_1.0_amd64.changes

dpkg-genchanges: מידע: כולל קוד מקור מלא בהעלאה dpkg-source --after-build offsec-defaults-1.0

dpkg-buildpackage: מידע: העלאה מלאה; חבילת Debian-native (המקור המלא כלול)


מחשוב ענן מערכת ההפעלה המוביל ב-OnWorks: