Commit Graph

238 Commits

Author SHA1 Message Date
Toni de la Fuente
43d95ac18c Set version label PROWLER_VERSION=2.3.0RC3 2020-07-24 15:22:28 +02:00
Toni de la Fuente
78b26a022a Added native html report - upgrade to 21st century ;) 2020-05-25 21:24:33 +02:00
Marc Jay
0f9783791b Support Ctrl-C/SIG INT stopping Prowler when running in Docker
Trap Ctrl-C/SIG INT, call cleanup function and then exit, using the appropriate exit code

Fixes #594
2020-05-08 12:34:03 +01:00
Toni de la Fuente
24fcfb1066 v2.3.0RC 2020-05-06 23:27:30 +02:00
Toni de la Fuente
977fe7408e Added whitelist option to README and recuce output for -w 2020-05-06 23:24:42 +02:00
Urjit Singh Bhatia
103782f72b Fix warning handling with changes to official master 2020-05-04 14:37:30 -07:00
Urjit Singh Bhatia
5886f8524a Merge remote-tracking branch 'official/master' into whitelistSupport 2020-05-04 13:56:14 -07:00
Marc Jay
f84b843388 Wrap all mode checks with whitespace, along with comparison strings, so only exact string matches are allowed, preventing clashes when output modes are named similarly, e.g. 'json' and 'json-asff'
Fixes #571
2020-04-26 01:02:39 +01:00
Toni de la Fuente
9f03bd7545 Added txt output as mono for -M 2020-04-22 12:58:54 +02:00
Marc Jay
c2669622cf Fix -E flag no longer excluding checks
Remove re-declaration of TOTAL_CHECKS variable

Bug introduced by #561

Fixes #566
2020-04-22 09:58:33 +01:00
Marc Jay
ad66254b45 Extend check13 to meet all CIS rules and consolidate with extra774
Create `include/check_creds_last_used` and move all logic for checking last usages of passwords and access keys there
Modify check13 and extra774 to call new function, specifying time-range of last 90 days and last 30 days respectively
Modify messages in check14 and check121 so that all mentions of 'access key's are consistent

Fixes #496
2020-04-21 01:21:55 +01:00
Marc Jay
71bf414faf Merge branch 'master' into improve-listing-of-checks-and-groups-545 2020-04-20 18:11:06 +01:00
Marc Jay
8f179338d8 Fix invalid references to $i when it should reference a local $group_index variable 2020-04-20 01:30:37 +01:00
Marc Jay
47a05c203a Improve listing of Checks and Groups
Change `-l` flag to print a unique list of every single check (assuming none are orphaned outside of all groups)
Allow `-g <group_id>` to be specified in combination with `-l`, to only print checks that are referenced by the specified group
When listing all checks with `-l` only, print out all groups that reference each check

Fixes: #545
2020-04-20 01:12:53 +01:00
Marc Jay
78f649bd65 Replace -J flag with junit-xml output format
Rearrange output functions so they support outputting text alongside other formats, if specified
Add a convenience function for checking if JUnit output is enabled
Move monochrome setting into loop so it better supports multiple formats
Update README
2020-04-15 23:36:40 +01:00
Marc Jay
994390351e Add the ability to generate JUnit XML reports with a -J flag
If the -J flag is passed, generate JUnit XML reports for each check, in-line with how Java tools generate JUnit reports.
Check section numbers equate to 'root packages', checks are second-level packages, each check equates to a testsuite (mirroring Java where each test class is a testsuite) and each pass/fail of a check equates to a testcase
Time the execution of each check and include this in the report
Include properties (Prowler version, check level etc.) in-line with standard JUnit files
XML escape all strings for safety

Detect if a user has GNU coreutils installed on Mac OS X, but not as their default, switching to using gdate for date commands if so, as it has more features, including getting dates in milliseconds
Add prowler-output, junit-reports and VSCode files to .gitignore
Update README to include JUnit info, address markdownlint warnings
Remove unused arguments to jq in generateJsonAsffOutput

