Administrator-Audit-Logs für Atlassian Cloud erfassen
In diesem Dokument wird beschrieben, wie Sie Atlassian Cloud Admin-Audit-Logs mit AWS S3 in Google Security Operations aufnehmen. Der Parser versucht zuerst, die eingehende Nachricht als JSON-Objekt zu verarbeiten. Falls das nicht funktioniert, werden reguläre Ausdrücke (Grok-Muster) verwendet, um Felder aus verschiedenen Atlassian Jira-Logformaten zu extrahieren und die extrahierten Daten dem einheitlichen Datenmodell (Unified Data Model, UDM) zuzuordnen.
Hinweise
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Google SecOps-Instanz
- Privilegierter Zugriff auf AWS
- Privilegierter Zugriff auf Atlassian
AWS IAM und S3-Bucket konfigurieren
- Erstellen Sie einen Amazon S3-Bucket. Folgen Sie dazu der Anleitung unter Bucket erstellen.
- Melden Sie sich in der AWS-Konsole an.
- Gehen Sie zu S3 > Bucket erstellen.
- Geben Sie einen Namen für den Bucket an, z. B.
atlassian-admin-audit-logs
. - Behalten Sie die anderen Standardeinstellungen bei oder konfigurieren Sie bei Bedarf die Verschlüsselung und die Versionsverwaltung.
- Klicken Sie auf Erstellen.
- Speichern Sie den Namen und die Region des Buckets zur späteren Verwendung.
- Erstellen Sie einen Nutzer gemäß dieser Anleitung: IAM-Nutzer erstellen.
- Wählen Sie den erstellten Nutzer aus.
- Wählen Sie den Tab Sicherheitsanmeldedaten aus.
- Klicken Sie im Abschnitt Zugriffsschlüssel auf Zugriffsschlüssel erstellen.
- Wählen Sie Drittanbieterdienst als Anwendungsfall aus.
- Klicken Sie auf Weiter.
- Optional: Fügen Sie ein Beschreibungstag hinzu.
- Klicken Sie auf Zugriffsschlüssel erstellen.
- Klicken Sie auf CSV-Datei herunterladen und speichern Sie die Zugriffs-ID und den geheimen Zugriffsschlüssel für die zukünftige Verwendung.
- Klicken Sie auf Fertig.
- Klicken Sie auf dem Tab Berechtigungen unter Berechtigungsrichtlinien auf Berechtigungen hinzufügen.
- Wählen Sie Richtlinien direkt anhängen aus.
- Suchen Sie nach der Richtlinie AmazonS3FullAccess.
- Wählen Sie die Richtlinie aus.
- Klicken Sie auf Weiter.
- Klicken Sie auf Berechtigungen hinzufügen.
API-Schlüssel in Atlassian konfigurieren
- Melden Sie sich bei Atlassian an.
- Rufen Sie die Einstellungen > API-Schlüssel auf.
- Klicken Sie rechts oben auf API-Schlüssel erstellen.
- Geben Sie einen eindeutigen und aussagekräftigen Namen für den Schlüssel an.
- Wählen Sie unter Läuft ab am ein neues Ablaufdatum aus.
- Klicke zum Speichern auf Erstellen.
- Kopieren und speichern Sie Ihren API-Schlüssel und Ihre Organisations-ID.
- Klicken Sie auf Fertig.
Erforderliche Pakete konfigurieren
Melden Sie sich auf dem Host für die Protokollerfassung an (z. B. einer AWS-VM) und führen Sie den folgenden Befehl aus, um AWS-Anmeldedaten zu konfigurieren:
pip install boto3 requests aws configure
Atlassian Log Puller-Skript erstellen
Erstellen Sie die folgende Datei, indem Sie
sudo vi area1_to_s3.py
eingeben und den folgenden Code kopieren:- Nehmen Sie folgende Anpassungen vor:
#!/usr/bin/env python3 import os, requests, boto3, datetime # Settings TOKEN = os.environ["ATL_TOKEN"] ORG_ID = os.environ["ATL_ORG_ID"] AWS_PROFILE = os.getenv("AWS_PROFILE") BUCKET = "atlassian-admin-audit-logs" def fetch_events(cursor=None): url = f"https://api.atlassian.com/admin/v1/orgs/{ORG_ID}/events" headers = {"Authorization":f"Bearer {TOKEN}"} params = {"limit":100, "cursor":cursor} if cursor else {"limit":100} resp = requests.get(url, headers=headers, params=params) resp.raise_for_status() return resp.json() def upload_json(data, filename): session = boto3.Session(profile_name=AWS_PROFILE) if AWS_PROFILE else boto3.Session() session.client("s3").put_object(Bucket=BUCKET, Key=filename, Body=data, ContentType="application/json") print(f"Uploaded {filename}") def main(): today = datetime.datetime.utcnow().strftime("%Y-%m-%d") cursor = None count = 0 while True: resp = fetch_events(cursor) key = f"audits/{today}/events_{count}.json" upload_json(resp["data"], key) count += 1 cursor = resp.get("links",{}).get("next") if not cursor: break if __name__=="__main__": main()
Speichern und beenden Sie
vi
, indem Sie aufesc
>:wq
** klicken.
Umgebungsvariablen speichern
Erstellen Sie eine sichere Datei zum Speichern von Umgebungsvariablen in
/etc/atlassian_audit.env
:export ATL_TOKEN="your_atlassian_key" export ATL_ORG_ID="your_org_id" export AWS_PROFILE="atlassian-logs"
Prüfen Sie, ob die Datei sicher ist:
chmod 600 /etc/atlassian_audit.env
Mit Cron automatisieren
Erstellen Sie ein Wrapper-Script für Cron, indem Sie
sudo vi /usr/local/bin/run_atlassian_audit.sh
ausführen, und kopieren Sie dann den folgenden Code:#!/usr/bin/env bash source /etc/atlassian_audit.env python3 /opt/scripts/export_atlassian_audit.py
Machen Sie die Datei ausführbar:
chmod +x /usr/local/bin/run_atlassian_audit.sh
Konfiguration für die tägliche Ausführung um 02:00 Uhr UTC:
crontab -e 0 2 * * * /usr/local/bin/run_atlassian_audit.sh >> /var/log/atl_audit.log 2>&1
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten