https://github.com/crowdstrike/aws-cspm-registration-cloudformation

https://github.com/crowdstrike/aws-cspm-registration-cloudformation

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.3%) to scientific vocabulary
Last synced: 11 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: CrowdStrike
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 1.4 MB
Statistics
  • Stars: 5
  • Watchers: 8
  • Forks: 2
  • Open Issues: 1
  • Releases: 7
Archived
Created over 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme License

README.md

[!IMPORTANT] This repo is deprecated!
The various use-cases satisfied by this repo are now supported in the New AWS Registration methods offered by the CrowdStrike Falcon Cloud Security console.
Multi-CID registration still requires an alternative approach, for this approach please see https://github.com/CrowdStrike/aws-cspm-registration-multi-cid

CrowdStrike AWS Registration with CloudFormation

This repository provides CloudFormation templates to onboard AWS Organizations with CrowdStrike Cloud Security.

Purpose

This repository contains CloudFormation as an alternative to the standard CrowdStrike Falcon Cloud Security onboarding methods. This can be useful if your organization has the following requirements: - Unable to run the Bash Script provided by Falcon Cloud Security - Require the ability to apply tags across all resources - Require the ability to apply a permissions boundary to all IAM Roles - Plan to register AWS Accounts within the same Organziation to multiple Falcon CIDs

Prerequisites

Create Falcon API Client and Secret

  1. In CrowdStrike Console, Navigate to API Clients and Keys page.
  2. Click on "Add new API client".
  3. Within the "Add new API client" modal, create a new client name and click on the Read and Write checkboxes next to CSPM registration under API Scopes..
  4. Add new API Client
  5. Save the CLIENT ID and SECRET displayed for your records. The SECRET will not be visible after this step.

Ensure the Organization is not currently registered

  1. In CrowdStrike Console, Navigate to Cloud Accounts Registration page.
  2. Verify the AWS Organization and child accounts are not listed.
  3. If they are listed, deregister and remove CrowdStrike resources from those accounts before proceeding.

If the Organization is currently registered, or you do not want to run the Registration Lambda in the Management Account for any reason, see Provision Only Steps

Setup

  1. Download the contents of this repository.
  2. Log in to the Management Account of your AWS Organization
  3. Upload the following files to the root of an S3 Bucket.
  4. crowdstrikeawscspmregisterlambda.zip
  5. crowdstrikeawscspm.json (Commercial AWS Only)
  6. crowdstrikeawsgov_cspm.json (GovCloud AWS Only)
  7. In the CloudFormation console select create stack.
  8. Choose Specify Template and upload initcrowdstrikeawscspmregister.yml
  9. Fill out the parameters, click next.
  10. Optional: change Stack Failure Options to Preserve successfully provisioned resources. This option will allow you to maintain the stack and update parameters in the event of a mistake.
  11. Enabled the capabilities in the blue box and click submit.

Parameter Details

| Parameter | Description | Options | |---|---|---| |FalconAccountType| Type of CrowdStrike Falcon Account |commercial or govcloud| |AWSAccountType| Type of AWS Account |commercial or govcloud| |S3Bucket| Name of the S3 Bucket containing lambda.zip| | |PermissionsBoundary| Optional: Name of the Permissions Boundary Policy to apply to IAM Roles|| |FalconClientID| Falcon API client Id | | |FalconSecret| Falcon API client secret| | |CSCloud| Falcon Cloud region| us1, us2, eu1, usgov1, usgov2| |EnableIOA| Whether to enable IOA| true, false| |Regions| Which regions to deploy IOA resources| eg. us-east-1, us-east-2| |ProvisionOU| Which OUs to deploy all CSPM resources. root OU to provision entire org or commademlimited list of child OUs| r-**** or ou-****-****, ou-****-**** etc| |EnableSensorManagement| Whether to enable Sensor Management| true, false| |StackSetAdminRole| Name of new StackSet Admin role for root account stackset|| |StackSetExecRole| Name of new StackSet Execution role for root account stackset||

How It Works

  • Root CloudFormation Stack
  • Create Secret to manage Falcon API Credentials
  • Create Lambda to register AWS Org with Falcon Cloud Security Service via API
  • Create Child Stacks and StackSets to provision root account and child accounts with CrowdStrike Cloud Security resources
  • Root CrowdStrikeStack
  • Create Stacks in root account using IOM template
  • Create CSPM Reader Role for IOMs
  • Create IOA Role for Eventbridge (if EnableIOA = true)
  • Create Sensor Management Role and Lambda (if EnableSensorManagement = true)
  • CrowdStrike-Cloud-Security-Stackset
  • Create Stacks in each child account using IOM template
  • Create CSPM Reader Role for IOMs
  • Create IOA Role for Eventbridge (if EnableIOA = true)
  • Create Sensor Management Role and Lambda (if EnableSensorManagement = true)
  • CrowdStrike-Cloud-Security-EB-Stackset
  • Create Stacks in each child account using IOA template
  • Create EventBridge rules to forward IOAs
  • CrowdStrike-Cloud-Security-Root-EB-Stackset
  • Create Stacks in root account using IOA template
  • Create EventBridge rules to forward IOAs

Note: If provisioning govcloud, the following templates are used instead: - GovCloud IOM template - GovCloud IOA template

Questions or concerns?

If you encounter any issues or have questions about this repository, please open an issue.

Statement of Support

CrowdStrike AWS Registration is a community-driven, open source project designed to provide options for onboarding AWS with CrowdStrike Cloud Security. While not a formal CrowdStrike product, this repo is maintained by CrowdStrike and supported in partnership with the open source community.

Owner

  • Name: CrowdStrike
  • Login: CrowdStrike
  • Kind: organization
  • Email: github@crowdstrike.com
  • Location: United States of America

GitHub Events

Total
  • Create event: 4
  • Release event: 2
  • Issues event: 2
  • Watch event: 2
  • Delete event: 5
  • Member event: 1
  • Push event: 19
  • Pull request event: 10
Last Year
  • Create event: 4
  • Release event: 2
  • Issues event: 2
  • Watch event: 2
  • Delete event: 5
  • Member event: 1
  • Push event: 19
  • Pull request event: 10

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 70
  • Total Committers: 1
  • Avg Commits per committer: 70.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 53
  • Committers: 1
  • Avg Commits per committer: 53.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Ryan Payne r****e@o****m 70

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 2
  • Total pull requests: 22
  • Average time to close issues: 5 months
  • Average time to close pull requests: 1 day
  • Total issue authors: 2
  • Total pull request authors: 1
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.0
  • Merged pull requests: 21
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 9
  • Average time to close issues: N/A
  • Average time to close pull requests: 1 day
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 9
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Gump-git (1)
  • Gal-Shukrun (1)
Pull Request Authors
  • ryanjpayne (27)
Top Labels
Issue Labels
enhancement (1)
Pull Request Labels
enhancement (6) bug (6)

Dependencies

source/requirements.txt pypi
  • requests ==2.31.0
  • urllib3 <2