AlertResponder recibe una alerta que es un evento de interés desde el punto de vista de seguridad y responde la alerta automáticamente. AlertResponder tiene 3 partes de respuesta automática.
  1. El inspector investiga las entidades que aparecen en la alerta, incluida la dirección IP, el nombre de dominio y almacena un resultado: reputación, historial de actividades maliciosas, instancia de nube asociada, etc. Los siguientes componentes ya se proporcionan para integrarse con su entorno AlertResponder. También puede crear su propio inspector para verificar los registros almacenados en el almacenamiento de registros original o en el sistema de búsqueda de registros. VirusTotalInspector
  2. El revisor recibe la alerta con los resultados del Inspector y evalúa la gravedad de la alerta. Cada operador / administrador de seguridad de su organización debe escribir el revisor porque las políticas de seguridad difieren de una organización a otra.
  3. El emisor finalmente recibe la alerta con el resultado de la evaluación de gravedad del revisor. Después de eso, Emitter envía un sistema integrado externo. Por ejemplo, PagerDuty, Slack, Github Enterprise, etc. La función AWS Lambda también puede configurar la cuarentena automática. GheReporter
concepto

Concepto

  • Análisis de correlación basado en pull
  • Agregación de alertas
  • Inspectores y emisores enchufables

Empezando

Reemplace las siguientes variables de acuerdo con su entorno:

  • $REGION: Reemplácelo con su región de AWS. (por ejemplo, ap-noreste-1)
  • $STACK_NAME: Reemplácelo con el nombre de la pila de CloudFormation
$ curl -o alert_responder.yml https: // s3- $ REGION .amazonaws.com / cfn-assets. 
$ REGION /AlertResponder/templates/latest.yml $ aws despliegue de formación en la nube --template-file alert_responder.yml --stack-name $ STACK_NAME --capabilities CAPABILITY_IAM

Desarrollo

Descripción de la arquitectura
arquitectura

Requisito previo

awscli> = 1.16.20
Ir> = 1.11
GNU automake> = 1.16.1

Implementar y probar

Prepare un archivo de parámetros, por ejemplo, config.jsony ejecute el comando make.
$ cat config.json
{
  " StackName " : " your-alert- respond -name " ,
   " TestStackName " : " your-test-stack-name " ,
   " CodeS3Bucket " : " your-some-bucket " ,
   " CodeS3Prefix " : " por ejemplo, funciones " ,

  " InspectionDelay " : " 1 " ,
   " ReviewDelay " : " 10 "
}
$ env AR_CONFIG = config.json hacer despliegue

NOTA: asegúrese de que necesita las credenciales de AWS (por ejemplo, la clave API) y los permisos adecuados.

Implementar una pila de prueba

Después de implementar AlertResponder, muévase a debajo del testerdirectorio e implemente una pila para probar.
probador de $ cd /
$ make AR_CONFIG = .. / config.json desplegar
Puede ver param.jsonque se crea mediante secuencia de comandos en el testerdirectorio después de la implementación.
$ cat params.json
{
  " AccountId " : " 214219211678 " ,
   " Región " : " ap-northeast-1 " ,
   " Inspector " : " slam-alert-responder-test-functions-Inspector-1OBGU89CT1P4B " ,
   " Reportero " : " slam-alert-responder -test-functions-Reporter-1NDHU0VDI8OPA " 
}
Luego, regrese al directorio de nivel superior del repositorio de git y puede ejecutar la prueba de integración.
$ go test -v
=== RUN   TestInvokeBySns
--- PASS: TestInvokeBySns (3.39s)
           (snip)
PASS
ok      github.com/m-mizutani/AlertResponder    20.110s

Fuente y Descarga: https://github.com/m-mizutani/AlertResponder