Fixes #537
2020-04-15 02:36:16 +01:00
Urjit Singh Bhatia
bf72025b9b Ignore inline whitelist comments, pass checkid to filter ignores specifically for checks 2020-04-14 17:29:36 -07:00
Toni de la Fuente
3311acf82c Merge branch 'simplify-check-id-variables' of https://github.com/marcjay/prowler into marcjay-simplify-check-id-variables 2020-04-15 00:23:54 +02:00
Toni de la Fuente
f3664b56ec Open 2020-04-14 22:46:44 +02:00
Toni de la Fuente
4ea1864365 Allow multiple report types at once #345 2020-04-14 22:28:58 +02:00
Marc Jay
7e5a4a1de4 Adjust execute_check() now that check71's ID has changed
Fix minor typo in a comment
2020-04-14 02:17:28 +01: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
Marc Jay
24e691901e Convert tabs to spaces within modified function 2020-04-12 17:17:46 +01:00
Marc Jay
57c15c2cc9 Avoid changing the execution order of checks when some checks are excluded
Replace the use of `sort -u` to remove duplicate checks, which has the side-effect of reordering checks alphabetically when one or more are excluded with awk, which preserves the check order

Adjust indentation and formatting to be more consistent with the rest of the file

Fixes #492
2020-04-12 17:12:54 +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
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
e567ccb828 v2.2.1 with new function and Improved extra779 and extra716 2020-04-02 15:31:43 +02:00
Nimrod Kor
d62027440d extra774 - check correct date, consolidate files and fix report generation
(cherry picked from commit 75d66df94061d5cbc738384e74f0a3f42d0d6b37)
2020-03-22 11:24:07 +02:00
Urjit Singh Bhatia
56a4fd813c Support whitelists per check 2020-03-10 18:55:28 -07:00
Toni de la Fuente
11e5d44d9b version 2.2.0 2020-02-21 15:06:13 +01:00
Toni de la Fuente
9bd54ca30e Fixed issue #378 2020-02-12 23:46:42 +01:00
Fayez Barbari
f006c81e6a Use custom aws profile with Role to assume 2020-01-20 14:36:01 -06:00
Toni de la Fuente
b3b903959b Merge pull request #446 from zfLQ2qx2/cleanup_temp_files
Try to make sure prowler cleans up its temporary files
2019-12-31 15:21:33 +01:00
root
4cc5cd1ab1 Try to make sure prowler cleans up its temporary files 2019-12-30 13:43:53 -05:00
Toni de la Fuente
53ea126065 Add native support for AssumeRole issue #445 2019-12-30 18:30:25 +01:00
Dom Bellizzi
f979c7334f Add quiet mode that only logs failures 2019-12-18 22:06:44 +00:00
Toni de la Fuente
39c7ea52c6 Add feature custom checks folder issue #439 2019-12-17 10:37:14 +01:00
Ricardo Oliveira
77b3a9b4d9 unsetting excluded_checks 2019-10-15 11:12:59 +01:00
Tobi Fuhrimann
f32b76987e Make 3.x tests simpler and more useful 2019-08-17 20:07:03 +02:00
Toni de la Fuente
8333c575ae Fixed issue #348 -e option back to work 2019-08-17 15:18:44 +08:00
Martin Kemp
a430ad421b Tabs to 4 spaces 2019-07-10 12:57:32 +01:00
Martin Kemp
58fdd45424 Ability to exclude check from group run
Fixes #351
2019-07-10 12:46:51 +01:00
Toni de la Fuente
ea6d9c93fc Integration with Yelp detect-secrets 2019-06-25 08:28:50 -04:00
Toni de la Fuente
c7320ec7e2 Added comment to clarify change 2019-06-12 10:13:58 +02:00
Toni de la Fuente
3947ee2aae Improved -l option to list uniq checks 2019-06-11 20:37:18 +02:00
Toni de la Fuente
959bd8dfd4 Changed version to 2.0.2 2019-05-13 17:01:17 -04:00
Toni de la Fuente
fff424dbfa Label v2.0.1 2019-04-08 21:58:01 -04:00
Toni de la Fuente
170557a422 New POC scoring and extra741 key finder userdata 2019-02-08 16:39:05 +00:00
Samuel Dugo
71355b0c4c New option "-E" supports exclusion of one or multiple checks
Added new option "-E" which will execute all tests except a list of specified checks separated by comma (i.e. check21,check31). Any invalid check name will be discarded. And if just one argument is passed and this is invalid, then Prowler will execute all checks.

To save space, the option will return a list of total checks excluding the list provided. Then, the functionality will overwrite CHECK_ID with the final list and the program will continue as if the user entered "-c" option and the final list of checks.
2018-12-21 12:14:10 +01:00
Samuel Dugo
00e5e65176 Option "-c" supports one or multiple checks
Added support for option "-c" to specify one or multiple specific checks to be performed. To specify multiple tests include them using a comma delimiter (i.e. check21,check22).
2018-12-19 17:05:13 +01:00