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