Commit Graph

359 Commits

Author SHA1 Message Date
Toni de la Fuente
a4264628cb Extra725 - Improved support cross account and region cloudtrail @patdowney
Extra725 - Support cross account and region cloudtrail
2020-04-13 18:34:31 +02:00
Toni de la Fuente
8a7344ef86 Extra720 - Support cross account and cross-region cloudtrail @patdowney 2020-04-13 18:33:38 +02:00
Toni de la Fuente
4cf66a2f32 Merge pull request #527 from yumminhuang/master
Remove --output text in CLOUDTRAILBUCKET_LOGENABLED
2020-04-13 18:18:55 +02:00
Toni de la Fuente
7f2e097205 Merge pull request #518 from bridgecrewio/bugfix/check_23_error_fails
check23 - on failure, output info and not failure
2020-04-13 16:50:30 +02:00
Toni de la Fuente
67504e8591 Merge pull request #519 from bridgecrewio/bugfix/check_26_error_fails
check26 - on failure, output info and not failure
2020-04-13 16:50:05 +02:00
Toni de la Fuente
958a54e337 Merge pull request #530 from marcjay/aws-security-hub-output-524
Add 'json-asff' output mode and ability to send output to AWS Security Hub
2020-04-13 14:03:50 +02:00
Toni de la Fuente
3c77130f65 Merge pull request #540 from marcjay/check121-filter-out-password-access-513
check121 - Filter out users who do not have a console password
2020-04-13 13:31:33 +02:00
Marc Jay
4f623b4e31 check121 - Filter out users who do not have a console password
According to the benchmark, only users with a console password should be considered for this check,
therefore filter out any users who do not have a console password

Fixes #513
2020-04-12 02:18:42 +01:00
Marc Jay
ce1058dfed Remove the varying number of days in the message so that message stays consistent over time 2020-04-12 01:22:34 +01:00
Marc Jay
8d9c7e8ab0 Handle IAM credential report containing 'no_information' for a user's last console login date
A user who has never logged into the console, or not logged in since Oct 2014 will present as 'no_information' in the
'password_last_used' column of the credential report. Handle this scenario and output a failed message if it has been
more than MAX_DAYS days since the user was created, or an info message if it is less than MAX_DAYS

Fixes #501
2020-04-11 20:07:03 +01:00
Marc Jay
c02811f411 Add CHECK_ASFF_RESOURCE_TYPE variables for recently added checks 2020-04-11 03:34:32 +01:00
Marc Jay
4bae0ca5f5 Merge branch 'master' into aws-security-hub-output-524 2020-04-11 03:16:23 +01:00
Marc Jay
5bab65c56d - Remove securityhub output mode and replace with '-S' flag to send findings to Security Hub
- Move Security Hub related code to a dedicated include/securityhub_integration file
- Check that Security Hub is enabled in the target region before beginning checks when -S is specified
- Add error handling to the batch-import-findings call
- Add CHECK_ASFF_TYPE variables to all CIS checks to override the default
- Add support for CHECK_ASFF_RESOURCE_TYPE variables which override the default 'AwsAccount' value for the resource a finding relates to.
- Add CHECK_ASFF_RESOURCE_TYPE variables to all checks where there is a suitable value in the schema
- Remove json-asff output for info messages as they are not appropriate for possible submission to Security Hub
- Update the README to cover Security Hub integration
- Add an IAM policy JSON document that provides the necessary BatchImportFindings permission for Security Hub
- Remove trailing whitespace and periods in pass/fail messages to be consistent with the majority of messages, to prevent future tidy-up from changing the finding IDs
2020-04-11 03:04:03 +01:00
Huang Yaming
7982cc462a Remove --output text in CLOUDTRAILBUCKET_LOGENABLED
When adding `--output text`, aws cli will return `None` instead of
`null`. It makes the following if check misjudge LoggingEnabled
status.
2020-04-10 10:18:20 +08:00
Toni de la Fuente
8f83da985a PR #511 2020-04-08 18:00:54 +02:00
Patrick Downey
b6adfd58ec Support cross-region and cross-account object-level cloudtrail logs for S3
Buckets that log to one or more trails are logged as `PASS!` for each trail they are associated with.
Buckets that aren't associated with any trails are logged as `FAIL!` once.

```
...
PASS! : S3 bucket bucket-one has Object-level logging enabled in trails: arn:aws:cloudtrail:eu-west-2:123456789012:trail/central-trail
PASS! : S3 bucket bucket-two has Object-level logging enabled in trails: arn:aws:cloudtrail:eu-west-2:9876543210989:trail/trail-two
PASS! : S3 bucket bucket-two has Object-level logging enabled in trails: arn:aws:cloudtrail:eu-west-2:123456789012:trail/central-trail
PASS! : S3 bucket bucket-three has Object-level logging enabled in trails: arn:aws:cloudtrail:eu-west-2:123456789012:trail/central-trail
...
```

