Enterprise Summit Frankfurt 30 Juni 2016

Zusätzliche Ansprechpartner anlegen. 8. Sicherheitsfragen vergeben. 9. Amazon ... AWS Account Management im Unternehmensumfeld. CC BY-NC-ND 3.0. 2 ...
944KB Größe 4 Downloads 294 Ansichten
AWS Account Management im Unternehmensumfeld Andreas Heidötting – Director Systems Admin, Nasdaq Creative Commons: Namensnennung - Nicht-kommerziell - Keine Bearbeitung 3.0 http://creativecommons.org/licenses/by-nc-nd/3.0/de/

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 1

„Das Wichtigste zuerst“/„Die 10 AWS Gebote“ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

Mehrere AWS Accounts verwenden Zugriffsrechte einschränken Root Zugang API Zugriff entziehen und MFA aktivieren IAM Rollen & Zugriffsbedingungen verwenden Protokollierung und Alarmierung bei Auffälligkeiten einschalten Kontaktdaten kontrollieren Zusätzliche Ansprechpartner anlegen Sicherheitsfragen vergeben Amazon E-Mails kontrollieren AWS Security Blog lesen

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 2

Rückblick Accounts 400 350 300 250 200 150 100 50 0

356

150 21 2013

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

60

2014

2015

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

2016 CC BY-NC-ND 3.0 3

Inhalt • Verwendung mehrerer AWS Accounts • Vermeidung von Konsequenzen • Aufgaben- und Funktionstrennung • Ressourcen- und Benutzerverwaltung • Schutz von Logfiles, Backups, geistigem Eigentum • Absicherung der AWS Zugänge • Angriffserkennung, Alarmierung und Abwehr

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 4

Risiken • Unberechtigter Zugriff auf die AWS APIs und somit auf AWS Konsole • Verlust der Kontrolle über Ressourcen- und Benutzerverwaltung • Verlust bzw. Manipulation von Daten, Logfiles, Source Code • Zusätzliche Kosten, die durch den Missbrauch entstehen • Haftung für die durch den Missbrauch entstehenden Schäden Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 5

Sicherheit bei einem Account Developer

Tester

Operations

ServiceDesk

Network

Storage

Data Base

Security

Audit

Hacker

CloudTrail Root User + Config Security Challenge EC2 Identity & Access Management

RDS

RDS

EC2

Development

CloudWatch Logs

Test VPC Flow Logs

Password Policy Elastic Load Balancing Users +

Groups

CodeDeploy

Lambda EC2

RDS

Production

RDS

EC2

Disaster Recovery

CodePipeline

CloudFront

Policies S3 Conditions

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Backups

CodeCommit

Logfiles

Intellectual Property

AWS Account

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 6

Mehrere Accounts Intellectual Property

Development Hacker

Test

Backup

Production

Logging

Disaster Recovery

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Billing

Access & Identity Management

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 7

Abrechnung Development

Identity & Access Management

Test

Logging

Production

Backup

Disaster Recovery

Intellectual Property

S3 Detailed Billing Billing

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 8

Identitäts- und Zugriffsverwaltung Roles Users +

Root User + Developer

Network

Development

Storage

Password Policy Users +

Operations Data Base

Policies Conditions

Audit

Roles Root User +

Identity & Access Management

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Test

Roles Logging

Security Challenge

Identity & Access Management Groups

ServiceDesk Security

Billing

Security Challenge

Identity & Access Management Tester

Roles

Roles

Roles Production

Roles Backup

Policies Conditions Example

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

Roles Disaster Recovery

Roles Intellectual Property

CC BY-NC-ND 3.0 9

Systemumgebungen Roles

Identity & Access

Development

Test

Production

IAM Master

Create / Modify Policies / Enable IAM Manager

IAM Manager

Create Roles / Use Pre-Defined Policies

Disaster Recovery

Developer Tester Operations ServiceDesk Network Storage Data Base Security Audit Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 10

Systemumgebungen Roles

Roles

Identity & Access Management Developer

Network

Password Policy Users +

Tester

EC2

RDS

EC2

Application 1

Storage

RDS

Application 2

EC2

RDS

EC2

Application 1

Development

RDS

Application 2 Test

Groups

Operations Data Base

Roles

Policies

Roles

Conditions ServiceDesk Security

Identity & Access Management EC2

RDS

Application 1 Audit

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

EC2

