diff --git a/README.md b/README.md index 0688f2c9..a16f901a 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,7 @@ Contributors License Twitter + Twitter

# Description @@ -34,26 +35,48 @@ It contains hundreds of controls covering CIS, PCI-DSS, ISO27001, GDPR, HIPAA, FFIEC, SOC2, AWS FTR, ENS and custom security frameworks. +## Looking for Prowler v2 documentation? +For Prowler v2 Documentation, please go to https://github.com/prowler-cloud/prowler/tree/2.12.1. # ⚙️ Install +## Pip package +Prowler is available as a project in [PyPI](https://pypi.org/project/prowler-cloud/), thus can be installed using pip with Python >= 3.9: + ```console pip install prowler-cloud prowler -v ``` -## Prowler container versions +## Containers The available versions of Prowler are the following: -- latest: in sync with master branch (bear in mind that it is not a stable version) -- (release): you can find the releases [here](https://github.com/prowler-cloud/prowler/releases), those are stable releases. -- stable: this tag always point to the latest release. +- `latest`: in sync with master branch (bear in mind that it is not a stable version) +- `` (release): you can find the releases [here](https://github.com/prowler-cloud/prowler/releases), those are stable releases. +- `stable`: this tag always point to the latest release. The container images are available here: - [DockerHub](https://hub.docker.com/r/toniblyx/prowler/tags) - [AWS Public ECR](https://gallery.ecr.aws/o4g1s5r6/prowler) +## From Github + +Python >= 3.9 is required with pip and pipenv: + +``` +git clone https://github.com/prowler-cloud/prowler +cd prowler +pipenv shell +pipenv install +python prowler.py -v +``` + +# 📖 Documentation + +The full documentation now can be found at [https://docs.prowler.cloud](https://docs.prowler.cloud) + + # 📐✏️ High level architecture You can run Prowler from your workstation, an EC2 instance, Fargate or any other container, Codebuild, CloudShell and Cloud9. @@ -102,12 +125,16 @@ prowler > Running the `prowler` command without options will use your environment variable credentials. -By default, prowler will generate a CSV and a JSON report, however you could generate an HTML or an JSON-ASFF report with `-M` or `--output-modes`: +By default, prowler will generate a CSV, a JSON and a HTML report, however you can generate JSON-ASFF (only for AWS Security Hub) report with `-M` or `--output-modes`: ```console prowler -M csv json json-asff html ``` +The html report will be located in the `output` directory as the other files and it will look like: + +![Prowler Execution](docs/img/html-output.png) + You can use `-l`/`--list-checks` or `--list-services` to list all available checks or services within the provider. ```console @@ -115,7 +142,7 @@ prowler --list-checks prowler --list-services ``` -For executing specific checks or services you can use options `-c`/`checks` or `-s`/`services`: +For executing specific checks or services you can use options `-c`/`--checks` or `-s`/`--services`: ```console prowler aws --checks s3_bucket_public_access @@ -158,17 +185,15 @@ With Azure you need to specify which auth method is going to be used: ```console prowler azure [--sp-env-auth, --az-cli-auth, --browser-auth, --managed-identity-auth] ``` -> By default, `prowler` will scan all Azure subscriptions. +> By default, `prowler` will scan all Azure subscriptions. # 🎉 New Features -- Multi-cloud support! +- Python: we got rid of all bash and it is now all in Python. +- Faster: huge performance improvements (same account from 2.5 hours to 4 minutes). +- Developers and community: we have made it easier to contribute with new checks and new compliance frameworks. We also included unit tests. +- Multi-cloud: in addition to AWS, we have added Azure, we plan to include GCP and OCI soon, let us know if you want to contribute! -# 📖 Documentation - -The full documentation can be found here: - -[https://docs.prowler.cloud](https://docs.prowler.cloud) # 📃 License Prowler is licensed as Apache License 2.0 as specified in each file. You may obtain a copy of the License at diff --git a/docs/img/ProwlerPro-3Dashboards-1-1024x1024.png b/docs/img/ProwlerPro-3Dashboards-1-1024x1024.png deleted file mode 100644 index 54bc22be..00000000 Binary files a/docs/img/ProwlerPro-3Dashboards-1-1024x1024.png and /dev/null differ diff --git a/docs/img/extended-display.png b/docs/img/extended-display.png index 14a00385..4e97d278 100644 Binary files a/docs/img/extended-display.png and b/docs/img/extended-display.png differ diff --git a/docs/img/html-output.png b/docs/img/html-output.png new file mode 100644 index 00000000..be319cf8 Binary files /dev/null and b/docs/img/html-output.png differ diff --git a/docs/img/prowlerpro-2-pages.png b/docs/img/prowlerpro-2-pages.png deleted file mode 100644 index 33d61796..00000000 Binary files a/docs/img/prowlerpro-2-pages.png and /dev/null differ diff --git a/docs/img/short-display.png b/docs/img/short-display.png index 2cf652a1..803071da 100644 Binary files a/docs/img/short-display.png and b/docs/img/short-display.png differ diff --git a/docs/index.md b/docs/index.md index 90db3241..7a370332 100644 --- a/docs/index.md +++ b/docs/index.md @@ -7,7 +7,7 @@ **Welcome to [Prowler Open Source v3](https://github.com/prowler-cloud/prowler/) Documentation!** 📄 -Please for **Prowler v2 Documentation**, please go [here](https://github.com/prowler-cloud/prowler/tree/2.12.0) to the branch and its README.md. +For **Prowler v2 Documentation**, please go [here](https://github.com/prowler-cloud/prowler/tree/2.12.0) to the branch and its README.md. - 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. @@ -31,8 +31,7 @@ Visit prowler.pro for more info. ## Quick Start ### Installation -Prowler is available as a project in [PyPI](https://pypi.org/project/prowler-cloud/), thus can be installed using pip: - +Prowler is available as a project in [PyPI](https://pypi.org/project/prowler-cloud/), thus can be installed using pip with Python >= 3.9: ```bash pip install prowler-cloud prowler -v @@ -42,23 +41,24 @@ prowler -v The available versions of Prowler are the following: -- latest: in sync with master branch (bear in mind that it is not a stable version) -- (release): you can find the releases [here](https://github.com/prowler-cloud/prowler/releases), those are stable releases. -- stable: this tag always point to the latest release. +- `latest`: in sync with master branch (bear in mind that it is not a stable version) +- `` (release): you can find the releases [here](https://github.com/prowler-cloud/prowler/releases), those are stable releases. +- `stable`: this tag always point to the latest release. The container images are available here: - [DockerHub](https://hub.docker.com/r/toniblyx/prowler/tags) - [AWS Public ECR](https://gallery.ecr.aws/o4g1s5r6/prowler) -## High level architecture +## High level architecture You can run Prowler from your workstation, an EC2 instance, Fargate or any other container, Codebuild, CloudShell, Cloud9 and many more. ![Architecture](img/architecture.png) ## Basic Usage -To run prowler, you will need to specify the provider (e.g aws or azure): +To run Prowler, you will need to specify the provider (e.g aws or azure): +> If no provider specified, AWS will be used for backward compatibility with most of v2 options. ```console prowler @@ -73,6 +73,9 @@ By default, Prowler will generate a CSV, JSON and HTML reports, however you can ```console prowler -M csv json json-asff html ``` +The html report will be located in the output directory as the other files and it will look like: + +![Prowler Execution](img/html-output.png) You can use `-l`/`--list-checks` or `--list-services` to list all available checks or services within the provider. @@ -95,10 +98,12 @@ prowler aws --excluded-checks s3_bucket_public_access prowler azure --excluded-services defender iam ``` +More options and executions methods that will save your time in [Miscelaneous](tutorials/misc.md). + You can always use `-h`/`--help` to access to the usage information and all the possible options: ```console -prowler -h +prowler --help ``` ### AWS diff --git a/docs/tutorials/aws/securityhub.md b/docs/tutorials/aws/securityhub.md index 99264b79..379157a5 100644 --- a/docs/tutorials/aws/securityhub.md +++ b/docs/tutorials/aws/securityhub.md @@ -1,4 +1,4 @@ -# Security Hub Integration +# AWS Security Hub Integration Prowler supports natively and as **official integration** sending findings to [AWS Security Hub](https://aws.amazon.com/security-hub). This integration allows Prowler to import its findings to AWS Security Hub. diff --git a/docs/tutorials/compliance.md b/docs/tutorials/compliance.md index 1d6819ca..53aba33a 100644 --- a/docs/tutorials/compliance.md +++ b/docs/tutorials/compliance.md @@ -94,4 +94,5 @@ Each file version of a framework will have the following structure at high level ] } ``` -Finally, to have a proper output file for your reports, your framwrork data model has to be created in `prowler/lib/outputs/models.py` and also the CLI table output in `prowler/lib/outputs/compliance.py`. + +Finally, to have a proper output file for your reports, your framework data model has to be created in `prowler/lib/outputs/models.py` and also the CLI table output in `prowler/lib/outputs/compliance.py`. diff --git a/mkdocs.yml b/mkdocs.yml index c1dec1d1..8c21366f 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -39,7 +39,7 @@ nav: - Pentesting: tutorials/pentesting.md - AWS: - Assume Role: tutorials/aws/role-assumption.md - - Security Hub: tutorials/aws/securityhub.md + - AWS Security Hub: tutorials/aws/securityhub.md - AWS Organizations: tutorials/aws/organizations.md - Azure: - Authentication: tutorials/azure/authentication.md