This change should also address #387
2020-04-08 15:50:52 +01:00
Patrick Downey
78ccc7d953 Remove HomeRegion predicate from describe-trails in extras725
So we can look at cross-region trails too
2020-04-08 13:28:18 +01:00
Patrick Downey
fc83a9896c Use TrailARN property to query get-event-selectors in checks_extra725
This will work to query cloudtrail's that are in different accounts.
e.g. in the case of organisation managed cloudtrails.
2020-04-08 13:27:09 +01:00
Toni de la Fuente
effc3eb14d Added new checks to group extras 2020-04-08 14:06:11 +02:00
Toni de la Fuente
6ea37b05ca Improvements and new checks for elasticsearch 2020-04-08 14:00:12 +02:00
Patrick Downey
84711d1ef5 Remove HomeRegion predicate from describe-trails to look for cross-region trails too
This will hopefully address #455
2020-04-08 12:52:13 +01:00
Patrick Downey
4ff685635e Use TrailARN property to query get-event-selectors
This will work to query cloudtrail's that are in different accounts.
e.g. in the case of organisation managed cloudtrails.
2020-04-08 12:52:13 +01:00
Toni de la Fuente
9c4e629647 Fixed typo in extra786 2020-04-07 20:28:38 +02:00
Marc Jay
92e1f17a80 Adds 'json-asff' and 'securityhub' output modes
json-asff mode outputs JSON, similar to the standard 'json' mode with one check per line, but in AWS Security Finding Format - used by AWS Security Hub
Currently uses a generic Type, Resources and ProductArn value, but sets the Id to a unique value that includes the details of the message, in order to separate out checks that run against multiple resources and output one result per resource per check. This ensures that findings can be updated, should the resource move in or out of compliance

securityhub mode generates the ASFF JSON and then passes it to an 'aws securityhub batch-import-findings' call, once per resource per check. Output to the screen is similar to the standard mode, but prints whether or not the finding was submitted successfully

Fixes #524
2020-04-07 16:08:07 +01:00
Toni de la Fuente
bd432fed92 New check for Metadata Service Version 2 #413 2020-04-07 16:46:46 +02:00
Toni de la Fuente
b5e1c9002a Improved policy handling on extra716 2020-04-03 17:54:55 +02:00
Toni de la Fuente
afb908f190 Improved policy handling on extra716 2020-04-03 17:54:25 +02:00
Toni de la Fuente
e567ccb828 v2.2.1 with new function and Improved extra779 and extra716 2020-04-02 15:31:43 +02:00
Toni de la Fuente
2e2fe96ff5 Improved extra716 filters and auth check 2020-04-01 21:57:20 +02:00
Toni de la Fuente
2e2e9b85af Merge branch 'master' of https://github.com/toniblyx/prowler 2020-04-01 16:53:04 +02:00
Toni de la Fuente
1ae5d5d725 Added custom ports variable to extra779 2020-04-01 16:52:52 +02:00
Huang Yaming
1419d4887a Ignore imported ACM Certificate in check_extra724 2020-03-27 14:49:52 +08:00
Toni de la Fuente
ba75d89911 Added connection test for port 9300 in both linux and macosx on extra779 2020-03-25 18:20:20 +01:00
Toni de la Fuente
8faf1f45c4 Added connection test for port 9300 in both linux and macosx on extra779 2020-03-25 18:19:41 +01:00
Toni de la Fuente
eae4722499 Updated ES check titles and results 2020-03-25 17:25:38 +01:00
Toni de la Fuente
8c18533752 Updated check titles 2020-03-25 17:18:43 +01:00
Toni de la Fuente
ee82424869 Enhanced extra779 with better authentication test and TEST_ES_AUTHENTICATION disabled 2020-03-25 12:44:10 +01:00
Toni de la Fuente
1615478444 Fixed query on extra779 2020-03-25 09:40:03 +01:00
Toni de la Fuente
568bba4c38 Add Elasticsearch checks issue #521 2020-03-24 23:46:11 +01:00
Toni de la Fuente
e082ef05f0 Merge branch 'patch-2' of https://github.com/lanhhuyet510/prowler into lanhhuyet510-patch-2 2020-03-23 15:09:15 +01:00
Toni de la Fuente
db3ac2361c Merge branch 'master' into checks/find_security_groups_with_wide_open_non_RFC1918_IPv4 2020-03-23 14:48:05 +01:00
Toni de la Fuente
30941c355c Added extra777 - Security Groups with too many rules @renuez 2020-03-23 14:39:23 +01:00
Nimrod Kor
b704568b23 check26 - on failure, output info and not failure
(cherry picked from commit f80c2e28b72495ca7f60fd0ab58a51d40640a86a)
2020-03-22 11:23:41 +02:00
Nimrod Kor
259f24ee06 check23 - on failure, output info and not failure
(cherry picked from commit 168c71cd5f062e67b21c4cd2013992052b9258d2)
2020-03-22 11:23:18 +02:00
Ngọ Anh Đức
0979f421c3 Update check21 2020-03-09 13:00:43 +07:00
Ngọ Anh Đức
89514a1fa8 Update check21 2020-03-09 12:59:47 +07:00
Ngọ Anh Đức
ba13f25c9e Update check21 2020-03-09 12:57:49 +07:00
Ngọ Anh Đức
53ee538e0f add $PROFILE_OPT to the CLI 2020-03-09 12:57:00 +07:00
Ngọ Anh Đức
3116adf86e Update check21 2020-03-09 12:46:16 +07:00
Ngọ Anh Đức
263926a53b Improve check21
- Add ISLOGGING_STATUS, INCLUDEMANAGEMENTEVENTS_STATUS, READWRITETYPE_STATUS to check
- Remove ` --no-include-shadow-trails ` from CLI
2.1 Ensure CloudTrail is enabled in all regions (Scored):
Via CLI
1. ` aws cloudtrail describe-trails `
Ensure `IsMultiRegionTrail` is set to true
2. `aws cloudtrail get-trail-status --name <trailname shown in describe-trails>`
Ensure `IsLogging` is set to true
3. `aws cloudtrail get-event-selectors --trail-name <trailname shown in describetrails>`
Ensure there is at least one Event Selector for a Trail with `IncludeManagementEvents` set to
`true` and `ReadWriteType` set to `All`
2020-03-09 12:44:23 +07:00