RDS

Application 2

Production

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

EC2

RDS

Application 1

EC2

RDS

Application 2

Disaster Recovery

CC BY-NC-ND 3.0 11

Identitäts- und Zugriffsverwaltung • Absichern des AWS Root Users • Setzen einer sicheren Passwort-Richtlinie • Erstellen von IAM Benutzern • Verwendung von Multi-Faktor-Authentifizierungs-Geräten • Verwendung von IAM Gruppen • Vergabe von minimalen Zugriffsrechten • Einschränkung des Zugriffs durch Bedingungen in Richtlinien • Verwendung einer zentralen Benutzerverwaltung • Verwendung von IAM Rollen Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 12

Protokollierung CloudTrail

SNS

Tester

Network

Storage

Identity & Access Management

CloudTrail

SNS

Users +

CloudWatch Logs

Backup Account

+ Versioning + MFA Delete + Replication

VPC Flow Logs

Region 1

Elastic Load Balancing

Lambda

+ Versioning + MFA Delete Region 2

SQS Lambda

Config Operations Data Base

SNS

Config

Config Developer

CloudTrail

Config

SES

Logging Account

CloudFront S3

ServiceDesk Security

CloudTrail Config

Audit

Billing Account

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

SNS

Environment Accounts [Development] [Test] [Production] [Disaster Recovery] Intellectual Property

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 13

Datensicherung Roles

EC2

RDS

EC2

Application 1

Roles

RDS

Application 2

EC2

RDS

EC2

Application 1

Development

Users +

RDS

Application 2 Test

Roles

Roles

S3 + Versioning + MFA Delete + Replication

S3 + Versioning + MFA Delete

EBS Snapshots + Sharing + Copy + Replication

EBS Snapshots + Sharing + Copy

RDS Snapshots + Sharing + Copy + Replication

RDS Snapshots + Sharing + Copy Region 2

Region 1

EC2

RDS

Application 1

EC2

RDS

Application 2

Production

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

EC2

RDS

Application 1

EC2

RDS

Application 2

Disaster Recovery

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

Backup Account

CC BY-NC-ND 3.0 14

Geistiges Eigentum EC2 Shared AMIs

CodeCommit

EC2 Shared AMIs

CodePipeline S3 + Versioning + MFA Delete EC2 AMIs + Sharing

EC2

EC2

EC2

EC2

CodeDeploy

CodeDeploy

CodeDeploy

CodeDeploy

Application 1

Application 2

Application 1

Application 2

Development

Test

Reproducible Builds

OpsWorks

EC2 Shared AMIs

EC2 Shared AMIs

Desired State Configuration

Intellectual Property

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

EC2

EC2

EC2

EC2

CodeDeploy

CodeDeploy

CodeDeploy

CodeDeploy

Application 1 Production

Application 2

Application 1

Application 2

Disaster Recovery

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 15

Funktionsumgebungen Roles

Billing

IAM Master IAM Manager

Logging

Backup

Intellectual Property

Create / Modify Policies / Enable IAM Manager Create Roles / Use Pre-Defined Policies

Developer Tester Operations ServiceDesk Network Storage Data Base Security Audit Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 16

Funktionsumgebungen • Aktivierung der Protokollierung • Aggregieren von Logfiles • Schutz von Logfiles • Tools zur Analyse und Überwachung • Erstellung von Backups • Zentralisierung von Backups • Schutz von Backups • Zentralisierung von geistigem Eigentum • Schutz von geistigem Eigentum Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 17

IAM Credential Report • Verwendung des IAM Credential Reports • Entfernen von ungenutzten IAM Usern • Entfernen von ungenutzten IAM User Konsolen-Passwörtern • Entfernen von ungenutzten IAM User API Access Keys • Zwei API Access Keys pro IAM User • Rotation der API Access Keys • Keine API Access Keys für den AWS Root User, IAM Master, IAM Manager • IAM Rollen für Applikationen, die auf Amazon EC2 Instance laufen Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 18

Erreichbarkeit • Kontrolle der eignen Kontaktdaten • Zusätzliche Ansprechpartner • Kontrolle der von Amazon verschickten E-Mails • Vergabe von Sicherheitsfragen

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 19

Überblick Billing

Identity & Access

Logging

Backup

Intellectual Property

+

Development | Test | Production | Disaster Recovery

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 20

Überwachung mit CloudWatch Logs OS & App Logs

