docs: General changes (#1552)

Co-authored-by: Sergio Garcia <sergio@verica.io>
This commit is contained in:
Toni de la Fuente
2022-12-19 18:29:26 +01:00
committed by GitHub
parent a7155300d3
commit c3980e4f27
10 changed files with 56 additions and 25 deletions

View File

@@ -26,6 +26,7 @@
<a href="https://github.com/prowler-cloud/prowler"><img alt="Contributors" src="https://img.shields.io/github/contributors-anon/prowler-cloud/prowler"></a> <a href="https://github.com/prowler-cloud/prowler"><img alt="Contributors" src="https://img.shields.io/github/contributors-anon/prowler-cloud/prowler"></a>
<a href="https://github.com/prowler-cloud/prowler"><img alt="License" src="https://img.shields.io/github/license/prowler-cloud/prowler"></a> <a href="https://github.com/prowler-cloud/prowler"><img alt="License" src="https://img.shields.io/github/license/prowler-cloud/prowler"></a>
<a href="https://twitter.com/ToniBlyx"><img alt="Twitter" src="https://img.shields.io/twitter/follow/toniblyx?style=social"></a> <a href="https://twitter.com/ToniBlyx"><img alt="Twitter" src="https://img.shields.io/twitter/follow/toniblyx?style=social"></a>
<a href="https://twitter.com/prowlercloud"><img alt="Twitter" src="https://img.shields.io/twitter/follow/prowlercloud?style=social"></a>
</p> </p>
# Description # 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. 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 # ⚙️ 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 ```console
pip install prowler-cloud pip install prowler-cloud
prowler -v prowler -v
``` ```
## Prowler container versions ## Containers
The available versions of Prowler are the following: The available versions of Prowler are the following:
- latest: in sync with master branch (bear in mind that it is not a stable version) - `latest`: in sync with master branch (bear in mind that it is not a stable version)
- <x.y.z> (release): you can find the releases [here](https://github.com/prowler-cloud/prowler/releases), those are stable releases. - `<x.y.z>` (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. - `stable`: this tag always point to the latest release.
The container images are available here: The container images are available here:
- [DockerHub](https://hub.docker.com/r/toniblyx/prowler/tags) - [DockerHub](https://hub.docker.com/r/toniblyx/prowler/tags)
- [AWS Public ECR](https://gallery.ecr.aws/o4g1s5r6/prowler) - [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 # 📐✏️ High level architecture
You can run Prowler from your workstation, an EC2 instance, Fargate or any other container, Codebuild, CloudShell and Cloud9. You can run Prowler from your workstation, an EC2 instance, Fargate or any other container, Codebuild, CloudShell and Cloud9.
@@ -102,12 +125,16 @@ prowler <provider>
> Running the `prowler` command without options will use your environment variable credentials. > 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 ```console
prowler <provider> -M csv json json-asff html prowler <provider> -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. You can use `-l`/`--list-checks` or `--list-services` to list all available checks or services within the provider.
```console ```console
@@ -115,7 +142,7 @@ prowler <provider> --list-checks
prowler <provider> --list-services prowler <provider> --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 ```console
prowler aws --checks s3_bucket_public_access 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 ```console
prowler azure [--sp-env-auth, --az-cli-auth, --browser-auth, --managed-identity-auth] 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 # 🎉 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 # 📃 License
Prowler is licensed as Apache License 2.0 as specified in each file. You may obtain a copy of the License at Prowler is licensed as Apache License 2.0 as specified in each file. You may obtain a copy of the License at

Binary file not shown.

Before

Width:  |  Height:  |  Size: 300 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 172 KiB

After

Width:  |  Height:  |  Size: 163 KiB

BIN
docs/img/html-output.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 848 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 276 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 90 KiB

View File

@@ -7,7 +7,7 @@
**Welcome to [Prowler Open Source v3](https://github.com/prowler-cloud/prowler/) Documentation!** 📄 **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. - 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 [Tutorials](tutorials/overview) section you will see how to take advantage of all the features in Prowler.
@@ -31,8 +31,7 @@ Visit <a href="https://prowler.pro">prowler.pro</a> for more info.
## Quick Start ## Quick Start
### Installation ### 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 ```bash
pip install prowler-cloud pip install prowler-cloud
prowler -v prowler -v
@@ -42,23 +41,24 @@ prowler -v
The available versions of Prowler are the following: The available versions of Prowler are the following:
- latest: in sync with master branch (bear in mind that it is not a stable version) - `latest`: in sync with master branch (bear in mind that it is not a stable version)
- <x.y.z> (release): you can find the releases [here](https://github.com/prowler-cloud/prowler/releases), those are stable releases. - `<x.y.z>` (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. - `stable`: this tag always point to the latest release.
The container images are available here: The container images are available here:
- [DockerHub](https://hub.docker.com/r/toniblyx/prowler/tags) - [DockerHub](https://hub.docker.com/r/toniblyx/prowler/tags)
- [AWS Public ECR](https://gallery.ecr.aws/o4g1s5r6/prowler) - [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. 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) ![Architecture](img/architecture.png)
## Basic Usage ## 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 ```console
prowler <provider> prowler <provider>
@@ -73,6 +73,9 @@ By default, Prowler will generate a CSV, JSON and HTML reports, however you can
```console ```console
prowler <provider> -M csv json json-asff html prowler <provider> -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. 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 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: You can always use `-h`/`--help` to access to the usage information and all the possible options:
```console ```console
prowler -h prowler --help
``` ```
### AWS ### AWS

View File

@@ -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. 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.

View File

@@ -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`.

View File

@@ -39,7 +39,7 @@ nav:
- Pentesting: tutorials/pentesting.md - Pentesting: tutorials/pentesting.md
- AWS: - AWS:
- Assume Role: tutorials/aws/role-assumption.md - 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 - AWS Organizations: tutorials/aws/organizations.md
- Azure: - Azure:
- Authentication: tutorials/azure/authentication.md - Authentication: tutorials/azure/authentication.md