גרסת ההפצה: Edge for Private Cloud v4.53.01.02 Patch Release ואילך.
בדף הזה מוסבר איך להגדיר חיבורי TLS מדרום לצפון (ממעבדי ההודעות של Apigee לשירותי יעד בעורף) באמצעות מודולי אבטחת חומרה (HSM) של Entrust nShield® 5c.
כתב ויתור בנוגע לתוכן של צד שלישי: בדף הזה מפורטים שלבי ההגדרה של חומרת Entrust nShield בהקשר של שילוב עם Apigee Edge. השלבים האלה מבוססים על דפוסי שילוב סטנדרטיים והם מיועדים למטרות מידע בלבד. ההגדרות של Entrust כפופות לשינויים מצד היצרן. כדי לקבל מפרטים רשמיים, הגדרות אבטחה ודרישות חומרה עדכניות, אפשר לעיין בפורטל התיעוד הרשמי של Entrust.
סקירה כללית
מודולי אבטחה לחומרה (HSM) מספקים סביבה ייעודית ומאובטחת לאחסון מפתחות ולפעולות קריפטוגרפיות. שילוב של Apigee Edge for Private Cloud עם Entrust nShield HSMs מאפשר לאבטח את המפתחות הפרטיים שמשמשים ללחיצות ידיים של TLS ו-mTLS בדרום.
Apigee תומך בשילוב של HSM לתעבורת HTTPS יוצאת (southbound) ברכיבים הבאים:
- נקודות קצה של היעד
- שרתי יעד
- המדיניות בנושא יתרונות מרכזיים של שירותים
- המדיניות בנושא רישום הודעות
- מדיניות בנושא JavaScript
דרישות מוקדמות
לפני שמגדירים את השילוב של HSM, חשוב לוודא שמתקיימות הדרישות המוקדמות הבאות:
1. דרישות לגבי גרסת התוכנה
- האשכול של Apigee Edge for Private Cloud צריך לפעול בגרסה 4.53.01.02 ומעלה.
- השילוב של HSM כלול באופן מובנה בגרסאות ה-RPM הבאות (או בגרסאות מתקדמות יותר):
edge-management-server-4.53.01-0.0.60380.noarch.rpmedge-message-processor-4.53.01-0.0.60380.noarch.rpmedge-gateway-4.53.01-0.0.60380.noarch.rpm
2. הגדרת התשתית ומערכת ההפעלה
- במערכת ההפעלה שמארחת את אשכול Edge for Private Cloud, צריך להשבית את FIPS.
- צריך להתקין ולהגדיר את לקוח ה-HSM ואת Security World בכל הצמתים של מעבד ההודעות.
- חשוב: השלבים האלה חייבים להתבצע על ידי המשתמש
apigee.
כדי לוודא שההתקנה של לקוח ה-HSM מוגדרת בצורה נכונה ושיש למשתמש apigee גישה אליה, מריצים את בדיקת ההתקנה הרגילה של JCA/JCE CSP שמופיעה במסמכי Entrust nShield הרשמיים. מוודאים שהבדיקה הזו הושלמה בהצלחה בכל הצמתים של מעבד ההודעות.
תצורות נתמכות
אפשר להגדיר את Apigee לשימוש ב-HSM בשני מצבים:
1. מצב מעורב של HSM (מומלץ)
במצב הזה, רק המפתחות הפרטיים (KeyStore) מאוחסנים ב-HSM, בעוד שהאישורים המהימנים (TrustStore) נשארים במאגרי התוכנה הרגילים של Apigee.
2. מצב HSM מלא
במצב הזה, גם KeyStore (מפתחות פרטיים) וגם TrustStore (אישורים מהימנים) מאוחסנים ב-HSM. המצב הזה נתמך, אבל יכול להיות שיהיה בו זמן אחזור ארוך יותר.
שלב 1: הפעלת HSM במעבדי הודעות
מבצעים את השלבים האלה בכל צומת של מעבד ההודעות, אחד בכל פעם:
1. הפסקת מעבד ההודעות
apigee-service edge-message-processor stop
2. אימות קובץ הנתונים של מאגר המפתחות של HSM
מוודאים שקובץ הנתונים של מאגר המפתחות של ה-HSM (שמפנה למפתחות שנטענו ב-HSM) נמצא בצומת של מעבד ההודעות ובבעלות המשתמש apigee:
chown apigee:apigee /opt/apigee/{name_of_the_Keystore_Data_File}3. יצירת קובץ ההגדרה של ה-HSM
יוצרים או מעדכנים את קובץ ההגדרות בכתובת /opt/apigee/hsm-config.properties. מגדירים את המיקום והסיסמאות של מאגרי המפתחות של HSM ו (אופציונלית) של מאגרי האישורים.
הגדרה לדוגמה (תמיכה בשרתי proxy של HSM מלאים וגם מעורבים):
# HSM KeyStore Reference hsm.property.unique_keystore_ref1.keystore.file.location=/opt/apigee/ks.keystore hsm.property.unique_keystore_ref1.keystore.password=keystore_password # HSM TrustStore Reference (Optional, only needed for Full HSM Mode) hsm.property.unique_truststore_ref1.truststore.file.location=/opt/apigee/ts.truststore hsm.property.unique_truststore_ref1.truststore.password=truststore_password
הגדרת ההרשאות הנכונות:
chown apigee:apigee /opt/apigee/hsm-config.properties
chmod 600 /opt/apigee/hsm-config.properties
4. הגדרת מאפיינים של מעבד בקשות
יוצרים או עורכים את /opt/apigee/customer/application/message-processor.properties ומוסיפים את הפרטים הבאים:
# Enable HSM Integration conf_system_apigee.hsm.enabled=true # HSM Configuration File Path conf_system_apigee.hsm.properties.file=/opt/apigee/hsm-config.properties # Advanced Custom HSM Port Support (Optional, default is 9000/9001) # conf_system_apigee.hsm.priv_port=9001 # conf_system_apigee.hsm.nonpriv_port=9000
מוודאים שהבעלות נכונה:
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
5. הגדרה מחדש והפעלה מחדש
apigee-service edge-message-processor configure
apigee-service edge-message-processor restart
6. אימות ההפעלה
בודקים את יומן המערכת /opt/apigee/var/log/edge-message-processor/logs/system.log כדי לראות אם יש הודעות על אתחול מוצלח:
main INFO SECURITY-CONTEXT - SSLPreEvaluationContext.isHSMConfigEnabled() : HSM_FLOW : HSM config is enabled main INFO SECURITY-CONTEXT - SSLPreEvaluationContext.loadProperties() : HSM_FLOW : HSM config properties loaded from file /opt/apigee/hsm-config.properties
שלב 2: הגדרת שרתי proxy של API
מעדכנים את הבלוק SSLInfo בהגדרות של ה-proxy ל-API (TargetEndpoint, ServiceCallout או policies). משתמשים בקידומת hsmref:// כדי להפנות למאגרי מפתחות שמנוהלים על ידי HSM, ובקידומת ref:// (או בשם ההפניה הרגיל) כדי להפנות למאגרי מפתחות של תוכנה.
1. הגדרה של מצב מעורב ב-HSM (מומלץ)
משתמש ב-HSM עבור KeyStore (אימות לקוח) ובתוכנה עבור TrustStore.
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>true</ClientAuthEnabled>
<KeyStore>hsmref://unique_keystore_ref1</KeyStore>
<TrustStore>ref://mySoftwareTrustStoreRef</TrustStore>
</SSLInfo>2. הגדרה מלאה של HSM
משתמש ב-HSM גם ב-KeyStore וגם ב-TrustStore.
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>true</ClientAuthEnabled>
<KeyStore>hsmref://unique_keystore_ref1</KeyStore>
<TrustStore>hsmref://unique_truststore_ref1</TrustStore>
</SSLInfo>מעקף של אימות בזמן הפריסה
כדי לאפשר פריסה בלי להעלות מפתחות פרטיים למסד הנתונים של Cassandra ב-Apigee, המערכת של Apigee מדלגת אוטומטית על בדיקות של קיומי מאגר מפתחות/מאגר אישורים של סביבה במהלך הפריסה, לכל הפניה שמתחילה בקידומת hsmref://.
פעולות: הוספה של חנויות מפתחות/חנויות אישורים חדשות של HSM
כדי להוסיף מאגר מפתחות או מאגר אישורים חדש של HSM לסביבת הפעלה קיימת:
- טוענים את המפתחות או האישורים ל-HSM הפיזי (ראו טעינת מאגרי מפתחות או מאגרי אישורים ל-HSM).
- מעתיקים את קובץ הנתונים החדש של מאגר המפתחות לצמתים של מעבד ההודעות ומגדירים את הבעלות ל-
apigee. - מעדכנים את
/opt/apigee/hsm-config.propertiesבכל הצמתים של מעבד ההודעות עם ההפניה החדשה:hsm.property.new_keystore_ref.keystore.file.location=/opt/apigee/new_ks.keystore hsm.property.new_keystore_ref.keystore.password=new_password - מפעילים מחדש את מעבד ההודעות בכל צומת:
apigee-service edge-message-processor restart
- מעדכנים את ההגדרה של proxy ל-API כדי להשתמש ב-
hsmref://new_keystore_refומבצעים פריסה.
השבתת HSM באופן גלובלי
כדי להשבית את HSM:
- מעדכנים את כל השרתים הפעילים באמצעות
hsmref://כדי להשתמש בהפניות לתוכנה רגילה (ref://). - בכל צומת של מעבד ההודעות, עורכים את
/opt/apigee/customer/application/message-processor.propertiesומגדירים:conf_system_apigee.hsm.enabled=false
- מגדירים מחדש ומפעילים מחדש את מעבד ההודעות:
apigee-service edge-message-processor configure
apigee-service edge-message-processor restart
מגבלות וסייגים
- חומרה נתמכת: מוגבלת ל-HSM ברשת Entrust nShield 5c.
- תחזוקה: הלקוחות אחראים לתחזוקה של שרת ה-HSM או הלקוח.
- זמן אחזור: יכול להיות שיהיה זמן אחזור נוסף בגלל משא ומתן ברשת עם ה-HSM. שימוש במצב מעורב של HSM מפחית את הבעיה במידה מסוימת.
- הפעלה מחדש של HSM: אם ה-hardserver של ה-HSM מופעל מחדש, צריך להפעיל מחדש את
edge-message-processorבצמתי מעבד ההודעות המחוברים.
טעינת מאגרי מפתחות/מאגרי אישורים ב-HSM
כדי לדעת אילו פקודות keytool בדיוק נדרשות לייבוא מאגר מפתחות PKCS12 או אישור PEM ל-HSM, אפשר לעיין בפורטל התיעוד הרשמי של Entrust nShield.
כדי להבטיח תאימות ל-Apigee, קובצי מאגר המפתחות של ה-HSM שמתקבלים צריכים לעמוד בדרישות הבאות:
- ספרייה: צריך לשמור את הקובץ ב-
/opt/apigee/(לדוגמה,/opt/apigee/hsmks.keystore) - הרשאות: המשתמש
apigee(chown apigee:apigee /opt/apigee/<filename>) צריך להיות הבעלים של הקובץ - קריאוּת: השירות
edge-message-processorצריך להיות מסוגל לקרוא את הנתונים.
הפניה לשגיאה
| קוד תקלה | סטטוס HTTP | תיאור / סיבה |
|---|---|---|
entities.HsmConfigNotEnabled |
500 | proxy ל-API ניסה להשתמש ב-hsmref:// בזמן הריצה, אבל HSM מושבת באופן גלובלי (conf_system_apigee.hsm.enabled=false) במעבד בקשות. |
הודעות משפטיות
Entrust ו-nShield הם סימנים מסחריים או סימנים מסחריים רשומים של Entrust Corporation או של השותפים העצמאיים שלה. כל הסימנים המסחריים האחרים הם קניינם של בעליהם.