あなたとあなたのチームがProwlerProでできることをすべてご覧ください prowler.pro
Prowlerは、AWSおよびAzureのセキュリティベストプラクティスの評価、監査、インシデント対応、継続的な監視、強化、フォレンジックの準備を実行するためのオープンソースのセキュリティツールです。
これには、CIS、PCI-DSS、ISO27001、GDPR、HIPAA、FFIEC、SOC2、AWS FTR、ENS、およびカスタムセキュリティフレームワークをカバーする何百ものコントロールが含まれています。
Prowler v2 のドキュメントについては、https://github.com/prowler-cloud/prowler/tree/2.12.1 を参照してください。
プラウラーはPyPIのプロジェクトとして利用できるため、Python >= 3.9でpipを使用してインストールできます。
pip install prowler-cloud
prowler -v
プラウラーの利用可能なバージョンは次のとおりです。
latest:マスターブランチと同期しています(安定バージョンではないことに注意してください)
<x.y.z>(リリース):あなたはここでリリースを見つけることができます、それらは安定したリリースです。
stable: このタグは常に最新リリースを指します。
コンテナー イメージは、次の場所から入手できます。
Python >= 3.9 は pip と pipenv で必要です。
git clone https://github.com/prowler-cloud/prowler cd prowler pipenv shell pipenv install python prowler.py -v
完全なドキュメントは現在、https://docs.prowler.cloud にあります。
Prowler は、ワークステーション、EC2 インスタンス、Fargate、またはその他のコンテナ、Codebuild、CloudShell、Cloud9 から実行できます。
Prowler は AWS SDK (Boto3) と Azure SDK を使って Python で書かれています。
Prowler は内部で AWS 認証情報を使用するため、ここで説明するように任意の認証方法に従うことができます。 有効なアクセスキーとリージョンを使用して AWS-CLI を適切に設定しているか、AWS 変数 (またはインスタンスプロファイル/ロール) を適切に宣言していることを確認してください。
aws configure
又は
export AWS_ACCESS_KEY_ID="ASXXXXXXX"
export AWS_SECRET_ACCESS_KEY="XXXXXXXXX"
export AWS_SESSION_TOKEN="XXXXXXXXX"
これらの認証情報は、すべてのチェックを実行するための適切な権限を持つユーザーまたはロールに関連付けられている必要があります。確認するには、次の AWS 管理ポリシーを、使用するユーザーまたはロールに追加します。
さらに、いくつかのチェックにはいくつかの読み取り専用の追加アクセス許可が必要なので、使用しているロールにカスタムポリシーprowler-additions-policy.jsonもアタッチしてください。
Prowler から AWS Security Hub に結果を送信する場合は、カスタムポリシー prowler-security-hub.json もアタッチしてください。
Azure 用プラウラーでは、次の認証の種類がサポートされています。
Prowler がサービス プリンシパル ID を引き受けてスキャンを開始できるようにするには、次の環境変数を構成する必要があります。
export AZURE_CLIENT_ID="XXXXXXXXX"
export AZURE_TENANT_ID="XXXXXXXXX"
export AZURE_CLIENT_SECRET="XXXXXXX"
フラグを指定して Prowler を実行しようとしたときに、それらの変数が空であるかエクスポートされていない場合、実行は失敗します。
--sp-env-auth
他の 3 つのケースは追加の構成を必要とせず、自動化されたオプションであり、ユーザーが既定のブラウザーを使用して認証してスキャンを開始する必要があります。
--az-cli-auth
--managed-identity-auth
--browser-auth
それぞれを使用するには、実行に適切なフラグを渡す必要があります。Azure の Prowler は、次の 2 種類のアクセス許可スコープを処理します。
このツールに必要な Azure Active Directory (AAD) のアクセス許可は次のとおりです。
Directory.Read.All
Policy.Read.All
サブスクリプション スコープに関しては、Prowler は既定で一覧表示できるすべてのサブスクリプションをスキャンするため、ツールによって引き継がれるエンティティにサブスクリプションごとに次の RBAC 組み込みロールを追加する必要があります。
Security Reader
Reader
prowlerを実行するには、プロバイダー(awsやazureなど)を指定する必要があります。
prowler <provider>
オプションを指定せずにコマンドを実行すると、環境変数の資格情報が使用されます。
prowler
デフォルトでは、プラウラーはCSV、JSON、およびHTMLレポートを生成しますが、JSON-ASFF(AWS Security Hubのみ)レポートを生成することができます。
-M
--output-modes
prowler <provider> -M csv json json-asff html
htmlレポートは、他のファイルと同様にディレクトリに配置され、次のようになります。
output
/またはを使用して、プロバイダー内で使用可能なすべてのチェックまたはサービスを一覧表示できます。
-l
--list-checks
--list-services
prowler <provider> --list-checks
prowler <provider> --list-services
特定のチェックまたはサービスを実行するには、オプション / または / を使用できます。
-c
--checks
-s
--services
prowler aws --checks s3_bucket_public_access
prowler aws --services s3 ec2
また、チェックとサービスはオプション/またはで除外できます。
-e
--excluded-checks
--excluded-services
prowler aws --excluded-checks s3_bucket_public_access
prowler aws --excluded-services s3 ec2
いつでも/を使用して、使用状況情報とすべての可能なオプションにアクセスできます。
-h
--help
prowler -h
いくつかのProwlerのチェックには、共通の構成ファイルで変更できるユーザー設定可能な変数があります。 このファイルは、次のパスにあります。
prowler/config/config.yaml
/ で監査する / または AWS リージョンを持つカスタム AWS プロファイルを使用します。
-p
--profile
-f
--filter-region
prowler aws --profile custom-profile -f us-east-1 eu-south-2
デフォルトでは、すべての AWS リージョンをスキャンします。
prowler
Azure では、使用する認証方法を指定する必要があります。
prowler azure [--sp-env-auth, --az-cli-auth, --browser-auth, --managed-identity-auth]
既定では、すべての Azure サブスクリプションがスキャンされます。
prowler
Prowlerは、各ファイルで指定されているように、Apacheライセンス2.0としてライセンスされています。ライセンスのコピーは、http://www.apache.org/licenses/LICENSE-2.0 で入手できます。