[SEO Subhead]
This Guidance shows you how to stream security event logs from Falco into AWS Security Hub in near real-time for enriched analysis. Provided by Cloud Native Computing Foundations (CNCF), Falco detects security events at runtime for containers. Using an integration of the FireLens and Fluent Bit tools with AWS services, this Guidance enriches security event logs generated by Falco and imports them into AWS Security Hub. Your security and DevOps teams can then use the Security Hub management portal to gain a centralized view of security events from all your container applications to facilitate triage and resolution.
Please note: [Disclaimer]
Architecture Diagram
-
Infrastructure
-
Architecture
-
Infrastructure
-
This architecture diagram shows how to set up the Amazon EKS cluster needed for this Guidance. To learn more about detecting security events using CNCF Falco and AWS Security Hub, open the Architecture tab.
Optional
To deploy this Guidance, you need an Amazon Elastic Kubernetes Service (Amazon EKS) cluster provisioned. These steps show how to provision an Amazon EKS cluster using another project.Step 1
An administrator or DevOps engineer commits infrastructure as code (IaC) code changes, configured to Amazon EKS specification, into the Git repository.Step 2
Amazon Elastic Compute Cloud (Amazon EC2) management instance provisioning is started by the administrator or DevOps engineer by using AWS CloudFormation code obtained from the Git repository.Step 3
The management instance’s userData script starts Amazon EKS cluster resource deployment processes against the target AWS environment (using eksctl command and cluster specification).Step 4
Required AWS Identity and Access Management (IAM) roles and polices and AWS Key Management Service (AWS KMS) keys are created.Step 5
The Amazon Virtual Private Cloud (Amazon VPC) for the Amazon EKS control plane component is deployed.Step 6
The Amazon EKS control plane components are deployed into the Amazon EKS VPC.Step 7
The Amazon EKS compute VPC is deployed for the Amazon EKS compute plane.Step 8
Public and private subnets and other networking components are deployed into the compute VPC.Step 9
The Amazon EKS node groups with compute plane nodes (Amazon EC2 instances in an Amazon EC2 Auto Scaling group) are deployed into the compute VPC and join the Amazon EKS cluster.Step 10
The Amazon EKS cluster is available for application deployments. The Kubernetes API is accessible for command line interface (CLI) clients and applications through a Network Load Balancer.*Workflows that invoke Terraform commands are currently initiated manually and can be automated through GitHub events workflows in the future.
-
Architecture
-
This architecture diagram shows how to detect runtime security events with CNCF Falco and send them to the AWS Security Hub portal for triage. For instructions on setting up the Amazon EKS cluster, open the Infrastructure tab.
Step 1
The Fluent Bit and FireLens log-event aggregation and the CNCF Falco security monitoring components are deployed into Amazon EKS clusters running in different AWS Regions.Step 2
CNCF Falco containers monitor application containers running on Amazon EKS cluster nodes for possible security incidents (based on defined rules) and generate security events.Step 3
The security events are streamed to the Fluent Bit and FireLens log-event aggregators.Step 4
Aggregated security events are imported into Amazon CloudWatch log streams.Step 5
AWS Lambda functions detect security events in the CloudWatch log stream, transform them into AWS Security Finding Format (ASFF) schema, and import them into regional instances of AWS Security Hub.Step 6
Security findings in ASFF are available in regional Security Hub portals.Step 7
Security findings in ASFF are aggregated into a “single pane of glass” (or centralized) Security Hub portal, which includes the regional hubs as members. (This can be one of the regional Security Hub instances.)Step 8
Security team members authenticate into the central Security Hub portal using IAM, and access is granted according to IAM roles.Step 9
Aggregated security findings and remediation workflows are available in the “single pane of glass” Security Hub portal for acknowledgement and triage.
Get Started
Deploy this Guidance
Well-Architected Pillars
The AWS Well-Architected Framework helps you understand the pros and cons of the decisions you make when building systems in the cloud. The six pillars of the Framework allow you to learn architectural best practices for designing and operating reliable, secure, efficient, cost-effective, and sustainable systems. Using the AWS Well-Architected Tool, available at no charge in the AWS Management Console, you can review your workloads against these best practices by answering a set of questions for each pillar.
The architecture diagram above is an example of a Solution created with Well-Architected best practices in mind. To be fully Well-Architected, you should follow as many Well-Architected best practices as possible.
-
Operational Excellence
This Guidance provides operational excellence by invoking Security Hub workflows that respond in near real-time to security threats related to your business applications. The Fluent Bit and FireLens integration used with Falco sends information about containers’ potential runtime security violations to the CloudWatch log event manager. Lambda then converts them into ASFF and imports them into Security Hub portals, where your security team can review, triage, and remediate them.
-
Security
This Guidance uses Falco to continuously scan the containers running on your Amazon EKS applications for runtime security events. Falco also monitors containers running on Amazon EKS cluster nodes for security violations and works with FireLens, CloudWatch, and Lambda to send security event information into Security Hub, which further aggregates the security event logs and displays them for review and triage by your security team. You can then use Security Hub to start remediation workflows for security threats. All IAM policies used in the Amazon EKS cluster are scoped down to the minimum permissions required for the service to function properly.
-
Reliability
Amazon EKS is an enterprise-grade, reliable Kubernetes application service deployed with high availability across multiple Availability Zones. CloudWatch is a log-event-management service, and Lambda is an event-processing service; together, these services ingest and generate information on security threats that might impact application reliability. Security Hub aggregates and displays these findings so that your security and site reliability engineering (SRE) teams can quickly address threats, significantly reducing the chances of application failures due to security violations.
-
Performance Efficiency
This Guidance provides efficient scalability and performance both for your containerized application platforms (using Amazon EKS) and for event detection (using Falco, CloudWatch, Lambda). You can also deploy this security monitoring solution across Regions, further helping you avoid negative performance impacts from security threats.
-
Cost Optimization
By using Falco, which is an open-source service, available at no cost, you can lower the cost of security event monitoring. CloudWatch, Lambda, and Security Hub are charged based on the amount of ingested and processed event data. These services provide a free tier of data storage and processing, so costs only accrue after you exceed this tier. Additionally, CloudWatch provides automatic archival for logs, helping you reduce message storage costs.
-
Sustainability
CloudWatch, Lambda, and Security Hub are serverless and automatically scale to match workload demands and eliminate idle resources, and Amazon EKS provides high elasticity. By using these managed AWS services, alongside cloud-native technologies that run on elastic Amazon EKS clusters, this Guidance helps you achieve a high utilization of infrastructure resources, helping you minimize energy waste. Additionally, this Guidance does not require custom hardware or physical servers, and by using it to remediate security threats, you can further optimize resource utilization.
Related Content
[Title]
Disclaimer
The sample code; software libraries; command line tools; proofs of concept; templates; or other related technology (including any of the foregoing that are provided by our personnel) is provided to you as AWS Content under the AWS Customer Agreement, or the relevant written agreement between you and AWS (whichever applies). You should not use this AWS Content in your production accounts, or on production or other critical data. You are responsible for testing, securing, and optimizing the AWS Content, such as sample code, as appropriate for production grade use based on your specific quality control practices and standards. Deploying AWS Content may incur AWS charges for creating or using AWS chargeable resources, such as running Amazon EC2 instances or using Amazon S3 storage.
References to third-party services or organizations in this Guidance do not imply an endorsement, sponsorship, or affiliation between Amazon or AWS and the third party. Guidance from AWS is a technical starting point, and you can customize your integration with third-party services when you deploy the architecture.