כאן מוסבר איך מייצאים יומנים מ-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
הגדרת ייצוא של יומנים
ייצוא יומנים למערכת 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, זהו שם המשתמש. -
FIELD_VALUE: הערך של FIELD_VALUE הוא אסימון במקרה של Splunk וסיסמה במקרה של Elastic. -
TOKEN: האסימון שלכם.
-
פורסים את המשאב בהתאמה אישית
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_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.
- יומני ביקורת: בודקים את הסטטוס של