VPC Flow

Lambda

CloudWatch Logs

Metric Filter + Alarm

Email / SMS

CloudTrail Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 21

CloudWatch Logs + Metric Filter / Alarm • Verwendung des Root Users • Verwendung der AWS Konsole ohne MFA-Gerät • Verwendung der AWS API ohne MFA-Gerät • Fehlgeschlagene Anmeldeversuche an der AWS Konsole • Verwendung von nicht erlaubten API Kommandos • Veränderung von IAM Richtlinien • Verwendung großer EC2 Instanz-Typen • Veränderung der CloudTrail-Einstellungen Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 22

CloudTrail / Root User CloudTrail

CloudWatch Logs

Quelle:

CloudTrail Events in CloudWatch Logs

Dienst:

CloudWatch Logs Metric Filter

Filter:

{ $.userIdentity.type = "Root" &&

Metric Filter + Alarm

Email / SMS

$.userIdentity.invokedBy NOT EXISTS && $.eventType != "AwsServiceEvent" } Alarm:

Summe >= 1 in 5 minute(s)

Aktion:

Send E-Mail notifications

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 23

CloudTrail JSON Struktur { "eventVersion": "1.02", "userIdentity": { "type": "Root", "principalId": "123456789012", "arn": "arn:aws:iam::123456789012:root", "accountId": "123456789012" }, "eventTime": "2016-01-12T18:06:19Z", "eventSource": "signin.amazonaws.com", "eventName": "ConsoleLogin", "awsRegion": "us-east-1", "sourceIPAddress": "92.72.234.83", "userAgent": "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36", "requestParameters": null, "responseElements": { "ConsoleLogin": "Success" }, "additionalEventData": { "LoginTo": "https://console.aws.amazon.com/console/home?nc2=h_m_mc&state=hashArgs%23&isauthcode=true", "MobileVersion": "No", "MFAUsed": "Yes" }, "eventID": "3416d60e-69dd-4563-8944-160e7cb94dcb", "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 24

CloudTrail / Anmeldeversuche an der AWS Konsole

CloudTrail

CloudWatch Logs

Metric Filter + Alarm

Quelle:

CloudTrail Events in CloudWatch Logs

Dienst:

CloudWatch Logs Metric Filter

Filter:

{ ($.eventName = ConsoleLogin) && ($.errorMessage = "Failed authentication") }

Alarm:

Summe >= 3 in 5 minute(s)

Aktion:

Send E-Mail notifications

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

Email / SMS

CC BY-NC-ND 3.0 25

Beispiele • CloudTrail/AWS Konsole ohne MFA-Gerät { $.eventName = "ConsoleLogin" && $.additionalEventData.MFAUsed != "No" } • CloudTrail/AWS APIs ohne MFA-Gerät { $.userIdentity.sessionContext.attributes.mfaAuthenticated != "true" • CloudTrail/nicht erlaubte API Kommandos { ($.errorCode = "*UnauthorizedOperation") || ($.errorCode = "AccessDenied*") } • CloudTrail/große EC2 Instanz-Typen { ($.eventName = RunInstances) && (($.requestParameters.instanceType = *.8xlarge) || ($.requestParameters.instanceType = *.4xlarge)) } • CloudTrail/Veränderung an CloudTrail { ($.eventName = CreateTrail) || ($.eventName = UpdateTrail) || ($.eventName = DeleteTrail) || ($.eventName = StartLogging) || ($.eventName = StopLogging) } Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 26

Beispiele • CloudTrail/Veränderung von IMA Richtlinien {($.eventName=DeleteGroupPolicy)||($.eventName=DeleteRolePolicy)|| ($.eventName=DeleteUserPolicy)||($.eventName=PutGroupPolicy)|| ($.eventName=PutRolePolicy)||($.eventName=PutUserPolicy)|| ($.eventName=CreatePolicy)||($.eventName=DeletePolicy)|| ($.eventName=CreatePolicyVersion)||($.eventName=DeletePolicyVersion)|| ($.eventName=AttachRolePolicy)||($.eventName=DetachRolePolicy)|| ($.eventName=AttachUserPolicy)||($.eventName=DetachUserPolicy)||( $.eventName=AttachGroupPolicy)||($.eventName=DetachGroupPolicy)}

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 27

Nächste Schritte • Creating CloudWatch Alarms for CloudTrail Events: Examples http://docs.aws.amazon.com/awscloudtrail/latest/userg uide/cloudwatch-alarms-for-cloudtrail.html • Using an AWS CloudFormation Template to Create CloudWatch Alarms http://docs.aws.amazon.com/awscloudtrail/latest/userg uide/use-cloudformation-template-to-createcloudwatch-alarms.html Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 28

Nächste Schritte • AWS Repository for CloudWatch Alarms/CloudTrail Events

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 29

Automatisierung • AWS CloudTrail für alle Regionen • AWS CloudFormation CloudTrail / CloudWatch Logs / Metrik Filter + Alarme • AWS SDKs Python (Boto3), PowerShell / .NET, Java, Ruby, C++, Go, • AWS Partner Technology Partner Security Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 30

AWS Security Blog

https://blogs.aws.amazon.com/security/

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 31

Kontakt

https://www.xing.com/profile/Andreas_Heidoetting

https://de.linkedin.com/in/andhei

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 32

Copyright (CC BY-NC-ND 3.0) Namensnennung - Nicht-kommerziell - Keine Bearbeitung 3.0 http://creativecommons.org/licenses/by-nc-nd/3.0/de/legalcode Sie dürfen: • Teilen — das Material in jedwedem Format oder Medium vervielfältigen und weiterverbreiten Unter folgenden Bedingungen: • Namensnennung — Sie müssen angemessene Urheber- und Rechteangaben machen, einen Link zur Lizenz beifügen und angeben, ob Änderungen vorgenommen wurden. Diese Angaben dürfen in jeder angemessenen Art und Weise gemacht werden, allerdings nicht so, dass der Eindruck entsteht, der Lizenzgeber unterstütze gerade Sie oder Ihre Nutzung besonders. • Nicht kommerziell — Sie dürfen das Material nicht für kommerzielle Zwecke nutzen. • Keine Bearbeitungen — Wenn Sie das Material remixen, verändern oder darauf anderweitig direkt aufbauen dürfen Sie die bearbeitete Fassung der Materials nicht verbreiten. • Keine weiteren Einschränkungen — Sie dürfen keine zusätzlichen Klauseln oder technische Verfahren einsetzen, die anderen rechtlich irgendetwas untersagen, was die Lizenz erlaubt. Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 33

CloudWatch Logs + Lambda OS & App Logs SNS

Email / SMS

VPC Flow

Lambda

CloudWatch Logs

CloudTrail Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Lambda Parsing Logic

Action Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 34

Gegenmaßnamen • Verwendung der AWS Konsole ohne MFA-Gerät => Benutzer sperren • Fehlgeschlagene Anmeldeversuche an der AWS Konsole => Benutzer sperren • Verwendung der AWS API ohne MFA-Gerät => API Zugriff sperren • Verwendung großer EC2 Instanz-Typen => Stoppen der Instanzen Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 35

Einschränkungen / Kosten • Lambda Funktionen pro AWS Account • Kosten für Langzeitarchivierung

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 36

Überwachung mit CloudWatch Logs OS & App Logs Lambda Parsing Logic

SNS

Email / SMS

VPC Flow

Lambda

CloudWatch Logs

Kinesis Action

Amazon S3 CloudTrail Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 37

Überwachung von CloudTrail / Config via S3 < 15 m

< 6h

Config

SNS

S3 Bucket CloudTrail Logs

CloudTrail

Email / SMS

Lambda Parsing Logic S3 Bucket Config Logs

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Action

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 38

Überwachung von CloudFront / S3 / ELB via S3 < 15 m

S3 Bucket CloudTrail Logs

CloudFront < 15 m

SNS S3 Bucket CloudTrail Logs

S3 < 15 m

Email / SMS

Lambda Parsing Logic Action

ELB

S3 Bucket ELB Logs

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 39

Überwachung Config via SNS / Rules < 1 m SNS

SNS

Email / SMS

Instant

Triggered Rules

Config Defined

Schedule Rules Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Lambda Parsing Logic

Action

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 40

Überwachung CloudWatch Events SNS

OS & App Logs

Lambda

EC2 CloudWatch Events

CloudWatch Rules

Lambda

Action

CloudTrail Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Kinesis

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 41

Einblick & Verständnis & CloudTrail

&

OS & App Logs

CloudTrail

VPC Flow Logs Lambda

&

&

& Config

&

CloudFront

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

CloudWatch Logs Elastic Search

& S3

ELB

Kibana

Amazon S3

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 42

Zusammenfassung CloudTrail

+ Versioning + MFA Delete + Replication

Config

+ Versioning + MFA Delete

Region 1

Elastic Load Balancing

Region 2

CloudFront S3 Elastic Search

Lambda

SNS

Action

Email / SMS

OS & App Logs Lambda VPC Flow Logs

Kibana CloudWatch Logs

Kinesis

Kibana

AWS Accounts

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

AWS Logging Account

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 43

Lambda im Detail AWS Security Blog by Sébastien Stormacq How to Receive Alerts When Specific APIs Are Called by Using AWS CloudTrail, Amazon SNS, and AWS Lambda (May 15, 2015) https://blogs.aws.amazon.com/security/post/Tx2ZTUVN2VGBS85/

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 44

Zusammenspiel der AWS Dienste Amazon S3 Bucket Configuration File

3 1

Amazon CloudTrail

2

Amazon S3 Bucket CloudTrail Logs

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

4

Amazon Lambda Parsing Logic

5

Amazon SNS

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

Email Subscription

CC BY-NC-ND 3.0 45

Amazon S3 Bucket Configuration File

Prozess Schritt #1 1

Amazon CloudTrail

Amazon S3 Bucket CloudTrail Logs

Amazon Lambda Parsing Logic

Amazon SNS

Email Subscription

• CloudTrail erstellt Protokolleinträge für API Aufrufe. • CloudTrail aggregiert Protokolleinträge in einer JSON Text Datei, komprimiert und speichert diese im konfigurierten S3 Bucket. Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 46

Amazon S3 Bucket Configuration File

Prozess Schritt #2 2

Amazon CloudTrail

Amazon S3 Bucket CloudTrail Logs

Amazon Lambda Parsing Logic

Amazon SNS

Email Subscription

• Die Logik zur Verarbeitung der Logzeilen steckt in einer Lambda Funktion. • Die Lambda Funktion wird durch S3 aufgerufen, wenn von CloudTrail eine neue Datei hochgeladen wird. Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 47

Amazon S3 Bucket Configuration File

Prozess Schritt #3 3

Amazon CloudTrail

Amazon S3 Bucket CloudTrail Logs

Amazon Lambda Parsing Logic

Amazon SNS

Email Subscription

• Die Lambda Funktion lädt beim Start eine Konfigurationsdatei herunter, in der die gewünschten Suchfilter enthalten sind.

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 48

Amazon S3 Bucket Configuration File

Prozess Schritt #4 4

Amazon CloudTrail

Amazon S3 Bucket CloudTrail Logs

Amazon Lambda Parsing Logic

Amazon SNS

Email Subscription

• Bei Filter-Treffern übergibt Lambda Benachrichtigungen an SNS.

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 49

Amazon S3 Bucket Configuration File

Prozess Schritt #5 5

Amazon CloudTrail

Amazon S3 Bucket CloudTrail Logs

Amazon Lambda Parsing Logic

Amazon SNS

Email Subscription

• SNS verteilt die Benachrichtigungen an Abonnenten.

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 50

Konfiguration • S3 Bucket erstellen • SNS Topic erstellen • Abonnements bestätigen • CloudTrail konfigurieren • IAM Rolle für Lambda Funktion erstellen • Lambda Funktion erstellen Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 51

Lambda Schritt für Schritt 1. 2. 3. 4. 5. 6. 7. 8.

CloudTrail speichert eine neue Protokolldatei auf S3. S3 ruft die verknüpfte Lambda Funktion auf und übergibt JSON Struktur. Lambda läd die Konfigurationsdatei herunter. Lambda findet in S3 JSON Struktur den Pfad der CloudTrail Protokolldatei. Lambda läd die CloudTrail Protokolldatei herunter. Lambda dekomprimiert die Protokolldatei. Lambda verwendet konfigurierte Suchfilter. Lambda verschickt Benachrichtigungen.

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 52

S3 JSON Struktur {

"Records": [{ "eventVersion": "2.0", "eventSource": "aws:s3", "awsRegion": "us-east-1", "eventTime": "2016-01-12T21:08:30.487Z", "eventName": "ObjectCreated:Put", "userIdentity": { "principalId": "AWS:AROAI6ZMWVXR3IZ6MKNSW:i-4ff1b7a5" }, "requestParameters": { "sourceIPAddress": "54.211.178.99" }, "responseElements": { "x-amz-request-id": "F104F805121C9B79", "x-amz-id-2": "Lf8hbNPkrhLAT4sHT7iBYFnIdCJTmxcr1ClX93awYfF530O9AijCgja19rk3MyMF" }, "s3": { "s3SchemaVersion": "1.0", "configurationId": "quickCreateConfig", "bucket": { "name": "awsuglog.awscloudtrail", "ownerIdentity": { "principalId": "AH42GJUX5WBQT" }, "arn": "arn:aws:s3:::awsuglog.awscloudtrail" }, "object": { "key": "AWSLogs/123456789012/CloudTrail/us-east-1/2015/09/12/123456789012_CloudTrail_us-east1_20150912T1810Z_G1dfnHn3Occee7Yb.json.gz", "size": 2331, "eTag": "63d801bb561037f59f2cb4d1c03c2392" }}}]}

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 53

CloudTrail JSON Struktur { "eventVersion": "1.02", "userIdentity": { "type": "Root", "principalId": "123456789012", "arn": "arn:aws:iam::123456789012:root", "accountId": "123456789012" }, "eventTime": "2016-01-12T18:06:19Z", "eventSource": "signin.amazonaws.com", "eventName": "ConsoleLogin", "awsRegion": "us-east-1", "sourceIPAddress": "92.72.234.83", "userAgent": "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36", "requestParameters": null, "responseElements": { "ConsoleLogin": "Success" }, "additionalEventData": { "LoginTo": "https://console.aws.amazon.com/console/home?nc2=h_m_mc&state=hashArgs%23&isauthcode=true", "MobileVersion": "No", "MFAUsed": "Yes" }, "eventID": "3416d60e-69dd-4563-8944-160e7cb94dcb", "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }

Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 54

Benachrichtigungen ACHTUNG: Der Root User hat sich erfolgreich an der Konsole von Account 123456789012 angemeldet. userIdentity/type : userIdentity/principalId : userIdentity/arn : userIdentity/accountId : eventTime : eventSource : eventName : awsRegion : sourceIPAddress : userAgent : AppleWebKit/537.36 (KHTML, requestParameters : responseElements : Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Root 123456789012 arn:aws:iam::123456789012:root 123456789012 2016-01-12T18:06:19Z signin.amazonaws.com ConsoleLogin us-east-1 92.72.234.83 Mozilla/5.0 (Windows NT 6.3; WOW64) like Gecko) Chrome/45.0.2454.85 Safari/537.36 null {"ConsoleLogin":"Success"}

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 55

Was überwachen? • CloudTrail / Verwendung des Root Users bzw. der "IAM Master” Rolle => Alarm per SMS / E-Mail • CloudTrail / Deaktivierung von CloudTrail => Alarm per SMS / E-Mail / Re-Aktivierung von CloudTrail • CloudTrail / Erfolgreicher Zugriff von unbekannten IP-Adressen => Alarm per SMS / E-Mail / Zugang sperren • CloudTrail / Verwendung der "IAM Manager" Rolle => Tägliche Zusammenfassung per E-Mail / Kontrolle • Config o. API / Existenz von Root User API Access Keys => Tägliche Zusammenfassung per E-Mail / Deaktivieren des Access Keys Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 56

Was überwachen? • Config o. API / Fehlen von Bedingungen bei "IAM Master", "IAM Manager" Rolle => Tägliche Zusammenfassung per E-Mail / Aktivierung der Bedingungen • Config o. API / Fehlen von CloudTrail in AWS Regionen => Tägliche Zusammenfassung per E-Mail / Aktivierung von CloudTrail • CloudTrail / Aufruf von Kommandos ohne Berechtigung => Tägliche Zusammenfassung per E-Mail / Kontrolle • CloudTrail / Verweigerte Zugriffe von unbekannten IP-Adressen => Tägliche Zusammenfassung per E-Mail / Kontrolle • CloudTrail / Erfolgreiche Zugriffe von unbekannten Benutzern => Tägliche Zusammenfassung per E-Mail / Kontrolle Donnerstag, 30. Juni 2016 15:45 - 16:15 Uhr

Amazon Web Services Enterprise Summit Frankfurt AWS Account Management im Unternehmensumfeld

CC BY-NC-ND 3.0 57