בדף הזה מוסבר איך לייצא יומנים מ-Google Distributed Cloud (GDC) עם air gap למערכת חיצונית לניהול אבטחת מידע ואירועים (SIEM). השילוב הזה מאפשר ניתוח מרכזי של נתוני היומן וניטור משופר לצורכי אבטחה.
הליבה של ייצוא היומנים כוללת פריסה של משאב מותאם אישית של SIEMOrgForwarder.
המשאב הזה פועל כקובץ תצורה, ומציין את הפרטים של מכונת ה-SIEM החיצונית שמיועדת לקבל את היומנים. הגדרת הפרמטרים האלה בקובץ SIEMOrgForwarder מאפשרת לאדמינים ליצור צינור עיבוד נתונים יעיל ומאובטח לייצוא יומנים.
לפני שמתחילים
כדי לקבל את ההרשאות שדרושות לניהול משאבים בהתאמה אישית של SIEMOrgForwarder, צריך לבקש ממנהל חשבון ארגוני ב-IAM להקצות לכם את אחד מהתפקידים שמשויכים ל-SIEM Export Org.
בהתאם לרמת הגישה וההרשאות שאתם צריכים, יכול להיות שתקבלו תפקידי יוצר, עריכה או צפייה במשאב הזה במרחב השמות של הפרויקט. מידע נוסף זמין במאמר הכנת הרשאות IAM.
אחרי שמקבלים את ההרשאות הנדרשות, מבצעים את השלבים הבאים לפני שמייצאים את היומנים למערכת SIEM חיצונית:
יצירת קישוריות: מוודאים שיש חיבור בין GDC לבין יעד ה-SIEM החיצוני. אם צריך, אפשר לעבוד עם מפעיל התשתית (IO) כדי ליצור חיבור uplink לרשת של הלקוח.
הגדרה של משתני סביבה: מגדירים את משתני הסביבה הבאים כדי להריץ את הפקודות מהדף הזה:
הנתיב של קובץ ה-kubeconfig:
export KUBECONFIG=KUBECONFIG_PATHמחליפים את
KUBECONFIG_PATHבנתיב לקובץ kubeconfig של שרת Management API.מרחב השמות של הפרויקט:
export PROJECT_NAMESPACE=PROJECT_NAMESPACE
הגדרת ייצוא של יומנים
יוצרים את הסוד ואת המשאב בהתאמה אישית של SIEMOrgForwarder באותו מרחב שמות. אפשר להשתמש בכל מרחב שמות של פרויקט. כל SIEMOrgForwarder מייצא יומני פלטפורמה מכל האשכולות בארגון, כך שאין צורך ליצור את המשאבים האלה בפרויקטים או באשכולות אחרים.
מומלץ להשתמש במרחב השמות platform-obs כי SIEMOrgForwarder מייצא רק יומני פלטפורמה. התפקידים ברמת הארגון של ייצוא ל-SIEM גם נותנים גישת קריאה לכל הסודות במרחב השמות שבו הם מוקצים, לכן בקשו ממנהל החשבון הארגוני ב-IAM להקצות את התפקידים האלה רק לאדמינים של הפלטפורמה.
ייצוא יומנים למערכת SIEM חיצונית:
צריך לספק אסימון כדי לחבר את מחסנית הרישום למערכת ה-SIEM. כדי לבצע את הפעולה הזו, צריך ליצור סוד במרחב השמות של הפרויקט כדי לאחסן את האסימון במקרה של Splunk ואת הסיסמה במקרה של Elastic SIEM:
cat <<EOF | kubectl --kubeconfig=${KUBECONFIG} apply -f - apiVersion: v1 kind: Secret metadata: name: SECRET_NAME namespace: ${PROJECT_NAMESPACE} type: Opaque stringData: SECRET_FIELD: FIELD_VALUE EOFמחליפים את מה שכתוב בשדות הבאים:
-
SECRET_NAME: שם הסוד. -
SECRET_FIELD: שם השדה שבו רוצים לאחסן את הסוד. ב-Elastic, משתמשים באותו ערך כמו שלHTTP_USER_NAMEבמשאב בהתאמה אישית. -
FIELD_VALUE: הערך של FIELD_VALUE הוא אסימון במקרה של Splunk וסיסמה במקרה של Elastic.
-
פורסים את המשאב בהתאמה אישית
SIEMOrgForwarderבמרחב השמות של הפרויקט. צריך לציין את סוג היומן: יומן ביקורת או יומן תפעולי. כדי להגדיר את ייצוא היומנים לשני סוגי היומנים, צריך לפרוס משאבSIEMOrgForwarderלכל סוג.בדוגמה הבאה מוסבר איך להחיל הגדרה על משאב בהתאמה אישית של
SIEMOrgForwarderל-Splunk:cat <<EOF | kubectl --kubeconfig=${KUBECONFIG} apply -f - apiVersion: logging.gdc.goog/v1 kind: SIEMOrgForwarder metadata: name: SIEM_ORG_FORWARDER namespace: ${PROJECT_NAMESPACE} spec: source: LOG_TYPE destinations: splunkOutputs: - host: SIEM_HOST token: name: SECRET_NAME field: SECRET_FIELD tls: "TLS" netConnectTimeout: NET_CONNECT_TIMEOUT EOFמחליפים את מה שכתוב בשדות הבאים:
-
SIEM_ORG_FORWARDER: השם של קובץ ההגדרה שלSIEMOrgForwarder. -
LOG_TYPE: סוג היומן שאתם מייצאים. הערכים הקבילים הםauditו-operational. -
SIEM_HOST: השם של מארח ה-SIEM. -
SECRET_NAME: שם הסוד. -
SECRET_FIELD: שם השדה שבו שמרתם את הסוד. -
TLS: הסטטוס של Transport Layer Security (TLS). הערכים הקבילים הם"On"ו-"Off". -
NET_CONNECT_TIMEOUT: משך הזמן המקסימלי בשניות להמתנה עד ליצירת חיבור. לדוגמה, הערך180פירושו המתנה של 180 שניות.
בדוגמה הבאה אפשר לראות איך מחילים הגדרה על משאב בהתאמה אישית של
SIEMOrgForwarderל-Elastic:cat <<EOF | kubectl --kubeconfig=${KUBECONFIG} apply -f - apiVersion: logging.gdc.goog/v1 kind: SIEMOrgForwarder metadata: name: SIEM_ORG_FORWARDER namespace: ${PROJECT_NAMESPACE} spec: source: LOG_TYPE destinations: elasticOutputs: - host: SIEM_HOST port: SIEM_PORT http_credential: http_user: HTTP_USER_NAME http_passwd: SECRET_NAME tls: "TLS" netConnectTimeout: NET_CONNECT_TIMEOUT index: INDEX EOFמחליפים את מה שכתוב בשדות הבאים:
-
SIEM_ORG_FORWARDER: השם של קובץ ההגדרה שלSIEMOrgForwarder. -
LOG_TYPE: סוג היומן שאתם מייצאים. הערכים הקבילים הםauditו-operational. -
SIEM_HOST: השם של מארח ה-SIEM. -
SIEM_PORT: היציאה של מכונת ה-SIEM. -
HTTP_USER_NAME: שם המשתמש של מכונת ה-SIEM. הערך הזה חייב להיות גם המפתחSECRET_FIELDבסוד שבו מאוחסנת הסיסמה. -
SECRET_NAME: שם הסוד. -
TLS: הסטטוס של Transport Layer Security (TLS). הערכים הקבילים הם"On"ו-"Off". -
NET_CONNECT_TIMEOUT: משך הזמן המקסימלי בשניות להמתנה עד ליצירת חיבור. לדוגמה, הערך180פירושו המתנה של 180 שניות. -
INDEX: האינדקס של המכונה של Elastic. אם לא מציינים ערך, המערכת משתמשת בסוג היומן (auditאוoperational). השדה הזה הוא אופציונלי.
-
מאמתים את הסטטוס של המשאב המותאם אישית של
SIEMOrgForwarderשנפרס:kubectl --kubeconfig=${KUBECONFIG} describe siemorgforwarder/SIEM_ORG_FORWARDER \ -n ${PROJECT_NAMESPACE}בהתאם לסוג היומן, בודקים את הסטטוס הבא:
- יומני ביקורת: בודקים את הסטטוס של
AuditLoggingReady. יומני פעילות: בדיקת הסטטוס של
OperationalLoggingReady.
- יומני ביקורת: בודקים את הסטטוס של