Recoger registros de auditoría de administrador de Atlassian Cloud
En este documento se explica cómo ingerir registros de auditoría de administrador de Atlassian Cloud en Google Security Operations mediante AWS S3. El analizador primero intenta procesar el mensaje entrante como un objeto JSON. Si no funciona, usa expresiones regulares (patrones Grok) para extraer campos de varios formatos de registro de Atlassian Jira y, por último, asigna los datos extraídos al modelo de datos unificado (UDM).
Antes de empezar
Asegúrate de que cumples los siguientes requisitos previos:
- Instancia de Google SecOps
- Acceso privilegiado a AWS
- Acceso privilegiado a Atlassian
Configurar AWS IAM y el segmento de S3
- Crea un segmento de Amazon S3 siguiendo esta guía del usuario: Crear un segmento.
- Inicia sesión en la consola de AWS.
- Ve a S3 > Crear segmento.
- Asigna un nombre al segmento (por ejemplo,
atlassian-admin-audit-logs
). - Deja los demás valores predeterminados (o configura el cifrado y el control de versiones si es necesario).
- Haz clic en Crear.
- Guarda el nombre y la región del contenedor para consultarlos más adelante.
- Crea un usuario siguiendo esta guía: Crear un usuario de gestión de identidades y accesos.
- Selecciona el usuario creado.
- Selecciona la pestaña Credenciales de seguridad.
- En la sección Claves de acceso, haz clic en Crear clave de acceso.
- Selecciona Servicio de terceros como Caso práctico.
- Haz clic en Siguiente.
- Opcional: añade una etiqueta de descripción.
- Haz clic en Crear clave de acceso.
- Haz clic en Descargar archivo CSV y guarda el ID de acceso y la clave de acceso secreta para futuras consultas.
- Haz clic en Listo.
- En la pestaña Permisos de Políticas de permisos, haz clic en Añadir permisos.
- Seleccione Adjuntar políticas directamente.
- Busca la política AmazonS3FullAccess.
- Selecciona la política.
- Haz clic en Siguiente.
- Haz clic en Añadir permisos.
Configurar la clave de API en Atlassian
- Inicia sesión en Atlassian.
- Ve a Ajustes > Claves de API.
- En la parte superior derecha, haz clic en Crear clave de API.
- Proporciona un nombre único y descriptivo para la clave.
- Elige una nueva fecha de vencimiento en Vence el.
- Haz clic en Crear para guardar los datos.
- Copia y guarda los valores de API Key (Clave de API) y Organization ID (ID de organización).
- Haz clic en Listo.
Configurar los paquetes necesarios
Inicia sesión en tu host de recogida de registros (por ejemplo, una VM de AWS) y ejecuta lo siguiente para configurar las credenciales de AWS:
pip install boto3 requests aws configure
Crear una secuencia de comandos de extracción de registros de Atlassian
Crea el siguiente archivo introduciendo
sudo vi area1_to_s3.py
y copia el siguiente código:- Ajusta lo siguiente:
#!/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()
Para guardar y salir de
vi
, haz clic enesc
> escribe:wq
**.
Almacenar variables de entorno
Crea un archivo seguro para almacenar las variables de entorno en
/etc/atlassian_audit.env
:export ATL_TOKEN="your_atlassian_key" export ATL_ORG_ID="your_org_id" export AWS_PROFILE="atlassian-logs"
Asegúrate de que el archivo sea seguro:
chmod 600 /etc/atlassian_audit.env
Automatizar con Cron
Crea un script de envoltorio para Cron ejecutando
sudo vi /usr/local/bin/run_atlassian_audit.sh
y, a continuación, copia el siguiente código:#!/usr/bin/env bash source /etc/atlassian_audit.env python3 /opt/scripts/export_atlassian_audit.py
Haz que el archivo sea ejecutable:
chmod +x /usr/local/bin/run_atlassian_audit.sh
Configúralo para que se ejecute todos los días a las 02:00 UTC:
crontab -e 0 2 * * * /usr/local/bin/run_atlassian_audit.sh >> /var/log/atl_audit.log 2>&1
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.