- כמה מפתחות יש לייצר והיכן ימוקמו? נהוג לחולל מפתחות פעם אחת באירוע שנקרא "טקס חילול מפתחות". זהו אירוע שבו מתכנסים אנשי התשתית האחראים על המערכת, יחד עם אנשי רגולציה ומינהל, המתעדים אותו. במהלך הטקס מריצים את הפקודות המורות על ייצור מאגר מפתחות למשך תקופה. חישוב סך המפתחות הדרושים ייעשה ע"י התוכנה בהתאם למה שמוגדר במדיניות. אם למשל ברצוננו לחולל מאגר מפתחות ל- 10 שנים הבאות. אזי סך המפתחות הדרושים יהיה 40, כיוון שבמדיניות מוגדר שבכל שנה נדרשים 3 מפתחות מסוג ZSK ומפתח אחד מסוג KSK. סה"כ 4 מפתחות לשנה כפול 10.
כאמור, במהלך הטקס, צוות התפעול מריץ את הפקודה המורה על חילול כמות מפתחות לתקופה הרצויה (דוגמא בהמשך).
מבחינת תוכנת החתימה, המיקום בו נשמרים המפתחות שחוללנו, הוא השם הלוגי שהוגדר
ב- conf בפרק הקודם, שם מוגדרים הפרמטרים הדרושים לגשת למחיצה הרלוונטית ב- HSM. בכל פעם שהתוכנה מבצעת פעולת המצריכה גישה למפתח היא פונה למאגר. פעולות הדורשות גישה ל- HSM הן למשל פעולת חתימה או גלגול (החלפת) מפתח. במקרה של גלגול מפתח מתבצעת גישה למאגר, בחירת מפתח חדש, והוא זה שישמש את המערכת לחתימה בפרק הזמן שהוגדר במדיניות, כך "עד הגלגול הבא..". - חתימה על zones שונים: האם לחולל מאגר מפתחות נפרד לכל zone, או להשתמש באותו מאגר מפתחות לכולם? המשמעות היא מצד אחד פחות מפתחות לחולל ולשמור, פחות "רעש" תפעולי. מצד שני החלפת המפתחות תיעשה באותו זמן לכל ה- zones. כל מקרה לגופו, יש גמישות מלאה להפעיל כמה מאגרים או אחד.
בעמוד הבא מובאת דוגמא למהלך טקס חילול מפתחות באמצעות OpenDNSsec.
הרצת הפקודות נעשית לאחר התקנת התוכנה, הגדרת user בשם "opendnssec", הגדרת קובץ KASP וקובץ conf, ובנוסף לאחר התקנת SQLlite המשמש את התוכנה. מיותר לציין שגם ה- HSM מאותחל ומוכן לשימוש.
- בדיקת קישוריות ל- HSM
[root@signer]# ods-hsmutil test MyHSM
- אתחול ה- DB של התוכנה. יש לשים לב לבצע עם המשתמש "opendnssec"
[root@signer1]# su -s /bin/bash -c /sbin/ods-enforcer-db-setup opendnssec
- הפעלת enforcer service ו- signer service
[root@signer]# ods-control start
Starting enforcer…
OpenDNSSEC key and signing policy enforcer version 2.1.7
Engine running.
Starting signer engine…
OpenDNSSEC signer engine version 2.1.7
Engine running. - יבוא מדיניות לתוך ה- DB. אם יש יותר ממדיניות אחת ב- KASP, הפקודה תציג את כולן ותייבא אותן לבסיס הנתונים
[root@signer]# ods-enforcer policy import
Created policy MyPolicy successfully - הבאת zone לחתימה. בדוגמא להלן נעתיק ב- SCP את הקובץ משרת "backend" למחיצה על שרת signer. כאמור, ניתן גם ב- zone transfer או כל דרך העולה על הדעת. אם פועלים עם קבצים יש לוודא כי ה- owner של הספריה הוא המשתמש opendnssec
[root@signer]# scp
root@backend:/var/zones/example.com.zone
/var/opendnssec/unsigned/example.com.zone - הכנסת ה- zone למערכת: קריאה ל- enforcer להוסיף zone בשם example.com,
ולהחיל עליו את המדיניות "MyPolicy".
הקלט של הפקודה הוא קובץ zone במיקום מהסעיף הקודם, והפלט החתום גם הוא יהיה קובץ במיקום השני (ספרית signed, עם owner שהוא המשתמש "opendnssec" )[root@signer]# ods-enforcer zone add -z example.com -p MyPolicy –in-type file –input /var/opendnssec/unsigned/example.com.zone –out-type file –output /var/opendnssec/signed/example.com.zone.signed
input is set to /var/opendnssec/unsigned/example.com.zone.
output is set to /var/opendnssec/signed/example.com.zone.signed.
Zone il added successfullyאם יש zone נוסף, יש להריץ את הפקודה שוב עם הפרטים הרלוונטיים (שם zone, ומדיניות)
- וידוא ה- zone נטען למערכת
[root@signer]# ods-enforcer zone list
Zones:
Zone: Policy: Next change: Signer Configuration:|
example.com MyPolicy Thu Dec 19 12:00:40 2023 /var/opendnssec/signconf/example.com.xml - חילול מאגר מפתחות ל- 10 שנים
[root@signer]# ods-enforcer key generate -d P10Y -p MyPolicy
- בדיקת מפתחות כפי שהם ב- DB של המערכת
[root@signer]# ods-enforcer key list -v
כפי שהם ב- HSM:
[root@signer]# ods-hsmutil list MyHSM
- התוכנה אמורה לחתום מיד, וה-zone החתום ימצא בספריה שהוגדרה בסעיף 6