wellcomecollection / platform-infrastructure

:building_construction: Infrastructure for the Wellcome Digital Platform
MIT License
24 stars 8 forks source link

Adding Monitoring agents to EC2 instances #410

Closed kenoir closed 6 months ago

kenoir commented 8 months ago

We should add the CrowdStrike agent to EC2 instances in Wellcome Collection AWS accounts as a requirement from InfoSec to enable centralised monitoring of these instances for potential malicious activity.

Our estate is primarily containers in the form of ECS services & lambdas, however we have at least 4 services that make use of EC2 instances:

Digital Engagement Workflow account:

Digital Engagement DLCS account:

Digital Engagement Platform account:

Apart from the Buildkite service the base AMIs we use are based on Amazon Linux. We propose baking an AMI based on Amazon Linux with the CrowdStrike agent pre-installed and configured with the appropriate customer id. We’d then seek to use that as standard in our launch templates to incorporate the CrowdStrike agent and any future requirements of a similar nature.

We will plan and prioritise some work in our next sprint to test this approach with one of our services. If successful we will look to roll this out where feasible to the other services described above.

We need to:

[!NOTE] Buildkite EC2 instances are a harder problem to solve and are a lower risk as they are ephemeral and harder to target, it may be we move away from these to GitHub actions at some point so leaving those for now.

Finally:

kenoir commented 8 months ago

See https://www.crowdstrike.com/blog/tech-center/install-falcon-sensor-for-linux/ for agent installation instructions. The CrowdStrike installer and customer identifier can be requested from InfoSec.

kenoir commented 8 months ago

We could look at https://aws.amazon.com/image-builder/ to automate this process if we get success with a manual test. In general having a way to keep base AMIs up to date is a good idea.

We are using fixed AMI IDs in some instances (archivematica) so we are missing any updates that are taking place from the supplier to cover vulnerabilities etc - using system parameters to reference AMIs is preferred: https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-public-parameters-ami.html