diff --git a/docs/img/quick-inventory.png b/docs/img/quick-inventory.png new file mode 100644 index 00000000..c7229d3d Binary files /dev/null and b/docs/img/quick-inventory.png differ diff --git a/docs/index.md b/docs/index.md index b8e52401..75e9473b 100644 --- a/docs/index.md +++ b/docs/index.md @@ -5,13 +5,14 @@ # Prowler Documentation -Welcome to [Prowler](https://github.com/prowler-cloud/prowler/) Documentation! 📄 +Welcome to [Prowler Open Source v3](https://github.com/prowler-cloud/prowler/) Documentation! 📄 - You are currently in the **Getting Started** section where you can find general information and requirements to help you start with the tool. - In the [Tutorials](tutorials/overview) section you will see how to take advantage of all the features in Prowler. - In the [Contact Us](contact) section you can find how to reach us out in case of technical issues. - In the [About](about) section you will find more information about the Prowler team and license. +> For Prowler v2, you can access [here](https://github.com/prowler-cloud/prowler/tree/2.12.0) to the branch and README. ## About Prowler **Prowler** is an Open Source security tool to perform AWS and Azure security best practices assessments, audits, incident response, continuous monitoring, hardening and forensics readiness. diff --git a/docs/tutorials/aws/role-assumption.md b/docs/tutorials/aws/role-assumption.md index 4bfb384d..e9aeec2b 100644 --- a/docs/tutorials/aws/role-assumption.md +++ b/docs/tutorials/aws/role-assumption.md @@ -16,7 +16,7 @@ prowler aws -R arn:aws:iam:::role/ prowler aws -T/--session-duration -I/--external-id -R arn:aws:iam:::role/ ``` ->To create a role to assume in multiple accounts easier either as CFN Stack or StackSet, look at [this CloudFormation template](iam/create_role_to_assume_cfn.yaml) and adapt it. +>To create a role to assume in multiple accounts easier either as CFN Stack or StackSet, look at [this CloudFormation template](https://github.com/prowler-cloud/prowler/blob/master/permissions/create_role_to_assume_cfn.yaml) and adapt it. > _NOTE 1 about Session Duration_: Depending on the mount of checks you run and the size of your infrastructure, Prowler may require more than 1 hour to finish. Use option `-T ` to allow up to 12h (43200 seconds). To allow more than 1h you need to modify _"Maximum CLI/API session duration"_ for that particular role, read more [here](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session). diff --git a/docs/tutorials/aws/securityhub.md b/docs/tutorials/aws/securityhub.md index 93160066..99264b79 100644 --- a/docs/tutorials/aws/securityhub.md +++ b/docs/tutorials/aws/securityhub.md @@ -13,7 +13,7 @@ Before sending findings to Prowler, you will need to perform next steps: - Using the AWS Management Console: ![Screenshot 2020-10-29 at 10 26 02 PM](https://user-images.githubusercontent.com/3985464/97634660-5ade3400-1a36-11eb-9a92-4a45cc98c158.png) 3. Allow Prowler to import its findings to AWS Security Hub by adding the policy below to the role or user running Prowler: - - [iam/prowler-security-hub.json](iam/prowler-security-hub.json) + - [prowler-security-hub.json](https://github.com/prowler-cloud/prowler/blob/master/iam/prowler-security-hub.json) Once it is enabled, it is as simple as running the command below (for all regions): diff --git a/docs/tutorials/azure/authentication.md b/docs/tutorials/azure/authentication.md index 0148b2aa..a7c398f1 100644 --- a/docs/tutorials/azure/authentication.md +++ b/docs/tutorials/azure/authentication.md @@ -1,12 +1,12 @@ # Azure authentication -By default prowler uses Azure Python SDK identity package authentication methods using the classes `DefaultAzureCredential` and `InteractiveBrowserCredential`. +By default Prowler uses Azure Python SDK identity package authentication methods using the classes `DefaultAzureCredential` and `InteractiveBrowserCredential`. This allows Prowler to authenticate against azure using the following methods: -- Service principal authentication by environment variables (Enterprise Application) -- Current az cli credentials stored -- Interactive browser authentication -- Managed identity authentication +- Service principal authentication by environment variables (Enterprise Application) +- Current AZ CLI credentials stored +- Interactive browser authentication +- Managed identity authentication To launch the tool it is required to specify which method is used through the following flags: @@ -24,4 +24,4 @@ prowler azure --browser-auth prowler azure --managed-identity-auth ``` -To use Prowler you need to set up also the permissions required to access your resources in your Azure account, to more details refer to [Requirements](getting-started/requirements.md) \ No newline at end of file +To use Prowler you need to set up also the permissions required to access your resources in your Azure account, to more details refer to [Requirements](/getting-started/requirements) diff --git a/docs/tutorials/compliance.md b/docs/tutorials/compliance.md index 85b9a1cb..0aab357b 100644 --- a/docs/tutorials/compliance.md +++ b/docs/tutorials/compliance.md @@ -1,3 +1,25 @@ - --list-compliance List compliance frameworks - --list-compliance-requirements [{ens_rd2022_aws}] ---compliance {ens_rd2022_aws} [{ens_rd2022_aws} ...] +# Compliance +Prowler allows you to execute checks based on different compliance frameworks. + +## List Available Compliance Frameworks +In order to see which compliance frameworks are cover by Prowler, you can use option `--list-compliance`: +```sh +prowler --list-compliance +``` +Currently, the available frameworks are: + +- cis_1.4_aws +- cis_1.5_aws +- ens_rd2022_aws + +## List Requirements of Compliance Frameworks +For each compliance framework, you can use option `--list-compliance-requirements` to list its requirements: +```sh +prowler --list-compliance-requirements +``` + +## Execute Prowler based on Compliance Frameworks +As we mentioned, Prowler can be execute to analyse you environment based on a specific compliance framework, to do it, you can use option `--compliance`: +```sh +prowler --compliance +``` diff --git a/docs/tutorials/quick-inventory.md b/docs/tutorials/quick-inventory.md new file mode 100644 index 00000000..d7b72600 --- /dev/null +++ b/docs/tutorials/quick-inventory.md @@ -0,0 +1,17 @@ +# Quick Inventory + +Prowler allows you to execute a quick inventory to extract the number of resources in your provider. +> Currently, it is only available for AWS provider. + + +- You can use option `-i`/`--quick-inventory` to execute it: +```sh +prowler -i +``` +> By default, it extracts resources from all the regions, you could use `-f`/`--filter-region` to specify the regions to execute the analysis. + +- This feature specify both the number of resources for each service and for each resource type. + +- Also, it creates by default a CSV and JSON to see detailed information about the resources extracted. + +![Quick Inventory Example](/img/quick-inventory.png) diff --git a/mkdocs.yml b/mkdocs.yml index 9c91dedc..ea3b9dd8 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -32,6 +32,7 @@ nav: - Miscellaneous: tutorials/misc.md - Reporting: tutorials/reporting.md - Compliance: tutorials/compliance.md + - Quick Inventory: tutorials/quick-inventory.md - Logging: tutorials/logging.md - Allowlist: tutorials/allowlist.md - Pentesting: tutorials/pentesting.md