Compare commits

...

3327 Commits

Author SHA1 Message Date
Nacho Rivera 6ceb2c1e56 chore(regions_update): Changes in regions for AWS services. (#3915)
Co-authored-by: sergargar <38561120+sergargar@users.noreply.github.com>
2024-05-03 11:35:06 +02:00
Sergio Garcia c67c23dd42 fix(ec2): handle non-existing private ip (#3906) 2024-05-03 09:12:14 +02:00
Sergio Garcia 8b0bae1c57 chore(mutelist): improve default AWS mutelist with ControlTower (#3904) 2024-05-03 08:40:54 +02:00
Nacho Rivera c873f95743 chore(regions_update): Changes in regions for AWS services. (#3908)
Co-authored-by: sergargar <38561120+sergargar@users.noreply.github.com>
2024-05-03 08:39:39 +02:00
Pedro Martín ddd94e6f64 docs(compliance): Add notes about compliance output (#3911) 2024-05-03 08:29:28 +02:00
Nacho Rivera 722554ad3f chore(mitre azure): add mapping to mitre for azure provider (#3857)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2024-04-30 17:34:10 +02:00
Sergio Garcia 484cf6f49d fix(metadata): remove semicolons from metadata texts (#3830) 2024-04-30 14:02:43 +02:00
tianzedavid e4154ed4a2 chore: fix some comments (#3900) 2024-04-30 13:43:55 +02:00
Sergio Garcia 86cb9f5838 fix(vpc): solve AWS principal key error (#3903) 2024-04-30 13:29:58 +02:00
Sergio Garcia 1622d0aa35 fix(vpc): solve subnet route key error (#3902) 2024-04-30 13:09:31 +02:00
Sergio Garcia b54ecb50bf fix(efs): check all public conditions (#3872) 2024-04-30 13:08:05 +02:00
dependabot[bot] f16857fdf1 chore(deps): bump boto3 from 1.34.84 to 1.34.94 (#3894)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-30 12:50:07 +02:00
Rubén De la Torre Vico ab109c935c docs(unit-testing): Add GCP services documentation (#3901) 2024-04-30 12:49:51 +02:00
dependabot[bot] 8e7e456431 chore(deps-dev): bump black from 24.4.0 to 24.4.2 (#3883)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-30 12:14:58 +02:00
dependabot[bot] 46114cd5f4 chore(deps-dev): bump moto from 5.0.5 to 5.0.6 (#3882)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-30 11:22:46 +02:00
dependabot[bot] 275e509c8d chore(deps): bump azure-mgmt-compute from 30.6.0 to 31.0.0 (#3880)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-30 10:37:48 +02:00
dependabot[bot] 12f135669f chore(deps-dev): bump coverage from 7.4.4 to 7.5.0 (#3879)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-30 10:11:56 +02:00
dependabot[bot] f004df673d chore(deps-dev): bump pytest from 8.1.1 to 8.2.0 (#3878)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-30 09:46:18 +02:00
dependabot[bot] 3ed24b5d7a chore(deps-dev): bump pytest-xdist from 3.5.0 to 3.6.1 (#3877)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-30 09:07:12 +02:00
dependabot[bot] 77eade01a2 chore(deps): bump botocore from 1.34.89 to 1.34.94 (#3876)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-30 08:19:05 +02:00
dependabot[bot] a2158983f7 chore(deps): bump trufflesecurity/trufflehog from 3.73.0 to 3.74.0 (#3874)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-30 07:50:48 +02:00
dependabot[bot] c0d57c9498 chore(deps-dev): bump freezegun from 1.4.0 to 1.5.0 (#3875)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-30 07:49:41 +02:00
Sergio Garcia 35c8ea5e3f fix(aws): not show findings when AccessDenieds (#3803) 2024-04-29 17:42:44 +02:00
Sergio Garcia b36152484d chore(docs): update BridgeCrew links in metadata to our local docs link (#3858)
Co-authored-by: puchy22 <rubendltv22@gmail.com>
2024-04-29 17:39:04 +02:00
Rubén De la Torre Vico 768ca3f0ce test(gcp): Add new services tests to GCP (#3796)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2024-04-29 12:24:44 +02:00
Kay Agahd bedd05c075 fix(aws): Extend opensearch_service_domains_use_cognito_authentication_for_kibana with SAML (#3864) 2024-04-29 12:08:03 +02:00
Sergio Garcia 721f73fdbe chore(gcp): handle list projects API call errors (#3849)
Co-authored-by: Pepe Fagoaga <pepe@prowler.com>
2024-04-29 11:32:21 +02:00
Sergio Garcia 34c2128d88 chore(docs): solve some issues (#3868) 2024-04-29 10:19:37 +02:00
Pedro Martín 14de3acdaa docs(audit_info): update docs about audit info and new testing (#3831)
Co-authored-by: Pepe Fagoaga <pepe@prowler.com>
2024-04-29 09:40:18 +02:00
Matt Merchant 899b2f8eb6 chore(get_tagged_resources): Add return value type hint (#3860)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2024-04-26 15:23:16 +02:00
Nacho Rivera 27bb05fedc chore(regions_update): Changes in regions for AWS services. (#3862)
Co-authored-by: sergargar <38561120+sergargar@users.noreply.github.com>
2024-04-26 11:57:32 +02:00
Pedro Martín e1909b8ad9 fix(s3-integration): Store compliance outputs in their folder (#3859) 2024-04-26 08:22:36 +02:00
Pedro Martín 0ed7a247b6 fix(KeyError): handle CacheSubnetGroupName keyError (#3856) 2024-04-26 08:17:30 +02:00
Pedro Martín ee46bf3809 feat(json-ocsf): Add new fields for py-ocsf 0.1.0 (#3853) 2024-04-25 12:47:28 +02:00
Nacho Rivera 469254094b chore(regions_update): Changes in regions for AWS services. (#3855)
Co-authored-by: sergargar <38561120+sergargar@users.noreply.github.com>
2024-04-25 12:09:23 +02:00
Pedro Martín acac3fc693 feat(ec2): Add 2 new checks + fixers related with EC2 service (#3827)
Co-authored-by: Sergio <sergio@prowler.com>
2024-04-24 11:43:19 +02:00
Nacho Rivera 022b7ef756 chore(regions_update): Changes in regions for AWS services. (#3848)
Co-authored-by: sergargar <38561120+sergargar@users.noreply.github.com>
2024-04-24 11:29:26 +02:00
dependabot[bot] 69d4f55734 chore(deps): bump google-api-python-client from 2.125.0 to 2.127.0 (#3844)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-24 10:12:49 +02:00
dependabot[bot] a0bff4b859 chore(deps): bump botocore from 1.34.84 to 1.34.89 (#3836)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-24 09:38:20 +02:00
Nacho Rivera 23df599a03 chore(regions_update): Changes in regions for AWS services. (#3842)
Co-authored-by: sergargar <38561120+sergargar@users.noreply.github.com>
2024-04-23 17:48:34 +02:00
dependabot[bot] c8d74ca350 chore(deps): bump azure-mgmt-containerservice from 29.1.0 to 30.0.0 (#3835)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-23 17:48:15 +02:00
dependabot[bot] 8d6ba43ad0 chore(deps): bump msgraph-sdk from 1.2.0 to 1.3.0 (#3834)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-23 08:29:03 +02:00
Nacho Rivera 44ca2f7a66 chore(regions_update): Changes in regions for AWS services. (#3826)
Co-authored-by: sergargar <38561120+sergargar@users.noreply.github.com>
2024-04-22 12:48:42 +02:00
Pepe Fagoaga ec0be1c7fe chore(check): global_provider is not needed here (#3828) 2024-04-22 12:05:41 +02:00
Pepe Fagoaga fd732db91b fix(mutelist): Be called whatever the provider (#3811) 2024-04-22 11:16:21 +02:00
Pepe Fagoaga 67f45b7767 chore(release): 4.1.0 (#3817) 2024-04-22 09:40:37 +02:00
Nacho Rivera 396e6a1c36 chore(regions_update): Changes in regions for AWS services. (#3824)
Co-authored-by: sergargar <38561120+sergargar@users.noreply.github.com>
2024-04-22 09:39:04 +02:00
Jakob Rieck 326c46defd fix(aws): Corrects privilege escalation vectors (#3823) 2024-04-19 13:42:51 +02:00
Jakob Rieck 7a1762be51 fix(aws): Include record names for dangling IPs (#3821)
Co-authored-by: Pepe Fagoaga <pepe@prowler.com>
2024-04-19 12:47:03 +02:00
Nacho Rivera b466b476a3 chore(regions_update): Changes in regions for AWS services. (#3822)
Co-authored-by: sergargar <38561120+sergargar@users.noreply.github.com>
2024-04-19 11:32:22 +02:00
Pepe Fagoaga e4652d4339 fix(ocsf): Add resource details to data (#3819) 2024-04-19 08:35:26 +02:00
Pepe Fagoaga f1e4cd3938 docs(ocsf): Add missing fields to the example (#3816) 2024-04-19 08:09:36 +02:00
dependabot[bot] e192a98079 chore(deps): bump aiohttp from 3.9.3 to 3.9.4 (#3818)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-19 07:50:48 +02:00
Pedro Martín 833dc83922 fix(dashboard): fix error in windows for csvreader (#3806) 2024-04-18 15:27:20 +02:00
Pedro Martín ab1751c595 fix(overview-table): change font in overview table (#3815) 2024-04-18 14:53:32 +02:00
Sergio Garcia fff06f971e chore(vpc): improve public subnet logic (#3814) 2024-04-18 13:58:42 +02:00
Pepe Fagoaga a138d2964e fix(execute_check): Handle ModuleNotFoundError (#3812) 2024-04-18 12:36:15 +02:00
Pedro Martín e6d7965453 fix(network_azure): handle capitalized protocols in security group rules (#3808) 2024-04-18 08:11:29 +02:00
Sergio Garcia ab714f0fc7 chore(fixer): add more fixers (#3772)
Co-authored-by: Pepe Fagoaga <pepe@prowler.com>
2024-04-18 08:09:03 +02:00
Sergio Garcia 465b0f6a16 fix(utils): import libraries when needed (#3805) 2024-04-17 16:35:04 +02:00
Pedro Martín bd87351ea7 chore(aws): Add CloudTrail Threat Detection tests (#3804)
Co-authored-by: Pepe Fagoaga <pepe@prowler.com>
2024-04-17 14:01:39 +02:00
Sergio Garcia d79ec44e4c chore(ec2): improve handling of ENIs (#3798) 2024-04-17 13:12:31 +02:00
Matt Merchant a2f84a12ea docs(developer guide): fix broken link (#3799) 2024-04-17 10:56:35 +02:00
Sergio Garcia 6fd71356ee chore(rds): improve rds public instance check (#3797) 2024-04-16 15:01:47 +02:00
dependabot[bot] a0a305d9b1 chore(deps): bump pandas from 2.2.1 to 2.2.2 (#3791)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-16 14:18:18 +02:00
dependabot[bot] 6396d90fa6 chore(deps): bump azure-identity from 1.15.0 to 1.16.0 (#3795)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-16 12:13:51 +02:00
dependabot[bot] e324750ec2 chore(deps-dev): bump mkdocs-material from 9.5.17 to 9.5.18 (#3794)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-16 11:46:21 +02:00
dependabot[bot] 5d99f020fa chore(deps): bump boto3 from 1.34.80 to 1.34.84 (#3793)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-16 11:17:55 +02:00
Sergio Garcia b82e928f58 chore(dependabot): increase PRs limit (#3789) 2024-04-16 10:43:53 +02:00
dependabot[bot] da871897e6 chore(deps): bump dash-bootstrap-components from 1.5.0 to 1.6.0 (#3778)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-16 10:20:08 +02:00
Pedro Martín 81778f73e4 fix(table-overview): Multiple changes on dashboard table from overview (#3773) 2024-04-16 10:15:16 +02:00
dependabot[bot] 2623728518 chore(deps): bump botocore from 1.34.80 to 1.34.84 (#3779)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-16 09:36:10 +02:00
dependabot[bot] 97f1d1b476 chore(deps): bump boto3 from 1.34.77 to 1.34.80 (#3780)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-16 08:56:14 +02:00
dependabot[bot] 2f6a837bc0 chore(deps): bump trufflesecurity/trufflehog from 3.72.0 to 3.73.0 (#3786)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-16 07:23:02 +02:00
dependabot[bot] 5e22c2d9a5 chore(deps-dev): bump black from 24.3.0 to 24.4.0 (#3777)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-16 07:22:28 +02:00
Sergio Garcia 99bd637de4 chore(fixer): improve fixer logic and include more (#3750) 2024-04-15 17:45:40 +02:00
Sergio Garcia b9177e5580 fix(trufflehog): fix GitHub action of TruffleHog (#3775) 2024-04-15 17:37:07 +02:00
Pepe Fagoaga fc7ec184d9 fix(slack): Use global provider object (#3770) 2024-04-15 14:47:38 +02:00
Rubén De la Torre Vico 7a6ca342af docs(unit-testing): Update the unit testing section (#3764)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2024-04-15 13:20:31 +02:00
Rubén De la Torre Vico 30b6e5e5c6 docs(devel-guide): Add provider section and remove audit_info section (#3756)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2024-04-15 13:12:28 +02:00
Pepe Fagoaga f8476decf7 fix(security-hub): MUTED -> WARNING (#3768) 2024-04-15 09:58:18 +02:00
Nacho Rivera 49e238577c chore(regions_update): Changes in regions for AWS services. (#3765)
Co-authored-by: sergargar <38561120+sergargar@users.noreply.github.com>
2024-04-15 08:50:07 +02:00
Rubén De la Torre Vico 026fff79c6 docs(devel-guide): Adding some improves and clarifications to developer guide (#3749)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2024-04-12 12:55:46 +02:00
Pedro Martín 36c3870c2f docs(compliance): Change images for compliance (#3760) 2024-04-12 12:30:33 +02:00
Pepe Fagoaga 54c309dbda fix(ocsf): Add compliance (#3753)
Co-authored-by: pedrooot <pedromarting3@gmail.com>
2024-04-12 12:28:34 +02:00
Pepe Fagoaga f00dd35f93 chore(codeowners): Add prowler-dev team (#3763) 2024-04-12 12:27:28 +02:00
Pepe Fagoaga e040efb3c8 fix(mutelist): if all fails are muted do exit 0 (#3754) 2024-04-12 12:26:58 +02:00
Pedro Martín 805d50586b fix(compliance): Add muted info to compliance outputs (#3751) 2024-04-12 12:19:20 +02:00
Pedro Martín a289a807c5 fix(wafv2): Handle WAFNonexistentItemException (#3761) 2024-04-12 12:05:50 +02:00
Pedro Martín e9117f95ee fix(json-ocsf): Remove risk field from unmapped (#3759)
Co-authored-by: Pepe Fagoaga <pepe@prowler.com>
2024-04-12 10:55:52 +02:00
Pedro Martín 82bd4e940f docs(threat-detection): Add threat-detection docs (#3757) 2024-04-12 10:36:55 +02:00
dependabot[bot] ad3b0b33f2 chore(deps): bump idna from 3.6 to 3.7 (#3758)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-12 08:12:30 +02:00
Nacho Rivera b2b664a5b0 chore(regions_update): Changes in regions for AWS services. (#3755)
Co-authored-by: sergargar <38561120+sergargar@users.noreply.github.com>
2024-04-11 14:43:26 +02:00
Pepe Fagoaga 571f3ebe1d fix(ocsf): Include check_id as metadata.event_code (#3748) 2024-04-10 15:51:48 +02:00
Pepe Fagoaga c7f09df4e7 chore(dashboard): Use Prowler CLI parser (#3722) 2024-04-10 15:49:21 +02:00
Sergio Garcia 8758ecae97 feat(gcp): improve Google Projects scan customization (#3741) 2024-04-10 13:16:47 +02:00
Pedro Martín f13c843ba6 fix(json-ocsf): Add missing fields for JSON-OCSF (#3745) 2024-04-10 11:55:48 +02:00
Pedro Martín e95f7dd540 docs(outputs): update docs for v4 outputs (#3734)
Co-authored-by: Pepe Fagoaga <pepe@prowler.com>
2024-04-10 11:54:41 +02:00
Nacho Rivera 693329b87e chore(regions_update): Changes in regions for AWS services. (#3746)
Co-authored-by: sergargar <38561120+sergargar@users.noreply.github.com>
2024-04-10 11:53:27 +02:00
Rubén De la Torre Vico f1ad521f64 feat(docs): Support toggle light/dark mode (#3744) 2024-04-10 10:37:44 +02:00
Pedro Martín 82fbba6513 fix(json-ocsf): add check_id field in json-ocsf output (#3740) 2024-04-10 09:58:33 +02:00
Pedro Martín 66fba8e4cd fix(download): remove dataframe index from download in dashboard (#3739) 2024-04-10 08:41:50 +02:00
Pepe Fagoaga 417131fa36 docs: readme points to docs.prowler.com to learn everything (#3707)
Co-authored-by: Sergio <sergio@prowler.com>
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2024-04-09 16:28:01 +02:00
Sergio Garcia 9c9d270053 fix(ulimit): import library only in windows (#3738) 2024-04-09 15:36:05 +02:00
Pedro Martín f7fab165ba fix(aws_lambda): Update obsolete lambda runtimes (#3735) 2024-04-09 15:08:19 +02:00
Pepe Fagoaga 93bdf43c95 fix(actions): Don't need expressions within if (#3733) 2024-04-09 13:33:53 +02:00
Pepe Fagoaga b3866b5b71 docs(dashboard): format list (#3732) 2024-04-09 13:18:52 +02:00
Sergio Garcia 2308084dee chore(version): update Prowler version (#3730) 2024-04-09 13:18:00 +02:00
Pepe Fagoaga 6eb5496c27 docs(dashboard): Indicate how to change port (#3729) 2024-04-09 12:28:54 +02:00
Nacho Rivera c5514fdb63 chore(regions_update): Changes in regions for AWS services. (#3727)
Co-authored-by: sergargar <38561120+sergargar@users.noreply.github.com>
2024-04-09 12:03:06 +02:00
Pedro Martín c78c3058fd fix(service_name): fix typo in ServiceName field (#3723) 2024-04-09 11:39:02 +02:00
Pepe Fagoaga 10d9ef9906 chore(dispatch): just for v3 (#3712) 2024-04-09 11:33:00 +02:00
Pepe Fagoaga 43426041ef docs(mutelist): remove MUTED and explain new fields (#3726) 2024-04-09 11:18:07 +02:00
Sergio Garcia 125eb9ac53 fix(k8s): improve kubernetes deployment (#3713) 2024-04-09 10:45:58 +02:00
Pedro Martín 681407e0a2 fix(compliance): add field ModoEjecucion in csv output for ENS (#3719) 2024-04-09 10:26:06 +02:00
Pedro Martín 082f3a8fe8 fix(dashboard): Add multiple dashboard fixes (#3714) 2024-04-09 10:22:03 +02:00
Sergio Garcia 397cc26b2a fix(gcp): add project id to outputs (#3711) 2024-04-09 10:17:32 +02:00
Rubén De la Torre Vico 331ae92843 chore(Azure): Optimize Entra service to use async funcs (#3706) 2024-04-09 09:20:06 +02:00
dependabot[bot] 06843cd41a chore(deps): bump botocore from 1.34.77 to 1.34.80 (#3715)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-09 08:39:56 +02:00
Pedro Martín 28b5ef9ee9 fix(ens): add dependencias field ENS rd2022 compliance (#3701) 2024-04-09 08:29:41 +02:00
Pedro Martín 63dcc057d3 feat(dashboard): add correct label for each dropdown (#3700) 2024-04-08 17:50:48 +02:00
Sergio Garcia 0bc16ee5ff chore(Dockerfile): remove deprecated dash dependencies (#3708) 2024-04-08 14:58:19 +02:00
Sergio Garcia abcc9c2c80 docs(images): fix images link in documentation (#3709) 2024-04-08 14:49:06 +02:00
Sergio Garcia daf2ad38bd chore(docs): update CloudShell scripts (#3687) 2024-04-08 14:39:29 +02:00
Sergio Garcia 3dc418df39 chore(action): update python version to 3.12 in GH action (#3705) 2024-04-08 12:48:54 +02:00
dependabot[bot] 00aaafbc12 chore(deps-dev): bump moto from 5.0.4 to 5.0.5 (#3681)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-08 12:47:22 +02:00
Sergio Garcia bd49a55f3d chore(Dockerfile): update Python version to 3.12 (#3699) 2024-04-08 12:22:49 +02:00
dependabot[bot] 013975b7a6 chore(deps): bump kubernetes from 28.1.0 to 29.0.0 (#3679)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-08 12:21:23 +02:00
Pepe Fagoaga 392026286a fix(actions): use LATEST_TAG for v4 (#3703) 2024-04-08 12:10:02 +02:00
Nacho Rivera 29ef974565 chore(regions_update): Changes in regions for AWS services. (#3693)
Co-authored-by: sergargar <38561120+sergargar@users.noreply.github.com>
2024-04-08 11:52:51 +02:00
Sergio Garcia 06c8216092 build(deps): Update boto3 to version 1.34.77 (#3669)
Co-authored-by: Pepe Fagoaga <pepe@prowler.com>
2024-04-08 11:51:22 +02:00
Pepe Fagoaga 03f04d24a5 chore(dependabot): Add v3 label (#3698) 2024-04-08 11:19:35 +02:00
Pedro Martín 7b45ed63cc docs(dashboard): improve dashboard documentation (#3688) 2024-04-08 11:10:30 +02:00
Sergio Garcia 6e4dd1d69c fix(k8s): sanitize context syntax only for output file names (#3689) 2024-04-08 11:08:35 +02:00
Sergio Garcia 185b4cba0c chore(mutelist): remove space within mutelist name (#3690) 2024-04-08 11:07:29 +02:00
Pepe Fagoaga 8198ea4a2c chore(dependabot): Run also for v3 branch (#3683) 2024-04-08 11:05:09 +02:00
dependabot[bot] aaf3e8a5cf chore(deps): bump google-api-python-client from 2.124.0 to 2.125.0 (#3678)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-08 10:55:00 +02:00
dependabot[bot] ecef56fa8f chore(deps): bump trufflesecurity/trufflehog from 3.71.2 to 3.72.0 (#3677)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-08 10:39:53 +02:00
Pepe Fagoaga 349ce3f2d0 chore(regions): Add backport-v3 label (#3684) 2024-04-08 10:31:28 +02:00
Sergio Garcia e3d4741213 chore(merge): include latest changes of v3 (#3686)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rubén De la Torre Vico <rubendltv22@gmail.com>
Co-authored-by: Nacho Rivera <nachor1992@gmail.com>
2024-04-08 10:30:39 +02:00
Pepe Fagoaga 9d6d5f1d76 fix(args): Handle default argument (#3674) 2024-04-08 10:01:35 +02:00
Pepe Fagoaga 3152d67f58 chore(actions): Run for master and v3 (#3685) 2024-04-08 09:35:23 +02:00
Pepe Fagoaga cb41c8d15b fix(dockerfile): add missing path to build (#3680) 2024-04-08 09:24:05 +02:00
Pepe Fagoaga 06590842d6 chore(action): Run for v4 branch (#3666) 2024-04-04 15:53:45 +02:00
Pedro Martín d4c22a0ca5 fix(dashboard): handle Kubernetes CIS in EKS context (#3671) 2024-04-04 15:50:38 +02:00
Sergio Garcia c6f9936292 fix(merge): update v4 with latest changes (#3670) 2024-04-04 15:37:41 +02:00
Sergio Garcia eaa8900758 fix(threat detection): rename to threshold (#3665) 2024-04-04 13:29:35 +02:00
Pedro Martín e1e95d8879 docs(Dashboard): Add docs for dashboards (#3655) 2024-04-04 13:26:42 +02:00
Pedro Martín ef3a0f4878 fix(Dashboard): Multiple dashboard fixes (#3654)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2024-04-04 13:14:27 +02:00
Sergio Garcia 64cc36e7e2 fix(fixer): list fixers without sufix (#3660)
Co-authored-by: Pepe Fagoaga <pepe@prowler.com>
2024-04-04 13:07:54 +02:00
Sergio Garcia 1e001bb0fd fix(deps): solve dependencies (#3662) 2024-04-04 12:48:59 +02:00
Sergio Garcia 6ba123a003 fix(box): remove lines inside box (#3657) 2024-04-04 12:24:14 +02:00
Pepe Fagoaga 36d0f2c23f fix: typo in action (#3659) 2024-04-04 12:04:45 +02:00
Sergio Garcia 63412e3645 chore(merge): update v4 with latest changes of v3 (#3653) 2024-04-03 18:31:36 +02:00
Pedro Martín 191cf276c3 feat(dashboards): add new Prowler dashboards (#3575)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2024-04-02 18:12:16 +02:00
Sergio Garcia 45978bd0bb feat(fixer): add Prowler Fixer feature! (#3634) 2024-04-02 17:13:26 +02:00
Sergio Garcia 9666652d18 chore(readme): update k8s cis (#3640) 2024-04-02 14:37:20 +02:00
Sergio Garcia ad2716d7c9 chore(compliance): only execute all compliances in normal execution (#3635) 2024-04-02 10:55:38 +02:00
Sergio Garcia 0a7939bea3 chore(args): add plural severity argument (#3636) 2024-04-02 10:21:42 +02:00
Sergio Garcia b8c50a7b45 chore(backport): merge changes from v3 to v4 (#3625)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rubén De la Torre Vico <rubendltv22@gmail.com>
Co-authored-by: Nacho Rivera <nachor1992@gmail.com>
Co-authored-by: Gabriel Soltz <8935378+gabrielsoltz@users.noreply.github.com>
Co-authored-by: Hugo966 <148140670+Hugo966@users.noreply.github.com>
Co-authored-by: Kay Agahd <kagahd@users.noreply.github.com>
Co-authored-by: Pepe Fagoaga <pepe@prowler.com>
2024-04-02 08:52:21 +02:00
Sergio Garcia 175e8d2b05 chore(slogan): update Prowler slogan (#3619) 2024-04-01 12:19:14 +02:00
Pepe Fagoaga 046069a656 chore(categories): Add threat detection checks in the loader (#3622) 2024-04-01 11:48:46 +02:00
Sergio Garcia f9522da48f feat(cloudtrail): add threat detection checks for AWS (enum and priv escalation) (#3602) 2024-03-27 16:23:00 +01:00
Sergio Garcia c03f959005 chore(ulimit): handle low ulimit value on shell session for POSIX if max open files is below 4096 (#3601) 2024-03-27 14:52:14 +01:00
Sergio Garcia 522aeebe5e chore(args): sanitize arguments (#3611) 2024-03-27 14:14:21 +01:00
Sergio Garcia 5312f487f9 chore(report): improve shown report in UI (#3587) 2024-03-27 12:57:20 +01:00
Pedro Martín d9b6624d65 feat(compliance): Add CIS 1.8 framework for Kubernetes (#3600)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2024-03-26 14:03:39 +01:00
Hugo966 1506da54fc feat(azure): locations added to Azure findings (#3596) 2024-03-22 15:41:58 +01:00
Sergio Garcia 245512d320 fix(providers): import modules also from outside of directory (#3595) 2024-03-22 13:36:21 +01:00
Pepe Fagoaga 487190b379 fix(securityhub): Add validation and handle errors (#3590)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2024-03-22 10:27:48 +01:00
Sergio Garcia 74aaeaa95c fix(mapping): handle None attributes in data (#3588)
Co-authored-by: Pepe Fagoaga <pepe@prowler.com>
2024-03-21 17:56:21 +01:00
Sergio Garcia 28e8f0de2b chore(merge): get latest changes from v3 to v4 (#3582)
Co-authored-by: Hugo966 <148140670+Hugo966@users.noreply.github.com>
Co-authored-by: Pepe Fagoaga <pepe@prowler.com>
Co-authored-by: Nacho Rivera <nachor1992@gmail.com>
2024-03-21 17:08:19 +01:00
Pedro Martín f60b5017e2 fix(compliance): fix csv output for framework Mitre Attack (#3574) 2024-03-21 13:18:03 +01:00
Sergio Garcia fe80821596 chore(muted): handle new Muted status (#3570) 2024-03-19 18:37:49 +01:00
Pepe Fagoaga 628a3c4e7b fix(quickinventory): Adapt for the new AWS provider class (#3569)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2024-03-19 16:14:01 +01:00
Sergio Garcia 3d59c34ec9 chore(merge): add new changes from v3 (#3549)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Pepe Fagoaga <pepe@prowler.com>
Co-authored-by: Nacho Rivera <nachor1992@gmail.com>
Co-authored-by: Rubén De la Torre Vico <rubendltv22@gmail.com>
Co-authored-by: Pedro Martín <pedromarting3@gmail.com>
Co-authored-by: Hugo966 <148140670+Hugo966@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Hugo Gálvez Ureña <hugogalvezu96@gmail.com>
Co-authored-by: github-actions <noreply@github.com>
2024-03-19 15:54:41 +01:00
Sergio Garcia 35043c2dd6 chore(unused services): scan unused services by default and add flag (#3556)
Co-authored-by: Pepe Fagoaga <pepe@prowler.com>
2024-03-19 15:15:19 +01:00
Pepe Fagoaga ab815123c9 chore(slack): fix integration with provider (#3565)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2024-03-19 11:24:11 +01:00
Pepe Fagoaga 69ab84efe1 chore(main): remove getattr for mutelist (#3564) 2024-03-19 10:58:02 +01:00
Pepe Fagoaga 77823afa54 chore(audit_info): Replace for provider and add tests (#3542)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2024-03-19 09:53:05 +01:00
Pepe Fagoaga 63cd6c1290 chore(mutelist): enforce for all providers (#3554) 2024-03-18 10:12:15 +01:00
Sergio Garcia cab32d2f94 feat(mutelist): add Mute List for all providers (#3548) 2024-03-15 12:22:10 +01:00
Pepe Fagoaga 1f4316e9dd chore(ocsf): add OCSF 1.1 and organize code (#3517)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2024-03-14 15:04:47 +01:00
Pepe Fagoaga ade762a85e fix(azure): use subscriptions in get_locations (#3541) 2024-03-14 14:57:20 +01:00
Pepe Fagoaga bda5d62c72 chore(aws): Replace audit_info for provider (#3521)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2024-03-13 18:15:24 +01:00
Pepe Fagoaga 2176fff8c3 chore(json): deprecate native json (#3514) 2024-03-13 18:11:33 +01:00
Pepe Fagoaga 87893bd54b chore(csv): Common output for all the providers (#3513)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2024-03-13 17:31:35 +01:00
Sergio Garcia b539a888b1 chore(compliance): solve compliance issues (#3507)
Co-authored-by: Pepe Fagoaga <pepe@prowler.com>
2024-03-13 15:43:33 +01:00
Sergio Garcia d6b2b0ca13 docs(kubernetes): add Kubernetes documentation (#3482) 2024-03-13 15:37:49 +01:00
Pepe Fagoaga 58ee45b702 chore(merge): 2024-03-06 11:03:00 UTC (#3506) 2024-03-06 13:05:31 +01:00
Pepe Fagoaga c62d97f23a chore(html): deprecate output (#3501)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2024-03-05 14:16:23 +01:00
Pepe Fagoaga d618c5ea12 fix(shodan): Make it available for all the providers (#3500) 2024-03-05 13:55:43 +01:00
Pepe Fagoaga d8e27f0d33 chore(config): Store in provider (#3498)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2024-03-05 10:21:08 +01:00
Sergio Garcia 38496ff646 chore(kubernetes): add outputs fields (#3499) 2024-03-05 10:01:51 +01:00
Pepe Fagoaga da1084907e chore(providers): Store output options and mutelist (#3497) 2024-03-05 09:56:30 +01:00
Pepe Fagoaga 3385b630e7 chore(azure): working outputs (#3491)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2024-03-04 17:59:48 +01:00
Pepe Fagoaga fc59183045 chore(gcp): working outputs (#3490)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2024-03-04 17:54:41 +01:00
Pepe Fagoaga 33242079f7 chore(k8s): Working outputs (#3489) 2024-03-04 17:25:14 +01:00
Pepe Fagoaga 086148819c chore(aws): Working outputs (#3488) 2024-03-04 17:17:20 +01:00
Pepe Fagoaga 5df9fd881c chore(aws): Simplify provider (#3481)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2024-03-04 13:50:54 +01:00
Pepe Fagoaga bd17d36e7f chore(kubernetes): Working provider (#3475)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2024-03-01 14:10:10 +01:00
Pepe Fagoaga be55fa22fd chore(azure): working version executing checks (#3474) 2024-03-01 13:30:09 +01:00
Pepe Fagoaga b48b3a5e2e chore(azure): working version executing checks (#3472)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2024-03-01 11:33:01 +01:00
Sergio Garcia fc03dd37f1 chore(kubernetes): enhance checks metadata (#3469) 2024-02-29 17:16:28 +01:00
Sergio Garcia d8bb384689 chore(kubernetes): add strong ciphers config vars (#3470) 2024-02-29 14:48:21 +01:00
Pepe Fagoaga 0b32a10bb8 chore(aws): Remove old provider (#3468) 2024-02-29 13:45:43 +01:00
Pepe Fagoaga f0c027f54e chore(merge): Merge master with Prowler 4.0 (#3467)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2024-02-29 11:19:17 +01:00
Sergio Garcia b0f2f34d3b feat(namespace): add --namespaces argument and solve bugs (#3431) 2024-02-28 19:33:29 +01:00
Sergio Garcia 3e6b76df76 fix(kubernetes): improve in-cluster execution (#3397) 2024-02-28 19:00:33 +01:00
Sergio Garcia 6197cf792d feat(kubelet): add 6 checks of Kubelet configuration files on the worker nodes (#3335)
Co-authored-by: Pepe Fagoaga <pepe@prowler.com>
2024-02-28 18:32:45 +01:00
Sergio Garcia 3c4e5a14f7 feat(core): add 13 checks of Kubernetes Core service (#3315)
Co-authored-by: Pepe Fagoaga <pepe@prowler.com>
2024-02-28 13:21:53 +01:00
Sergio Garcia effc743b6e feat(rbac): add 9 checks of Kubernetes RBAC service (#3314) 2024-02-27 13:54:46 +01:00
Sergio Garcia 364a945d28 feat(kubelet): add 10 checks of Kubernetes Kubelet service (#3302)
Co-authored-by: Pepe Fagoaga <pepe@prowler.com>
2024-02-26 14:15:35 +01:00
Sergio Garcia 07b9354d18 feat(etcd): add checks for Kubernetes etcd (#3294)
Co-authored-by: Pepe Fagoaga <pepe@prowler.com>
2024-02-22 16:45:06 +00:00
Sergio Garcia 8b1e537ca5 feat(controllermanager): add checks for Kubernetes Controller Manager (#3291) 2024-02-22 16:55:23 +01:00
Sergio Garcia 6a20e850bc feat(apiserver): new 10 Kubernetes ApiServer checks (#3290) 2024-02-22 10:50:12 +01:00
Sergio Garcia 636892bc9a feat(apiserver): new 10 Kubernetes ApiServer checks (#3289) 2024-02-21 13:29:28 +01:00
Sergio Garcia b40f32ab57 feat(apiserver): new 9 Kubernetes ApiServer checks (#3288)
Co-authored-by: Pepe Fagoaga <pepe@prowler.com>
2024-02-21 09:19:50 +01:00
Sergio Garcia 14bab496b5 chore(tests): add kubernetes provider tests (#3265) 2024-02-19 12:50:42 +00:00
Sergio Garcia 3cc367e0a3 feat(kubernetes): add etcd, controllermanager and rbac services (#3261)
Co-authored-by: Pepe Fagoaga <pepe@prowler.com>
2024-02-19 13:19:07 +01:00
Nacho Rivera 36fc575e40 feat(AwsProvider): include new structure for AWS provider (#3252)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2024-01-15 16:55:53 +01:00
Sergio Garcia 24efb34d91 chore(manual status): change INFO to MANUAL status (#3254) 2024-01-09 18:08:00 +01:00
Sergio Garcia c08e244c95 feat(status): add --status flag (#3238) 2024-01-09 11:35:44 +01:00
Sergio Garcia c2f8980f1f feat(kubernetes): add Kubernetes provider (#3226)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2024-01-09 10:31:51 +01:00
Sergio Garcia 0ef85b3dee fix(gcp): fix error in generating compliance (#3201) 2023-12-18 12:10:58 +01:00
Sergio Garcia 93a2431211 feat(compliance): execute all compliance by default (#3003)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-12-13 17:31:39 +01:00
Nacho Rivera 1fe74937c1 feat(CloudProvider): introduce global provider Azure&GCP (#3069) 2023-12-12 18:05:17 +01:00
Sergio Garcia 6ee016e577 chore(sts-endpoint): deprecate --sts-endpoint-region (#3046)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-12-12 17:13:50 +01:00
Sergio Garcia f7248dfb1c feat(mute list): change allowlist to mute list (#3039)
Co-authored-by: Nacho Rivera <nachor1992@gmail.com>
2023-12-12 16:57:52 +01:00
Nacho Rivera 856afb3966 chore(update): rebase from master (#3067)
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: r3drun3 <simone.ragonesi@sighup.io>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: John Mastron <14130495+mtronrd@users.noreply.github.com>
Co-authored-by: John Mastron <jmastron@jpl.nasa.gov>
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
Co-authored-by: github-actions <noreply@github.com>
Co-authored-by: simone ragonesi <102741679+R3DRUN3@users.noreply.github.com>
Co-authored-by: Johnny Lu <johnny2lu@gmail.com>
Co-authored-by: Vajrala Venkateswarlu <59252985+venkyvajrala@users.noreply.github.com>
Co-authored-by: Ignacio Dominguez <ignacio.dominguez@zego.com>
2023-11-27 13:58:45 +01:00
Sergio Garcia bf315261af chore(regions_update): Changes in regions for AWS services. (#2998)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-11-06 10:14:50 +01:00
Kay Agahd 6e83afb580 fix(s3 race condition): catch error if a bucket does not exist any longer (#3000) 2023-11-06 09:24:51 +01:00
Sergio Garcia 1a5742d4f5 fix(cloudtrail): handle HasInsightSelectors key (#2996) 2023-11-02 14:09:27 +01:00
Sergio Garcia 0e22458e86 fix(docs): solve allowlist syntax (#2995) 2023-11-02 12:43:59 +01:00
Sergio Garcia cd8d1b8a8f chore(regions_update): Changes in regions for AWS services. (#2993)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-11-02 12:27:21 +01:00
Sergio Garcia 141a142742 chore(brew): remove brew action (#2994) 2023-11-02 10:28:32 +01:00
Sergio Garcia a59b344d20 chore(release): update Prowler Version to 3.11.0 (#2992)
Co-authored-by: github-actions <noreply@github.com>
2023-10-31 15:48:33 +01:00
Pepe Fagoaga f666711a2a fix(vpc_endpoint_services_allowed_principals_trust_boundaries): Principal (#2991) 2023-10-31 14:19:20 +01:00
Sergio Garcia 1014d64828 fix(outputs): remove empty outputs (#2990) 2023-10-31 14:09:02 +01:00
Sergio Garcia a126a99853 fix(cis): remove new lines in CIS csv (#2989) 2023-10-31 13:56:33 +01:00
Sergio Garcia 082390a7f0 chore(gcp): print inactive GCP APIs (#2987) 2023-10-31 12:53:53 +01:00
Sergio Garcia a994553c16 fix(allowlist): verify if allowlist file exists (#2988) 2023-10-31 12:53:45 +01:00
Sergio Garcia 3fd2ae954d fix(elbv2_desync_mitigation_mode): improve logic (#2986) 2023-10-31 12:42:24 +01:00
dependabot[bot] e17c5642ca build(deps): bump google-api-python-client from 2.104.0 to 2.105.0 (#2985)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-31 11:36:12 +01:00
Sergio Garcia fa7968cb1b feat(alias): add check alias functionality (#2971) 2023-10-31 11:25:54 +01:00
dependabot[bot] 57c3183b15 build(deps): bump mkdocs-material from 9.4.6 to 9.4.7 (#2983)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-31 11:07:29 +01:00
dependabot[bot] 1fd6471cb1 build(deps-dev): bump moto from 4.2.6 to 4.2.7 (#2984)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-31 10:41:22 +01:00
dependabot[bot] 1827230514 build(deps): bump azure-identity from 1.14.1 to 1.15.0 (#2982)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-31 10:13:32 +01:00
dependabot[bot] 06dc3d3361 build(deps-dev): bump pytest from 7.4.2 to 7.4.3 (#2981)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-10-31 09:28:50 +01:00
Sergio Garcia a7a2e24d42 chore(docs): allowlist non-default regions (#2980) 2023-10-30 21:52:25 +01:00
ToastyCat bb543cb5db fix(ec2_instance_imdsv2_enabled ): verify if metadata service is disabled (#2978)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-10-30 21:16:25 +01:00
Pepe Fagoaga 373ce0ad04 fix(GuardDuty): Add enabled_in_account parameter (#2979) 2023-10-30 19:39:22 +01:00
Sergio Garcia fcb979aae1 feat(allowlist): allowlist non-default regions configuration (#2974) 2023-10-30 17:51:49 +01:00
Pepe Fagoaga fcc56ad6f7 chore(allowlist): Extract allowlist from report (#2975) 2023-10-30 09:52:59 +01:00
Nacho Rivera 5be8570c8c fix(cloudtrail service): typo in logging info (#2976) 2023-10-30 09:49:20 +01:00
Sergio Garcia d471442422 chore(regions_update): Changes in regions for AWS services. (#2973)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-10-27 11:41:08 +02:00
Sergio Garcia 4070c923fc chore(regions_update): Changes in regions for AWS services. (#2969)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-10-26 15:46:45 +02:00
Sergio Garcia 3ca38fe92d fix(gcp): set always location to lowercase (#2970) 2023-10-26 13:21:09 +02:00
dependabot[bot] 55ebadfe28 build(deps-dev): bump werkzeug from 2.3.4 to 3.0.1 (#2968)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-26 07:58:28 +02:00
Sergio Garcia 9bd2519c83 chore(APIGatewayV2): improve check naming (#2966) 2023-10-25 16:59:06 +02:00
Sergio Garcia 4bfe145be3 chore(regions_update): Changes in regions for AWS services. (#2965)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-10-25 13:59:19 +02:00
Sergio Garcia 41085049e2 chore(docs): add STS Endpoint and Allowlist updates (#2964) 2023-10-25 13:58:59 +02:00
Sergio Garcia f7312db0c7 chore(allowlist): prettify allowlist names (#2963) 2023-10-24 18:48:34 +02:00
Sergio Garcia 008534d839 feat(controltower): add AWS Control Tower resources to default Allowlist configuration file (#2953)
Co-authored-by: Toni de la Fuente <toni@blyx.com>
2023-10-24 16:45:21 +02:00
Pepe Fagoaga 8533714cb2 tests: remove tests folder after execution (#2962) 2023-10-24 16:29:18 +02:00
Sergio Garcia b822c19d2c feat(ignore unused services): add --ignore-unused-services argument to ignore findings from services not in actual use (#2936) 2023-10-24 14:09:27 +02:00
Sergio Garcia 2aa3126eb0 chore(regions_update): Changes in regions for AWS services. (#2961)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-10-24 11:37:17 +02:00
Sergio Garcia 4c5e85f7ba fix(sts): force v2 STS tokens (#2956) 2023-10-24 10:15:41 +02:00
dependabot[bot] 2b41da4543 build(deps-dev): bump vulture from 2.9.1 to 2.10 (#2960)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-24 09:46:34 +02:00
dependabot[bot] f8dc88df6e build(deps): bump google-api-python-client from 2.102.0 to 2.104.0 (#2959)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-24 09:15:15 +02:00
dependabot[bot] 534033874e build(deps-dev): bump openapi-spec-validator from 0.6.0 to 0.7.1 (#2958)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-24 08:52:06 +02:00
dependabot[bot] 0851b923fd build(deps-dev): bump pylint from 3.0.1 to 3.0.2 (#2957)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-24 08:05:18 +02:00
Kay Agahd fd4bed65a0 docs(v2_v3_mapping): document prowler v3.10.0 changes (#2955) 2023-10-23 15:23:17 +02:00
Nacho Rivera 4746b8b835 feat(report interface): add reporting interface call after report (#2948) 2023-10-23 09:06:51 +02:00
Sergio Garcia d24eafe6a6 chore(regions_update): Changes in regions for AWS services. (#2954)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-10-23 07:37:54 +02:00
Sergio Garcia f3b81edf67 fix(APIGateway): Improve check naming (#2952) 2023-10-20 08:07:08 +02:00
Sergio Garcia 976d0da26e fix(resource filters): add missing resource filters (#2951) 2023-10-19 18:18:58 +02:00
Sergio Garcia 5113b83bc4 chore(create_role_to_assume_cfn.yaml): Add DLM permissions (#2949) 2023-10-19 17:40:07 +02:00
Sergio Garcia a88877bf7c chore(github): ignore permissions path in GitHub actions (#2950) 2023-10-19 17:37:35 +02:00
Jit a46d7b2ed9 feat(aws): New Neptune, ElastiCache, APIGW and IAM checks (#2862) 2023-10-19 17:31:51 +02:00
Pepe Fagoaga 170241649d fix(ec2_securitygroup_not_used): Mock Lambda service (#2947) 2023-10-19 17:05:04 +02:00
Sergio Garcia 1ac22bddd6 fix(security group): check if security groups are used by Lambda (#2944) 2023-10-19 12:13:24 +02:00
Sergio Garcia 54fe10ae86 chore(permissions): add DLM permissions (#2946) 2023-10-19 11:45:41 +02:00
Sergio Garcia 33647786e6 chore(regions_update): Changes in regions for AWS services. (#2945)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-10-19 11:35:19 +02:00
Sergio Garcia eb3cb97115 feat(vpc): add vpc, nacl or subnet names in findings (#2928) 2023-10-18 16:07:53 +02:00
Sergio Garcia 236f57ab0e chore(regions_update): Changes in regions for AWS services. (#2942)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-10-18 11:39:45 +02:00
Kay Agahd c88054107e docs(config): add missing configurable variables (#2941) 2023-10-18 09:10:46 +02:00
dependabot[bot] c03c7c35d8 build(deps): bump urllib3 from 1.26.17 to 1.26.18 (#2940) 2023-10-18 08:08:11 +02:00
Pepe Fagoaga b5455215a5 fix(sqs): Handle AWS.SimpleQueueService.NonExistentQueue in list_queue_tags (#2939) 2023-10-17 20:45:22 +02:00
Jit 85e12e9479 feat(aws): New CloudTrail, DLM, DocumentDB, EC2, Account and Support checks (#2675)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-10-17 19:00:37 +02:00
Sergio Garcia f3b7f841fb chore(regions_update): Changes in regions for AWS services. (#2937)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-10-17 15:55:38 +02:00
Sergio Garcia 92547bfdb6 fix(vpc): ignore com.amazonaws.vpce endpoints (#2929) 2023-10-17 11:14:12 +02:00
dependabot[bot] 3739801ed4 build(deps): bump shodan from 1.30.0 to 1.30.1 (#2935)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 11:03:52 +02:00
dependabot[bot] a6778a6e27 build(deps-dev): bump moto from 4.2.5 to 4.2.6 (#2934)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 10:40:37 +02:00
dependabot[bot] f1fc3c63ea build(deps): bump azure-identity from 1.14.0 to 1.14.1 (#2933)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 09:58:42 +02:00
dependabot[bot] b2a80775a8 build(deps): bump mkdocs-material from 9.4.4 to 9.4.6 (#2932)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 08:48:21 +02:00
dependabot[bot] 1f7f68f6af build(deps): bump azure-storage-blob from 12.18.2 to 12.18.3 (#2931)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 08:25:28 +02:00
Pepe Fagoaga 388678f822 chore(docs): Add report.region criteria (#2930) 2023-10-16 14:50:11 +02:00
Sergio Garcia 1230a3323d chore(regions_update): Changes in regions for AWS services. (#2927)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-10-16 09:42:30 +02:00
Sergio Garcia 02a3c750f8 chore(release): update Prowler Version to 3.10.0 (#2926)
Co-authored-by: github-actions <noreply@github.com>
2023-10-11 17:56:14 +02:00
Nacho Rivera cbdb9ce614 fix(Dockerfile): Update to python:3.11-alpine 2023-10-11 16:42:03 +02:00
dependabot[bot] be98ea52d7 build(deps-dev): bump gitpython from 3.1.35 to 3.1.37 (#2924)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-11 09:46:41 +02:00
Sergio Garcia b6cf63bb0c chore(regions_update): Changes in regions for AWS services. (#2923)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-10-10 18:55:45 +02:00
dependabot[bot] 04410033e7 build(deps-dev): bump pylint from 3.0.0 to 3.0.1 (#2920)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-10 18:55:28 +02:00
dependabot[bot] e6c6df1334 build(deps): bump slack-sdk from 3.22.0 to 3.23.0 (#2919)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-10 16:35:44 +02:00
dependabot[bot] 91b06a4297 build(deps): bump google-api-python-client from 2.101.0 to 2.102.0 (#2918)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-10 15:52:07 +02:00
dependabot[bot] 640ad7bd60 build(deps): bump mkdocs-material from 9.4.3 to 9.4.4 (#2917)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-10 15:19:02 +02:00
Sergio Garcia 08b2ea01ab chore(iam): add IAM privilege escalation cases (#2921) 2023-10-10 12:41:02 +02:00
Nacho Rivera 236dea9d26 fix(pull-request.yml): launch linters when source code modified (#2922) 2023-10-10 12:14:24 +02:00
dependabot[bot] f281f3791b build(deps): bump azure-storage-blob from 12.18.1 to 12.18.2 (#2916)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-10 08:02:45 +02:00
Pepe Fagoaga aff2b80d55 docs(pull-request): Include check list to create/review PR (#2913) 2023-10-09 16:33:58 +02:00
Sergio Garcia e69949c336 docs(misc): add option -z (#2914)
Co-authored-by: Nacho Rivera <nachor1992@gmail.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-10-09 16:33:49 +02:00
Nacho Rivera 5f7f36ecd4 fix(build-lint-push pipeline): pass pipeline when ignored files (#2915)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-10-09 15:45:16 +02:00
Sergio Garcia 9212478148 fix(cloudwatch): ignore new lines in filters (#2912) 2023-10-09 11:06:29 +02:00
Nacho Rivera dec0ee1001 fix(pipeline): launch linters with file changes (#2911) 2023-10-06 11:41:58 +02:00
Sergio Garcia e610c2514d feat(iam): improve disable credentials checks (#2909) 2023-10-06 11:41:04 +02:00
Sergio Garcia 3955450245 fix(securityhub): archive SecurityHub findings in empty regions (#2908) 2023-10-05 15:49:43 +02:00
Sergio Garcia 49a437dc0d chore(regions_update): Changes in regions for AWS services. (#2907)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-10-05 11:24:46 +02:00
Sergio Garcia bf37be5013 chore(regions_update): Changes in regions for AWS services. (#2905)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-10-05 11:24:21 +02:00
Sergio Garcia 9793de1e96 fix(elb): add resource ARN to checks (#2906) 2023-10-04 12:37:15 +02:00
DevOpSpace 4c15318f28 feat(wafv2): Add check wafv2_webacl_logging_enabled (#2898)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-10-04 11:10:47 +02:00
Sergio Garcia a4d3e78eb1 fix(acm): add certificate id (#2903) 2023-10-03 13:03:46 +02:00
Sergio Garcia 436166c255 chore(regions_update): Changes in regions for AWS services. (#2902)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-10-03 11:32:14 +02:00
Nacho Rivera bbce2c5e35 fix(custom checks): fix import from s3 (#2901) 2023-10-03 11:31:55 +02:00
Sergio Garcia 0745a57f52 fix(findingID): remove duplicate finding IDs (#2890) 2023-10-03 11:31:33 +02:00
dependabot[bot] 9974c84440 build(deps-dev): bump coverage from 7.3.1 to 7.3.2 (#2895)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-03 10:34:52 +02:00
Nacho Rivera 3c396e76f6 fix(remove_custom_checks_module): delete service folder if empty (#2885) 2023-10-03 10:33:06 +02:00
Nacho Rivera e701aca64b test(iam_credentials): Don't use search and negative indexes (#2899) 2023-10-03 09:54:53 +02:00
dependabot[bot] 26ad482b90 build(deps): bump mkdocs-material from 9.4.2 to 9.4.3 (#2894)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-03 09:54:16 +02:00
dependabot[bot] d8fd3ef506 build(deps-dev): bump pylint from 2.17.6 to 3.0.0 (#2893)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-03 09:29:09 +02:00
dependabot[bot] 43016d75e8 build(deps-dev): bump moto from 4.2.4 to 4.2.5 (#2892)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-03 08:51:07 +02:00
Pepe Fagoaga 39b6ce3352 fix(dockerfile): Use latest curl (#2897) 2023-10-03 08:48:32 +02:00
dependabot[bot] 1e3ec10a1a build(deps): bump urllib3 from 1.26.15 to 1.26.17 (#2896)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-03 08:12:45 +02:00
dependabot[bot] c4e13eef3f build(deps): bump pydantic from 1.10.12 to 1.10.13 (#2891)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-03 08:07:11 +02:00
Samuel Burgos 6558aedee3 feat(json-asff): adds AWS resource tags in json-asff and SecurityHub findings (#2786)
Co-authored-by: samuel.burgos <samuel.burgos@flywire.com>
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-10-02 18:20:35 +02:00
Sergio Garcia a2dfb60466 test(vpc_peering_routing_tables_with_least_privilege): add test (#2889) 2023-10-02 17:22:11 +02:00
Nacho Rivera c158dcf2ef fix(iam creds checks): add missing tests and fix current ones (#2888) 2023-10-02 16:27:44 +02:00
Sergio Garcia 40318b87bf fix(vpc_peering_routing_tables_with_least_privilege): check only peering routes (#2887) 2023-10-02 16:20:39 +02:00
Sergio Garcia 64f06b11b8 fix(version): add timeout and check HTTP errors (#2886) 2023-10-02 14:44:16 +02:00
Pepe Fagoaga 583194085c test(utils): Include missing tests (#2884) 2023-10-02 11:29:09 +02:00
Nacho Rivera 2d89f57644 fix(iam credentials checks): unify logic (#2883) 2023-10-02 11:28:26 +02:00
Nacho Rivera f4ed01444a fix(ec2_elastic_ip_unassigned): rename check (#2882) 2023-10-02 10:34:46 +02:00
Pepe Fagoaga a7980a202d fix(aws): Include missing ARNs (#2880) 2023-10-02 08:45:06 +02:00
JackStuart 3a6c93dd37 fix(azure): Typo in SQL check (#2881) 2023-10-02 08:21:00 +02:00
Pepe Fagoaga 6cd272da37 docs(developer-guide): fix typos (#2878) 2023-09-29 13:12:05 +02:00
Sergio Garcia a7056b66c7 chore(regions_update): Changes in regions for AWS services. (#2879)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-09-29 11:34:41 +02:00
Pepe Fagoaga 4d6d58ef91 fix(autoscaling_find_secrets_ec2_launch_configuration): Fix UnicodeDecodeError (#2870) 2023-09-28 17:13:17 +02:00
Sergio Garcia 93a88ec2c7 chore(regions_update): Changes in regions for AWS services. (#2875)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-09-28 11:43:51 +02:00
Pepe Fagoaga b679df4fbe docs(aws): Move regions and profiles to AWS (#2874) 2023-09-27 23:23:31 +02:00
Sergio Garcia ba2c7347f9 chore(regions_update): Changes in regions for AWS services. (#2873)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-09-27 11:35:14 +02:00
Pepe Fagoaga f8b4e6e8f0 fix(iam): Handle NoSuchEntity when calling list_role_policies (#2872) 2023-09-27 09:37:07 +02:00
Pepe Fagoaga 7ecb4d7b00 fix(s3_bucket_policy_public_write_access): Handle S3 Policy without Principal (#2871) 2023-09-27 09:35:26 +02:00
Pepe Fagoaga 1697e6ad62 fix(outputs_unix_timestamp): Remove subsecond (#2861) 2023-09-26 16:02:52 +02:00
Pepe Fagoaga 6687f76736 refactor(security_hub): Send findings in batches (#2868)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-09-26 14:10:25 +02:00
Sergio Garcia 35e5bbdaf1 chore(regions_update): Changes in regions for AWS services. (#2869)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-09-26 12:42:48 +02:00
dependabot[bot] 5c5e7d9509 build(deps): bump google-api-python-client from 2.99.0 to 2.101.0 (#2867)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-26 11:38:34 +02:00
dependabot[bot] b0c0a9d98c build(deps-dev): bump moto from 4.2.3 to 4.2.4 (#2866)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-26 10:28:34 +02:00
dependabot[bot] 7c246f7be4 build(deps-dev): bump pylint from 2.17.5 to 2.17.6 (#2865) 2023-09-26 10:02:58 +02:00
dependabot[bot] bfc2a41699 build(deps): bump mkdocs-material from 9.3.1 to 9.4.2 (#2864)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-26 09:22:31 +02:00
Sergio Garcia 081a7ead4c chore(regions_update): Changes in regions for AWS services. (#2863) 2023-09-23 19:14:46 +02:00
Sergio Garcia 70fbf1676a fix(iam_inline_policy_no_administrative_privileges): set resource id as the entity name (#2820) 2023-09-22 12:59:10 +02:00
Pepe Fagoaga 87ddb6b171 fix(apigw): KeyError name (#2858) 2023-09-22 11:23:37 +02:00
Pepe Fagoaga c0d45d730f fix(elbv2): Handle LoadBalancerNotFound (#2860) 2023-09-22 11:23:21 +02:00
Fennerr 6b97a04643 fix(eks_control_plane_endpoint_access_restricted): handle endpoint private access (#2824)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-09-22 11:22:56 +02:00
Pepe Fagoaga 2a5a07bae0 fix(ds): GetSnapshotLimits for MicrosoftAD (#2859) 2023-09-22 11:22:42 +02:00
Pepe Fagoaga 18e34c670e fix(iam): Handle NoSuchEntityException in ListRolePolicies (#2857) 2023-09-22 11:21:33 +02:00
Fennerr d6a35485d2 fix(sqs_queues_not_publicly_accessible): Improve status extended (#2848)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-09-22 11:20:59 +02:00
Fennerr 6204f6cdc8 fix(eks_endpoints_not_publicly_accessible): handle endpoint private access (#2825)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-09-22 11:19:56 +02:00
dependabot[bot] 50bc5309f5 build(deps): bump cryptography from 41.0.3 to 41.0.4 (#2856)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-22 09:47:08 +02:00
Sergio Garcia 725e2e92ab chore(regions_update): Changes in regions for AWS services. (#2853)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-09-20 11:42:21 +02:00
Sergio Garcia 0b07326e36 chore(regions_update): Changes in regions for AWS services. (#2852)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-09-20 00:03:41 +02:00
dependabot[bot] e86d194f11 build(deps-dev): bump moto from 4.2.2 to 4.2.3 (#2851)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-09-19 13:38:39 +02:00
dependabot[bot] 6949656d0e build(deps): bump azure-storage-blob from 12.18.0 to 12.18.1 (#2850)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-19 11:36:27 +02:00
dependabot[bot] a2c62bab47 build(deps): bump mkdocs from 1.5.2 to 1.5.3 (#2849)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-19 09:33:05 +02:00
Kay Agahd 3dd8aeac7c fix(iam): findings of some checks may have been lost (#2847) 2023-09-18 10:46:04 +02:00
Sergio Garcia 2c342a5c5f chore(regions_update): Changes in regions for AWS services. (#2846) 2023-09-17 09:37:05 +02:00
Sergio Garcia adef1afdfa chore(regions_update): Changes in regions for AWS services. (#2845)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-09-15 11:36:56 +02:00
Pepe Fagoaga a980b2606b fix(cloudtrail_s3_dataevents_read/write_enabled): Handle S3 ARN (#2844) 2023-09-15 11:36:40 +02:00
Sergio Garcia ed83927486 fix(vpc): solves CidrBlock KeyError (#2817) 2023-09-15 10:41:05 +02:00
Tayler Haviland e745885b09 fix(ebs): improve snapshot encryption logic and typos (#2836)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2023-09-15 10:37:34 +02:00
Sergio Garcia 16ddbfde9f chore(regions_update): Changes in regions for AWS services. (#2842)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-09-14 12:03:59 +02:00
dependabot[bot] bc11537350 build(deps): bump mkdocs-material from 9.2.1 to 9.3.1 (#2839) 2023-09-13 17:44:06 +02:00
Sergio Garcia ab4de79168 chore(regions_update): Changes in regions for AWS services. (#2833) 2023-09-13 17:15:52 +02:00
Sergio Garcia 8134897e91 chore(regions_update): Changes in regions for AWS services. (#2819) 2023-09-13 17:14:57 +02:00
Sergio Garcia 693d22ed25 chore(regions_update): Changes in regions for AWS services. (#2821) 2023-09-13 17:14:14 +02:00
dependabot[bot] b1dab2466f build(deps): bump azure-storage-blob from 12.17.0 to 12.18.0 (#2838)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-13 17:03:03 +02:00
dependabot[bot] d2b09f39e7 build(deps): bump google-api-python-client from 2.97.0 to 2.99.0 (#2837)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-13 16:24:40 +02:00
Cameron Stark 4475801a96 fix(storage_ensure_minimum_tls_version_12): misspelling in metadata (#2835) 2023-09-13 13:02:07 +02:00
dependabot[bot] 126ff8cf0d build(deps): bump slack-sdk from 3.21.3 to 3.22.0 (#2832)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-13 13:01:55 +02:00
dependabot[bot] a536a785de build(deps-dev): bump gitpython from 3.1.34 to 3.1.35 (#2831)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-13 12:51:15 +02:00
dependabot[bot] ed89ef74eb build(deps-dev): bump coverage from 7.3.0 to 7.3.1 (#2828)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-13 12:42:13 +02:00
Kay Agahd f1bea27e44 feat(iam): add new check iam_role_administratoraccess_policy (#2822) 2023-09-12 09:19:20 +02:00
dependabot[bot] 7305e53439 build(deps-dev): bump pytest from 7.4.1 to 7.4.2 (#2827)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-12 09:11:58 +02:00
dependabot[bot] b08c0e8150 build(deps): bump google-auth-httplib2 from 0.1.0 to 0.1.1 (#2826)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-12 09:11:34 +02:00
Nacho Rivera 8606a4579a fix(pre-commit): add file filter to python linters (#2818) 2023-09-08 08:29:55 +02:00
Nacho Rivera 1dfb72a1d1 feat(unix timestamp): add the --unix-timestamp flag to docs (#2816) 2023-09-07 10:33:58 +02:00
Sergio Garcia f09b55b893 chore(regions_update): Changes in regions for AWS services. (#2814)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-09-07 09:15:19 +02:00
Nacho Rivera 30ba6029f5 feat(unix timestamp): add unix timestamp to outputs (#2813) 2023-09-07 09:14:02 +02:00
dependabot[bot] 9f0c830511 build(deps-dev): bump gitpython from 3.1.32 to 3.1.34 (#2815)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-07 08:44:03 +02:00
Nacho Rivera 973e3138fe feat(Dockerfile): add curl package to docker image (#2812) 2023-09-05 15:21:46 +02:00
Nacho Rivera c996a562e6 fix(3.9.0): update pyproject.toml to latest release (#2811) 2023-09-05 15:21:33 +02:00
dependabot[bot] f2bba4d1ee build(deps-dev): bump moto from 4.2.0 to 4.2.2 (#2809)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-05 13:38:17 +02:00
dependabot[bot] 8017a95413 build(deps-dev): bump pytest from 7.4.0 to 7.4.1 (#2808)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-05 13:02:17 +02:00
Nacho Rivera 26d209daff fix(testing docs): fix testing docs typos and syntax (#2803) 2023-09-05 13:01:35 +02:00
Nacho Rivera 44b979b4a4 fix(ec2_instance_..._ssm): mock ssm service and client in all the tests (#2804) 2023-09-05 12:34:02 +02:00
Kay Agahd 03ad61abc6 iam_policy_no_administrative_privileges does not exist and maps not to check122 (#2797) 2023-09-04 10:23:48 +02:00
Sergio Garcia fe425f89a4 chore(regions_update): Changes in regions for AWS services. (#2802)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-09-04 10:23:06 +02:00
Nacho Rivera 11ad66fb79 feat(ec2_instance_managed_by_ssm): missing tests (#2800) 2023-09-04 10:22:43 +02:00
Sergio Garcia ca5734a2c6 chore(regions_update): Changes in regions for AWS services. (#2801)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-09-01 12:55:50 +02:00
Nacho Rivera e5414e87c7 fix(ec2 nacl checks):unify logic (#2799) 2023-09-01 12:55:29 +02:00
Sergio Garcia 8142f8f62f chore(regions_update): Changes in regions for AWS services. (#2794)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-09-01 12:24:56 +02:00
Nacho Rivera 74cf4076fa fix(apikeys_..._90_days): fix key creation time with dinamic date (#2798) 2023-09-01 12:18:55 +02:00
Nacho Rivera dbd29c0ce1 fix(ec2 tests): add region and delete search sg checks (#2788) 2023-08-31 11:55:30 +02:00
Nacho Rivera 38a7dc1a93 fix(ec2 ebs/instance checks): unify checks logic (#2795) 2023-08-31 11:55:10 +02:00
Nacho Rivera 2891bc0b96 fix(policy_condition_parser): add StringEquals aws:SourceArn condition (#2793) 2023-08-31 11:54:48 +02:00
dependabot[bot] 8846ae6664 build(deps-dev): bump moto from 4.1.15 to 4.2.0 (#2783)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-31 10:29:00 +02:00
Nacho Rivera 2e3c3a55aa fix(html): unroll regions set prior concat (#2790) 2023-08-30 16:38:56 +02:00
Nacho Rivera 7e44116d51 fix(is_valid_arn): include . into resource name (#2789) 2023-08-30 16:11:46 +02:00
Nacho Rivera 46f85e6395 fix(ec2 tests): add tags and region non sg checks (#2781) 2023-08-30 16:10:27 +02:00
Sergio Garcia 94a384fd81 chore(regions_update): Changes in regions for AWS services. (#2791)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-08-30 12:48:25 +02:00
Sergio Garcia af6acefb53 chore(regions_update): Changes in regions for AWS services. (#2787)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-08-29 11:21:39 +02:00
Sergio Garcia 94fd7d252f chore(regions_update): Changes in regions for AWS services. (#2779)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-08-29 11:21:13 +02:00
dependabot[bot] 4767e38f5b build(deps-dev): bump vulture from 2.8 to 2.9.1 (#2785)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-29 09:58:55 +02:00
Nacho Rivera 276f6f9fb1 fix(ec2_securitygroup_default_restrict_traffic): fix check only allow empty rules (#2777) 2023-08-25 12:42:26 +02:00
Sergio Garcia 2386c71c4f chore(regions_update): Changes in regions for AWS services. (#2776)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-08-25 11:24:43 +02:00
Pepe Fagoaga 21c52db66b test(vpc_endpoint_services_allowed_principals_trust_boundaries) (#2768) 2023-08-25 10:56:47 +02:00
Pepe Fagoaga 13cfa02f80 fix(test): Update moto to 4.1.15 and update tests (#2769) 2023-08-25 10:56:39 +02:00
Pepe Fagoaga eedfbe3e7a fix(iam_policy_allows_privilege_escalation): Not use search for checking API actions (#2772) 2023-08-25 10:56:28 +02:00
Pepe Fagoaga fe03eb4436 docs: explain output formats (#2774) 2023-08-25 10:56:15 +02:00
Pepe Fagoaga d8e45d5c3f docs: Include new config ecr_repository_vulnerability_minimum_severity (#2775) 2023-08-25 10:56:04 +02:00
Sergio Garcia 12e9fb5eeb chore(regions_update): Changes in regions for AWS services. (#2773)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-08-24 12:07:05 +02:00
gerardocampo 957ffaabae feat(compliance): Update AWS compliance frameworks after PR 2750 (#2771)
Co-authored-by: Gerard Ocampo <gerard.ocampo@zelis.com>
2023-08-24 08:01:00 +02:00
Pepe Fagoaga cb76e5a23c chore(s3): Move lib to the AWS provider and include tests (#2664) 2023-08-23 16:12:48 +02:00
Sergio Garcia b17cc563ff chore(regions_update): Changes in regions for AWS services. (#2767)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-08-23 11:29:12 +02:00
Pepe Fagoaga 06a0b12efb fix(iam_policy_allows_privilege_escalation): Handle admin permission so * (#2763) 2023-08-23 10:40:06 +02:00
Pepe Fagoaga d5bd5ebb7d chore(parser): Move provider logic to their folder (#2746) 2023-08-23 10:33:36 +02:00
Nacho Rivera 0a9a1c26db fix(get_regions_from_audit_resources): fix logic and add tests (#2766) 2023-08-23 10:20:12 +02:00
Nacho Rivera 83bfd8a2d4 fix(get_checks_from_input_arn): fix logic and add tests (#2764) 2023-08-23 09:35:42 +02:00
gerardocampo e5d2c0c700 feat(iam): Check inline policies in IAM Users, Groups & Roles for admin priv's (#2750)
Co-authored-by: Gerard Ocampo <gerard.ocampo@zelis.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-08-23 08:29:13 +02:00
Pepe Fagoaga 590a5669d6 fix(nacls): Tests (#2760) 2023-08-22 22:26:19 +02:00
Sergio Garcia e042740f67 chore(regions_update): Changes in regions for AWS services. (#2759)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-08-22 11:43:58 +02:00
dependabot[bot] dab2ecaa6b build(deps): bump shodan from 1.29.1 to 1.30.0 (#2754)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-22 09:16:08 +02:00
dependabot[bot] f9f4133b48 build(deps): bump azure-mgmt-storage from 21.0.0 to 21.1.0 (#2756)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-22 08:49:06 +02:00
dependabot[bot] 33dd21897d build(deps-dev): bump pytest-randomly from 3.13.0 to 3.15.0 (#2755)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-22 08:30:07 +02:00
Geoff Singer cb2ef23a29 feat(s3): Add S3 KMS encryption check (#2757)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-08-22 08:28:17 +02:00
dependabot[bot] e70e01196f build(deps): bump google-api-python-client from 2.96.0 to 2.97.0 (#2753)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-22 08:08:13 +02:00
dependabot[bot] f70b9e6eb4 build(deps): bump mkdocs-material from 9.1.21 to 9.2.1 (#2752)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-22 07:39:45 +02:00
Chris Farris d186c69473 feat(checks): dump all checks as a json file (#2683)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-08-21 17:35:31 +02:00
Nacho Rivera 4d817c48a8 fix(get_checks_from_input_arn): fix function and add tests (#2749) 2023-08-21 13:23:43 +02:00
Pepe Fagoaga c13cab792b docs(testing): Mocking the service and the service client at the service client level (#2747) 2023-08-21 09:05:57 +02:00
Pepe Fagoaga 80aa463aa2 fix(checks_to_execute): --checks and --resource_arn working together (#2743) 2023-08-21 09:04:15 +02:00
Sergio Garcia bd28b17ad9 chore(regions_update): Changes in regions for AWS services. (#2748)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-08-21 08:15:25 +02:00
Sergio Garcia 223119e303 chore(regions_update): Changes in regions for AWS services. (#2744)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-08-18 12:38:17 +02:00
Pepe Fagoaga 7c45cb45ae feat(ecr_repositories_scan_vulnerabilities_in_latest_image): Minimum severity is configurable (#2736) 2023-08-18 09:17:02 +02:00
Pepe Fagoaga ac11c6729b chore(tests): Replace sure with standard assert (#2738) 2023-08-17 11:36:45 +02:00
Pepe Fagoaga 1677654dea docs(audit_config): How to use it (#2739) 2023-08-17 11:36:32 +02:00
Pepe Fagoaga bc5a7a961b tests(check_security_group) (#2740) 2023-08-17 11:36:17 +02:00
Sergio Garcia c10462223d chore(regions_update): Changes in regions for AWS services. (#2741)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-08-17 11:31:31 +02:00
vysakh-devopspace 54a9f412e8 feat(ec2): New check ec2_instance_detailed_monitoring_enabled (#2735)
Co-authored-by: Vysakh <venugopal.vysakh@gmail.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-08-16 14:31:06 +02:00
Sergio Garcia 5a107c58bb chore(regions_update): Changes in regions for AWS services. (#2737)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-08-16 11:42:47 +02:00
Pepe Fagoaga 8f091e7548 fix(gcp): Status extended ends with a dot (#2734) 2023-08-16 10:14:41 +02:00
Pepe Fagoaga 8cdc7b18c7 fix(test-vpc): use the right import paths (#2732) 2023-08-16 09:17:18 +02:00
christiandavilakoobin 9f2e87e9fb fix(is_account_only_allowed_in_condition): Context name on conditions are case-insensitive (#2726) 2023-08-16 08:27:24 +02:00
Sergio Garcia e119458048 chore(regions_update): Changes in regions for AWS services. (#2733)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-08-15 16:25:17 +02:00
dependabot[bot] c2983faf1d build(deps): bump azure-identity from 1.13.0 to 1.14.0 (#2731)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-15 10:34:56 +02:00
dependabot[bot] a09855207e build(deps-dev): bump coverage from 7.2.7 to 7.3.0 (#2730)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-15 09:50:18 +02:00
Pepe Fagoaga 1e1859ba6f docs(style): Add more details (#2724) 2023-08-15 09:26:48 +02:00
dependabot[bot] a3937e48a8 build(deps): bump google-api-python-client from 2.95.0 to 2.96.0 (#2729)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-15 09:22:59 +02:00
dependabot[bot] d2aa53a2ec build(deps): bump mkdocs-material from 9.1.20 to 9.1.21 (#2728)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-15 08:57:24 +02:00
dependabot[bot] b0bdeea60f build(deps-dev): bump vulture from 2.7 to 2.8 (#2727) 2023-08-15 08:33:27 +02:00
Pepe Fagoaga 465e64b9ac fix(azure): Status extended ends with a dot (#2725) 2023-08-14 21:48:16 +02:00
Pepe Fagoaga fc53b28997 test(s3): Mock S3Control when used (#2722) 2023-08-14 21:48:05 +02:00
Pepe Fagoaga 72e701a4b5 fix(security): GitPython issue (#2720) 2023-08-14 21:09:12 +02:00
Pepe Fagoaga 2298d5356d test(coverage): Add Codecov (#2719) 2023-08-14 21:08:45 +02:00
Pepe Fagoaga 54137be92b test(python): 3.9, 3.10, 3.11 (#2718) 2023-08-14 21:08:29 +02:00
Sergio Garcia 7ffb12268d chore(release): update Prowler Version to 3.8.2 (#2721)
Co-authored-by: github-actions <noreply@github.com>
2023-08-14 09:18:23 +02:00
Sergio Garcia 790fff460a chore(regions_update): Changes in regions for AWS services. (#2717)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-08-14 08:13:10 +02:00
Chris Farris 9055dbafe3 fix(s3_bucket_policy_public_write_access): look at account and bucket-level public access block settings (#2715) 2023-08-12 01:46:24 +02:00
Pepe Fagoaga 4454d9115e chore(aws): 2nd round - Improve tests and include dot in status extended (#2714) 2023-08-12 01:41:35 +02:00
Sergio Garcia 0d74dec446 chore(regions_update): Changes in regions for AWS services. (#2712)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-08-11 11:18:18 +02:00
Pepe Fagoaga 0313dba7b4 chore(aws): Improve tests and status from accessanalyzer to cloudwatch (#2711) 2023-08-11 11:04:04 +02:00
Pepe Fagoaga 3fafac75ef docs(dev-guide): Fix a list and include some details to use the report (#2710) 2023-08-11 11:01:58 +02:00
Sergio Garcia 6b24b46f3d fix(security-hub): handle default output filename error (#2709) 2023-08-11 09:12:25 +02:00
Pepe Fagoaga 474e39a4c9 docs(developer-guide): Update checks, services and include testing (#2705)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-08-10 17:28:35 +02:00
Sergio Garcia e652298b6a chore(release): update Prowler Version to 3.8.1 (#2706)
Co-authored-by: github-actions <noreply@github.com>
2023-08-10 14:08:48 +02:00
Pepe Fagoaga 9340ae43f3 fix(ds): Restore enums without optional (#2704) 2023-08-10 13:43:31 +02:00
Sergio Garcia 552024c53e fix(Enum): handle Enum classes correctly (#2702) 2023-08-10 13:21:24 +02:00
Pepe Fagoaga 3aba71ad2f docs(aws-orgs): Update syntax (#2703) 2023-08-10 12:40:17 +02:00
christiandavilakoobin ade511df28 fix(sns): allow default SNS policy with SourceOwner (#2698)
Co-authored-by: Azure Pipeplines CI <monitor@koobin.com>
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-08-10 12:13:57 +02:00
Sergio Garcia fc650214d4 fix(security hub): include custom output filename in resolve_security_hub_previous_findings (#2687) 2023-08-10 12:11:10 +02:00
Sergio Garcia 8266fd0c6f chore(print): prettify prints of listings and logs (#2699) 2023-08-10 12:08:07 +02:00
Pepe Fagoaga f4308032c3 fix(cloudfront): fix ViewerProtocolPolicy and GeoRestrictionType (#2701) 2023-08-10 12:02:49 +02:00
Sergio Garcia 1e1f445ade chore(regions_update): Changes in regions for AWS services. (#2700)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-08-10 11:29:05 +02:00
Pepe Fagoaga d41b0332ac feat(athena): New AWS Athena service + 2 workgroup checks (#2696) 2023-08-10 10:23:17 +02:00
Pepe Fagoaga 7258466572 fix(iam): password policy expiration (#2694) 2023-08-10 10:10:20 +02:00
Pepe Fagoaga 76db92ea14 chore(service): service class type hints (#2695) 2023-08-10 10:01:54 +02:00
Sergio Garcia ad3cd66e08 docs(organizations): fix script and improve titles (#2693) 2023-08-10 09:56:47 +02:00
Sergio Garcia 22f8855ad7 chore(regions_update): Changes in regions for AWS services. (#2692)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-08-09 11:23:28 +02:00
Sergio Garcia 36e095c830 fix(iam_role_cross_service_confused_deputy_prevention): add ResourceAccount and PrincipalAccount conditions (#2689) 2023-08-09 10:41:48 +02:00
Sergio Garcia 887cac1264 fix(typo): spelling typo in organizations_scp_check_deny_regions (#2691) 2023-08-09 10:24:29 +02:00
Pepe Fagoaga 13059e0568 fix(ec2-securitygroups): Handle IPv6 public (#2690) 2023-08-09 10:08:30 +02:00
Pepe Fagoaga 9e8023d716 fix(config): Pass a configuration file using --config-file config.yaml (#2679) 2023-08-09 09:52:45 +02:00
Sergio Garcia c54ba5fd8c chore(regions_update): Changes in regions for AWS services. (#2688)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-08-09 09:34:52 +02:00
dependabot[bot] db80e063d4 build(deps-dev): bump pylint from 2.17.4 to 2.17.5 (#2685)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-08 10:48:42 +02:00
dependabot[bot] b6aa12706a build(deps): bump mkdocs from 1.4.3 to 1.5.2 (#2684)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-08 10:22:20 +02:00
Chris Farris c1caf6717d fix(organizations): request Organization Info after assume_role occurs (#2682)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-08-07 15:17:05 +02:00
Pepe Fagoaga 513fd9f532 fix(iam-dynamodb): Handle errors (#2680) 2023-08-07 10:04:19 +02:00
Pepe Fagoaga bf77f817cb chore(azure): Improve AzureService class with __set_clients__ (#2676) 2023-08-04 13:04:05 +02:00
Sergio Garcia e0bfef2ece chore(regions_update): Changes in regions for AWS services. (#2677)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-08-04 12:10:19 +02:00
Sergio Garcia 4a87f908a8 chore(release): update Prowler Version to 3.8.0 (#2674)
Co-authored-by: github-actions <noreply@github.com>
2023-08-03 18:34:23 +02:00
Sergio Garcia 16d95e5155 chore(readme): update providers summary table (#2673) 2023-08-03 16:45:09 +02:00
Pepe Fagoaga 1797b54259 test(azure): Storage Service (#2672) 2023-08-03 15:07:17 +02:00
Pepe Fagoaga f289c8fb2e test(azure): SQL Server Service (#2671) 2023-08-03 14:43:18 +02:00
Pepe Fagoaga e4ad881a69 test(azure): IAM service (#2670) 2023-08-03 14:15:34 +02:00
Pepe Fagoaga 138bca38e7 test(azure): Defender service (#2669) 2023-08-03 13:52:55 +02:00
edurra 44f7af3580 feat(azure): add Azure SQL Server service and 3 checks (#2665)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-08-03 11:29:17 +02:00
Sergio Garcia 2d832bca15 feat(gcp): Improve gcp performance (#2662) 2023-08-03 10:52:52 +02:00
Pepe Fagoaga efa75a62e3 fix(iam_policy_allows_privilege_escalation): Handle permissions in groups (#2655) 2023-08-03 10:40:51 +02:00
Pepe Fagoaga 5763bca317 refactor(vpc_endpoint_connections_trust_boundaries) (#2667) 2023-08-03 09:56:09 +02:00
Pepe Fagoaga c335334402 fix(test_only_aws_service_linked_roles): Flaky test (#2666) 2023-08-03 09:18:06 +02:00
Pepe Fagoaga 5bf3f70717 fix(vpc_endpoint_connections_trust_boundaries): Handle AWS Account ID as Principal (#2611) 2023-08-03 09:16:58 +02:00
Pepe Fagoaga 92c8a440ea feat(gcp): Add internet-exposed and encryption categories (#2663) 2023-08-02 15:53:12 +02:00
Pepe Fagoaga b92d8a014c fix(cryptography): Update to 41.0.3 (#2661) 2023-08-02 11:47:51 +02:00
Sergio Garcia aced44f051 fix(sns): handle topic policy conditions (#2660) 2023-08-02 11:45:27 +02:00
Sergio Garcia 49c9d2b077 chore(regions_update): Changes in regions for AWS services. (#2658) 2023-08-02 11:32:11 +02:00
Pepe Fagoaga 61beacf085 fix(docs): Azure auth and Slack integration (#2659) 2023-08-02 11:18:45 +02:00
Pepe Fagoaga 02f432238e fix(outputs): Not use reserved keyword list as variable (#2657) 2023-08-02 09:00:04 +02:00
Sergio Garcia 864d178e01 chore(regions_update): Changes in regions for AWS services. (#2654)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-08-01 11:52:02 +02:00
Sergio Garcia 78f0b823a9 fix(s3_bucket_level_public_access_block): check s3 public access block at account level (#2653) 2023-08-01 11:24:58 +02:00
dependabot[bot] 26cdc7a0ee build(deps-dev): bump flake8 from 6.0.0 to 6.1.0 (#2651)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-08-01 10:59:58 +02:00
dependabot[bot] 5e773f1eee build(deps): bump azure-mgmt-authorization from 3.0.0 to 4.0.0 (#2652)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-01 10:18:56 +02:00
dependabot[bot] 4a7ac7df22 build(deps-dev): bump moto from 4.1.13 to 4.1.14 (#2650)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-01 10:03:03 +02:00
dependabot[bot] 5250670d5d build(deps): bump google-api-python-client from 2.94.0 to 2.95.0 (#2649)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-01 09:49:51 +02:00
Gabriel Pragin de4a825db8 fix(metadata): Typos (#2646) 2023-08-01 09:07:23 +02:00
dependabot[bot] c256419144 build(deps): bump mkdocs-material from 9.1.19 to 9.1.20 (#2648) 2023-08-01 08:58:32 +02:00
Pepe Fagoaga 7bdca0420e fix(cloudtrail): Set status to INFO when trail is outside the audited account (#2643) 2023-07-31 17:50:21 +02:00
Pepe Fagoaga 3aa1fbced9 feat(azure_service): New parent class (#2642) 2023-07-31 16:03:49 +02:00
Pepe Fagoaga dbbb70027a feat(gcp_service): Parent class (#2641) 2023-07-31 15:01:25 +02:00
Pepe Fagoaga b4e78d28f8 fix(test): mock VPC client (#2640) 2023-07-31 11:19:15 +02:00
Pepe Fagoaga e3d4e38a59 feat(aws): New AWSService class as parent (#2638) 2023-07-31 11:18:54 +02:00
Pepe Fagoaga 386f558eae fix(ec2_instance_secrets_user_data): Include line numbers in status (#2639) 2023-07-31 10:33:34 +02:00
Sergio Garcia e08424d3a3 chore(regions_update): Changes in regions for AWS services. (#2637)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-07-31 09:54:44 +02:00
Chris Farris 03ad403e7a feat(s3): Add checks for publicly listable Buckets or writable buckets by ACL (#2628)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-07-31 08:35:18 +02:00
Sergio Garcia 4a674aae99 chore(regions_update): Changes in regions for AWS services. (#2634)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-07-28 11:34:30 +02:00
Pepe Fagoaga 8ee3744027 chore(security-hub): Explain Unique ID (#2631) 2023-07-27 13:39:12 +02:00
Gabriel Pragin 965327e801 chore(typos): Update check's status (#2629)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-07-27 11:44:09 +02:00
Sergio Garcia f82ea43324 chore(regions_update): Changes in regions for AWS services. (#2630)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-07-27 11:31:45 +02:00
Pepe Fagoaga a5c63845b4 test: security groups (#2627) 2023-07-26 16:29:27 +02:00
Sergio Garcia 034faa72cf chore(release): update Prowler Version to 3.7.2 (#2625)
Co-authored-by: github-actions <noreply@github.com>
2023-07-26 13:37:31 +02:00
Sergio Garcia 9bcd617964 chore(ec2): add SG name to resource_details (#2495) 2023-07-26 13:12:36 +02:00
Sergio Garcia 0db975dc7b fix(pypi-release): solve GH action for release (#2624) 2023-07-26 13:03:34 +02:00
Pepe Fagoaga a51fa7703b fix(security): certifi issue (#2623) 2023-07-26 12:45:07 +02:00
Sergio Garcia 69fad0009d fix(ec2_ami_public): correct check metadata and logic (#2618) 2023-07-26 10:34:04 +02:00
Sergio Garcia e721251936 fix(compute): solve key errors in compute service (#2610) 2023-07-26 08:49:09 +02:00
Pepe Fagoaga 2fe767e3e5 fix(ecs_task_def_secrets): Improve description to explain findings (#2621) 2023-07-25 18:26:22 +02:00
Sergio Garcia 6328ef4444 fix(guardduty): handle disabled detectors in guardduty_is_enabled (#2616) 2023-07-25 12:26:37 +02:00
dependabot[bot] 50b8e084e7 build(deps): bump google-api-python-client from 2.93.0 to 2.94.0 (#2614)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-25 09:37:10 +02:00
dependabot[bot] 3d88544feb build(deps): bump mkdocs-material from 9.1.18 to 9.1.19 (#2615)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-25 09:10:01 +02:00
dependabot[bot] 62e602c32e build(deps): bump pydantic from 1.10.11 to 1.10.12 (#2613)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-25 08:55:43 +02:00
Pepe Fagoaga 47a82560ea fix(s3): __get_object_lock_configuration__ warning logs (#2608) 2023-07-24 10:49:50 +02:00
Pepe Fagoaga f7bbcc98b3 docs(boto3-configuration): format list (#2609) 2023-07-24 10:47:55 +02:00
Sergio Garcia 98a587aa15 chore(regions_update): Changes in regions for AWS services. (#2606)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-07-23 18:30:30 +02:00
Sergio Garcia d2e34c42fd chore(regions_update): Changes in regions for AWS services. (#2599) 2023-07-18 17:38:43 +02:00
dependabot[bot] 605b07901e build(deps): bump google-api-python-client from 2.92.0 to 2.93.0 (#2597)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-18 10:52:26 +02:00
dependabot[bot] 18f02fac68 build(deps-dev): bump moto from 4.1.12 to 4.1.13 (#2598)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-07-18 10:37:34 +02:00
Pepe Fagoaga 28ea37f367 test(aws_provider): Role and User MFA (#2486) 2023-07-18 09:36:37 +02:00
Gabriel Pragin 65a737bb58 chore(metadata): Typos (#2595)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-07-18 09:27:58 +02:00
dependabot[bot] 7423cd2f93 build(deps): bump azure-storage-blob from 12.16.0 to 12.17.0 (#2596)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-18 09:25:51 +02:00
Gabriel Pragin babd026351 chore(metadata): Typos (#2594) 2023-07-17 22:28:24 +02:00
Sergio Garcia dd6e5a9029 fix(security): solve dependabot security alert (#2592) 2023-07-17 12:03:35 +02:00
Pepe Fagoaga 02519a4429 fix(assume_role): Set the AWS STS endpoint region (#2587) 2023-07-17 10:09:48 +02:00
Pepe Fagoaga 6575121b7a fix(ssm_incidents): Handle empty name (#2591) 2023-07-17 09:20:44 +02:00
Pepe Fagoaga 5b66368f0d fix(opensearch): log exception as WARNING (#2581) 2023-07-17 09:18:42 +02:00
Sergio Garcia 971c6720e4 chore(regions_update): Changes in regions for AWS services. (#2590) 2023-07-16 21:56:21 +02:00
Sergio Garcia 3afccc279f chore(regions_update): Changes in regions for AWS services. (#2588)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-07-14 11:34:21 +02:00
Nacho Rivera 8f015d0672 fix(allowlist): single account checks handling (#2585)
Co-authored-by: thomscode <thomscode@gmail.com>
2023-07-14 09:55:27 +02:00
Pepe Fagoaga f33b96861c release: v3.7.1 (#2578) 2023-07-13 16:48:18 +02:00
Sergio Garcia 9832ce2ff9 chore(regions_update): Changes in regions for AWS services. (#2580)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-07-13 12:34:16 +02:00
Kay Agahd 490cbbaa48 docs: typos in README.md (#2579) 2023-07-13 07:34:27 +02:00
Nacho Rivera d1c91093e2 feat(cond parser): add policy cond parser & apply in sqs public check (#2575) 2023-07-12 15:39:01 +02:00
Nacho Rivera 66fe101ccd fix(allowlist): handle wildcard in account field (#2577) 2023-07-12 14:22:42 +02:00
Pepe Fagoaga 7ab8c6b154 fix(iam): Handle NoSuchEntityException when calling list_attached_role_policies (#2571) 2023-07-12 12:48:57 +02:00
Sergio Garcia 73017b14c3 chore(regions_update): Changes in regions for AWS services. (#2574)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-07-12 11:17:00 +02:00
Sergio Garcia f55495cd6a chore(regions_update): Changes in regions for AWS services. (#2572)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-07-11 11:45:43 +02:00
dependabot[bot] e97146b5a3 build(deps): bump google-api-python-client from 2.91.0 to 2.92.0 (#2570)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-11 11:45:21 +02:00
dependabot[bot] 58f056c76d build(deps-dev): bump openapi-spec-validator from 0.5.7 to 0.6.0 (#2569)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-11 11:16:23 +02:00
dependabot[bot] 338bbc7a1f build(deps): bump pydantic from 1.10.9 to 1.10.11 (#2568)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-11 09:59:01 +02:00
dependabot[bot] 4ba54738a9 build(deps): bump boto3 from 1.26.161 to 1.26.165 (#2566)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-07-11 09:37:29 +02:00
Toni de la Fuente 235fd2adc4 docs: Update Compliance in README (#2563) 2023-07-11 09:12:11 +02:00
Toni de la Fuente b15d518c94 feat(compliance): CIS Benchmark 2.0 for AWS (#2562) 2023-07-11 09:12:03 +02:00
dependabot[bot] 021e1c122c build(deps-dev): bump pytest-randomly from 3.12.0 to 3.13.0 (#2567)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-11 09:07:05 +02:00
Sergio Garcia 014b0dd6f6 chore(regions_update): Changes in regions for AWS services. (#2561)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-07-10 08:28:09 +02:00
Sergio Garcia f9f68f9b86 chore(regions_update): Changes in regions for AWS services. (#2560)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-07-07 11:34:53 +02:00
Pepe Fagoaga 11a8ba131a test(outputs): Remove debug (#2559) 2023-07-07 10:14:47 +02:00
Sergio Garcia 858de64f8e chore(release): version 3.7.0 (#2558) 2023-07-06 21:17:21 +02:00
Sergio Garcia 676e60afb7 feat(gcp): add CIS checks (#2544) 2023-07-06 17:01:56 +02:00
Nacho Rivera b1968f3f8b fix(allowlist): reformat allowlist logic (#2555)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-07-06 15:33:32 +02:00
Sergio Garcia d2d077afaa chore(regions_update): Changes in regions for AWS services. (#2557)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-07-06 11:29:50 +02:00
Nacho Rivera 7097ca401d feat(lambda allowlist): mapping lambda/awslambda in allowlist (#2554) 2023-07-05 11:49:42 +02:00
Antoine Cichowicz 73e9a1eb9e docs: Update Amazon Linux 2 installation (#2553) 2023-07-05 07:54:18 +02:00
Nacho Rivera 0439d455fb fix(reporting docs): fix S3 reporting desc (#2551) 2023-07-04 12:43:39 +02:00
Sergio Garcia d57f665a78 docs(allowlist): update DynamoDB allowlist example (#2552)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-07-04 11:55:33 +02:00
dependabot[bot] 859c731a13 build(deps): bump google-api-python-client from 2.90.0 to 2.91.0 (#2548)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-04 11:08:13 +02:00
Sergio Garcia 2e7613ddec docs(OCSF): add docs for OCSF output (#2550) 2023-07-04 10:37:42 +02:00
dependabot[bot] 57e9436783 build(deps): bump botocore from 1.29.161 to 1.29.165 (#2547)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-04 10:23:03 +02:00
dependabot[bot] 2f153fda2e build(deps): bump mkdocs-material from 9.1.17 to 9.1.18 (#2546)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-04 09:02:25 +02:00
dependabot[bot] cbcb5905a3 build(deps): bump boto3 from 1.26.156 to 1.26.161 (#2545)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-04 08:46:49 +02:00
Sergio Garcia 6a2fb37615 fix(bigquery_dataset_public_access): handle status correctly (#2542) 2023-07-03 13:01:51 +02:00
Nacho Rivera 6403feaff9 fix(cloudwatch secrets): fix nonetype error handling (#2543) 2023-07-03 12:52:46 +02:00
Sergio Garcia 47736910ca fix(list-checks): handle listing checks when -s (#2540) 2023-07-03 11:48:40 +02:00
Sergio Garcia ead592a0bf chore(regions_update): Changes in regions for AWS services. (#2539)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-07-03 11:22:43 +02:00
Nacho Rivera d5bdba9244 feat(lambda service): mapping lambda service to awslambda (#2538) 2023-07-03 11:19:02 +02:00
Sergio Garcia 4f033cec8d feat(MITRE): add MITRE ATT&CK framework for AWS (#2537) 2023-06-30 12:24:05 +02:00
sssalim-aws a58f4b2498 feat(compliance): AWS Well-Architected Framework Reliability Pillar v0.1 (#2536)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-06-29 11:13:38 +02:00
Sergio Garcia 01522ed8c7 feat(ENS): complete ENS Compliance Framework mapping (#2534) 2023-06-27 15:22:25 +02:00
Sergio Garcia fa99ee9d5b feat(allowlist): add exceptions to allowlist (#2527) 2023-06-27 12:57:18 +02:00
Sergio Garcia 6efe634850 fix(iam): add StringLike condition in iam_role_cross_service_confused_deputy_prevention (#2533) 2023-06-27 10:06:46 +02:00
dependabot[bot] 60a1497eaf build(deps-dev): bump moto from 4.1.11 to 4.1.12 (#2530)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-27 09:07:44 +02:00
dependabot[bot] 1d0cbc08df build(deps): bump google-api-python-client from 2.89.0 to 2.90.0 (#2531)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-27 08:36:41 +02:00
dependabot[bot] 4d4280033b build(deps-dev): bump pytest from 7.3.2 to 7.4.0 (#2532)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-27 07:55:26 +02:00
dependabot[bot] fd58775cae build(deps): bump mkdocs-material from 9.1.16 to 9.1.17 (#2529)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-27 07:39:58 +02:00
dependabot[bot] ccb0e93da2 build(deps): bump botocore from 1.29.156 to 1.29.161 (#2528)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-27 07:19:22 +02:00
Sergio Garcia c2a05da908 chore(ec2): reduce noise in Security Groups checks (#2525) 2023-06-23 15:06:09 +02:00
Sergio Garcia e1da9e60fc chore(region): add get_default_region function in AWS Services (#2524) 2023-06-23 14:10:49 +02:00
Sergio Garcia d044e535e0 fix(compliance): add version to ISO27001 (#2523) 2023-06-21 17:04:08 +02:00
Sergio Garcia 293560dcd4 fix(contrib): migrate multi-account-securityhub/run-prowler-securityhub.sh to v3 (#2503)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-06-21 15:18:02 +02:00
Sergio Garcia 90ebb815d5 fix(security hub): solve Security Hub format requirements (#2520) 2023-06-21 13:04:14 +02:00
Sergio Garcia 3d3d418ee6 chore(regions_update): Changes in regions for AWS services. (#2522)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-06-21 11:32:35 +02:00
Pedro Martín f875cd05be feat(compliance): add ISO27001 compliance framework (#2517)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-06-20 16:57:28 +02:00
Sergio Garcia 435911489f fix(gcp): update Prowler SDK info of GCP (#2515) 2023-06-20 14:32:24 +02:00
Sergio Garcia 5fcfcd53aa fix(compliance): remove unnecessary Optional attributes (#2514) 2023-06-20 14:22:13 +02:00
dependabot[bot] bc09215aad build(deps): bump boto3 from 1.26.147 to 1.26.156 (#2511)
Signed-off-by: dependabot[bot] <support@github.com>
2023-06-20 10:36:53 +02:00
dependabot[bot] 5f7e109e3d build(deps-dev): bump openapi-spec-validator from 0.5.6 to 0.5.7 (#2507)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-20 09:44:30 +02:00
Nacho Rivera b75a5050d7 fix(apigw): Update metadata for API GW checks (#2512) 2023-06-20 09:22:00 +02:00
dependabot[bot] be497f7083 build(deps): bump google-api-python-client from 2.88.0 to 2.89.0 (#2510) 2023-06-20 08:40:41 +02:00
dependabot[bot] 0ccae3e15b build(deps): bump mkdocs-material from 9.1.15 to 9.1.16 (#2508)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-20 08:08:17 +02:00
dependabot[bot] d736c32aec build(deps): bump botocore from 1.29.152 to 1.29.156 (#2506)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-20 07:41:30 +02:00
Sergio Garcia 8ea5ba5d3f chore(OCSF): improve OCSF logic (#2502) 2023-06-19 12:37:04 +02:00
Nacho Rivera 60c341befd fix(vpc): handle ephemeral VPC endpoint services (#2501) 2023-06-19 12:23:52 +02:00
Sergio Garcia be4f58ed8f chore(regions_update): Changes in regions for AWS services. (#2500) 2023-06-19 07:59:42 +02:00
Sergio Garcia d82d1abab6 chore(3.6.1): release version (#2498) 2023-06-16 12:34:17 +02:00
Sergio Garcia 0d81bd457c fix(asff): handle empty Recommendation Url (#2496)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-06-16 12:17:09 +02:00
Sergio Garcia af2b19436f fix(route53): correct Hosted Zone ARN (#2494) 2023-06-15 16:32:54 +02:00
Sergio Garcia 51beb3c7e4 chore(regions_update): Changes in regions for AWS services. (#2497)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-06-15 15:56:23 +02:00
Chris Kelly 5061456735 fix(security hub): Adds logic to map to valid ASFF statuses (#2491) 2023-06-15 15:52:19 +02:00
Nacho Rivera b01eb3af95 fix(rds checks): test if key exists prior checking it (#2489) 2023-06-14 12:15:33 +02:00
Sergio Garcia 328bebc168 chore(regions_update): Changes in regions for AWS services. (#2487)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-06-14 11:52:11 +02:00
Sergio Garcia fc63fffa15 chore(release): 3.6.0 (#2485) 2023-06-13 17:38:51 +02:00
Sebastian Nyberg 707584b2ef feat(aws): Add MFA flag if try to assume role in AWS (#2478)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-06-13 17:18:10 +02:00
Nacho Rivera 561459d93b fix(dataevents checks): add trails home region (#2484) 2023-06-13 11:48:55 +02:00
Sergio Garcia 25e48ae546 chore(arn): include ARN of AWS accounts (#2477)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-06-13 10:18:23 +02:00
dependabot[bot] 513bb3e8d0 build(deps): bump botocore from 1.29.147 to 1.29.152 (#2482)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-13 10:07:57 +02:00
dependabot[bot] 04710ca908 build(deps): bump google-api-python-client from 2.86.0 to 2.88.0 (#2483)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-13 09:50:10 +02:00
dependabot[bot] fcf0fcf20c build(deps): bump pydantic from 1.10.8 to 1.10.9 (#2481)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-13 09:06:59 +02:00
dependabot[bot] 2ff40d8e37 build(deps): bump boto3 from 1.26.142 to 1.26.147 (#2480)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-13 08:11:54 +02:00
dependabot[bot] 1bab5b06a4 build(deps-dev): bump pytest from 7.3.1 to 7.3.2 (#2479)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-13 07:50:41 +02:00
Sergio Garcia 01cd4bcb47 chore(arn): add missing ARNs to AWS Services (#2476) 2023-06-12 13:33:12 +02:00
Sebastian Nyberg 49b2a559ae feat(vpc): add check vpc_subnet_no_public_ip_by_default (#2472)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2023-06-12 09:44:10 +02:00
Sergio Garcia 9212d24685 chore(regions_update): Changes in regions for AWS services. (#2474)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-06-12 08:48:44 +02:00
Nacho Rivera eb43b11202 fix(arn validator): include : in regex (#2471) 2023-06-09 13:24:29 +02:00
Sergio Garcia 5c4cae8c9d feat(wellarchitected): add WellArchitected service and check (#2461) 2023-06-09 13:19:01 +02:00
Sergio Garcia cfd7099743 chore(regions_update): Changes in regions for AWS services. (#2469)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-06-09 13:09:30 +02:00
Sergio Garcia 19ae237d29 chore(regions_update): Changes in regions for AWS services. (#2462)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-06-09 13:09:01 +02:00
Sergio Garcia 9cda78e561 chore(docs): improve allowlist suggestion (#2466) 2023-06-09 13:07:28 +02:00
Sergio Garcia cc31872a7f fix(kms): check only KMS CMK tags (#2468) 2023-06-09 13:06:06 +02:00
Sebastian Nyberg 3c2c896708 chore(vpc): add mapPublicIpOnLaunch attribute to VPC subnets (#2470) 2023-06-09 12:45:28 +02:00
Jit b73da9c54c feat(gcp): add 12 new checks for CIS Framework (#2426)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-06-08 11:25:51 +02:00
Sergio Garcia 414a45bfb0 chore(quick inventory): add warning message (#2460) 2023-06-07 15:16:52 +02:00
Sergio Garcia 2a6f808bca chore(boto3): update boto3 config (#2459) 2023-06-07 14:32:40 +02:00
Sergio Garcia cdf2a13bbd feat(oscf): add OCSF format as JSON output for AWS, Azure and GCP. Hello Amazon Security Lake! (#2429) 2023-06-07 14:28:43 +02:00
Sergio Garcia 3e3e8a14ee fix(inventory): handle exception for every call (#2457) 2023-06-07 09:33:10 +02:00
Nacho Rivera 37e180827a fix(azure): fix empty subscriptions case (#2455) 2023-06-06 17:31:43 +02:00
Pepe Fagoaga b047b54545 fix(backup): Handle last_execution_date when None (#2454) 2023-06-06 16:57:17 +02:00
Pepe Fagoaga b7bb4bbd57 fix(aws): Add missing resources ARN (#2453) 2023-06-06 16:56:59 +02:00
Pepe Fagoaga 86cf2cd233 fix(efs): Include resource ARN and handle from input (#2452) 2023-06-06 14:29:58 +02:00
Sergio Garcia ab12c201b4 chore(docs): improve custom checks docs (#2428) 2023-06-06 11:58:20 +02:00
Sergio Garcia a8f03d859c feat(gcp): add --project-ids flag and scan all projects by default (#2393)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-06-06 11:56:39 +02:00
Sergio Garcia 3c7580f024 fix(ec2): handle false positive in ec2_securitygroup_allow_ingress_from_internet_to_any_port (#2449) 2023-06-06 11:55:27 +02:00
Sergio Garcia 277833e388 fix(services): verify Route53 records and handle TrustedAdvisor error (#2448) 2023-06-06 11:50:44 +02:00
Sergio Garcia eb16d7e6f9 chore(regions_update): Changes in regions for AWS services. (#2450)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-06-06 11:20:03 +02:00
Pepe Fagoaga 1418068d2b fix(services): Handle AWS service errors (#2440) 2023-06-06 09:23:03 +02:00
dependabot[bot] 774346f5f8 build(deps): bump botocore from 1.29.142 to 1.29.147 (#2447)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-06 08:38:49 +02:00
dependabot[bot] 1aab88e6ca build(deps): bump alive-progress from 3.1.1 to 3.1.4 (#2446)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-06 08:25:06 +02:00
dependabot[bot] 613f49b8bb build(deps-dev): bump docker from 6.1.2 to 6.1.3 (#2445)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-06 08:03:03 +02:00
dependabot[bot] 5c95dc6e20 build(deps): bump boto3 from 1.26.138 to 1.26.142 (#2444)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-06 07:45:14 +02:00
dependabot[bot] cbc2713bee build(deps-dev): bump moto from 4.1.10 to 4.1.11 (#2443) 2023-06-06 07:29:25 +02:00
christiandavilakoobin 2955975793 fix(cloudfront): fix DefaultCacheConfigBehaviour enum type(#2430)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-06-05 15:48:34 +02:00
Sergio Garcia f8299d7f40 chore(regions_update): Changes in regions for AWS services. (#2441)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-06-05 14:44:30 +02:00
Toni de la Fuente e855d44523 docs: Create CONTRIBUTING.md (#2416)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-06-05 08:52:57 +02:00
dependabot[bot] 64e7715480 build(deps): bump cryptography from 40.0.2 to 41.0.0 (#2436)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-05 08:52:11 +02:00
Nacho Rivera 2e9a74f609 fix(README): add references to tenant-id when browser auth (#2439) 2023-06-05 08:39:59 +02:00
Sergio Garcia 11a1230738 chore(regions_update): Changes in regions for AWS services. (#2437)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-06-05 08:09:21 +02:00
Sergio Garcia 298373742e chore(regions_update): Changes in regions for AWS services. (#2427)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-06-02 13:32:04 +02:00
Sergio Garcia dc7aeecd85 chore(regions_update): Changes in regions for AWS services. (#2434)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-06-02 13:24:47 +02:00
Nacho Rivera 15a7de7b24 fix(browser auth): fix browser auth in Azure to include tenant id (#2415)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-06-02 13:22:43 +02:00
sssalim-aws 714d0d4092 Update aws_well_architected_framework_security_pillar_aws.json (#2432) 2023-06-02 11:58:31 +02:00
Jenny Kim 225d7f39d1 chore(logo): Add Prowler logo in SVG format & Propose to Prowler icon design (#2423)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-06-01 12:03:49 +02:00
Sergio Garcia 0005798c83 chore(regions_update): Changes in regions for AWS services. (#2424)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-05-31 18:22:44 +02:00
dependabot[bot] 1d9078f9be build(deps): bump mkdocs-material from 9.1.12 to 9.1.15 (#2420)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-30 12:51:50 +02:00
dependabot[bot] 510ac7005a build(deps-dev): bump pytest-xdist from 3.3.0 to 3.3.1 (#2421)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-30 11:00:11 +02:00
dependabot[bot] c049b968a5 build(deps): bump pydantic from 1.10.7 to 1.10.8 (#2418)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-30 10:45:13 +02:00
dependabot[bot] 858698f7cd build(deps): bump botocore from 1.29.138 to 1.29.142 (#2419)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-30 09:42:19 +02:00
dependabot[bot] d104f6f8fc build(deps-dev): bump coverage from 7.2.5 to 7.2.7 (#2422)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-30 07:52:01 +02:00
Sergio Garcia 3ecf0d3230 chore(regions_update): Changes in regions for AWS services. (#2414) 2023-05-29 07:20:44 +02:00
Sergio Garcia 6e4131fee4 fix(ecr): handle LifecyclePolicyNotFoundException (#2411)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-05-26 17:15:49 +02:00
Sergio Garcia 41fa6bc8ed chore(regions_update): Changes in regions for AWS services. (#2413)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-05-26 13:02:37 +02:00
Sergio Garcia 58a29bf058 fix(codebuild): handle FAIL in codebuild_project_user_controlled_buildspec (#2410)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-05-25 13:30:01 +02:00
Sergio Garcia 7dac17de18 chore(regions_update): Changes in regions for AWS services. (#2409)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-05-25 11:51:32 +02:00
Toni de la Fuente 799d7de182 fix: typo in README.md (#2407)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2023-05-24 16:55:49 +02:00
Pedro Martín 735af02f59 feat(new_security_framework): AWS Well Architected Framework security pillar (#2382)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-05-24 16:38:32 +02:00
Sergio Garcia ad3f3799fa fix(typo): typo in README.md (#2406) 2023-05-24 14:22:58 +02:00
Sergio Garcia 5f97df015e chore(release): change release version to 3.5.3 (#2405) 2023-05-24 13:56:53 +02:00
Toni de la Fuente ff18fd2c38 chore(docs): add summary table to README.md (#2402)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2023-05-24 13:56:17 +02:00
Jit 3ab0cd02df feat(checks-gcp): Include 4 new checks covering GCP CIS (#2376)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2023-05-24 12:10:43 +02:00
Sergio Garcia c31072f42f chore(regions_update): Changes in regions for AWS services. (#2403)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-05-24 11:59:15 +02:00
Sergio Garcia c01c59023a fix(ClientError): handle ClientErrors in DynamoDB and Directory Service (#2400) 2023-05-24 11:50:08 +02:00
Sergio Garcia 4329aac377 chore(quick-inventory): send quick inventory to output bucket (#2399)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-05-24 11:48:49 +02:00
Sergio Garcia c10b31e9d0 fix(categories): remove empty categories from metadata (#2401) 2023-05-24 10:44:51 +02:00
kij 71a789c0b4 fix(OSError): handle different OSErrors (#2398)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-05-23 17:16:17 +02:00
Sergio Garcia deb9847e2b fix(route53_dangling_ip_subdomain_takeover): notify only IPs with AWS IP Ranges (#2396) 2023-05-23 16:35:13 +02:00
Pepe Fagoaga 9e9e7e1e96 fix(aws): Handle unique map keys (#2390)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-05-23 15:54:22 +02:00
Sergio Garcia d34e0341e2 chore(regions_update): Changes in regions for AWS services. (#2392)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-05-23 12:28:38 +02:00
Sergio Garcia aec254b05a fix(inspector2): fix active findings count (#2395) 2023-05-23 12:26:09 +02:00
dependabot[bot] f8b420047a build(deps): bump boto3 from 1.26.125 to 1.26.138 (#2389)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-23 11:15:42 +02:00
dependabot[bot] 7e6e4c0bc6 build(deps): bump shodan from 1.29.0 to 1.29.1 (#2385)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-23 10:56:50 +02:00
dependabot[bot] 71fb59943c build(deps): bump requests from 2.30.0 to 2.31.0 (#2388)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-23 10:25:28 +02:00
dependabot[bot] 34419d0ca1 build(deps): bump azure-identity from 1.12.0 to 1.13.0 (#2386)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-23 10:22:05 +02:00
dependabot[bot] 475a36f0d7 build(deps-dev): bump moto from 4.1.9 to 4.1.10 (#2384)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-23 09:52:18 +02:00
Kevin Pullin 1234c1e7e2 fix(allowlist) - tags parameter is a string, not a list (#2375) 2023-05-23 09:51:50 +02:00
dependabot[bot] a4a400facf build(deps): bump botocore from 1.29.134 to 1.29.138 (#2383)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-23 07:52:47 +02:00
Sergio Garcia ed2ca4d896 chore(regions_update): Changes in regions for AWS services. (#2378)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-05-19 11:36:08 +02:00
Pepe Fagoaga ce42e4d1cd fix(pypi-release): Push version change to the branch (#2374) 2023-05-18 18:46:11 +02:00
Sergio Garcia b048128e77 chore(release): release version 3.5.2 (#2373) 2023-05-18 17:04:18 +02:00
Sergio Garcia 635c257502 fix(ssm incidents): check if service available in aws partition (#2372) 2023-05-18 16:44:52 +02:00
Pepe Fagoaga 58a38c08d7 docs: format regions-and-partitions (#2371) 2023-05-18 16:35:54 +02:00
Pepe Fagoaga 8fbee7737b fix(resource_not_found): Handle error (#2370) 2023-05-18 16:26:08 +02:00
Pepe Fagoaga e84f5f184e fix(sts): Use the right region to validate credentials (#2349)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-05-18 15:51:57 +02:00
Sergio Garcia 0bd26b19d7 chore(regions_update): Changes in regions for AWS services. (#2368)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-05-18 11:17:28 +02:00
Sergio Garcia 64f82d5d51 chore(regions_update): Changes in regions for AWS services. (#2366)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-05-17 11:52:16 +02:00
Sergio Garcia f63ff994ce fix(action): solve pypi-release action creating the release branch (#2364) 2023-05-16 13:32:46 +02:00
Sergio Garcia a10ee43271 release: 3.5.1 (#2363) 2023-05-16 11:42:08 +02:00
Sergio Garcia 54ed29e08d fix(route53): handle empty Records in Zones (#2351) 2023-05-16 10:51:43 +02:00
dependabot[bot] cc097e7a3f build(deps-dev): bump docker from 6.1.1 to 6.1.2 (#2360)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-16 09:39:24 +02:00
dependabot[bot] 5de92ada43 build(deps): bump mkdocs-material from 9.1.8 to 9.1.12 (#2359)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-16 09:24:39 +02:00
dependabot[bot] 0c546211cf build(deps-dev): bump pytest-xdist from 3.2.1 to 3.3.0 (#2358)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-16 08:09:55 +02:00
dependabot[bot] 4dc5a3a67c build(deps): bump botocore from 1.29.125 to 1.29.134 (#2357)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-16 07:51:19 +02:00
dependabot[bot] c51b226ceb build(deps): bump shodan from 1.28.0 to 1.29.0 (#2356)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-16 07:34:51 +02:00
dependabot[bot] 0a5ca6cf74 build(deps): bump pymdown-extensions from 9.11 to 10.0 (#2355)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-16 07:33:56 +02:00
Sergio Garcia 96957219e4 chore(regions_update): Changes in regions for AWS services. (#2353)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-05-16 07:32:41 +02:00
Sergio Garcia 32b7620db3 chore(regions_update): Changes in regions for AWS services. (#2350)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-05-12 11:37:53 +02:00
Sergio Garcia 347f65e089 chore(release): 3.5.0 (#2346) 2023-05-11 17:42:46 +02:00
Sergio Garcia 16628a427e fix(README): update Architecture image and PyPi links (#2345) 2023-05-11 17:29:17 +02:00
Sergio Garcia ed16034a25 fix(README): order providers alphbetically (#2344) 2023-05-11 16:30:04 +02:00
Pepe Fagoaga 0c5f144e41 fix(poetry): Skip updates during pre-commit (#2342) 2023-05-11 12:17:21 +02:00
Sergio Garcia acc7d6e7dc chore(regions_update): Changes in regions for AWS services. (#2341)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-05-11 11:41:39 +02:00
Sergio Garcia 84b4139052 chore(iam): add new permissions (#2339) 2023-05-11 11:35:32 +02:00
Sergio Garcia 9943643958 fix(s3): improve error handling (#2337) 2023-05-10 16:43:06 +02:00
Pepe Fagoaga 9ceaefb663 fix(access-analyzer): Handle ResourceNotFoundException (#2336) 2023-05-10 15:44:14 +02:00
Gabriel Soltz ec03ea5bc1 feat(workspaces): New check workspaces_vpc_2private_1public_subnets_nat (#2286)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
Co-authored-by: n4ch04 <nachor1992@gmail.com>
2023-05-10 15:40:42 +02:00
Sergio Garcia 5855633c1f fix(resourceexplorer2): add resource id (#2335)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-05-10 14:48:34 +02:00
Pedro Martín a53bc2bc2e feat(rds): new check rds_instance_deprecated_engine_version (#2298)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2023-05-10 14:48:12 +02:00
Sergio Garcia 88445820ed feat(slack): add Slack App integration (#2305)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-05-10 13:38:28 +02:00
Sergio Garcia 044ed3ae98 chore(regions_update): Changes in regions for AWS services. (#2334)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-05-10 13:30:24 +02:00
Pepe Fagoaga 6f48012234 fix(ecr): Refactor service (#2302)
Co-authored-by: Gabriel Soltz <thegaby@gmail.com>
Co-authored-by: Kay Agahd <kagahd@users.noreply.github.com>
Co-authored-by: Nacho Rivera <nachor1992@gmail.com>
Co-authored-by: Kevin Pullin <kevin.pullin@gmail.com>
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-05-09 17:04:21 +02:00
Sergio Garcia d344318dd4 feat(allowlist): allowlist a specific service (#2331) 2023-05-09 15:43:04 +02:00
Sergio Garcia 6273dd3d83 chore(regions_update): Changes in regions for AWS services. (#2330)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-05-09 12:21:07 +02:00
dependabot[bot] 0f3f3cbffd build(deps-dev): bump moto from 4.1.8 to 4.1.9 (#2328)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-05-09 11:38:41 +02:00
Pepe Fagoaga 3244123b21 fix(cloudfront_distributions_https_enabled): Add default case (#2329)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-05-09 11:09:18 +02:00
dependabot[bot] cba2ee3622 build(deps): bump boto3 from 1.26.115 to 1.26.125 (#2327)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-09 08:48:15 +02:00
dependabot[bot] 25ed925df5 build(deps-dev): bump docker from 6.0.1 to 6.1.1 (#2326)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-09 08:22:03 +02:00
dependabot[bot] 8c5bd60bab build(deps-dev): bump pylint from 2.17.3 to 2.17.4 (#2325)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-09 07:59:21 +02:00
dependabot[bot] c5510556a7 build(deps): bump mkdocs from 1.4.2 to 1.4.3 (#2324)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-09 07:38:43 +02:00
Sergio Garcia bbcfca84ef fix(trustedadvisor): avoid not_available checks (#2323) 2023-05-08 17:55:31 +02:00
Sergio Garcia 1260e94c2a fix(cloudtrail): handle InsightNotEnabledException error (#2322) 2023-05-08 16:06:13 +02:00
Pepe Fagoaga 8a02574303 fix(sagemaker): Handle ValidationException (#2321) 2023-05-08 14:52:28 +02:00
Pepe Fagoaga c930f08348 fix(emr): Handle InvalidRequestException (#2320) 2023-05-08 14:52:12 +02:00
Pepe Fagoaga 5204acb5d0 fix(iam): Handle ListRoleTags and policy errors (#2319) 2023-05-08 14:42:23 +02:00
Sergio Garcia 784aaa98c9 feat(iam): add iam_role_cross_account_readonlyaccess_policy check (#2312) 2023-05-08 13:27:51 +02:00
Sergio Garcia 745e2494bc chore(docs): improve GCP docs (#2318) 2023-05-08 13:26:23 +02:00
Sergio Garcia c00792519d chore(docs): improve GCP docs (#2318) 2023-05-08 13:26:02 +02:00
Sergio Garcia 142fe5a12c chore(regions_update): Changes in regions for AWS services. (#2315)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-05-08 12:40:31 +02:00
Sergio Garcia 5b127f232e fix(typo): typo in backup_vaults_exist check title (#2317) 2023-05-08 12:29:08 +02:00
Kevin Pullin c22bf01003 feat(allowlist): Support regexes in Tags to allow "or"-like conditional matching (#2300)
Co-authored-by: Kevin Pullin <kevinp@nexttrucking.com>
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-05-05 14:56:27 +02:00
Nacho Rivera 05e4911d6f fix(vpc services): list to dicts in vpc and subnets (#2310) 2023-05-04 15:35:02 +02:00
Nacho Rivera 9b551ef0ba feat(pre-commit): added trufflehog to pre-commit (#2311) 2023-05-04 15:33:11 +02:00
Sergio Garcia 56a8bb2349 chore(regions_update): Changes in regions for AWS services. (#2309)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-05-04 12:30:10 +02:00
Pepe Fagoaga 8503c6a64d fix(client_error): Handle errors (#2308) 2023-05-04 11:06:24 +02:00
Pepe Fagoaga 820f18da4d release: 3.4.1 (#2303) 2023-05-03 19:24:17 +02:00
Kay Agahd 51a2432ebf fix(typo): remove redundant lines (#2307) 2023-05-03 19:23:48 +02:00
Gabriel Soltz 6639534e97 feat(ssmincidents): Use regional_client region instead of audit_profile region (#2306) 2023-05-03 19:22:30 +02:00
Gabriel Soltz 0621577c7d fix(backup): Return [] when None AdvancedBackupSettings (#2304) 2023-05-03 17:10:53 +02:00
Sergio Garcia 26a507e3db feat(route53): add route53_dangling_ip_subdomain_takeover check (#2288)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-05-03 11:47:36 +02:00
Sergio Garcia 244b540fe0 fix(s3): handle NoSuchBucket error (#2289) 2023-05-03 09:55:19 +02:00
Gabriel Soltz 030ca4c173 fix(backups): change severity and only check report_plans if plans exists (#2291)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-05-03 09:00:15 +02:00
dependabot[bot] 88a2810f29 build(deps): bump botocore from 1.29.115 to 1.29.125 (#2301)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-03 08:55:14 +02:00
dependabot[bot] 9164ee363a build(deps-dev): bump coverage from 7.2.3 to 7.2.5 (#2297)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-03 08:38:03 +02:00
dependabot[bot] 4cd47fdcc5 build(deps): bump google-api-python-client from 2.84.0 to 2.86.0 (#2296)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-03 08:11:36 +02:00
dependabot[bot] 708852a3cb build(deps): bump mkdocs-material from 9.1.6 to 9.1.8 (#2294)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-03 07:49:52 +02:00
Sergio Garcia 4a93bdf3ea chore(regions_update): Changes in regions for AWS services. (#2293)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-05-03 07:49:27 +02:00
Gabriel Soltz 22e7d2a811 feat(Organizations): New check organizations_tags_policies_enabled_and_attached (#2287)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-04-28 16:14:08 +02:00
Sergio Garcia 93eca1dff2 chore(regions_update): Changes in regions for AWS services. (#2290)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-04-28 13:19:46 +02:00
Gabriel Soltz 9afe7408cd feat(FMS): New Service FMS and Check fms_accounts_compliant (#2259)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
Co-authored-by: Nacho Rivera <nacho@verica.io>
2023-04-28 11:47:55 +02:00
Sergio Garcia 5dc2347a25 docs(security hub): improve security hub docs (#2285)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-04-27 16:22:49 +02:00
Pepe Fagoaga e3a0124b10 fix(opensearch): Handle invalid JSON policy (#2262) 2023-04-27 12:05:43 +02:00
Gabriel Soltz 16af89c281 feat(autoscaling): new check autoscaling_group_multiple_az (#2273) 2023-04-26 15:10:04 +02:00
Sergio Garcia 621e4258c8 feat(s3): add s3_bucket_object_lock check (#2274) 2023-04-26 15:04:45 +02:00
Sergio Garcia ac6272e739 fix(rds): check configurations for DB instances at cluster level (#2277)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-04-26 13:51:07 +02:00
Sergio Garcia 6e84f517a9 fix(apigateway2): correct paginator name (#2283) 2023-04-26 13:43:15 +02:00
Pepe Fagoaga fdbdb3ad86 fix(sns_topics_not_publicly_accessible): Change PASS behaviour (#2282) 2023-04-26 12:51:51 +02:00
Sergio Garcia 7adcf5ca46 chore(regions_update): Changes in regions for AWS services. (#2280)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-04-26 11:59:34 +02:00
Gabriel Soltz fe6716cf76 feat(NetworkFirewall): New Service and Check (#2261)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2023-04-26 11:58:11 +02:00
dependabot[bot] 3c2096db68 build(deps): bump azure-mgmt-security from 4.0.0 to 5.0.0 (#2270)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-25 11:59:30 +02:00
Pepe Fagoaga 58cad1a6b3 fix(log_group_retention): handle log groups that never expire (#2272) 2023-04-25 10:45:43 +02:00
dependabot[bot] 662e67ff16 build(deps): bump boto3 from 1.26.105 to 1.26.115 (#2269)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-25 10:35:15 +02:00
dependabot[bot] 8d577b872f build(deps-dev): bump moto from 4.1.7 to 4.1.8 (#2268)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-25 10:12:25 +02:00
dependabot[bot] b55290f3cb build(deps-dev): bump pylint from 2.17.2 to 2.17.3 (#2267)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-25 09:20:15 +02:00
dependabot[bot] e8d3eb7393 build(deps-dev): bump pytest from 7.3.0 to 7.3.1 (#2266)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-25 08:03:45 +02:00
Sergio Garcia 47fa16e35f chore(test): add CloudWatch and Logs tests (#2264) 2023-04-24 17:05:05 +02:00
Gabriel Soltz a87f769b85 feat(DRS): New DRS Service and Checks (#2257)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-04-24 14:22:22 +02:00
Sergio Garcia 8e63fa4594 fix(version): execute check current version function only when -v (#2263) 2023-04-24 12:45:59 +02:00
Gabriel Soltz 63501a0d59 feat(inspector2): New Service and Check (#2250)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2023-04-24 12:15:16 +02:00
Sergio Garcia 828fb37ca8 chore(regions_update): Changes in regions for AWS services. (#2258)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-04-24 08:32:40 +02:00
Sergio Garcia 40f513d3b6 chore(regions_update): Changes in regions for AWS services. (#2251)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-04-21 12:10:15 +02:00
Sergio Garcia f0b8b66a75 chore(test): add rds_instance_transport_encrypted test (#2252) 2023-04-21 12:09:47 +02:00
Sergio Garcia d51cdc068b fix(iam_role_cross_service_confused_deputy_prevention): avoid service linked roles (#2249) 2023-04-21 10:42:05 +02:00
Sergio Garcia f8b382e480 fix(version): update version to 3.4.0 (#2247) 2023-04-20 17:05:18 +02:00
Ronen Atias 1995f43b67 fix(redshift): correct description in redshift_cluster_automatic_upgrades (#2246) 2023-04-20 15:19:49 +02:00
Sergio Garcia 69e0392a8b fix(rds): exclude Aurora in rds_instance_transport_encrypted check (#2245) 2023-04-20 14:28:12 +02:00
Sergio Garcia 1f6319442e chore(docs): improve GCP docs (#2242) 2023-04-20 14:15:28 +02:00
Sergio Garcia 559c4c0c2c chore(regions_update): Changes in regions for AWS services. (#2243)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-04-20 11:43:02 +02:00
Sergio Garcia feeb5b58d9 fix(checks): improve --list-checks function (#2240) 2023-04-19 17:00:20 +02:00
Sergio Garcia 7a00f79a56 fix(iam_policy_no_administrative_privileges): check attached policies and AWS-Managed (#2200)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-04-19 14:34:53 +02:00
Sergio Garcia 10d744704a fix(errors): solve ECR and CodeArtifact errors (#2239) 2023-04-19 13:27:19 +02:00
Gabriel Soltz eee35f9cc3 feat(ssmincidents): New Service and Checks (#2219)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-04-19 12:26:20 +02:00
Gabriel Soltz b3656761eb feat(check): New VPC checks (#2218) 2023-04-19 12:01:12 +02:00
Sergio Garcia 7b5fe34316 feat(html): add html to Azure and GCP (#2181)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-04-18 16:13:57 +02:00
Sergio Garcia 4536780a19 feat(check): new check ecr_registry_scan_images_on_push_enabled (#2237) 2023-04-18 15:45:21 +02:00
Sergio Garcia 05d866e6b3 chore(regions_update): Changes in regions for AWS services. (#2236)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-04-18 13:43:15 +02:00
dependabot[bot] 0d138cf473 build(deps): bump botocore from 1.29.105 to 1.29.115 (#2233)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-18 13:42:50 +02:00
dependabot[bot] dbe539ac80 build(deps): bump boto3 from 1.26.90 to 1.26.105 (#2232)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-18 12:35:33 +02:00
dependabot[bot] 665a39d179 build(deps): bump azure-storage-blob from 12.15.0 to 12.16.0 (#2230)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-18 11:02:39 +02:00
dependabot[bot] 5fd5d8c8c5 build(deps-dev): bump coverage from 7.2.2 to 7.2.3 (#2234)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-18 08:03:44 +02:00
dependabot[bot] 2832b4564c build(deps-dev): bump moto from 4.1.6 to 4.1.7 (#2231)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-18 07:40:50 +02:00
dependabot[bot] d4369a64ee build(deps): bump azure-mgmt-security from 3.0.0 to 4.0.0 (#2141)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-17 13:22:09 +02:00
Sergio Garcia 81fa1630b7 chore(regions_update): Changes in regions for AWS services. (#2227)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-04-17 11:18:41 +02:00
Sergio Garcia a1c4b35205 chore(regions_update): Changes in regions for AWS services. (#2217)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-04-17 11:16:22 +02:00
Sergio Garcia 5e567f3e37 fix(iam tests): mock audit_info object (#2226)
Co-authored-by: n4ch04 <nachor1992@gmail.com>
2023-04-17 11:14:48 +02:00
Pepe Fagoaga c4757684c1 fix(test): Mock audit into in SecurityHub CodeBuild (#2225) 2023-04-17 11:14:36 +02:00
Sergio Garcia a55a6bf94b fix(test): Mock audit info in EC2 (#2224) 2023-04-17 10:54:56 +02:00
Pepe Fagoaga fa1792eb77 fix(test): Mock audit into in CloudWatch (#2223) 2023-04-17 10:54:01 +02:00
Nacho Rivera 93a8f6e759 fix(rds tests): mocked audit_info object (#2222) 2023-04-17 10:06:25 +02:00
Nacho Rivera 4a614855d4 fix(s3 tests): audit_info object mocked (#2221) 2023-04-17 10:04:28 +02:00
Pepe Fagoaga 8bdd47f912 fix(test): Mock audit info in KMS (#2215) 2023-04-14 14:34:55 +02:00
Nacho Rivera f9e82abadc fix(vpc tests): mock current_audit_info (#2214) 2023-04-14 14:31:34 +02:00
Gabriel Soltz 428fda81e2 feat(check): New GuardDuty check guardduty_centrally_managed (#2195)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-04-14 14:30:51 +02:00
Pepe Fagoaga 29c9ad602d fix(test): Mock audit into in Macie (#2213) 2023-04-14 14:29:19 +02:00
Pepe Fagoaga 44458e2a97 fix(test): Mock audit info codeartifact-config-ds (#2210) 2023-04-14 14:25:45 +02:00
Pepe Fagoaga 861fb1f54b fix(test): Mock audit into in Glacier (#2212) 2023-04-14 14:20:03 +02:00
Pepe Fagoaga 02534f4d55 fix(test): Mock audit info DynamoDB (#2211) 2023-04-14 14:19:08 +02:00
Pepe Fagoaga 5532cb95a2 fix(test): Mock audit info in appstream and autoscaling (#2209) 2023-04-14 14:06:07 +02:00
Pepe Fagoaga 9176e43fc9 fix(test): Mock audit info API Gateway (#2208) 2023-04-14 13:49:38 +02:00
Pepe Fagoaga cb190f54fc fix(elb-test): Use a mocked current audit info (#2207) 2023-04-14 12:43:08 +02:00
Sergio Garcia 4be2539bc2 fix(resourceexplorer2): solve test and region (#2206) 2023-04-14 12:33:52 +02:00
Sergio Garcia 291e2adffa chore(regions_update): Changes in regions for AWS services. (#2205)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-04-14 12:32:58 +02:00
Gabriel Soltz fa2ec63f45 feat(check): New Check and Service: resourceexplorer2_indexes_found (#2196)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2023-04-14 10:18:36 +02:00
Nacho Rivera 946c943457 fix(global services): fixed global services region (#2203)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-04-14 09:57:33 +02:00
Pepe Fagoaga 0e50766d6e fix(test): call cloudtrail_s3_dataevents_write_enabled check (#2204) 2023-04-14 09:35:29 +02:00
Sergio Garcia 58a1610ae0 chore(regions_update): Changes in regions for AWS services. (#2201)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-04-13 15:53:56 +02:00
Nacho Rivera 06dc21168a feat(orgs checks region): added region to all orgs checks (#2202) 2023-04-13 14:41:18 +02:00
Gabriel Soltz 305b67fbed feat(check): New check cloudtrail_bucket_requires_mfa_delete (#2194)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-04-13 14:18:31 +02:00
Sergio Garcia 4da6d152c3 feat(custom checks): add -x/--checks-folder for custom checks (#2191) 2023-04-13 13:44:25 +02:00
Sergio Garcia 25630f1ef5 chore(regions): sort AWS regions (#2198)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-04-12 13:24:14 +02:00
Sergio Garcia 9b01e3f1c9 chore(regions_update): Changes in regions for AWS services. (#2197)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-04-12 12:53:03 +02:00
Sergio Garcia 99450400eb chore(regions_update): Changes in regions for AWS services. (#2189)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-04-12 10:47:21 +02:00
Gabriel Soltz 2f8a8988d7 feat(checks): New IAM Checks no full access to critical services (#2183) 2023-04-12 07:47:21 +02:00
Sergio Garcia 9104d2e89e fix(kms): handle empty principal error (#2192) 2023-04-11 16:59:29 +02:00
Gabriel Soltz e75022763c feat(checks): New iam_securityaudit_role_created (#2182) 2023-04-11 14:15:39 +02:00
Gabriel Soltz f0f3fb337d feat(check): New CloudTrail check cloudtrail_insights_exist (#2184) 2023-04-11 13:49:54 +02:00
dependabot[bot] f7f01a34c2 build(deps): bump google-api-python-client from 2.81.0 to 2.84.0 (#2188)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 12:13:41 +02:00
dependabot[bot] f9f9ff0cb8 build(deps): bump alive-progress from 3.1.0 to 3.1.1 (#2187)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 08:13:17 +02:00
dependabot[bot] 522ba05ba8 build(deps): bump mkdocs-material from 9.1.5 to 9.1.6 (#2186)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 07:54:41 +02:00
Gabriel Soltz f4f4093466 feat(backup): New backup service and checks (#2172)
Co-authored-by: Nacho Rivera <nacho@verica.io>
2023-04-11 07:43:40 +02:00
dependabot[bot] 2e16ab0c2c build(deps-dev): bump pytest from 7.2.2 to 7.3.0 (#2185)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-11 07:39:09 +02:00
Sergio Garcia 6f02606fb7 fix(iam): handle no display name error in service account (#2176) 2023-04-10 12:06:08 +02:00
Sergio Garcia df40142b51 chore(regions_update): Changes in regions for AWS services. (#2180)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-04-10 12:05:48 +02:00
Sergio Garcia cc290d488b chore(regions_update): Changes in regions for AWS services. (#2178)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-04-10 12:05:30 +02:00
Nacho Rivera 64328218fc feat(banner): azure credential banner (#2179) 2023-04-10 09:58:28 +02:00
Sergio Garcia 8d1356a085 fix(logging): add default resource id when no resources (#2177) 2023-04-10 08:02:40 +02:00
Sergio Garcia 4f39dd0f73 fix(version): handle request response property (#2175)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-04-05 15:17:30 +02:00
Pepe Fagoaga 54ffc8ae45 chore(release): 3.3.4 (#2174) 2023-04-05 14:18:07 +02:00
Sergio Garcia 78ab1944bd chore(regions_update): Changes in regions for AWS services. (#2173)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-04-05 12:32:25 +02:00
dependabot[bot] 434cf94657 build(deps-dev): bump moto from 4.1.5 to 4.1.6 (#2164)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-04-05 12:31:58 +02:00
Nacho Rivera dcb893e230 fix(elbv2 desync check): Mixed elbv2 desync and smuggling (#2171) 2023-04-05 11:36:06 +02:00
Sergio Garcia ce4fadc378 chore(regions_update): Changes in regions for AWS services. (#2170)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-04-05 08:47:19 +02:00
dependabot[bot] 5683d1b1bd build(deps): bump botocore from 1.29.100 to 1.29.105 (#2163)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-04 13:24:03 +02:00
dependabot[bot] 0eb88d0c10 build(deps): bump mkdocs-material from 9.1.4 to 9.1.5 (#2162)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-04 11:07:41 +02:00
Nacho Rivera eb1367e54d fix(pipeline build): fixed wording when build and push (#2169) 2023-04-04 10:21:28 +02:00
dependabot[bot] 33a4786206 build(deps-dev): bump pylint from 2.17.0 to 2.17.2 (#2161)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-04 09:35:10 +02:00
Pepe Fagoaga 8c6606ad95 fix(dax): Call list_tags using the cluster ARN (#2167) 2023-04-04 09:30:36 +02:00
Pepe Fagoaga cde9519a76 fix(iam): Handle LimitExceededException when calling generate_credential_report (#2168) 2023-04-04 09:29:27 +02:00
Pepe Fagoaga 7b2e0d79cb fix(cloudformation): Handle ValidationError (#2166) 2023-04-04 09:28:11 +02:00
Pepe Fagoaga 5b0da8e92a fix(rds): Handle DBSnapshotNotFound (#2165) 2023-04-04 09:27:36 +02:00
Michael Göhler 0126d2f77c fix(secretsmanager_automatic_rotation_enabled): Improve description for Secrets Manager secret rotation (#2156) 2023-04-03 11:01:29 +02:00
Sergio Garcia 0b436014c9 chore(regions_update): Changes in regions for AWS services. (#2159)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-04-03 11:01:15 +02:00
Igor Ceron 2cb7f223ed fix(docs): check extra_742 name adjusted in the V2 to V3 mapping (#2154) 2023-03-31 12:54:13 +02:00
Sergio Garcia eca551ed98 chore(regions_update): Changes in regions for AWS services. (#2155)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-03-31 12:53:49 +02:00
Gabriel Soltz 608fd92861 feat(new_checks): New AWS Organizations related checks (#2133)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-03-30 17:36:23 +02:00
Sergio Garcia e37d8fe45f chore(release): update Prowler Version to 3.3.2 (#2150)
Co-authored-by: github-actions <noreply@github.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-03-30 11:33:33 +02:00
Sergio Garcia 4cce91ec97 chore(regions_update): Changes in regions for AWS services. (#2153)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-03-30 11:29:00 +02:00
Pepe Fagoaga 72fdde35dc fix(pypi): Set base branch when updating release version (#2152) 2023-03-30 10:59:58 +02:00
Pepe Fagoaga d425187778 fix(pypi): Build from release branch (#2151) 2023-03-30 10:14:49 +02:00
Sergio Garcia e419aa1f1a chore(regions_update): Changes in regions for AWS services. (#2149)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-03-29 11:45:35 +02:00
Pepe Fagoaga 5506547f7f fix(ssm): Handle ValidationException when retrieving documents (#2146) 2023-03-29 09:16:52 +02:00
Nacho Rivera 568ed72b3e fix(audit_info): azure subscriptions parsing error (#2147) 2023-03-29 09:15:53 +02:00
Nacho Rivera e8cc0e6684 fix(delete check): delete check ec2_securitygroup_in_use_without_ingress_filtering (#2148) 2023-03-29 09:13:43 +02:00
Sergio Garcia 4331f69395 chore(regions_update): Changes in regions for AWS services. (#2145)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-03-28 13:08:02 +02:00
dependabot[bot] 7cc67ae7cb build(deps): bump botocore from 1.29.90 to 1.29.100 (#2142)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-28 13:07:23 +02:00
dependabot[bot] 244b3438fc build(deps): bump mkdocs-material from 9.1.3 to 9.1.4 (#2140)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-28 12:39:00 +02:00
Nacho Rivera 1a741f7ca0 fix(azure output): change default values of audit identity metadata (#2144) 2023-03-28 10:42:47 +02:00
dependabot[bot] 1447800e2b build(deps): bump pydantic from 1.10.6 to 1.10.7 (#2139)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-28 10:41:09 +02:00
Sergio Garcia f968fe7512 fix(readme): add GCP provider to README introduction (#2143) 2023-03-28 10:40:56 +02:00
dependabot[bot] 0a2349fad7 build(deps): bump alive-progress from 3.0.1 to 3.1.0 (#2138)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-28 09:55:18 +02:00
Sergio Garcia 941b8cbc1e chore(docs): Developer Guide - how to create a new check (#2137) 2023-03-27 20:20:13 +02:00
Pepe Fagoaga 3b7b16acfd fix(resource_not_found): Handle error (#2136) 2023-03-27 17:27:50 +02:00
Nacho Rivera fbc7bb68fc feat(defender service): retrieving key dicts with get (#2129) 2023-03-27 17:13:11 +02:00
Pepe Fagoaga 0d16880596 fix(s3): handle if ignore_public_acls is None (#2128) 2023-03-27 17:00:20 +02:00
Sergio Garcia 3b5218128f fix(brew): move brew formula action to the bottom (#2135) 2023-03-27 11:24:28 +02:00
Pepe Fagoaga cb731bf1db fix(aws_provider): Fix assessment session name (#2132) 2023-03-25 00:11:16 +01:00
Sergio Garcia 7c4d6eb02d fix(gcp): handle error when Project ID is None (#2130) 2023-03-24 18:30:33 +01:00
Sergio Garcia c14e7fb17a feat(gcp): add Google Cloud provider with 43 checks (#2125) 2023-03-24 13:38:41 +01:00
Sergio Garcia fe57811bc5 chore(regions_update): Changes in regions for AWS services. (#2126)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-03-24 10:18:33 +01:00
Sergio Garcia e073b48f7d chore(regions_update): Changes in regions for AWS services. (#2123)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-03-23 15:58:47 +01:00
Ben Nugent a9df609593 fix(quickinventory): AttributError when creating inventory table (#2122) 2023-03-23 10:22:14 +01:00
Sergio Garcia 6c3db9646e fix(output bucket): solve IsADirectoryError using compliance flag (#2121) 2023-03-22 13:38:41 +01:00
Sergio Garcia ff9c4c717e chore(regions_update): Changes in regions for AWS services. (#2120)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-03-22 12:18:44 +01:00
Sergio Garcia 182374b46f docs: improve reporting documentation (#2119) 2023-03-22 10:02:52 +01:00
Sergio Garcia 0871cda526 docs: improve quick inventory section (#2117) 2023-03-21 18:09:40 +01:00
Toni de la Fuente 1b47cba37a docs(developer-guide): added phase 1 of the developer guide (#1904)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2023-03-21 15:35:26 +01:00
Pepe Fagoaga e5bef36905 docs: Remove list severities (#2116) 2023-03-21 14:18:07 +01:00
Sergio Garcia 706d723703 chore(version): check latest version (#2106) 2023-03-21 11:16:13 +01:00
Sergio Garcia 51eacbfac5 feat(allowlist): add tags filter to allowlist (#2105) 2023-03-21 11:14:59 +01:00
dependabot[bot] 5c2a411982 build(deps): bump boto3 from 1.26.86 to 1.26.90 (#2114)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-21 11:04:26 +01:00
Sergio Garcia 08d65cbc41 chore(regions_update): Changes in regions for AWS services. (#2115)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-03-21 11:03:54 +01:00
dependabot[bot] 9d2bf429c1 build(deps): bump mkdocs-material from 9.1.2 to 9.1.3 (#2113)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-21 10:18:36 +01:00
dependabot[bot] d34f863bd4 build(deps-dev): bump moto from 4.1.4 to 4.1.5 (#2111)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-03-21 09:27:44 +01:00
Sergio Garcia b4abf1c2c7 chore(regions_update): Changes in regions for AWS services. (#2104)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-03-21 08:32:26 +01:00
dependabot[bot] 68baaf589e build(deps-dev): bump coverage from 7.2.1 to 7.2.2 (#2112)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-21 08:18:47 +01:00
dependabot[bot] be74e41d84 build(deps-dev): bump openapi-spec-validator from 0.5.5 to 0.5.6 (#2110)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-21 07:52:50 +01:00
Sergio Garcia 848122b0ec chore(release): update Prowler Version to 3.3.0 (#2102)
Co-authored-by: github-actions <noreply@github.com>
2023-03-16 22:30:02 +01:00
Nacho Rivera 0edcb7c0d9 fix(ulimit check): try except when checking ulimit (#2096)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2023-03-16 17:39:46 +01:00
Pepe Fagoaga cc58e06b5e fix(providers): Move provider's logic outside main (#2043)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-03-16 17:32:53 +01:00
Sergio Garcia 0d6ca606ea fix(ec2_securitygroup_allow_wide_open_public_ipv4): correct check title (#2101) 2023-03-16 17:25:32 +01:00
Sergio Garcia 75ee93789f chore(regions_update): Changes in regions for AWS services. (#2095)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-03-16 17:14:40 +01:00
Sergio Garcia 05daddafbf feat(SecurityHub): add compliance details to Security Hub findings (#2100) 2023-03-16 17:11:55 +01:00
Nacho Rivera 7bbce6725d fix(ulimit check): test only when platform is not windows (#2094) 2023-03-16 08:38:37 +01:00
Nacho Rivera 789b211586 feat(lambda_cloudtrail check): improved logic and status extended (#2092) 2023-03-15 12:32:58 +01:00
Sergio Garcia 826a043748 chore(regions_update): Changes in regions for AWS services. (#2091)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-03-15 12:28:03 +01:00
Sergio Garcia 6761048298 fix(cloudwatch): solve inexistent filterPattern error (#2087) 2023-03-14 14:46:34 +01:00
Sergio Garcia 738fc9acad feat(compliance): add compliance field to HTML, CSV and JSON outputs including frameworks and reqs (#2060)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-03-14 14:20:46 +01:00
Sergio Garcia 43c0540de7 chore(regions_update): Changes in regions for AWS services. (#2085)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-03-14 13:11:02 +01:00
Sergio Garcia 2d1c3d8121 fix(emr): solve emr_cluster_publicly_accesible error (#2086) 2023-03-14 13:10:21 +01:00
dependabot[bot] f48a5c650d build(deps-dev): bump pytest-xdist from 3.2.0 to 3.2.1 (#2084)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-14 10:21:17 +01:00
dependabot[bot] 66c18eddb8 build(deps): bump botocore from 1.29.86 to 1.29.90 (#2083)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-14 10:01:23 +01:00
dependabot[bot] fdd2ee6365 build(deps-dev): bump bandit from 1.7.4 to 1.7.5 (#2082)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-14 09:03:46 +01:00
dependabot[bot] c207f60ad8 build(deps): bump pydantic from 1.10.5 to 1.10.6 (#2081)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-14 08:02:28 +01:00
dependabot[bot] 0eaa95c8c0 build(deps): bump mkdocs-material from 9.1.1 to 9.1.2 (#2080)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-14 07:48:02 +01:00
Pepe Fagoaga df2fca5935 fix(bug_report): typo in bug reporting template (#2078)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2023-03-13 18:42:34 +01:00
Toni de la Fuente dcaf5d9c7d update(docs): update readme with new ECR alias (#2079) 2023-03-13 18:07:51 +01:00
Sergio Garcia 0112969a97 fix(compliance): add check to 2.1.5 CIS (#2077) 2023-03-13 09:25:51 +01:00
Sergio Garcia 3ec0f3d69c chore(regions_update): Changes in regions for AWS services. (#2075)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-03-13 07:51:13 +01:00
Pepe Fagoaga 5555d300a1 fix(bug_report): Update wording (#2074) 2023-03-10 12:21:51 +01:00
Nacho Rivera 8155ef4b60 feat(templates): New versions of issues and fr templates (#2072) 2023-03-10 10:32:17 +01:00
Sergio Garcia a12402f6c8 chore(regions_update): Changes in regions for AWS services. (#2073)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-03-10 10:27:29 +01:00
Sergio Garcia cf28b814cb fix(ec2): avoid terminated instances (#2063) 2023-03-10 08:11:35 +01:00
Pepe Fagoaga b05f67db19 chore(actions): Missing cache in the PR (#2067) 2023-03-09 11:50:49 +01:00
Pepe Fagoaga 260f4659d5 chore(actions): Use GHA cache (#2066) 2023-03-09 10:29:16 +01:00
dependabot[bot] 9e700f298c build(deps-dev): bump pylint from 2.16.4 to 2.17.0 (#2062)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-08 15:41:22 +01:00
dependabot[bot] 56510734c4 build(deps): bump boto3 from 1.26.85 to 1.26.86 (#2061)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-08 15:14:18 +01:00
Pepe Fagoaga 3938a4d14e chore(dependabot): Change to weekly (#2057) 2023-03-08 14:41:34 +01:00
Sergio Garcia fa3b9eeeaf chore(regions_update): Changes in regions for AWS services. (#2058)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-03-08 14:38:56 +01:00
dependabot[bot] eb9d6fa25c build(deps): bump botocore from 1.29.85 to 1.29.86 (#2054)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-08 09:57:44 +01:00
Alex Nelson b53307c1c2 docs: Corrected spelling mistake in multiacount (#2056) 2023-03-08 09:57:08 +01:00
dependabot[bot] c3fc708a66 build(deps): bump boto3 from 1.26.82 to 1.26.85 (#2053)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-08 09:03:00 +01:00
Sergio Garcia b34ffbe6d0 feat(inventory): add tags to quick inventory (#2051) 2023-03-07 14:20:50 +01:00
Sergio Garcia f364315e48 chore(iam): update Prowler permissions (#2050) 2023-03-07 14:14:31 +01:00
Sergio Garcia 3ddb5a13a5 fix(ulimit): handle low ulimit OSError (#2042)
Co-authored-by: Toni de la Fuente <toni@blyx.com>
2023-03-07 13:19:24 +01:00
dependabot[bot] a24cc399a4 build(deps-dev): bump moto from 4.1.3 to 4.1.4 (#2045)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-03-07 12:45:50 +01:00
Sergio Garcia 305f4b2688 chore(regions_update): Changes in regions for AWS services. (#2049)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-03-07 11:27:28 +01:00
dependabot[bot] 9823171d65 build(deps-dev): bump pylint from 2.16.3 to 2.16.4 (#2048)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-07 10:11:19 +01:00
dependabot[bot] 4761bd8fda build(deps): bump mkdocs-material from 9.1.0 to 9.1.1 (#2047)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-07 09:33:19 +01:00
dependabot[bot] 9c22698723 build(deps-dev): bump pytest from 7.2.1 to 7.2.2 (#2046)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-07 08:32:19 +01:00
dependabot[bot] e3892bbcc6 build(deps): bump botocore from 1.29.84 to 1.29.85 (#2044)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-07 08:18:53 +01:00
Sergio Garcia 629b156f52 fix(quick inventory): add non-tagged s3 buckets to inventory (#2041) 2023-03-06 16:55:03 +01:00
Gary Mclean c45dd47d34 fix(windows-path): --list-services bad split (#2028)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-03-06 14:00:07 +01:00
Sergio Garcia ef8831f784 feat(quick_inventory): add regions to inventory table (#2026) 2023-03-06 13:41:30 +01:00
Sergio Garcia c5a42cf5de feat(rds_instance_transport_encrypted): add new check (#1963)
Co-authored-by: Toni de la Fuente <toni@blyx.com>
2023-03-06 13:18:41 +01:00
dependabot[bot] 90ebbfc20f build(deps-dev): bump pylint from 2.16.2 to 2.16.3 (#2038)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-06 13:18:26 +01:00
Fennerr 17cd0dc91d feat(new_check): cloudwatch_log_group_no_secrets_in_logs (#1980)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
Co-authored-by: Jeffrey Souza <JeffreySouza@users.noreply.github.com>
2023-03-06 12:16:46 +01:00
dependabot[bot] fa1f42af59 build(deps): bump botocore from 1.29.82 to 1.29.84 (#2037)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-06 12:14:48 +01:00
Sergio Garcia f45ea1ab53 fix(check): change cloudformation_outputs_find_secrets name (#2027) 2023-03-06 12:11:58 +01:00
Sergio Garcia 0dde3fe483 chore(poetry): add poetry checks to pre-commit (#2040) 2023-03-06 11:44:04 +01:00
dependabot[bot] 277dc7dd09 build(deps-dev): bump freezegun from 1.2.1 to 1.2.2 (#2033)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-06 11:06:23 +01:00
dependabot[bot] 3215d0b856 build(deps-dev): bump coverage from 7.1.0 to 7.2.1 (#2032)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-06 09:55:19 +01:00
dependabot[bot] 0167d5efcd build(deps): bump mkdocs-material from 9.0.15 to 9.1.0 (#2031)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-06 09:15:44 +01:00
Sergio Garcia b48ac808a6 chore(regions_update): Changes in regions for AWS services. (#2035)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-03-03 10:14:20 +01:00
dependabot[bot] 616524775c build(deps-dev): bump docker from 6.0.0 to 6.0.1 (#2030)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-03 10:02:11 +01:00
dependabot[bot] 5832849b11 build(deps): bump boto3 from 1.26.81 to 1.26.82 (#2029)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-03 09:43:43 +01:00
Sergio Garcia 467c5d01e9 fix(cloudtrail): list tags only in owned trails (#2025) 2023-03-02 16:16:19 +01:00
Sergio Garcia 24711a2f39 feat(tags): add resource tags to S-W services (#2020) 2023-03-02 14:21:05 +01:00
Nacho Rivera 24e8286f35 feat(): 7 chars in dispatch commit message (#2024) 2023-03-02 14:20:31 +01:00
Sergio Garcia e8a1378ad0 feat(tags): add resource tags to G-R services (#2009) 2023-03-02 13:56:22 +01:00
Sergio Garcia 76bb418ea9 feat(tags): add resource tags to E services (#2007)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-03-02 13:55:26 +01:00
Nacho Rivera cd8770a3e3 fix(actions): fixed dispatch commit message (#2023) 2023-03-02 13:55:03 +01:00
Sergio Garcia da834c0935 feat(tags): add resource tags to C-D services (#2003)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-03-02 13:14:53 +01:00
Nacho Rivera 024ffb1117 fix(head): Pass head commit to dispatch action (#2022) 2023-03-02 12:06:41 +01:00
Nacho Rivera eed7ab9793 fix(iam): refactor IAM service (#2010) 2023-03-02 11:16:05 +01:00
Sergio Garcia 032feb343f feat(tags): add resource tags in A services (#1997) 2023-03-02 10:59:49 +01:00
Pepe Fagoaga eabccba3fa fix(actions): push should be true (#2019) 2023-03-02 10:37:29 +01:00
Nacho Rivera d86d656316 feat(dispatch): add tag info to dispatch (#2002) 2023-03-02 10:31:30 +01:00
Sergio Garcia fa73c91b0b chore(regions_update): Changes in regions for AWS services. (#2018)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-03-02 10:23:59 +01:00
Pepe Fagoaga 2eee50832d fix(actions): Stop using github storage (#2016) 2023-03-02 10:23:04 +01:00
Toni de la Fuente b40736918b docs(install): Add brew and github installation to quick start (#1991) 2023-03-02 10:21:57 +01:00
Sergio Garcia ffb1a2e30f chore(regions_update): Changes in regions for AWS services. (#1995)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-03-02 10:21:41 +01:00
Sergio Garcia d6c3c0c6c1 feat(s3_bucket_level_public_access_block): new check (#1953) 2023-03-02 10:18:27 +01:00
dependabot[bot] ee251721ac build(deps): bump botocore from 1.29.81 to 1.29.82 (#2015)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-02 09:53:24 +01:00
dependabot[bot] fdbb9195d5 build(deps-dev): bump moto from 4.1.2 to 4.1.3 (#2014)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-02 09:23:48 +01:00
dependabot[bot] c68b08d9af build(deps-dev): bump black from 22.10.0 to 22.12.0 (#2013)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-02 08:59:18 +01:00
dependabot[bot] 3653bbfca0 build(deps-dev): bump flake8 from 5.0.4 to 6.0.0 (#2012)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-02 08:32:41 +01:00
dependabot[bot] 05c7cc7277 build(deps): bump boto3 from 1.26.80 to 1.26.81 (#2011)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-02 07:54:33 +01:00
Sergio Garcia 5670bf099b chore(regions_update): Changes in regions for AWS services. (#2006)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-03-01 10:16:58 +01:00
Nacho Rivera 0c324b0f09 fix(awslambdacloudtrail): include advanced event and all lambdas in check (#1994) 2023-03-01 10:04:06 +01:00
dependabot[bot] 968557e38e build(deps): bump botocore from 1.29.80 to 1.29.81 (#2005)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-01 08:59:54 +01:00
dependabot[bot] 882cdebacb build(deps): bump boto3 from 1.26.79 to 1.26.80 (#2004) 2023-03-01 08:40:41 +01:00
Sergio Garcia 07753e1774 feat(encryption): add new encryption category (#1999) 2023-02-28 13:42:11 +01:00
Pepe Fagoaga 5b984507fc fix(emr): KeyError EmrManagedSlaveSecurityGroup (#2000) 2023-02-28 13:41:58 +01:00
Sergio Garcia 27df481967 chore(metadata): remove tags from metadata (#1998) 2023-02-28 12:27:59 +01:00
dependabot[bot] 0943031f23 build(deps): bump mkdocs-material from 9.0.14 to 9.0.15 (#1993)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-28 11:02:59 +01:00
dependabot[bot] 2d95168de0 build(deps): bump botocore from 1.29.79 to 1.29.80 (#1992)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-28 10:46:25 +01:00
Sergio Garcia 97cae8f92c chore(brew): bump new version to brew (#1990) 2023-02-27 18:07:05 +01:00
github-actions eb213bac92 chore(release): 3.2.4 2023-02-27 14:25:52 +01:00
Sergio Garcia 8187788b2c fix(pypi-release.yml): create PR before replicating (#1986) 2023-02-27 14:16:53 +01:00
Sergio Garcia c80e08abce fix(compliance): solve AWS compliance dir path (#1987) 2023-02-27 14:16:17 +01:00
github-actions[bot] 42fd851e5c chore(release): update Prowler Version to 3.2.3 (#1985)
Co-authored-by: github-actions <noreply@github.com>
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-02-27 13:59:28 +01:00
Pepe Fagoaga 70e4ebccab chore(codeowners): Update team to OSS (#1984) 2023-02-27 13:31:16 +01:00
Sergio Garcia 140f87c741 chore(readme): add brew stats (#1982) 2023-02-27 13:17:48 +01:00
Pepe Fagoaga b0d756123e fix(action): Use PathContext to get version changes (#1983) 2023-02-27 13:17:09 +01:00
Pedro Martín González 6188c92916 chore(compliance): implements dynamic handling of available compliance frameworks (#1977)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-02-27 10:47:47 +01:00
dependabot[bot] 34c6f96728 build(deps): bump boto3 from 1.26.74 to 1.26.79 (#1981)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-27 09:45:45 +01:00
dependabot[bot] 50fd047c0b build(deps): bump botocore from 1.29.78 to 1.29.79 (#1978)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-27 09:14:29 +01:00
Sergio Garcia 5bcc05b536 chore(regions_update): Changes in regions for AWS services. (#1972)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-24 12:10:27 +01:00
Sergio Garcia ce7d6c8dd5 fix(service errors): solve EMR, VPC and ELBv2 service errors (#1974) 2023-02-24 10:49:54 +01:00
dependabot[bot] d87a1e28b4 build(deps): bump alive-progress from 2.4.1 to 3.0.1 (#1965)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-24 10:12:52 +01:00
Pepe Fagoaga 227306c572 fix(acm): Fix issues with list-certificates (#1970) 2023-02-24 10:12:38 +01:00
dependabot[bot] 45c2691f89 build(deps): bump mkdocs-material from 8.2.1 to 9.0.14 (#1964)
Signed-off-by: dependabot[bot] <support@github.com>
2023-02-24 10:03:52 +01:00
Pepe Fagoaga d0c81245b8 fix(directoryservice): tzinfo without _ (#1971) 2023-02-24 10:03:34 +01:00
dependabot[bot] e494afb1aa build(deps): bump botocore from 1.29.74 to 1.29.78 (#1968)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-24 09:43:14 +01:00
dependabot[bot] ecc3c1cf3b build(deps): bump azure-storage-blob from 12.14.1 to 12.15.0 (#1966)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-24 08:42:44 +01:00
dependabot[bot] 228b16416a build(deps): bump colorama from 0.4.5 to 0.4.6 (#1967)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-24 07:56:47 +01:00
Nacho Rivera 17eb74842a fix(cloudfront): handle empty objects in checks (#1962) 2023-02-23 16:57:44 +01:00
Nacho Rivera c01ff74c73 fix(kms): handle if describe_keys returns no value 2023-02-23 15:54:23 +01:00
Sergio Garcia f88613b26d fix(toml): add toml dependency to pypi release action (#1960) 2023-02-23 15:24:46 +01:00
Sergio Garcia 3464f4241f chore(release): 3.2.2 (#1959)
Co-authored-by: github-actions <noreply@github.com>
2023-02-23 15:10:03 +01:00
Sergio Garcia 849b703828 chore(resource-based scan): execute only applicable checks (#1934) 2023-02-23 13:30:21 +01:00
Sergio Garcia 4b935a40b6 fix(metadata): remove us-east-1 in remediation (#1958) 2023-02-23 13:19:10 +01:00
Sergio Garcia 5873a23ccb fix(key errors): solver EMR and IAM errrors (#1957) 2023-02-23 13:15:00 +01:00
Nacho Rivera eae2786825 fix(cloudtrail): Handle when the CloudTrail bucket is in another account (#1956) 2023-02-23 13:04:32 +01:00
github-actions[bot] 6407386de5 chore(regions_update): Changes in regions for AWS services. (#1952)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-23 12:24:36 +01:00
Sergio Garcia 3fe950723f fix(actions): add README to docker action and filter steps for releases (#1955) 2023-02-23 12:22:41 +01:00
Sergio Garcia 52bf6acd46 chore(regions): add secret token to avoid stuck checks (#1954) 2023-02-23 12:11:54 +01:00
Sergio Garcia 9590e7d7e0 chore(poetry): make python-poetry as packaging and dependency manager (#1935)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-02-23 11:50:29 +01:00
github-actions[bot] 7a08140a2d chore(regions_update): Changes in regions for AWS services. (#1950)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-23 08:42:36 +01:00
dependabot[bot] d1491cfbd1 build(deps): bump boto3 from 1.26.74 to 1.26.76 (#1948)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-22 08:01:13 +01:00
dependabot[bot] 695b80549d build(deps): bump botocore from 1.29.75 to 1.29.76 (#1946)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-22 07:50:39 +01:00
Sergio Garcia 11c60a637f release: 3.2.1 (#1945) 2023-02-21 17:22:02 +01:00
Sergio Garcia 844ad70bb9 fix(cloudwatch): allow " in regex patterns (#1943) 2023-02-21 16:46:23 +01:00
Sergio Garcia 5ac7cde577 chore(iam_disable_N_days_credentials): improve checks logic (#1923) 2023-02-21 15:20:33 +01:00
Sergio Garcia ce3ef0550f chore(Security Hub): add status extended to Security Hub (#1921) 2023-02-21 15:11:43 +01:00
Sergio Garcia 813f3e7d42 fix(errors): handle errors when S3 buckets or EC2 instances are deleted (#1942) 2023-02-21 12:31:23 +01:00
Sergio Garcia d03f97af6b fix(regions): add unique branch name (#1941) 2023-02-21 11:53:36 +01:00
github-actions[bot] 019ab0286d chore(regions_update): Changes in regions for AWS services. (#1940)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-21 11:47:03 +01:00
Fennerr c6647b4706 chore(secrets): Improve the status_extended with more information (#1937)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-02-21 11:37:20 +01:00
Sergio Garcia f913536d88 fix(services): solve errors in EMR, RDS, S3 and VPC services (#1913) 2023-02-21 11:11:39 +01:00
dependabot[bot] 640d1bd176 build(deps-dev): bump moto from 4.1.2 to 4.1.3 (#1939)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-21 07:48:08 +01:00
dependabot[bot] 66baccf528 build(deps): bump botocore from 1.29.74 to 1.29.75 (#1938)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-21 07:32:44 +01:00
Sergio Garcia 6e6dacbace chore(security hub): add --skip-sh-update (#1911) 2023-02-20 09:58:00 +01:00
dependabot[bot] cdbb10fb26 build(deps): bump boto3 from 1.26.72 to 1.26.74 (#1933)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-20 07:56:40 +01:00
dependabot[bot] c34ba3918c build(deps): bump botocore from 1.29.73 to 1.29.74 (#1932)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-20 07:34:20 +01:00
Fennerr fa228c876c fix(iam_rotate_access_key_90_days): check only active access keys (#1929)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-02-17 12:53:28 +01:00
dependabot[bot] 2f4d0af7d7 build(deps): bump botocore from 1.29.72 to 1.29.73 (#1926)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-17 12:14:23 +01:00
github-actions[bot] 2d3e5235a9 chore(regions_update): Changes in regions for AWS services. (#1927)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-17 11:13:13 +01:00
dependabot[bot] 8e91ccaa54 build(deps): bump boto3 from 1.26.71 to 1.26.72 (#1925)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-17 10:56:19 +01:00
Fennerr 6955658b36 fix(quick_inventory): handle ApiGateway resources (#1924)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-02-16 18:29:23 +01:00
Fennerr dbb44401fd fix(ecs_task_definitions_no_environment_secrets): dump_env_vars is reintialised (#1922) 2023-02-16 15:59:53 +01:00
dependabot[bot] b42ed70c84 build(deps): bump botocore from 1.29.71 to 1.29.72 (#1919)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-16 14:21:46 +01:00
dependabot[bot] a28276d823 build(deps): bump pydantic from 1.10.4 to 1.10.5 (#1918)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-16 13:51:37 +01:00
Pepe Fagoaga fa4b27dd0e fix(compliance): Set Version as optional and fix list (#1899)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-02-16 12:47:39 +01:00
dependabot[bot] 0be44d5c49 build(deps): bump boto3 from 1.26.70 to 1.26.71 (#1920)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-16 12:38:10 +01:00
github-actions[bot] 2514596276 chore(regions_update): Changes in regions for AWS services. (#1910)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-16 11:56:10 +01:00
dependabot[bot] 7008d2a953 build(deps): bump botocore from 1.29.70 to 1.29.71 (#1909)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-15 07:39:16 +01:00
dependabot[bot] 2539fedfc4 build(deps): bump boto3 from 1.26.69 to 1.26.70 (#1908)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-15 07:12:18 +01:00
Ignacio Dominguez b453df7591 fix(iam-credentials-expiration): IAM password policy expires passwords fix (#1903)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-02-14 13:54:58 +01:00
Pepe Fagoaga 9e5d5edcba fix(codebuild): Handle endTime in builds (#1900) 2023-02-14 11:27:53 +01:00
Nacho Rivera 2d5de6ff99 fix(cross account): cloudtrail s3 bucket logging (#1902) 2023-02-14 11:23:31 +01:00
github-actions[bot] 259e9f1c17 chore(regions_update): Changes in regions for AWS services. (#1901)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-14 10:28:04 +01:00
dependabot[bot] daeb53009e build(deps): bump botocore from 1.29.69 to 1.29.70 (#1898)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-14 08:27:14 +01:00
dependabot[bot] f12d271ca5 build(deps): bump boto3 from 1.26.51 to 1.26.69 (#1897)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-14 07:55:26 +01:00
dependabot[bot] 965185ca3b build(deps-dev): bump pylint from 2.16.1 to 2.16.2 (#1896) 2023-02-14 07:35:29 +01:00
Pepe Fagoaga 9c484f6a78 Release: 3.2.0 (#1894) 2023-02-13 15:42:57 +01:00
Fennerr de18c3c722 docs: Minor changes to logging (#1893) 2023-02-13 15:31:23 +01:00
Fennerr 9be753b281 docs: Minor changes to the intro paragraph (#1892) 2023-02-13 15:20:48 +01:00
Pepe Fagoaga d6ae122de1 docs: Boto3 configuration (#1885)
Co-authored-by: Toni de la Fuente <toni@blyx.com>
2023-02-13 15:20:33 +01:00
Pepe Fagoaga c6b90044f2 chore(Dockerfile): Remove build files (#1886) 2023-02-13 15:19:05 +01:00
Nacho Rivera 14898b6422 fix(Azure_Audit_Info): Added audited_resources field (#1891) 2023-02-13 15:17:11 +01:00
Fennerr 26294b0759 docs: Update AWS Role Assumption (#1890) 2023-02-13 15:13:22 +01:00
Nacho Rivera 6da45b5c2b fix(list_checks): arn filtering checks after audit_info set (#1887) 2023-02-13 14:57:42 +01:00
Acknosyn 674332fddd update(logging): fix plural grammar for checks execution message (#1680)
Co-authored-by: Francesco Badraun <francesco.badraun@zxsecurity.co.nz>
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-02-13 14:33:34 +01:00
Sergio Garcia ab8942d05a fix(service errors): solve errors in IAM, S3, Lambda, DS, Cloudfront services (#1882)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-02-13 10:35:04 +01:00
github-actions[bot] 29790b8a5c chore(regions_update): Changes in regions for AWS services. (#1884)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-13 10:01:43 +01:00
dependabot[bot] 4a4c26ffeb build(deps): bump botocore from 1.29.51 to 1.29.69 (#1883)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-13 09:19:01 +01:00
Sergio Garcia 25c9bc07b2 chore(compliance): add manual checks to compliance CSV (#1872)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-02-10 12:38:13 +01:00
Nacho Rivera d22d4c4c83 fix(cloudtrail_multi_region_enabled): reformat check (#1880) 2023-02-10 12:34:53 +01:00
Sergio Garcia d88640fd20 fix(errors): solve several services errors (AccessAnalyzer, AppStream, KMS, S3, SQS, R53, IAM, CodeArtifact and EC2) (#1879) 2023-02-10 12:26:00 +01:00
github-actions[bot] 57a2fca3a4 chore(regions_update): Changes in regions for AWS services. (#1878)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-10 11:25:00 +01:00
Sergio Garcia f796688c84 fix(metadata): typo in appstream_fleet_session_disconnect_timeout.metadata.json (#1875) 2023-02-09 16:22:19 +01:00
alexr3y d6bbf8b7cc update(compliance): ENS RD2022 Spanish security framework updates (#1809)
Co-authored-by: Sergio Garcia <sergargar1@gmail.com>
2023-02-09 14:14:38 +01:00
Nacho Rivera 37ec460f64 fix(hardware mfa): changed hardware mfa description (#1873) 2023-02-09 14:06:54 +01:00
Sergio Garcia 004b9c95e4 fix(key_errors): handle Key Errors in Lambda and EMR (#1871)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-09 10:32:00 +01:00
github-actions[bot] 86e27b465a chore(regions_update): Changes in regions for AWS services. (#1870)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-09 10:17:18 +01:00
Nacho Rivera 5e9afddc3a fix(permissive role assumption): actions list handling (#1869) 2023-02-09 10:06:53 +01:00
Pepe Fagoaga de281535b1 feat(boto3-config): Use standard retrier (#1868)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2023-02-09 09:58:47 +01:00
Pedro Martín González 9df7def14e feat(compliance): Add 17 new security compliance frameworks for AWS (#1824)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-09 07:39:57 +01:00
Sergio Garcia 5b9db9795d feat(new check): add accessanalyzer_enabled check (#1864)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-08 17:39:25 +01:00
Sergio Garcia 7d2ce7e6ab fix(action): do not trigger action when editing release (#1865) 2023-02-08 17:34:02 +01:00
Oleksandr Mykytenko 3e807af2b2 fix(checks): added validation for non-existing VPC endpoint policy (#1859)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-08 12:13:22 +01:00
Oleksandr Mykytenko 4c64dc7885 Fixed elbv2 service for GWLB resources (#1860)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-08 10:38:34 +01:00
github-actions[bot] e7a7874b34 chore(regions_update): Changes in regions for AWS services. (#1863)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-08 10:36:03 +01:00
dependabot[bot] c78a47788b build(deps): bump cryptography from 39.0.0 to 39.0.1 (#1862) 2023-02-08 08:02:47 +01:00
dependabot[bot] 922698c5d9 build(deps-dev): bump pytest-xdist from 3.1.0 to 3.2.0 (#1858) 2023-02-07 18:04:30 +01:00
Sergio Garcia 8e8a490936 chore(release): 3.1.4 (#1857)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-07 17:49:27 +01:00
Sergio Garcia 231bc0605f fix(output_bucket): Use full path for -o option with output to S3 bucket (#1854)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-02-07 17:28:25 +01:00
Carlos 0298ff9478 Change prowler additional policy json due errors in creation (#1852)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2023-02-07 13:09:12 +01:00
Sergio Garcia 33a25dcf0e fix(exit_code): change sys exit code to 1 in Critical Errors (#1853) 2023-02-07 11:43:14 +01:00
Sergio Garcia 54c16e3cdb chore(security hub): improve securityhub_enabled check logic (#1851)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-07 11:29:39 +01:00
github-actions[bot] 28a978acc2 chore(regions_update): Changes in regions for AWS services. (#1849)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-07 10:58:10 +01:00
dependabot[bot] bea26a461f build(deps-dev): bump openapi-spec-validator from 0.5.4 to 0.5.5 (#1846)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-07 09:58:56 +01:00
Sergio Garcia ed54c5b8b9 feat(exit_code 3): add -z option (#1848)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-07 09:51:46 +01:00
Sergio Garcia 13316b68aa fix(checks): solve different errors in EFS, S3 and VPC (#1841)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-07 09:42:10 +01:00
dependabot[bot] 043986f35b build(deps-dev): bump sure from 2.0.0 to 2.0.1 (#1847)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-07 09:28:26 +01:00
dependabot[bot] 2dc4421dd6 build(deps-dev): bump moto from 4.1.1 to 4.1.2 (#1845)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-07 08:22:55 +01:00
Sergio Garcia 6c16e2bca2 fix(kms): call GetKeyRotationStatus only for Customer Keys (#1842) 2023-02-06 17:07:03 +01:00
Sergio Garcia c2b4a8e115 fix(errors): solve CloudWatch, KMS, EMR and OpenSearch service errors (#1843)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-06 16:59:46 +01:00
Toni de la Fuente 63b7bc8794 chore(issues): update bug_report.md (#1844) 2023-02-06 16:45:52 +01:00
github-actions[bot] f41ae74ae2 chore(regions_update): Changes in regions for AWS services. (#1840) 2023-02-06 09:59:50 +01:00
Pepe Fagoaga 98689d223e fix(lambda-runtime): Init value must be empty string (#1837) 2023-02-06 09:38:35 +01:00
Sergio Garcia f19cf21146 fix(readme): correct PyPi download link (#1836) 2023-02-03 16:43:43 +01:00
Sergio Garcia 24e19e6b18 fix(errors): solve different errors in KMS, EFS and Lambda (#1835)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-03 15:05:07 +01:00
Sergio Garcia 08376cb15e chore(release): 3.1.3 (#1832)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-03 14:32:15 +01:00
Pepe Fagoaga 5f6e4663c0 fix(action): Build from release branch (#1834) 2023-02-03 14:31:43 +01:00
Pepe Fagoaga 9b91c00fcc fix(awslambda_function_no_secrets_in_code): Retrieve Code if set (#1833) 2023-02-03 14:28:31 +01:00
Sergio Garcia 229ab88c2f fix(shub): update link to Security Hub documentation (#1830) 2023-02-03 14:10:27 +01:00
dependabot[bot] 8863d13578 build(deps-dev): bump pylint from 2.16.0 to 2.16.1 (#1823) 2023-02-03 14:03:20 +01:00
Nacho Rivera e07fc9fbb9 fix(cloudtrail): included advanced data events selectors (#1814) 2023-02-03 14:02:16 +01:00
Sergio Garcia 0164574fdd fix(KeyError): handle service key errors (#1831) 2023-02-03 12:28:23 +01:00
github-actions[bot] 98eec332d8 chore(regions_update): Changes in regions for AWS services. (#1829) 2023-02-03 11:30:01 +01:00
Oleksandr Mykytenko 3d2986fc64 fix(metadata) fixed typo in title for awslambda_function_not_publicly… (#1826) 2023-02-03 10:34:24 +01:00
dependabot[bot] 29e7f8581e build(deps-dev): bump openapi-spec-validator from 0.5.2 to 0.5.4 (#1821) 2023-02-02 18:04:24 +01:00
dependabot[bot] 4ee3f6c87a build(deps-dev): bump pylint from 2.15.10 to 2.16.0 (#1815)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-02 11:39:32 +01:00
Sergio Garcia b8c7440e1f fix(KeyError): Handle service key errors (#1819)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-02 11:34:19 +01:00
Sergio Garcia d49ff8d9a4 chore(logs): improve check error logs (#1818) 2023-02-02 11:13:40 +01:00
github-actions[bot] 07198042bd chore(regions_update): Changes in regions for AWS services. (#1817)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-02 10:58:47 +01:00
Sergio Garcia c7a9492e96 feat(scan-type): AWS Resource ARNs based scan (#1807)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-02-01 14:09:22 +01:00
Sergio Garcia 360c6f3c1c fix(cloudtrail): improve cloudtrail_cloudwatch_logging_enabled status extended (#1813)
Co-authored-by: sergargar <sergio@verica.io>
2023-02-01 14:08:11 +01:00
github-actions[bot] 89aab4acd5 chore(regions_update): Changes in regions for AWS services. (#1812)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-02-01 10:15:10 +01:00
Nacho Rivera d9b3e842d9 fix(accessanalyzer): no analyzers using pydantic (#1806) 2023-01-31 13:01:54 +01:00
Sergio Garcia 3ac4dc8392 feat(scanner): Tag-based scan (#1751)
Co-authored-by: Toni de la Fuente <toni@blyx.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-01-31 12:19:29 +01:00
Nacho Rivera 0d1a5318ec feat(audit-metadata): retrieve audit metadata from execution (#1803) 2023-01-31 11:24:01 +01:00
Pepe Fagoaga 94b7a219fd chore(regions): Change feat to chore (#1805) 2023-01-31 10:32:32 +01:00
github-actions[bot] ba3eb71abd feat(regions_update): Changes in regions for AWS services. (#1804)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-01-31 10:22:05 +01:00
Sergio Garcia bbc9e11205 fix(ec2_securitygroup_not_used): ignore default security groups (#1800)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-30 16:51:07 +01:00
Sergio Garcia 75571e4266 fix(iam_avoid_root_usage): correct date logic (#1801) 2023-01-30 16:47:24 +01:00
Sergio Garcia 4e879271a0 fix(iam_policy_no_administrative_privileges): check only *:* permissions (#1802) 2023-01-30 16:47:09 +01:00
Nacho Rivera 552e0fefc3 fix(accessanalyzer_enabled_without_findings): fixed status findings (#1799) 2023-01-30 13:22:05 +01:00
Jose Luis Martinez cb7439a831 feat(allowlist): AWS Lambda function support (#1793) 2023-01-30 11:30:29 +01:00
Sergio Garcia 35d6b8bbc6 chore(readme): add prowler PyPi stats (#1798) 2023-01-30 11:26:09 +01:00
Jose Luis Martinez 48b9220ffc fix(allowlist): validate allowlist for any database format (file, dynamo, s3, etc) (#1792) 2023-01-30 10:30:46 +01:00
ifduyue 5537981877 Use docs.aws.amazon.com like other aws checks, not docs.amazonaws.cn (#1790) 2023-01-30 10:29:18 +01:00
Sergio Garcia 711f24a5b2 fix(partition): add dynamic partition in CloudTrail S3 DataEvents checks (#1787)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-27 10:50:31 +01:00
Sergio Garcia 5d2b8bc8aa fix(kms): add symmetric condition to kms_cmk_rotation_enabled check (#1788)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-27 10:49:40 +01:00
github-actions[bot] f6ea10db2d feat(regions_update): Changes in regions for AWS services. (#1786) 2023-01-27 10:17:22 +01:00
Sergio Garcia fc38ba3acb docs(readme): correct compliance link (#1780) 2023-01-26 12:48:58 +01:00
Sergio Garcia 0830ad268f chore(release): new version 3.1.2 (#1779)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-26 12:44:43 +01:00
github-actions[bot] e633664c2a feat(regions_update): Changes in regions for AWS services. (#1778)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-01-26 10:28:13 +01:00
Ozan-Ekinci d4c7d9a60a docs(grammar): Improved grammar in the Documentation paragraph #HSFDPMUW (#1776) 2023-01-26 10:18:42 +01:00
dependabot[bot] 5ee0d964f3 build(deps-dev): bump coverage from 7.0.5 to 7.1.0 (#1777) 2023-01-26 10:18:00 +01:00
Sergio Garcia ba5e0f145f fix(severity): update severities for Security Hub, GuardDuty and NACL related checks (#1775) 2023-01-25 15:03:43 +01:00
Nacho Rivera 34eb9cc063 fix(cloudtrail_multi_region_enabled.py): fixed region when no trails (#1774) 2023-01-25 14:33:24 +01:00
Sergio Garcia a795fdc40d fix(IAM): remove duplicate list_policies function (#1763)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-25 13:58:58 +01:00
Sergio Garcia 24cba4c4ca chore(contrib): CloudFormation of CodeBuild for v3 (#1764)
Co-authored-by: sergargar <sergio@verica.io>
Co-authored-by: Toni de la Fuente <toni@blyx.com>
2023-01-25 13:57:47 +01:00
Sergio Garcia 3d13f4bb9b fix(apigatewayv2): correct apigatewayv2_access_logging_enabled check title (#1769)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-25 13:56:28 +01:00
Sergio Garcia e713d0d321 chore(readme): update pip package name (#1768) 2023-01-25 13:55:35 +01:00
Sergio Garcia 4e34be87a1 fix(json): close Json correctly when no findings (#1773)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-25 13:54:48 +01:00
Sergio Garcia 07307d37a1 fix(iam): handle credential report errors (#1765)
Co-authored-by: sergargar <sergio@verica.io>
Co-authored-by: n4ch04 <nacho@verica.io>
2023-01-25 10:31:58 +01:00
github-actions[bot] 81463181bc feat(regions_update): Changes in regions for AWS services. (#1772)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-01-25 10:31:04 +01:00
Acknosyn 02e57927fc fix(): IAM status messages switched fail and pass text and some grammar (#1756)
Co-authored-by: Francesco Badraun <francesco.badraun@zxsecurity.co.nz>
Co-authored-by: sergargar <sergio@verica.io>
Co-authored-by: n4ch04 <nachor1992@gmail.com>
2023-01-25 10:29:04 +01:00
Sergio Garcia 36925f0dbd fix(): solve metadata replace (#1755)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-24 13:45:46 +01:00
github-actions[bot] f9b985e03d feat(regions_update): Changes in regions for AWS services. (#1761)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-24 10:39:49 +01:00
dependabot[bot] 598ad62b92 build(deps-dev): bump moto from 4.1.0 to 4.1.1 (#1758)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-24 09:27:05 +01:00
github-actions[bot] ea929ab713 feat(regions_update): Changes in regions for AWS services. (#1748)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-01-23 12:43:51 +01:00
Ozan-Ekinci 04e56ced58 docs: Improved grammar in the AZ CLI / Browser / Managed Identity authentication paragraph #HSFDPMUW (#1745) 2023-01-23 10:24:23 +01:00
Vaibhav Bagaria 2278565b86 Update resource type for SQS and SNS (#1747) 2023-01-23 10:22:26 +01:00
Leon afd0c56b44 fix(docs): Changed the azure subscription file text #HSFDPMUW (#1749) 2023-01-23 09:31:34 +01:00
Sergio Garcia 5ebdf66d22 release: 3.1.1 (#1744)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-20 15:36:27 +01:00
Toni de la Fuente 177d8a72a7 docs: add mapping of v2 to v3 checks and update pip package name in docs (#1742) 2023-01-20 12:50:57 +01:00
Pepe Fagoaga 03ef80dd8e fix(actions): Exclude docs folder in action (#1743) 2023-01-20 12:50:28 +01:00
Pepe Fagoaga 6f9825362a chore(code-ql): test tool (#1703) 2023-01-20 12:31:53 +01:00
github-actions[bot] 2167154064 feat(regions_update): Changes in regions for AWS services. (#1741)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-01-20 10:24:37 +01:00
Sergio Garcia f88b35bd80 fix(rds): remove DocumentDB from RDS (#1737)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-20 09:31:19 +01:00
Nacho Rivera 6b9520338e fix(pipeline): fixed typo in main pipeline (#1740) 2023-01-20 09:30:53 +01:00
Sergio Garcia 438c087856 fix(arguments): improve quiet option (#1723)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-20 09:14:38 +01:00
Nacho Rivera 2a43274b06 feat(dispatch): dispatch triggered actions (#1739) 2023-01-20 09:13:57 +01:00
github-actions[bot] 20a9336867 feat(regions_update): Changes in regions for AWS services. (#1736)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-01-19 12:45:35 +01:00
Sergio Garcia c921782714 feat(allowlist): add yaml structure validator (#1735)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-18 17:49:13 +01:00
Sergio Garcia 776ac9e3d4 fix(lambda): solve lambda errors (#1732)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-18 17:47:45 +01:00
Sergio Garcia d02bd9b717 fix(allowlist): remove re.escape (#1734)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-18 17:45:51 +01:00
Sergio Garcia 50070e8fe7 fix(IAM): add missing permissions for Prowler (#1731)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-18 11:45:37 +01:00
github-actions[bot] e3e3b3e279 feat(regions_update): Changes in regions for AWS services. (#1730)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-01-18 11:01:46 +01:00
Pepe Fagoaga 38fba297e8 fix: remove old example (#1728) 2023-01-17 18:04:12 +01:00
Sergio Garcia 52d65ee4e8 feat(pypi): replicate PyPi package (#1727)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-17 17:53:08 +01:00
Sergio Garcia 9ad2f33dd8 fix: remove check_sample.metadata.json (#1725) 2023-01-17 14:36:00 +01:00
Sergio Garcia 02ae23b11d feat(release): add PyPi GitHub Action (#1724)
Co-authored-by: sergargar <sergio@verica.io>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-01-17 14:33:15 +01:00
Sergio Garcia 70c6d6e7ae release: 3.1.0 (#1722)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-17 13:15:07 +01:00
Sergio Garcia 8efebf992f fix(metadata): fix recommendation in iam_role_cross_service_confused_deputy_prevention check (#1721) 2023-01-17 13:11:46 +01:00
Sergio Garcia b9be94bcc5 feat(README): add pypi downloads (#1720)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-17 13:05:44 +01:00
Sergio Garcia e6310c32ac feat(check): add iam_role_cross_service_confused_deputy_prevention check (#1710)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-17 12:17:37 +01:00
Sergio Garcia 654b4702d0 fix(error): ecr_repositories_scan_vulnerabilities_in_latest_image report not found (#1719)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-17 12:17:15 +01:00
dependabot[bot] 262b5a7ee5 build(deps-dev): bump openapi-spec-validator from 0.5.1 to 0.5.2 (#1716)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-17 12:13:44 +01:00
Pepe Fagoaga ef0d4fe34b fix(fill_html_overview_statistics): Handle if file exists (#1718) 2023-01-17 11:40:05 +01:00
github-actions[bot] c08342f40c feat(regions_update): Changes in regions for AWS services. (#1717)
Co-authored-by: sergargar <sergargar@users.noreply.github.com>
2023-01-17 10:18:40 +01:00
Pepe Fagoaga e7796268b5 feat(only_logs): New logging flag to only show execution logs (#1708) 2023-01-17 10:13:09 +01:00
Nacho Rivera 0cbe80d2ab feat(report): conditional import (#1702)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-01-17 10:00:31 +01:00
Ozan-Ekinci 11d3ba70a0 docs: missing comma in the Service Principal authentication paragraph (#1713)
Co-authored-by: Ozan-Can Ekinci <ozan-can.ekinci1@informatik.hs-fulda>
2023-01-17 08:50:52 +01:00
dependabot[bot] c30e4c4867 build(deps-dev): bump pytest from 7.2.0 to 7.2.1 (#1715)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-17 08:42:48 +01:00
Sergio Garcia d1e5087c18 fix(): add permissions to Github action (#1712) 2023-01-16 16:04:57 +01:00
Gabriel Soltz 618dd442e3 Incorrect ResourceType for check ec2_elastic_ip_unassgined (#1711) 2023-01-16 14:16:35 +01:00
Sergio Garcia 7f26fdf2d0 feat(iam): add IAM Role Class (#1709)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-16 11:47:23 +01:00
Gabriel Soltz 64090474e1 fix(apigateway): Add ApiGateway ResourceArn and check fixes (#1707)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-16 10:23:14 +01:00
Leon a69c28713a fix(docs): Include multiple commas in the troubleshooting file #HSFDPMUW (#1706) 2023-01-16 09:05:24 +01:00
Leon 1d4b3095af fix(docs): Include a new comma in the Basic Usage paragraph #HSFDPMUW (#1705) 2023-01-16 09:04:48 +01:00
Sergio Garcia ff75125af8 fix(docs): correct permissions links (#1701) 2023-01-13 10:28:54 +01:00
Toni de la Fuente aa0025abbe fix(quick_inventory): Prowler quick inventory for US GovCloud and China (#1698) 2023-01-12 17:40:10 +01:00
Sergio Garcia c9436da235 fix: Solve IAM policy Errors (#1692)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-12 17:39:09 +01:00
Sergio Garcia 12f1eaace7 fix: VPC Key Error (#1695)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-12 17:35:57 +01:00
Sergio Garcia 09ef8aba0f fix(): set default region CloudWatch (#1693)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-12 17:17:40 +01:00
Toni de la Fuente 08c094b8a5 docs(SECURITY.md): Include Security Policy (#1697)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-01-12 17:16:46 +01:00
Sergio Garcia e9fb4410cd fix(docs): Add security section and solve images location (#1696)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
Co-authored-by: Toni de la Fuente <toni@blyx.com>
2023-01-12 17:16:34 +01:00
Nacho Rivera cbdda22a33 fix: deleted test exclusion in name loading checks (#1694) 2023-01-12 15:43:54 +01:00
Sergio Garcia fe906477da fix(aws_regions_by_service.json): FileNotFoundError[13] (#1689)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-12 13:24:03 +01:00
dependabot[bot] b03df619df build(deps-dev): bump coverage from 7.0.4 to 7.0.5 (#1688)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-12 11:32:41 +01:00
Sergio Garcia 53d89d8d17 fix: solve multiple errors (#1690)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-12 11:29:33 +01:00
Sergio Garcia 1e5a1f3e1f fix: remove unnecessary print (#1686)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-12 08:58:15 +01:00
Nacho Rivera 6efe2979c6 fix(): Edit troubleshooting page (#1685) 2023-01-11 11:18:37 +01:00
Sergio Garcia 92cc2c8e69 fix(config): path error in Windows environment (#1684)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-10 17:06:14 +01:00
dependabot[bot] 50dd2e4179 build(deps-dev): bump vulture from 2.6 to 2.7 (#1677)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-10 08:26:44 +01:00
dependabot[bot] 7a8fd9c3d3 build(deps-dev): bump coverage from 7.0.3 to 7.0.4 (#1678)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-10 08:15:55 +01:00
dependabot[bot] d5a3fc490b build(deps-dev): bump moto from 4.0.13 to 4.1.0 (#1675)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-10 07:56:16 +01:00
dependabot[bot] 13f948062b build(deps-dev): bump pylint from 2.15.9 to 2.15.10 (#1676)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-10 07:43:54 +01:00
Fennerr b965fda226 feat(ecs_task_definitions_no_environment_secrets): Update resource_id (#1665)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-09 16:05:45 +01:00
Sergio Garcia f9d67f0e9d fix(compliance): Security Hub working with compliance (#1673)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-09 14:18:12 +01:00
Sergio Garcia 4dfa20e40b fix(Security Hub): associate resource_arn as resourceId (#1672)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-09 14:16:57 +01:00
Gabriel Soltz d5edbaa3a9 fix(s3): Add S3 ResourceArn (#1666)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-09 11:04:09 +01:00
Leon 0cd5ce8c29 fix(docs): Include a comma in the permissions paragraph (#1668) 2023-01-09 09:52:36 +01:00
Sergio Garcia 1c50a87ca2 fix(trustedadvisor_errors_and_warnings): add region (#1662)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-05 17:57:21 +01:00
Sergio Garcia efa83e05e4 release: 3.0.2 (#1660)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-05 14:01:24 +01:00
Fennerr 76a694d043 feat(): add ECS task revision number (#1657)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-05 13:36:32 +01:00
Fennerr 571280f0cd feat(): update recommendation of ecs_task_definitions_no_environment_secrets (#1658) 2023-01-05 13:11:05 +01:00
dependabot[bot] c2fc01608e build(deps-dev): bump moto from 4.0.12 to 4.0.13 (#1656) 2023-01-05 08:52:19 +01:00
dependabot[bot] 2ba144843a build(deps-dev): bump coverage from 7.0.2 to 7.0.3 (#1655) 2023-01-05 07:57:49 +01:00
Sergio Garcia 458dadc9b6 fix(contrib): Update contrib folder (#1635) 2023-01-04 13:11:51 +01:00
Gabriel Soltz 6ed0c59762 feat(ec2): Add ResourceArn (#1649)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-04 11:55:58 +01:00
Sergio Garcia 54fbaa808e fix(glacier): handle no vault policy error (#1650)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-04 11:41:56 +01:00
Nacho Rivera f0db63da35 fix(): Refresh credentials when assuming role (#1636) 2023-01-04 08:48:00 +01:00
Sergio Garcia 9b8c80b74d fix(codeartifact): set Namespace attribute as optional (#1648)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-03 16:04:40 +01:00
github-actions[bot] 0c23b6af84 feat(regions_update): Changes in regions for AWS services. (#1646) 2023-01-03 14:00:09 +01:00
Sergio Garcia 1189177079 fix: GH Action permissions (#1644) 2023-01-03 13:58:49 +01:00
Sergio Garcia 794402e92d fix: add Github Action permission (#1643)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-01-03 13:32:09 +01:00
Sergio Garcia 0de6d87af5 feat(aws-regions): update refresh regions action (#1641)
Co-authored-by: sergargar <sergio@verica.io>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2023-01-03 12:59:08 +01:00
dependabot[bot] 567c150eaa build(deps-dev): bump coverage from 7.0.1 to 7.0.2 (#1640) 2023-01-03 08:03:29 +01:00
Peter Dave Hello 7ea9225277 Remove additional apk update in Dockerfile (#1617) 2023-01-02 18:41:46 +01:00
Sergio Garcia df25ead15a fix(): update pipfile.lock (#1639)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-02 17:25:07 +01:00
Nacho Rivera 5227d57a55 fix(): Delete old reqs from issue template (#1638) 2023-01-02 17:17:24 +01:00
Sergio Garcia 8db86992aa fix(outputs): apply -q to security hub (#1637)
Co-authored-by: sergargar <sergio@verica.io>
2023-01-02 15:56:49 +01:00
Nacho Rivera 79c09e613b fix(): password enabled issues in iam_user_mfa_enabled_console_access (#1634) 2023-01-02 14:08:45 +01:00
Pepe Fagoaga 99d1cea537 fix(output_filename): Use custom output filename when set (#1632) 2023-01-02 10:37:01 +01:00
Christian Clauss 98bc3f18fe docs: Fix typo in Azure documentation (#1619) 2023-01-02 08:27:44 +01:00
github-actions[bot] b007d01057 feat(regions_update): Changes in regions for AWS services. (#1629)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2023-01-02 08:26:18 +01:00
dependabot[bot] ea85e0824b build(deps-dev): bump coverage from 7.0.0 to 7.0.1 (#1618)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-02 08:22:49 +01:00
Toni de la Fuente d75b48877d docs(install): Add multiple ways to install Prowler (#1627) 2023-01-02 08:09:22 +01:00
Ikko Ashimine 94bda8c17d docs(AWS-Role): fixed typo (#1610) 2022-12-26 12:06:29 +01:00
Pepe Fagoaga f05cb2859e fix(output-filename): Handle argument (#1604) 2022-12-23 14:11:32 +01:00
Sergio Garcia 3c6254f086 feat(3.0.1): 3.0.1 release (#1601)
Co-authored-by: sergargar <sergio@verica.io>
2022-12-23 12:51:35 +01:00
Sergio Garcia d9dc6c0a49 fix(global_services): handle global regions correctly (#1594)
Co-authored-by: sergargar <sergio@verica.io>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2022-12-23 12:32:31 +01:00
Nacho Rivera 3cfe1b8376 docs: Include Azure requirements in README (#1600) 2022-12-23 12:31:16 +01:00
Nacho Rivera 83275c5fd0 fix(send to s3): fixed send to s3 feature (#1599) 2022-12-23 11:38:42 +01:00
Pepe Fagoaga e4698b5843 fix(check_report): Init status field and fix stats output (#1580) 2022-12-23 11:16:39 +01:00
Pepe Fagoaga c4b134c0b5 fix(refresh-aws-regions): Change branch (#1598) 2022-12-23 10:30:44 +01:00
Sergio Garcia 5065cdb9e6 fix(sqs): Get SQS encryption (#1596)
Co-authored-by: sergargar <sergio@verica.io>
2022-12-23 10:24:10 +01:00
Sergio Garcia f72be9a1e4 feat(errors): prettify unknown service errors (#1592)
Co-authored-by: sergargar <sergio@verica.io>
2022-12-22 17:02:28 +01:00
Sergio Garcia a53f9eb294 fix(aws-cn partition): solve aws-cn partition errors (#1576)
Co-authored-by: sergargar <sergio@verica.io>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2022-12-22 15:39:50 +01:00
Sergio Garcia 44e0eedac2 fix(efs): handle PolicyNotFound error (#1591)
Co-authored-by: sergargar <sergio@verica.io>
2022-12-22 15:38:16 +01:00
Sergio Garcia d894556191 fix(shub): Handle Security Hub InvalidAccessException error (#1590)
Co-authored-by: sergargar <sergio@verica.io>
2022-12-22 15:13:20 +01:00
Nacho Rivera 00cac892a7 fix(list services): Solve list services issue (#1587) 2022-12-22 15:00:08 +01:00
Sergio Garcia 167d332257 fix(vpc): endpoint policy error (#1588)
Co-authored-by: sergargar <sergio@verica.io>
2022-12-22 14:50:55 +01:00
Sergio Garcia 258abf6fe3 fix(iam): handle NoSuchEntity error (#1589)
Co-authored-by: sergargar <sergio@verica.io>
2022-12-22 14:49:41 +01:00
Sergio Garcia 451b362c52 fix(ECR): handle ECR errors that are not AccessDenied (#1586)
Co-authored-by: sergargar <sergio@verica.io>
2022-12-22 13:29:59 +01:00
Sergio Garcia ff6b433661 fix(errors): Handle S3 errors that are not Access Denied (#1585)
Co-authored-by: sergargar <sergio@verica.io>
2022-12-22 13:26:22 +01:00
dependabot[bot] 3af2a44c70 build(deps-dev): bump pylint from 2.15.8 to 2.15.9 (#1569)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2022-12-22 13:10:21 +01:00
dependabot[bot] 7f712e4d72 build(deps-dev): bump moto from 4.0.11 to 4.0.12 (#1570)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-22 13:02:17 +01:00
Jonty Behr 28dee33e4f docs(links): Update broken links to permissions folder (#1584) 2022-12-22 12:59:04 +01:00
dependabot[bot] 2d0b503f9f build(deps-dev): bump coverage from 6.5.0 to 7.0.0 (#1568)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-22 12:51:52 +01:00
Pepe Fagoaga b0b706e2f4 feat(dependabot): Daily check (#1582) 2022-12-22 12:34:23 +01:00
Pepe Fagoaga 0391fad32b feat(issues): Disable blank issues (#1583) 2022-12-22 12:32:19 +01:00
Pepe Fagoaga 167902616c test(credential_report): Improve credential report tests (#1579) 2022-12-22 12:20:54 +01:00
Sergio Garcia ea42a6274b fix(logs): add check_name to logs (#1574) 2022-12-22 11:48:44 +01:00
Pepe Fagoaga 65e72d6937 fix(issue_template): Update for Prowler v3 (#1581) 2022-12-22 11:02:25 +01:00
Sergio Garcia bb5ba8c37c fix(description): pyproject.toml description (#1567) 2022-12-21 12:08:46 +01:00
Pepe Fagoaga f5e5921abc feat(dependabot): Automatic updates (#1564) 2022-12-21 12:02:29 +01:00
Pepe Fagoaga 80a8cfb6a6 fix(build-push): Update for 3.0 (#1563) 2022-12-21 11:47:32 +01:00
Pepe Fagoaga 4e34040e62 docs(usage): Format epilog (#1562) 2022-12-21 10:42:19 +01:00
github-actions[bot] ba2620d91d feat(regions_update): Changes in regions for AWS services. (#1561)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-12-21 10:15:51 +01:00
Pepe Fagoaga c2ae4a5efd docs(README): Chame img relative paths to permalinks (#1560) 2022-12-21 09:25:20 +01:00
Toni de la Fuente 62c1ce73bb feat(docs): added AWS CloudShell and rename FAQ to Troubleshooting (#1559) 2022-12-21 08:39:07 +01:00
Sergio Garcia bab6380d68 fix: Refactor Outputs (#1548) 2022-12-20 18:23:30 +01:00
github-actions[bot] 9502355d22 feat(regions_update): Changes in regions for AWS services. (#1557)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-12-20 13:09:12 +01:00
Pepe Fagoaga a82d9591ab fix(Dockerfile): Build from source (#1555)
Co-authored-by: sergargar <sergio@verica.io>
2022-12-20 13:08:53 +01:00
Pepe Fagoaga d8fe11f393 docs(AWS-Role): Include section and remove CLI (#1556)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2022-12-20 13:01:26 +01:00
Toni de la Fuente df5963082c docs: Add multiaccount scan in docs (#1554) 2022-12-20 11:47:52 +01:00
Toni de la Fuente c3980e4f27 docs: General changes (#1552)
Co-authored-by: Sergio Garcia <sergio@verica.io>
2022-12-19 18:29:26 +01:00
Toni de la Fuente a7155300d3 update(docs): update compliance and links (#1551)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2022-12-19 17:00:33 +01:00
Pepe Fagoaga b622fe7229 feat(HTML): Fix layout and include stats (#1549) 2022-12-19 14:34:41 +01:00
Sergio Garcia 2ddf3c8881 feat(docs): add Powler config.yaml information to docs (#1546)
Co-authored-by: sergargar <sergio@verica.io>
2022-12-19 14:27:25 +01:00
Pepe Fagoaga 38ba009794 delete: Old Dockerfile (#1550) 2022-12-19 14:23:16 +01:00
Pepe Fagoaga a55649b3e1 feat(outputs): Unify classes to generate outputs dynamically based on the provider (#1545)
Co-authored-by: n4ch04 <nachor1992@gmail.com>
Co-authored-by: sergargar <sergio@verica.io>
2022-12-19 13:03:04 +01:00
github-actions[bot] fdf80ed89d feat(regions_update): Changes in regions for AWS services. (#1544) 2022-12-16 12:20:44 +01:00
Pepe Fagoaga 2da27d59b6 fix: Release fixes (#1543) 2022-12-15 15:16:29 +01:00
Sergio Garcia b67e718412 feat(config): add comments to config (#1542)
Co-authored-by: sergargar <sergio@verica.io>
2022-12-15 10:41:21 +01:00
github-actions[bot] b05286f455 feat(regions_update): Changes in regions for AWS services. (#1541)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-12-15 10:22:37 +01:00
Pepe Fagoaga 2a5f032a52 feat(args): Global and provider-specific arguments (#1540) 2022-12-14 17:39:05 +01:00
github-actions[bot] 27a79d9c8c feat(regions_update): Changes in regions for AWS services. (#1524) 2022-12-14 15:06:02 +01:00
Nacho Rivera 7ff72c048a feat(Audit_Info): Unifying import set audit info for different providers (#1538) 2022-12-14 11:34:14 +01:00
Sergio Garcia 388c0b2b9f feat(parse_regions): Add AWS regions parser && Dockerfile (#1537) 2022-12-13 19:00:43 +01:00
Sergio Garcia bb09267f2a feat(pip): Prepare for PyPI (#1531) 2022-12-13 09:07:55 +01:00
Sergio Garcia 0cd13b90f4 feat(docs): Add compliance and inventory docs (#1534) 2022-12-12 17:20:45 +01:00
Sergio Garcia fbb39a364e feat(quick_inventory): add quick inventory (#1533)
Co-authored-by: sergargar <sergio@verica.io>
2022-12-07 19:02:05 +01:00
Sergio Garcia 7bffe6b2d5 fix(html): fix error html generator (#1530)
Co-authored-by: sergargar <sergio@verica.io>
Co-authored-by: Toni de la Fuente <toni@blyx.com>
2022-12-07 13:04:38 +01:00
Sergio Garcia df4b89366c feat(docs): add new docs and readme (#1529)
Co-authored-by: sergargar <sergio@verica.io>
Co-authored-by: n4ch04 <nachor1992@gmail.com>
2022-12-07 12:08:30 +01:00
Sergio Garcia 05075d6508 feat(cis_ouput): add csv output and table (#1532)
Co-authored-by: sergargar <sergio@verica.io>
2022-12-07 12:06:28 +01:00
Nacho Rivera 5e40d93d63 feat(Azure): Include multiple authentication (#1528) 2022-12-02 09:20:56 +01:00
Pepe Fagoaga c2f5177afa fix(list-groups): Delete option (#1527) 2022-11-29 16:51:06 +01:00
Nacho Rivera e5e01e51a9 feat(azure): subscription as parameter (#1526) 2022-11-29 13:46:38 +01:00
Sergio Garcia 8f802f1241 feat(html): add html output (#1525)
Co-authored-by: sergargar <sergio@verica.io>
2022-11-29 13:44:52 +01:00
Pepe Fagoaga a54372e05e feat(categories): Remove old groups and use categories from metadata (#1523) 2022-11-29 11:09:50 +01:00
Nacho Rivera f964439a15 fix(Pipfile): pipfile azure packages from dev to general (#1522) 2022-11-28 13:25:00 +01:00
github-actions[bot] 309c1e004b feat(regions_update): Changes in regions for AWS services. (#1516)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-11-28 12:19:02 +01:00
Pepe Fagoaga 9d91250f05 fix(globalaccelerator): Region must be us-west-2 (#1518) 2022-11-28 12:12:49 +01:00
Pepe Fagoaga 1f7262aaaa fix(route53domains): Set us-east-1 as region (#1521) 2022-11-28 12:12:20 +01:00
Nacho Rivera 9a5e433489 fix(outputs): Table and Azure metadata (#1520) 2022-11-28 11:16:13 +01:00
Pepe Fagoaga d1f5d58eeb fix(directoryservice): Use ID instead of Name (#1519) 2022-11-28 11:08:52 +01:00
Nacho Rivera e3d118f5bc feat(): Azure provider and checks (#1517)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2022-11-28 10:07:25 +01:00
Pepe Fagoaga 1a11f5777a fix(compliance): List Compliance Requirements (#1514) 2022-11-23 17:53:49 +01:00
Pepe Fagoaga b3e57ca3e5 feat(compliance): Loader and Execute (#1465) 2022-11-23 15:53:53 +01:00
github-actions[bot] 1a70a45805 feat(regions_update): Changes in regions for AWS services. (#1508) 2022-11-23 15:11:22 +01:00
Sergio Garcia 989638a42d feat(RDS): Service and missing checks (#1513) 2022-11-23 14:34:51 +01:00
Sergio Garcia 9204142eaf feat(display): add progress bar and summary table (#1512)
Co-authored-by: sergargar <sergio@verica.io>
2022-11-22 11:18:43 +01:00
alexr3y af1d85ae75 feat(compliance): ENS RD2022 first draft and json converter (#1502) 2022-11-21 12:13:24 +01:00
Toni de la Fuente 25d92ca4b0 feat(CIS): Compliance for CIS AWS 1.4 and 1.5 (#1509) 2022-11-21 11:30:21 +01:00
Sergio Garcia 52a3e990c6 feat(shield): Service and checks (#1504) 2022-11-21 10:18:54 +01:00
Pepe Fagoaga 1370e0dec4 fix(directoryservice): Errors related to the DS Type (#1506) 2022-11-21 09:59:37 +01:00
github-actions[bot] f99a89eae2 feat(regions_update): Changes in regions for AWS services. (#1484)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-11-21 07:54:13 +01:00
Pepe Fagoaga 9954763356 feat(Lambda): Service and checks (#1491) 2022-11-17 22:59:28 +01:00
Nacho Rivera 538496ed6b feat(): workspace service and checks (#1503) 2022-11-17 22:59:14 +01:00
Nacho Rivera 7d80a9d048 feat(): ECS service and checks (#1476)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
Co-authored-by: sergargar <sergio@verica.io>
2022-11-17 22:54:38 +01:00
Nacho Rivera a0ef56f245 feat(): sqs service and checks (#1501) 2022-11-17 22:51:36 +01:00
Sergio Garcia e016fb2d6b feat(TrustedAvisor): add TrustedAvisor tests and checks (#1498)
Co-authored-by: sergargar <sergio@verica.io>
2022-11-17 22:36:06 +01:00
Sergio Garcia 62081cb399 feat(ec2): add extra7124 (#1500)
Co-authored-by: sergargar <sergio@verica.io>
2022-11-17 22:34:56 +01:00
Sergio Garcia bfc8c90abb feat(Glue): add Glue tests and checks (#1495)
Co-authored-by: sergargar <sergio@verica.io>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2022-11-17 21:06:15 +01:00
Sergio Garcia 967990b76d feat(EC2): add EC2 tests and checks (#1482)
Co-authored-by: sergargar <sergio@verica.io>
2022-11-17 21:01:47 +01:00
Pepe Fagoaga 6ff9f30473 feat(ssm): Service and checks (#1496) 2022-11-17 20:59:55 +01:00
Nacho Rivera 025b0547cd feat(): redshift service and checks (#1497)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2022-11-17 20:50:30 +01:00
Sergio Garcia 3370475fe9 feat(ELB): add ELB and ELBv2 tests and checks (#1489)
Co-authored-by: sergargar <sergio@verica.io>
2022-11-17 20:30:27 +01:00
Pepe Fagoaga 12896cceaa feat(Route53): Service and checks (#1493)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2022-11-17 19:57:20 +01:00
Nacho Rivera 62ffe26b42 feat(): sns checks and services (#1494)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2022-11-17 19:45:41 +01:00
Nacho Rivera c83c4d0892 feat(): ECR service and checks (#1475)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
Co-authored-by: sergargar <sergio@verica.io>
2022-11-17 19:41:03 +01:00
Nacho Rivera 9ff9b68d91 feat(): guardduty checks and service (#1492) 2022-11-17 19:29:36 +01:00
Nacho Rivera daa299c7a6 feat(): Sagemaker service and checks (#1490)
Co-authored-by: sergargar <sergio@verica.io>
2022-11-17 12:56:36 +01:00
Nacho Rivera 67b5de205b feat(): EKS service and checks (#1479)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
Co-authored-by: sergargar <sergio@verica.io>
2022-11-17 11:50:13 +01:00
Nacho Rivera 5a9c064943 feat(): opensearch service and checks (#1487)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2022-11-17 11:48:18 +01:00
Pepe Fagoaga 24ca19d502 feat(EMR): Service and checks (#1486)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2022-11-17 11:31:20 +01:00
Pepe Fagoaga d2d2c75967 feat(directoryservice): Service and checks (#1477) 2022-11-17 11:16:36 +01:00
Pepe Fagoaga 684b7fe0b8 feat(secretsmanager): Service and check (#1483) 2022-11-16 10:23:05 +01:00
Pepe Fagoaga 2c5320a0b0 feat(CloudFront): Service and Checks (#1470) 2022-11-16 10:21:43 +01:00
Pepe Fagoaga 30738d7810 feat(Glacier): Service and check (#1480) 2022-11-15 17:41:58 +01:00
Sergio Garcia 5281d521f4 feat(DynamoDB): add DynamoDB service and checks (#1468)
Co-authored-by: sergargar <sergio@verica.io>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2022-11-15 14:21:09 +01:00
github-actions[bot] 58bdbadb11 feat(regions_update): Changes in regions for AWS services. (#1478) 2022-11-15 11:16:28 +01:00
github-actions[bot] e9b2f1d2fb feat(regions_update): Changes in regions for AWS services. (#1466)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-11-14 17:54:46 +01:00
Sergio Garcia 8c8763a620 feat(CIS checks): Complete CIS checks (#1461)
Co-authored-by: sergargar <sergio@verica.io>
Co-authored-by: Nacho Rivera <59198746+n4ch04@users.noreply.github.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2022-11-14 17:50:26 +01:00
Pepe Fagoaga 6497f7bfe8 fix(codebuild_project_user_controlled_buildspec): regex (#1474) 2022-11-14 17:35:23 +01:00
Pepe Fagoaga 9b035230ac feat(CodeArtifact): Service and checks (#1473) 2022-11-14 16:28:00 +01:00
Pepe Fagoaga 9d3bff9e54 fix: Linter issues (#1471)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2022-11-14 16:21:51 +01:00
Nacho Rivera 3b86b3ac77 feat(codebuild): codebuild service and checks (#1467) 2022-11-14 15:09:56 +01:00
Nacho Rivera c87327bb77 feat(EFS): Service and checks (#1469)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
Co-authored-by: sergargar <sergio@verica.io>
2022-11-14 15:05:41 +01:00
github-actions[bot] c9880b953f feat(regions_update): Changes in regions for AWS services. (#1457) 2022-11-10 18:13:20 +01:00
Sergio Garcia b187bf12c2 feat(CloudWatch): add CloudWatch service and checks (#1456)
Co-authored-by: sergargar <sergio@verica.io>
Co-authored-by: Nacho Rivera <59198746+n4ch04@users.noreply.github.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2022-11-10 13:29:46 +01:00
Sergio Garcia 19ab29628f feat(S3): add S3 service and checks (#1450)
Co-authored-by: sergargar <sergio@verica.io>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2022-11-08 18:06:06 +01:00
github-actions[bot] bbecd505eb feat(regions_update): Changes in regions for AWS services. (#1453) 2022-11-08 12:26:57 +01:00
Pepe Fagoaga 69d3a9e363 feat(cloudformation): Service and Checks (#1454)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2022-11-07 16:17:38 +01:00
Pepe Fagoaga f5873fe0d7 feat(appstream): Service and Checks (#1452) 2022-11-07 16:16:58 +01:00
Nacho Rivera 4762e1cc4c feat(test): Remaining IAM tests (#1451) 2022-11-04 13:38:22 +01:00
Nacho Rivera 8ae989cce8 feat(cloudtrail): cloudtrail service and checks (#1449)
Co-authored-by: sergargar <sergio@verica.io>
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2022-11-03 15:39:41 +01:00
Sergio Garcia c6adf3a6d8 feat(account): Aaccount service and manual checks (#1446)
Co-authored-by: sergargar <sergio@verica.io>
2022-11-02 11:36:57 +01:00
Pepe Fagoaga 976e07c125 feat(services): Sort services alphabetically (#1443) 2022-10-31 15:06:01 +01:00
Sergio Garcia 7c1dc1c977 feat(count): add number of services and checks (#1442) 2022-10-31 14:49:54 +01:00
Sergio Garcia 3e749dd652 feat(config): add config service and checks and check43 (#1441)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2022-10-31 14:37:59 +01:00
Sergio Garcia adf04ba632 feat(apigateway): Service and checks for APIGW v1 and v2 (#1415) 2022-10-31 14:13:11 +01:00
Sergio Garcia f7842fdcdd feat(kms): add service, checks and tests (#1439) 2022-10-28 12:30:34 +02:00
Sergio Garcia b2976984d3 feat(vpc): add service, checks and tests (#1432) 2022-10-28 12:15:15 +02:00
Sergio Garcia 7e1b0d13c7 feat(autoscaling): Add AutoScaling service, check and test (#1426) 2022-10-28 09:33:29 +02:00
Pepe Fagoaga 8487777f96 fix(typo): FPT -> FTP (#1431) 2022-10-26 08:57:45 +02:00
Nacho Rivera 2d86254549 fix(allowlist): allowlist file default value (#1425)
Co-authored-by: sergargar <sergio@verica.io>
2022-10-24 09:29:24 +02:00
github-actions[bot] e77486f771 feat(regions_update): Changes in regions for AWS services. (#1424) 2022-10-24 09:14:28 +02:00
Sergio Garcia 53f8a9698f feat(allowlist): Add Allowlist feature (#1395) 2022-10-21 11:33:23 +02:00
Sergio Garcia bd6eb723dd feat(ACM): Add check and service for ACM (#1365) 2022-10-20 17:17:12 +02:00
Sergio Garcia 5c78e6b171 feat(line_no): Add line number to errors (#1422) 2022-10-20 14:32:35 +02:00
github-actions[bot] 44ce95979b feat(regions_update): Changes in regions for AWS services. (#1421) 2022-10-20 11:54:22 +02:00
Nacho Rivera 44ce00d6e9 fix(iam_user_two_active_access_key_test): fix tests (#1418) 2022-10-20 08:34:28 +02:00
Nacho Rivera df0925394b feat(extra7100): Migrate check extra7100 -> iam_no_custom_policy_permissive_role_assumption (#1417) 2022-10-20 08:10:54 +02:00
Sergio Garcia 5b5b0b0405 feat(securityhub_check): Add check and service for SecurityHub (#1360)
Co-authored-by: Toni de la Fuente <toni@blyx.com>
Co-authored-by: sergargar <sergio@verica.io>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2022-10-19 15:21:07 +02:00
github-actions[bot] 6e73321a95 feat(regions_update): Changes in regions for AWS services. (#1416) 2022-10-19 12:11:28 +02:00
Nacho Rivera d09020d144 feat(iam): Add IAM checks (#1407)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2022-10-19 09:51:25 +02:00
Nacho Rivera e2a8fa8738 feat(iam_check_saml_providers_sts): Check and test (#1413) 2022-10-18 13:23:50 +02:00
Toni de la Fuente 1119ee54af feat(accessanalyzer): Check accessanalyzer_enabled_without_findings (#1359)
Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2022-10-18 12:26:42 +02:00
github-actions[bot] e6cd7c838f feat(regions_update): Changes in regions for AWS services. (#1414)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-10-18 12:21:39 +02:00
Nacho Rivera 2b59068e50 feat(password_policy_checks): Include password policy checks (#1364) 2022-10-18 10:15:15 +02:00
github-actions[bot] 5cc3888022 feat(regions_update): Changes in regions for AWS services. (#1406)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-10-17 08:09:53 +02:00
github-actions[bot] 78975c286a feat(regions_update): Changes in regions for AWS services. (#1404)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-10-14 11:20:08 +02:00
github-actions[bot] 7a40d9c44b feat(regions_update): Changes in regions for AWS services. (#1392)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-10-07 11:57:42 +02:00
github-actions[bot] 460b71e3d9 feat(regions_update): Changes in regions for AWS services. (#1387)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-10-06 11:08:26 +02:00
Sergio Garcia 107070e6e2 feat(shodan_integration): add ec2_elastic_ip_shodan check and config yaml (#1356)
Co-authored-by: sergargar <sergio@verica.io>
2022-10-05 13:48:34 +02:00
github-actions[bot] fb176f56d0 feat(regions_update): Changes in regions for AWS services. (#1378)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-09-30 11:11:07 +02:00
github-actions[bot] f67dc57384 feat(regions_update): Changes in regions for AWS services. (#1373)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-09-22 11:08:50 +02:00
github-actions[bot] dc7c0cd981 feat(regions_update): Changes in regions for AWS services. (#1371)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-09-16 11:07:52 +02:00
github-actions[bot] 5cda2ad19f feat(regions_update): Changes in regions for AWS services. (#1367)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-09-15 12:10:27 +02:00
github-actions[bot] 470b2ae369 feat(regions_update): Changes in regions for AWS services. (#1366)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-09-13 11:07:28 +02:00
github-actions[bot] 14ee08ce6d feat(regions_update): Changes in regions for AWS services. (#1363)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-09-09 13:55:50 +02:00
github-actions[bot] c85b2567f7 feat(regions_update): Changes in regions for AWS services. (#1361) 2022-09-08 14:22:34 +02:00
github-actions[bot] ef110128f2 feat(regions_update): Changes in regions for AWS services. (#1358) 2022-09-05 10:42:50 +02:00
github-actions[bot] 1fc249e772 feat(regions_update): Changes in regions for AWS services. (#1355)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-09-01 16:59:34 +02:00
Pepe Fagoaga 7388cb33d4 test(iam_user_two_active_access_key_test): Create unit tests (#1354)
Co-authored-by: sergargar <sergio@verica.io>
2022-09-01 13:35:00 +02:00
Sergio Garcia f40c8f2dc5 feat(output-bucket-no-assume): add -D flag (#1353)
Co-authored-by: sergargar <sergio@verica.io>
2022-08-31 16:40:59 +02:00
Sergio Garcia eb914d03ce feat(services_testing): Add tests for EC2, IAM and S3 services (#1352)
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
Co-authored-by: sergargar <sergio@verica.io>
2022-08-31 13:40:28 +02:00
StylusFrost e087f2e1b6 fix(check_network_acl): check with all rules together (#1350) 2022-08-30 13:58:50 +01:00
github-actions[bot] f0c24d5152 feat(regions_update): Changes in regions for AWS services. (#1351)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-08-30 11:12:01 +02:00
Sergio Garcia 44f514f02c feat(s3_output): send outputs to S3 bucket (#1343) 2022-08-29 08:43:34 +02:00
Sergio Garcia a63c42f59c feat(custom_filename): custom output filename (#1345)
* feat(s3_output): send outputs to S3 bucket

* feat(custom_filename): custom output filename

Co-authored-by: sergargar <sergio@verica.io>
2022-08-26 13:08:34 +02:00
Sergio Garcia 65185943ca feat(shub_compatibility): send finding to filter regions and change checkType to list (#1341) 2022-08-26 11:24:12 +01:00
github-actions[bot] de1f707434 feat(regions_update): Update regions for AWS services. (#1349)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-08-26 12:01:53 +02:00
github-actions[bot] 0d0e00a8bd feat(regions_update): Update regions for AWS services. (#1344)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-08-25 11:48:40 +02:00
Sergio Garcia 5054b82030 feat(api_banner): remove API region from banner (#1342)
Co-authored-by: sergargar <sergio@verica.io>
2022-08-25 08:06:03 +02:00
Nacho Rivera 182d0381c3 chore(tests): Add tests to output generation (#1340)
* chore(tests): added tests to outputs

* fix(timestamp): change timestamp coming from config
2022-08-23 11:51:40 +02:00
Sergio Garcia fb0429b2a5 fix(mkdir_security-hub): mkdir when using security-hub (#1339)
Co-authored-by: sergargar <sergio@verica.io>
2022-08-22 12:26:40 +02:00
Pepe Fagoaga c7a43b09ce chore: Move shared to lib/ for AWS (#1321)
* chore: Move shared to lib/

* chore: Move shared to lib/ for AWS

Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2022-08-22 10:41:09 +01:00
Sergio Garcia d18b430c16 feat(new_checks): add check for ec2 and iam (#1337)
* fix(key_error): remove KeyError.

* feat(ftp_check): add ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21 check.

* feat(password_check): iam_password_policy_expires_passwords_within_15_days_or_less added.

* change days to 90

Co-authored-by: sergargar <sergio@verica.io>
2022-08-22 10:33:43 +02:00
Sergio Garcia 9b4415f7b3 fix(s3_regions): verify if there are filter regions (#1338)
Co-authored-by: sergargar <sergio@verica.io>
2022-08-22 10:30:26 +02:00
github-actions[bot] 6c36c599a5 feat(regions_update): Update regions for AWS services. (#1336)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-08-22 08:11:05 +01:00
github-actions[bot] a6fb000266 feat(regions_update): Update regions for AWS services. (#1325) 2022-08-18 12:47:45 +01:00
Sergio Garcia 92024e2b0e feat(iam_password_policy): add password policy class. (#1330)
Co-authored-by: sergargar <sergio@verica.io>
2022-08-09 09:08:00 -07:00
Sergio Garcia b229c01450 fix(key_error): remove KeyError. (#1326) 2022-08-08 22:26:50 +02:00
Sergio Garcia 15867d3ef6 fix(version): Update version to beta (#1327) 2022-08-08 22:24:03 +02:00
github-actions[bot] 5abd7817af feat(regions_update): Update regions for AWS services. (#1324)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-08-05 11:19:45 +02:00
Pepe Fagoaga fa0fdbf0d1 fix(output): No resources (#1320) 2022-08-04 18:46:03 +02:00
Pepe Fagoaga f30245bb15 fix(nacls): Handle IPv6 source ingress (#1319) 2022-08-04 16:33:16 +02:00
Pepe Fagoaga bc5df671dd feat(check): handle errors (#1318) 2022-08-04 16:09:30 +02:00
Sergio Garcia a796545da5 feat(regions): add regions to resources (#1285) 2022-08-04 13:35:13 +02:00
Pepe Fagoaga 6e58991986 fix(time_comparison): Correct time formats (#1317) 2022-08-04 11:41:54 +02:00
Pepe Fagoaga 85a6634a56 feat(check): iam-policy-allows-privilege-escalation (#1315)
* feat(check): iam-policy-allows-privilege-escalation

* feat(metadata): Enrich check metadata

Co-authored-by: Toni de la Fuente <toni@blyx.com>

Co-authored-by: Toni de la Fuente <toni@blyx.com>
2022-08-04 11:26:42 +02:00
Pepe Fagoaga 5541ec0763 fix(ec2_instance_public_ip): format resource_id (#1316) 2022-08-04 11:22:50 +02:00
github-actions[bot] a9aabd0082 feat(regions_update): Update regions for AWS services. (#1314)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-08-04 11:04:42 +02:00
Pepe Fagoaga cbd375f5d0 fix(iam): Set user's region in findings (#1312) 2022-08-04 10:04:00 +02:00
Pepe Fagoaga de96894a4d feat(metadata): Include EC2 subservices (#1311) 2022-08-03 17:29:43 +02:00
Pepe Fagoaga 5e40fc28c9 feat(output): Report generation data, color legend and assumed role information (#1300)
* feat(color-code): include legend

* chore(version): alfa -> alpha

* chore: remove comments

* feat(credentials): Include report generation data
2022-08-03 17:09:38 +02:00
Pepe Fagoaga 0b34940e20 feat(output): Include tab for better reading (#1310) 2022-08-03 16:55:11 +02:00
Pepe Fagoaga f93dfe5e78 feat(version): Include -V (#1309) 2022-08-03 16:45:57 +02:00
Pepe Fagoaga b59042d9e9 fix(check_name): Remove check_name (#1307) 2022-08-03 16:38:53 +02:00
Pepe Fagoaga 0c2ed53c54 refactor(security_groups): general function (#1306) 2022-08-03 16:38:29 +02:00
Pepe Fagoaga fe474ae9df chore: change default log level (#1303) 2022-08-03 12:21:10 +02:00
Pepe Fagoaga 6f0d42a881 fix: Sort checks (#1302)
* fix: sort checks

* fix(metadata): Include missing provider
2022-08-03 12:14:23 +02:00
Pepe Fagoaga 5e479a5050 Prwlr 750 exclude metadata json order (#1301)
* chore: exclude metadata

* chore: exclude metadata

* chore: no prettify

* chore: no prettify
2022-08-03 12:07:36 +02:00
Pepe Fagoaga dfbc618d44 chore(metadata): Remove CheckName and CheckAlias field (#1299) 2022-08-03 10:12:34 +02:00
Pepe Fagoaga 9f82a8a6d6 feat(provider): Set AWS as the default provider (#1298) 2022-08-02 13:43:42 +02:00
github-actions[bot] 476d93b33e feat(regions_update): Update regions for AWS services. (#1295) 2022-08-02 11:46:12 +02:00
github-actions[bot] 9895f9f595 feat(regions_update): Update regions for AWS services. (#1292) 2022-08-02 09:05:47 +02:00
github-actions[bot] 510cca6b29 feat(regions_update): Update regions for AWS services. (#1288)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-07-28 13:30:51 -04:00
Sergio Garcia 66d2b7b4d9 feat(ec2_checks): add several checks for ec2 (#1268)
* feat(checks): add extra718

* feat(checks): add extra763

* feat(checks): add extra748, extra749, extra72

* feat(checks): add extra750

* feat(checks): add check45

* feat(checks): add check46, check45, check42, check41

* feat(metadata_sample): add sample of check metadata

* feat(pci-group): add pci group.

* feat(cloud9): environment setup.

* fix(protocol): add protocol conditions

Co-authored-by: sergargar <sergio@verica.io>
2022-07-27 00:21:40 +02:00
Sergio Garcia da76f69e51 feat(s3_checks): add several checks for s3 (#1266)
* feat(checks): add extra718

* feat(checks): add extra763

Co-authored-by: sergargar <sergio@verica.io>
2022-07-25 19:45:31 +02:00
Sergio Garcia ed1572d2d9 feat(iam_checks): add several checks for iam (#1264)
* feat(extra71): add iam_administrator_access_with_mfa check.

* feat(checks): add extra7125 and extra7123

* feat(checks): add check14

* feat(checks): add check112

* feat(checks): add check11

* feat(checks): add check114 and check113

* feat(checks): add check12

* feat(classes): add IAM classess.

* Update iam_root_hardware_mfa_enabled.py

* fix(comments): Resolve comments.

Co-authored-by: sergargar <sergio@verica.io>
2022-07-22 12:14:49 +02:00
Sergio Garcia 7d0a95e98f feat(shub): add Security Hub integration (#1255) 2022-07-21 12:22:56 +02:00
github-actions[bot] 67834c3f8b feat(regions_update): Update regions for AWS services. (#1273) 2022-07-21 11:27:54 +02:00
github-actions[bot] a5e58ad9ce feat(regions_update): Update regions for AWS services. (#1267) 2022-07-15 11:15:17 +02:00
github-actions[bot] 5cb363c389 feat(regions_update): Update regions for AWS services. (#1263) 2022-07-13 16:21:26 +02:00
github-actions[bot] b80c7222ea feat(regions_update): Update regions for AWS services. (#1256) 2022-07-08 11:04:50 +02:00
Sergio Garcia 611bd909ef feat(json-asff): add json-asff ouput (#1252)
* feat(json): add json output

* feat(pydantic): add pydantic model to json output

* feat(json-asff): add json-asff ouput

* Update config/config.py

Co-authored-by: Pepe Fagoaga <pepe@verica.io>

* Update models.py

* fix(comments): Resolve comments.

Co-authored-by: sergargar <sergio@verica.io>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2022-07-08 09:37:32 +02:00
Sergio Garcia db3de2d69e feat(sort_exec): Sort checks execution (#1253)
Co-authored-by: sergargar <sergio@verica.io>
2022-07-07 09:12:15 +02:00
Sergio Garcia 7b9fae5605 feat(json): add json output (#1251)
* feat(json): add json output

* feat(pydantic): add pydantic model to json output

Co-authored-by: sergargar <sergio@verica.io>
2022-07-06 14:35:15 +02:00
Sergio Garcia d47bb09b2a feat(organizations): Extract Metadata from Management Account ID (-O) (#1248)
* feat(organizations): add organizations funtion to provider

* feat(organizations): add organizations -O option

* fix(comments): Resolve comments.

* feat(test): add test

* fix(pipfile): update pipfile

Co-authored-by: sergargar <sergio@verica.io>
2022-07-05 12:00:14 +02:00
Pepe Fagoaga b2899bda69 test(aws-provider): First tests (#1231)
* test(pre-commit): Include security checks

* test(pre-commit): Include dependencies

* test(aws-provider): First unit tests

* test(arn-parsing): Include first tests

* chore(providers): Remove old comments
2022-07-04 12:51:31 +02:00
Nacho Rivera 11652838e2 feat(outputS): Output generation format CSV (#1230)
* chore(csv): first version csv output

* chore(pytest): added pytest dependency

* chore(outputs): organizations demo

* chore(compliance): Added new dataclass for each compliance framework

* fix(test org values): deleted test values in orgs instantiation

* fix(csv): formatted to match output format

* fix(csv output): Reformulation of check report and minor changes

* fix(minor issues): Fix various issues coming from PR comments

* fix(csv): Renamed csv output data model

* fix(output dir): create default if not present

* fix(typo): remove s

* fix(oldcode)

* fix(typo)

* fix(output): Only send to csv when -M is passed

Co-authored-by: sergargar <sergio@verica.io>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2022-07-04 10:30:47 +02:00
github-actions[bot] a1dcc1310a feat(regions_update): Update regions for AWS services. (#1246)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-07-01 11:11:58 +02:00
github-actions[bot] 7e2303a732 feat(regions_update): Update regions for AWS services. (#1243)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-06-30 11:12:07 +02:00
github-actions[bot] 0d7214a4a6 feat(regions_update): Update regions for AWS services. (#1241)
Co-authored-by: jfagoagas <jfagoagas@users.noreply.github.com>
2022-06-29 12:54:23 +02:00
github-actions[bot] cbd23c7fb1 feat(regions_update): Update regions for AWS services. (#1234) 2022-06-28 09:07:57 +02:00
Sergio Garcia a2b40caeda feat(default_regions): Set profile region as default for global regions. (#1228)
Co-authored-by: sergargar <sergio@verica.io>
2022-06-23 17:28:01 +02:00
Pepe Fagoaga 66d57a3d36 feat(severity): Run checks by severity (#1223) 2022-06-23 16:56:06 +02:00
Pepe Fagoaga 2288702d26 feat(list-services): List Prowler available services by provider (#1222) 2022-06-23 16:53:44 +02:00
github-actions[bot] cdbf62a9e5 feat(regions_update): Update regions for AWS services. (#1226) 2022-06-23 11:20:11 +02:00
Sergio Garcia 25dc6c4a20 feat(refresh_aws_regions): Auto refresh of AWS regions for services. (#1221)
* feat(refresh_aws_regions): Auto refresh of AWS regions for services.

* Update refresh_aws_services_regions.yml

* Delete aws_regions_by_service.json

* Update refresh_aws_services_regions.yml

Co-authored-by: sergargar <sergio@verica.io>
2022-06-23 10:47:43 +02:00
Pepe Fagoaga af2bdc37ea fix(quit): Replace with sys.exit() (#1220) 2022-06-22 16:48:10 +02:00
Pepe Fagoaga 438ef9f348 feat(logger): Logs to file with custom log level (#1217) 2022-06-22 13:26:29 +02:00
Pepe Fagoaga 6ac6ef359f feat(validate-metadata): Validate Check's metadata and list checks (#1215) 2022-06-22 10:12:55 +02:00
Pepe Fagoaga b07b7f3f26 feat(list-groups): List available groups (#1213) 2022-06-22 09:59:48 +02:00
Sergio Garcia ecefda11c7 feat(quiet): Add -q option. (#1211)
Co-authored-by: sergargar <sergio@verica.io>
2022-06-22 09:45:03 +02:00
Pepe Fagoaga 21f8f56c18 feat(exclude-groups-and-services) (#1205) 2022-06-21 08:05:32 +02:00
Nacho Rivera e52ab12696 feat(global_aws_session): Global data structure for the current AWS audit (#1212)
* fix(audit info): Common data structure for current audit

* fix(iam): iam session audit fixed

* feat(aws_session): Include else block

Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2022-06-21 07:53:49 +02:00
Sergio Garcia b89b883741 feat(regions): Filter Audited Regions (-f) (#1202)
* feat(filter-regions): Added -f and ebs encryption check.

* feat(filter-regions): Added -f and ebs encryption check.

* feat(regional_clients): add regional_clients.

* fix(global variables): created global variables

* chore(role option): Mixed -A/-R option including error handling

* fix(arn): import errors from error.py file

* fix(review_comments): Review PR comments.

Co-authored-by: sergargar <sergio@verica.io>
Co-authored-by: n4ch04 <nachor1992@gmail.com>
2022-06-20 11:25:26 +02:00
Pepe Fagoaga f694a6d12a feat(groups): Launch specific checks from groups and services (#1204) 2022-06-16 13:27:25 +02:00
Pepe Fagoaga 8abcc5988d feat(checks): Exclude checks with -e/--exclude-checks
* feat(checks): Select checks to run

* feat(checks): Include tests

* feat(checks): Exclude checks with -e

* fix(checks): Include missing path

* fix(checks): Include comments
2022-06-16 12:57:36 +02:00
Pepe Fagoaga 9d5e43e6a2 feat(checks): Select checks to run from provider using -C/--checks-file (#1200) 2022-06-16 12:49:55 +02:00
Pepe Fagoaga 162852634e feat(checks): Select checks to run from provider using -c/--checks (#1197)
* feat(checks): Select checks to run

* Update providers/aws/services/iam/iam_disable_30_days_credentials/iam_disable_30_days_credentials.py

Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2022-06-16 12:20:03 +02:00
Nacho Rivera 33c6801501 feat(core): AWS Role Assumption support (#1199)
* chore(assuming role): assume role logic and exceptions demo

* chore(exceptions): Exception handling

* fix(get_caller_identity): Deleted duplicate get_caller_identity and add info entries

* chore(creds renewal): Added support to credential renewal

* chore(assume options): Added condition for -I/-T options

* fix(typo/comments): Deleted f in logger config and comments

* chore(session_duration): limits for -T option

* fix(log messages): Changed -A/-R log messages

* fix(critical error): Errors in input options are critical

* fix(ClientError): IAM service ClientError exception support
2022-06-16 12:00:46 +02:00
Sergio Garcia eb679f50f1 feat(reorganize_folders): Merge checks. (#1196)
Co-authored-by: sergargar <sergio@verica.io>
2022-06-14 13:10:26 +02:00
Pepe Fagoaga 36fcab17f3 feat(prowler3): pipenv usage 2022-06-14 12:51:53 +02:00
Pepe Fagoaga b22faa01ea feat(prowler3): first commit 2022-06-14 12:22:54 +02:00
Pepe Fagoaga 9b05a9c334 delete(prowler): Main file 2022-06-14 12:19:31 +02:00
Pepe Fagoaga 0f39ee9b34 rename(provider): keep old version 2022-06-14 12:19:10 +02:00
Pepe Fagoaga 9a0088c84e delete(include): Old bash libraries 2022-06-14 12:15:39 +02:00
Toni de la Fuente c533d48cf5 New folder structure phase 3 2022-05-25 16:45:23 +02:00
Toni de la Fuente 6a3ceb6bc0 New folder structure phase 2 2022-05-25 16:43:54 +02:00
Toni de la Fuente 5ad517ce83 New folder structure phase 1 2022-05-25 12:54:15 +02:00
Pepe Fagoaga 432416d09e fix(checks): Severity for Lambda URL checks (#1162) 2022-05-25 12:22:42 +02:00
Pepe Fagoaga dd7d25dc10 release: Prowler 2.10 (#1161) 2022-05-25 12:03:05 +02:00
Pepe Fagoaga 24c60a0ef6 fix(checks): Handle AWS Gov Cloud regions (#1160) 2022-05-25 12:01:58 +02:00
Andrea Di Fabio f616c17bd2 feat(new): New custom check extra9999 to build a custom check on the fly (#1103) 2022-05-25 09:16:36 +02:00
Pepe Fagoaga 5628200bd4 fix(remediation): Fix remediation fields for checks (#1157) 2022-05-23 15:48:26 +02:00
Pepe Fagoaga ae93527a6f fix(BucketLocation): Recover bucket policy using the right region endpoint (#1156) 2022-05-23 15:45:30 +02:00
Pepe Fagoaga 2939d5cadd feat(lambda-function): Checks for misconfigured function's URLs (#1148) 2022-05-23 10:46:19 +02:00
Pepe Fagoaga e2c7bc2d6d fix(IllegalLocationConstraintException): Recover bucket policy using the right region endpoint (#1155) 2022-05-23 09:37:46 +02:00
Nacho Rivera f4bae78730 Timestamp to date casting issues solved (#1154)
* fix(date): Deleted @ char before date argument

* fix(date): Use @ only when input is epoch
2022-05-23 09:28:56 +02:00
1vicente d307898289 Update README.md (#1153)
pretty README.md
2022-05-19 12:14:11 +02:00
Pepe Fagoaga 879ac3ccb1 fix(actions): Ignore changes on Readme (#1149) 2022-05-17 16:09:55 +02:00
Sergio Garcia cd41e73cbe fix(readme): Correct permissions for DynamoDB allowlist (#1147) 2022-05-17 12:33:49 +02:00
Pepe Fagoaga 47f1ca646e fix(typo): ArtifactBucket tags (#1145) 2022-05-17 09:08:11 +02:00
Charles Josiah Rusch Alandt a18b18e530 K8s cronjob sample files (#1140) 2022-05-16 10:58:50 +02:00
Pepe Fagoaga 4d1ffbb652 fix(actions): tag and push (#1142) 2022-05-13 11:20:30 +02:00
Pepe Fagoaga 13423b137e fix(actions): Include AWS region (#1141)
* fix(actions): Include AWS regions

* fix(zip): Quiet output
2022-05-13 10:13:03 +02:00
Sergio Garcia d60eea5e2f fix(copyToS3): Upload to S3 only when indicated (#1134)
Co-authored-by: sergargar <sergio@verica.io>
2022-05-12 17:30:49 +02:00
Pepe Fagoaga 39c7d3b69f fix(typo) (#1139) 2022-05-12 17:28:30 +02:00
Pepe Fagoaga 2de04f1374 fix(actions): Job permissions (#1138) 2022-05-12 17:24:15 +02:00
Pepe Fagoaga 5fb39ea316 fix(actions): Trigger on PR (#1136)
* fix(actions): Include checkout

* fix(actions): version name

* fix(actions): fix branch

* fix(actions): version name

* fix(actions): PR trigger
2022-05-12 17:20:11 +02:00
Pepe Fagoaga 55640ecad2 fix(actions): Github token permissions (#1135) 2022-05-12 16:46:06 +02:00
Pepe Fagoaga 69d3867895 feat(actions): Upload Prowler containers to registries (#1132)
* feat(actions): Upload Prowler latest to dockerhub

* feat(upload-container): Action to Public Registries

* feat(upload-container): Include env secrets

* feat(actions): Include Docker linters

* feat(linters): include pre-commit

* fix(names)
2022-05-12 16:37:46 +02:00
Sergio Garcia 210f44f66f fix(custom-file-in-bucket): Custom file names are also support for S3 output. (#1129) 2022-05-11 10:16:29 +02:00
Sergio Garcia b78e4ad6a1 fix(allowlist_db): Improve DynamoDB regex for allowlisting. (#1127) 2022-05-06 13:46:53 +02:00
stof 4146566f92 feat(assume-role): Properly handle External ID variable 2022-05-05 16:10:52 +02:00
Sergio Garcia 4e46dfb068 feat(add_prowler_pro_banner): include Prowler Pro banner in README (#1119)
* feat(add_prowler_pro_banner): include Prowler Pro banner in README

Context
Include Prowler Pro banner in README.md

Description
Add Prowler Pro banner in README.md for giving visibility to the Enterprise version of Prowler.

License
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

* Update README.md
2022-05-03 16:24:23 +02:00
Milton Torasso 13c96a80db feat(deployment): Serverless multi account Prowler with SecurityHub Integration (#1113) 2022-05-03 13:41:56 +02:00
Sergio Garcia de77a33341 fix(allowlist_db): Improve DynamoDB regex for allowlisting. (#1126)
Co-authored-by: sergargar <sergio@verica.io>
2022-05-03 11:57:23 +02:00
ChrisGoKim 295bb74acf fix(additions-policy): Updated multi-org ProwlerRole.yaml (#1123) 2022-05-03 11:34:12 +02:00
Jens Brey 59abd2bd5b check_extra7113: Fix wrong listing of RDS instances in regions without databases (#1124)
Co-authored-by: Jens Brey <jens.brey@allcloud.io>
2022-05-03 11:31:23 +02:00
Sergio Garcia ecbfbfb960 fix(allowlist_db): Improve DynamoDB regex for allowlisting. (#1125)
Co-authored-by: sergargar <sergio@verica.io>
2022-05-03 11:31:12 +02:00
Justin Plock 04e5804665 Update CloudFormation template for CodeBuild (#1114) 2022-05-03 09:14:38 +02:00
Pepe Fagoaga 681d0d9538 feat(group7): Include extra7178 (#1121) 2022-04-29 14:26:19 +02:00
Pepe Fagoaga 8bfd9c0e62 feat(emr): Check BlockPublicAccessConfiguration for EMR (#1120) 2022-04-29 14:23:54 +02:00
Divyanshu 95df9bc316 feat(checks): New group and checks for Codebuild and EMR (#1112) 2022-04-29 14:19:04 +02:00
Sergio Garcia d08576f672 feat(add_prowler_pro_banner): include Prowler Pro banner in README.md (#1117) 2022-04-28 17:28:52 +02:00
Sergio Garcia aa16bf4084 feat(dynamodb_allowlist): Support DynamoDB tables ARN for allowlist input (#1118)
* feat(dynamodb_allowlist): Support dynamodb tables arn for allowlist input.

* feat(allowlist): Include logging messages for input file

* fix(allowlist): Modify DynamoDB key name

Co-authored-by: sergargar <sergio@verica.io>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2022-04-28 17:04:44 +02:00
Pepe Fagoaga 432632d981 chore(release): 2.9.0 (#1109) 2022-04-13 13:54:53 +02:00
Pepe Fagoaga d6ade7694e chore(allowlist): Rename references (#1108)
* chore(allowlist): rename file

* chore(allowlist): remove old references
2022-04-13 11:31:50 +02:00
n4ch04 c9e282f236 IAM check116 and check122 modified to log also PASS results (#1107)
* fix(check116): Fixed logic to include resource_id of passed users

* fix(check122): Changed logic check to include explicit pass records
2022-04-12 19:54:51 +02:00
carterjones 5b902a1329 fix typo: publiccly -> publicly (#1106) 2022-04-12 18:12:26 +02:00
Pepe Fagoaga fc7c932169 fix(extra7147): Handle unsupported AWS regions for Glacier (#1101) 2022-04-11 16:10:23 +02:00
n4ch04 819b52687c Replace comma from csv input info (#1102)
* fix(output): replace comma from csv input info

* fix(outputs): parameter expansion done in echo to csv
2022-04-11 16:04:47 +02:00
Sergio Garcia 28fff104a1 feat(S3_in_w_x_flags): Support S3 URIs for custom checks paths and whitelist files. (#1090)
* feat(S3_in_w_x_flags): Support S3 URIs for custom checks paths and whitelist files.

* feat(S3_in_w_x_flags): README document was updated.

* Update README.md

* Update README.md

* Update README.md

* Update README.md

Co-authored-by: Toni de la Fuente <toni@blyx.com>
Co-authored-by: Sergio Garcia Garcia
2022-04-07 14:37:02 -04:00
n4ch04 07b2b0de5a fix(extra764): Deleted temp file refs (#1089) 2022-04-07 17:03:32 +02:00
nealalan 4287b7ac61 check empty array in SECURITYGROUPS object (#1099)
* check empty array in SECURITYGROUPS object

Logic is only checking an object to see if it is null. This should be checking for the array in the object to see if it is empty.

* Replace new conditional with the old one

* Update check_extra75

Co-authored-by: Sergio Garcia <38561120+sergargar@users.noreply.github.com>
2022-04-07 10:57:29 -04:00
Sergio Garcia 734331d5bc fix(extra764): NoSuchBucket error properly handled. (#1094) 2022-03-31 15:35:17 +02:00
Sergio Garcia 5de2bf7a83 fix(extra7172): IllegalLocationConstraintException properly handled. (#1093) 2022-03-31 14:40:32 +02:00
Sergio Garcia 1744921a0a fix(extra792): TLS1.3 policies added as secure (#1091) 2022-03-30 17:50:00 +02:00
Andrew Grangaard d4da64582c docs(tf-quickstart): Update example code for terraform-quickstart (#1086)
+ use primary repository rather than fork.
+ use default branch.
+ fixed a missing character typos.
+ remove blank end-of-line spaces.

@singergs: thanks for adding this code and the video.
2022-03-30 09:15:38 +02:00
Andrea Di Fabio d94acfeb17 New Extra Check - Detect SGs created by the EC2 Launch Wizard (#1081)
* new check

* added check to group

* fixed name

* added testpass logic

* Fixed a few issues

* Fixed more issues

* Updated to add extended information

* Added new line at end of file

* Fixed Spelling

* fix(title): Update title name

* refactor(style): Minor changes

Co-authored-by: Andrea Di Fabio <adifabio@amazon.com>
2022-03-29 10:06:44 +02:00
soffensive fcc14012da Update check_extra736, is missing $PROFILE_OPT (#1084)
$PROFILE_OPT was missing in one aws command
2022-03-29 09:11:41 +02:00
Lucas Moura cc8cbc89fd Fix typo extra729 and extra740 (#1083)
* Fix typo on remediation

* Fix typo on remediation description
2022-03-29 08:58:06 +02:00
Sergio Garcia 8582e40edf fix(secrets_library): Verify if detect-secrets library is missing (#1080) 2022-03-25 13:19:05 +01:00
Toni de la Fuente 1e87ef12ee feat(new_version): Prowler 2.8.1 (#1082) 2022-03-25 12:58:06 +01:00
Pepe Fagoaga 565200529f fix(detect-secrets): Include missing colon to link values (#1078) 2022-03-22 13:53:36 +01:00
Sergio Garcia 198c7f48ca fix(bucket_region): check extra764 doesn't handle bucket region properly (#1077)
* fix(bucket_region): check extra764 doesn't handle bucket region properly
2022-03-18 11:51:42 +01:00
Toni de la Fuente 8105e63b79 fix(extras-group): Add extra7172 to group extras (#1074) 2022-03-16 18:39:16 +01:00
Sergio Garcia 3932296fcf feat(new_version): Prowler 2.8.0 (#1073) 2022-03-16 18:15:57 +01:00
David Childs cb0d9d3392 fix(filter-region): Support comma separated regions (#1071)
* regions separated by a comma deliminator

* Update README.md

Co-authored-by: Toni de la Fuente <toni@blyx.com>

* Update README.md

Co-authored-by: David Childs <d.childs@elsevier.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
Co-authored-by: Toni de la Fuente <toni@blyx.com>
2022-03-16 17:49:04 +01:00
Pepe Fagoaga 4b90eca21e docs(readme): Fix typo (#1072) 2022-03-16 16:54:27 +01:00
Toni de la Fuente 365b396f9a feat(metadata): Include account metadata in Prowler assessments (#1049)
* Add support for organizations accounts metadata part 1

* Add support for organizations accounts metadata part 2

* Add gathering account metadata from org

* chore(prowler): get accounts metadata

Use assume_role backing up normal assumed credentials to assume management account and then restore it to old ones

* fix(orgs metadata): deleted assume_role_orgs

* refactor(organization_metadata)

Reformulate to extract AWS Organizations metadata

* doc(org_metadata): include required -R in usage

* docs(org-metadata): Update README

Co-authored-by: n4ch04 <nachor1992@gmail.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2022-03-16 16:27:19 +01:00
plarso c526c61d5e Fix(check122): Error when policy name contains commas (#1067)
* check122 - Support policy names with commas

* Requested changes
2022-03-16 15:06:12 +01:00
Leonardo Azize Martins c4aff56f23 fix(extra760): Improve error handling (#1055)
* Fix AccessDenied issue

* fix(extra760): Error handling

* Fix merge conflict

* Improve code style

* Fix grep filter

* Fix bash variable expansion

* Fix grep logic to handle zip file
2022-03-16 14:57:37 +01:00
n4ch04 d9e0ed1cc9 fix(check_extra7161): fixed check title (#1068) 2022-03-15 12:30:57 +01:00
Leonardo Azize Martins e77cd6b2b2 fix: Change lower case from bash variable expansion to tr (#1064)
* fix(extra715): Change lower case from bash variable expansion to tr command

* fix: Change from bash variable expansion to tr command

* Change the way to handle lower case
2022-03-15 08:22:22 +01:00
n4ch04 f04b174e67 fix(whitelist): Whitelist logic reformulated (#1061)
* fix(whitelist): Whitelist logic reformulated again

* chore(whitelist): reformulate style
2022-03-11 10:15:58 +01:00
Pepe Fagoaga 0c1c641765 fix(extra776): Handle image tag commas and json output (#1063) 2022-03-08 19:08:40 +01:00
xxxMinoo d44f6bf20f fix: extra7167 Advanced Shield and CloudFront bug parsing None output without distributions (#1062)
* fix: not to flag as finding for account without cloudfront distributions

* fix: output empty for None from cloudfront list-distributions

* fix: extra7167 Advanced Shield and CloudFront bug parsing None output without distributions

Co-authored-by: moo.xin.foo <moo.xin.foo@accenture.com>
2022-03-08 14:09:20 +01:00
Leonardo Azize Martins 1fa62cf417 fix(extra758): Reduce API calls. Print correct instance state. (#1057)
* fix(extra758): Reduce API calls. Print correct instance state.

* feat(oldage-format): Include comment

Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2022-03-08 10:45:02 +01:00
Toni de la Fuente d8d2ddd9e7 Revert "fix: extra7167 Advanced Shield and CloudFront bug parsing None output without distributions (#1053)" (#1054)
This reverts commit f3ff8369c3.
2022-03-04 13:12:03 +01:00
xxxMinoo f3ff8369c3 fix: extra7167 Advanced Shield and CloudFront bug parsing None output without distributions (#1053)
* fix: not to flag as finding for account without cloudfront distributions

* fix: output empty for None from cloudfront list-distributions

Co-authored-by: moo.xin.foo <moo.xin.foo@accenture.com>
2022-03-04 10:25:47 +01:00
Roman Mueller 99d1868827 Add right region to CSV if access is denied (#1045) 2022-03-02 16:32:35 +01:00
Andrea Di Fabio 31cefa5b3c Make python3 default in Dockerfile (#1043) 2022-03-02 16:21:28 +01:00
Andrea Di Fabio 2d5ac8238b Added Timestamp to secrets related 5 checks (#1041) 2022-03-02 15:56:02 +01:00
Leonardo Azize Martins 248cc9d68b Fix(extra771): jq fail when policy action is an array (#1031)
* Fix error handling and policy output

* Fix jq filter when Action is an array

Fix jq select condition to handle Action as string or as array.
Add error handling.
When fail, print policies as just one line.

* Double quote variables to prevent globbing and word splitting

* Replace comma character from json by word comma
2022-03-02 15:04:18 +01:00
Leonardo Azize Martins 5f0a5b57f9 Fix(ES): Improve AWS CLI query and add error handling for ElasticSearch/OpenSearch checks (#1032)
* Fix CLI query and add error handling

Check extra781, extra782, extra783, extra784 and extra785

* Fix CLI query, add error handling, combine AWS CLI calls when possible

Checks related to Opensearch/ElasticSearch.

* Fix CLI query, add error handling, combine AWS CLI calls when possible

Checks related to Opensearch/ElasticSearch.
2022-03-02 12:44:24 +01:00
Pepe Fagoaga 86367fca3f fix: remove PR automatic labels (#1044) 2022-02-15 08:19:40 +01:00
Pepe Fagoaga 07be3c21bf docs(templates): Include triage label (#1042) 2022-02-14 17:47:53 +01:00
n4ch04 3097ba6c66 fix(include/outputs):Rolling back whitelist checking to RE check (#1037)
* fix(include/outputs):Rolling back whitelist checking to RE check

* fix(include/ouputs): Clarified variable assignation coming from argument
2022-02-14 13:04:47 +01:00
n4ch04 b4669a2a72 fix(check41/42): Added tcp protocol filter to query (#1035)
* fix(check41/42): Added tcp protocol filter to query

* Include {} in vars

Co-authored-by: Pepe Fagoaga <pepe@verica.io>

* Include {} in vars

Co-authored-by: Pepe Fagoaga <pepe@verica.io>

Co-authored-by: Pepe Fagoaga <pepe@verica.io>
2022-02-11 10:54:32 +01:00
Leonardo Azize Martins e8848ca261 docs: Improve check_sample examples, add general comments (#1039) 2022-02-10 17:58:50 +01:00
Pepe Fagoaga 5c6902b459 fix(extra730): Handle invalid date formats checking ACM certificates (#1033) 2022-02-09 17:56:55 +01:00
Leonardo Azize Martins 9b772a70a1 Fix(extra7141): Error handling and include missing policy (#1024)
* Fix AccessDenied issue when get document

Add check to validate access denied when get document from SSM.
Add missing action permission to allow ssm:GetDocument.

* Double quote variables to prevent globbing and word splitting
2022-02-09 16:01:01 +01:00
Pepe Fagoaga 6c12a3e1e0 fix(extra736): Recover Customer Managed KMS keys (#1036) 2022-02-09 10:05:57 +01:00
jeffmaley c6f0351e9c feat(check): New check7172 for S3 Bucket ACLs (#1023)
* added check7172 for s3 bucket acls

* Added more errors to error handling and an access check for s3

* Removed extra api call

Co-authored-by: Jeff Maley <jeff.maley@symmetry-systems.com>
2022-02-07 16:58:18 -05:00
Martin Muller 7e90389dab fix: CFN codebuild example (#1030)
Since 2.7.0 this template failed:

```
An error occurred (AccessDeniedException) when calling the GetSubscriptionState operation: User: arn:aws:sts::863046042023:assumed-role/prowler-codebuild-role/AWSCodeBuild-2c3151c9-7c5d-4618-94e5-0234bddce775 is not authorized to perform: shield:GetSubscriptionState on resource: arn:aws:shield::863046042023:subscription/* because no identity-based policy allows the shield:GetSubscriptionState action
       INFO! No AWS Shield Advanced subscription found. Skipping check. 
7.167 [extra7167] Check if Cloudfront distributions are protected by AWS Shield Advanced - shield [Medium]
```

I aligned it with https://github.com/prowler-cloud/prowler/blob/master/iam/prowler-additions-policy.json#L19 .
2022-02-04 12:09:53 -05:00
n4ch04 30ce25300f fix(include/outputs): Whitelist logic reformulated to exactly match input (#1029)
* fix(inlcude/outputs) Whitelist logic reformulated to exactly match input

* fix(include/outputs): Changed name of iterative variable that browses whitelisted values

* fix(include/outputs): Deleted missing echo and include and put variables in brackets
2022-02-04 12:07:48 -05:00
Pepe Fagoaga 26caf51619 fix(CODEOWNERS): Rename team (#1027) 2022-02-04 12:05:43 -05:00
Leonardo Azize Martins 3ecb5dbce6 Fix AccessDenied issue (#1025) 2022-02-04 12:05:10 -05:00
Toni de la Fuente 1d409d04f2 Fix (extra7148 and add action #1017 (#1021) 2022-02-04 11:58:22 -05:00
Daniel Lorch 679414418e Fix: when prowler exits with a non-zero status, the remainder of the block is not executed (#1015)
* Fix: when prowler exits with a non-zero status, the remainder of the block is not executed

* Fix: do not trigger exit code 3 on failed checks, so that the remainder of the block is executed
2022-02-02 17:45:56 +01:00
Daniel Lorch b26370d508 Typo (breaking change) (#1010)
Co-authored-by: Daniel Lorch <lorchda@amazon.ch>
2022-02-02 11:13:31 -05:00
Daniel Lorch 72b30aa45f Skip packages with broken dependencies when upgrading system (#1009)
Co-authored-by: Daniel Lorch <lorchda@amazon.ch>
2022-02-02 11:12:58 -05:00
n4ch04 d9561d5d22 fix(check32): filterName base64encoded to avoid space problems in filter names (#1020)
* fix(check32): filterName base64encoded to avoid space problems in filter names

* fix(check32): base64 decoding atomic expression

* fix(check32): Variable enclosing

Co-authored-by: Nacho Rivera <nachor1992@gmail>
2022-02-02 11:09:38 -05:00
Mike Stewart 3d0ab4684f docs(docker): Docker hub references (#1018) 2022-02-02 16:45:07 +01:00
Daniel Lorch 29a071c98e docs(whitelist): Add examples for Control Tower resources (#1013) 2022-02-02 13:36:02 +01:00
Daniel Lorch 0ac7064d80 fix(ftr-group): Visual formatting (#1012) 2022-02-02 13:17:46 +01:00
Toni de la Fuente dcd55dbb8f Add badges 2022-01-28 12:12:59 +01:00
Jan Sepke 441dc11963 Fix issue #1002 (#1007)
regression in extra793

Co-authored-by: Jan Sepke <jan.sepke@jungheinrich.de>
2022-01-28 11:01:32 +01:00
Jan Sepke 21a8193510 Fix issue #1001 (#1006)
regression in extra75

Co-authored-by: Jan Sepke <jan.sepke@jungheinrich.de>
2022-01-27 15:13:07 +01:00
Pepe Fagoaga 3b9a3ff6be Include codeowners template (#1005)
* docs(templates): include Codeowners

* docs(templates): update PR template
2022-01-27 12:58:14 +01:00
Toni de la Fuente c5f12f0a6c Fix issue #1002 (#1004) 2022-01-27 12:27:41 +01:00
Pepe Fagoaga 90565099bd Change references from toniblyx to prowler-cloud (#1003)
Co-authored-by: Toni de la Fuente <toni@blyx.com>
2022-01-27 12:17:38 +01:00
Toni de la Fuente 2b2814723f Prowler 2.7.0 - Brave (#998)
* Extra7161 EFS encryption at rest check

* Added check_extra7162 which checks if Log groups have 365 days retention

* fixed code to handle all regions and formatted output

* changed check title, resource type and service name as well as making the code more dynamic

* Extra7161 EFS encryption at rest check

* New check_extra7163 Secrets Manager key rotation enabled

* New check7160 Enabled AutomaticVersionUpgrade on RedShift Cluster

* Update ProwlerRole.yaml to have same permissions as util/org-multi-account/ProwlerRole.yaml

* Fix link to quicksight dashboard

* Install detect-secrets (e.g. for check_extra742)

* Updating check_extra7163 with requested changes

* fix(assumed-role): Check if -T and -A options are set

* docs(Readme): `-T` option is not mandatory

* fix(assume-role): Handle AWS STS CLI errors

* fix(assume-role): Handle AWS STS CLI errors

* Update group25_FTR

When trying to run the group 25 (Amazon FTR related security checks) nothing happens, after looking at the code there is a misconfiguration in 2 params: GROUP_RUN_BY_DEFAULT[9] and GROUP_CHECKS[9]. Updating values to 25 fixed the issue.

* Update README.md

broken link for capital letters in group file (group25_FTR)

* #938 issue assume_role multiple times should be fixed

* Label 2.7.0-1December2021 for tests

* Fixed error that appeared if the number of findings was very high.

* Adjusted the batch to only do 50 at a time. 100 caused capacity issues. Also added a check for an edge case where if the updated findings was a multiple of the batch size, it would throw an error for attempting to import 0 findings.

* Added line to delete the temp folder after everything is done.

* New check 7164 Check if Cloudwatch log groups are protected by AWS KMS@maisenhe

* updated CHECK_RISK

* Added checks extra7160,extra7161,extra7162,extra7163 to group Extras

* Added checks extra7160,extra7161,extra7162,extra7163 to group Extras

* Added issue templates

* New check 7165 DynamoDB: DAX encrypted at rest @Daniel-Peladeau

* New check 7165 DynamoDB: DAX encrypted at rest @Daniel-Peladeau

* Fix #963 check 792 to force json in ELB queries

* Fix #957 check 763 had us-east-1 region hardcoded

* Fix #962 check 7147 ALTERNATE NAME

* Fix #940 handling error when can not list functions

* Added new checks 7164 and 7165 to group extras

* Added invalid check or group id to the error message #962

* Fix Broken Link

* Add docker volume example to README.md

* Updated Dockerfile to use amazonlinux container

* Updated Dockerfile with AWS cli v2

* Added upgrade to the RUN

* Added cache purge to Dockerfile

* Backup AWS Credentials before AssumeRole and Restore them before CopyToS3

* exporting the ENV variables

* fixed bracket

* Improved documentation for install process

* fix checks with comma issues

* Added -D option to copy to S3 with the initial AWS credentials

* Cosmetic variable name change

* Added $PROFILE_OPT to CopyToS3 commands

* remove commas

* removed file as it is not needed

* Improved help usage options -h

* Fixed CIS LEVEL on 7163 through 7165

* When performing a restoreInitialAWSCredentials, unset the credentials ENV variables if they were never set

* New check 7166 Elastic IP addresses with associations are protected by AWS Shield Advanced

* New check 7167 Cloudfront distributions are protected by AWS Shield Advanced

* New check 7168 Route53 hosted zones are protected by AWS Shield Advanced

* New check 7169 Global accelerators are protected by AWS Shield Advanced

* New check 7170 Application load balancers are protected by AWS Shield Advanced

* New check 7171 Classic load balancers are protected by AWS Shield Advanced

* Include example for global resources

* Add AWS Advance Shield protection checks corrections

* Added Shield actions GetSubscriptionState and DescribeProtection

* Added Shield actions GetSubscriptionState and DescribeProtection

* docs(templates): Improve bug template with more info (#982)

* Removed echoes after role chaining fix

* Changed Route53 checks7152 and 7153 to INFO when no domains found

* Changed Route53 checks 7152 and 7153 title to clarify

* Added passed security groups in output to check 778

* Added passed security groups and updated title to check 777

* Added FAIL as error handling when SCP prevents queries to regions

* Label version 2.7.0-6January2022

* Updated .dockerignore with .github/

* Fix: issue #758 and #984

* Fix: issue #741 CloudFront and real-time logs

* Fix issues #971 set all as INFO instead of FAIL when no access to resource

* Fix: issue #986

* Add additional action permissions for Glue and Shield Advanced checks @lazize

* Add extra shield action permission

Allows the shield:GetSubscriptionState action

* Add permission actions

Make sure all files where permission actions are necessary will have the same actions

* Fix: Credential chaining from environment variables @lazize #996f

If profile is not defined, restore original credentials from environment variables,
if they exists, before assume-role

* Lable version 2.7.0-24January2022

Co-authored-by: Lee Myers <ichilegend@gmail.com>
Co-authored-by: Chinedu Obiakara <obiakac@amazon.com>
Co-authored-by: Daniel Peladeau <dcpeladeau@gmail.com>
Co-authored-by: Jonathan Lozano <jonloza@amazon.com>
Co-authored-by: Daniel Lorch <dlorch@gmail.com>
Co-authored-by: Pepe Fagoaga <jose.fagoaga@smartprotection.com>
Co-authored-by: Israel <6672089+lopmoris@users.noreply.github.com>
Co-authored-by: root <halfluke@gmail.com>
Co-authored-by: nikirby <nikirby@amazon.com>
Co-authored-by: Joel Maisenhelder <maisenhe@gmail.com>
Co-authored-by: RT <35173068+rtcms@users.noreply.github.com>
Co-authored-by: Andrea Di Fabio <39841198+sectoramen@users.noreply.github.com>
Co-authored-by: Joseph de CLERCK <clerckj@amazon.fr>
Co-authored-by: Michael Dickinson <45626543+michael-dickinson-sainsburys@users.noreply.github.com>
Co-authored-by: Pepe Fagoaga <pepe@verica.io>
Co-authored-by: Leonardo Azize Martins <lazize@users.noreply.github.com>
2022-01-24 13:49:47 +01:00
Toni de la Fuente 42e54c42cf Label new version 2.6.1-15November2021 2021-11-15 19:12:06 +01:00
Toni de la Fuente f0c12bbf93 Merge pull request #928 from toniblyx/2.6.1
2.6.1
2021-11-15 18:56:16 +01:00
Toni de la Fuente d272fad4c2 Enhancement IAM assumed role session duration error handling by @jfagoagas
Enhancement IAM assumed role session duration error handling by @jfagoagas
2021-11-15 18:17:09 +01:00
Toni de la Fuente 3e78f017e2 Fix Terraform Kickstarter path in README by @z0ph
Fix Terraform Kickstarter path in README
2021-11-15 17:05:37 +01:00
Toni de la Fuente cee6437ae1 Fix issue #926 resource id and remediation typo 2021-11-15 16:49:40 +01:00
Toni de la Fuente b251f31da9 Fix issue #925 replace sensible by sensitive 2021-11-15 15:59:13 +01:00
Toni de la Fuente 50de9f2ab4 Fix output for checks check3x when no CW group is in place 2021-11-15 15:49:33 +01:00
Toni de la Fuente a6ba580344 Fix severity case variable 2021-11-15 15:45:33 +01:00
Pepe Fagoaga 563cd71060 fix(iam-role): Delete temporary prowler.sts_assumed* if error 2021-11-13 16:25:43 +01:00
Victor GRENU 32e5738c46 fix readme for terraform kickstarter 2021-11-13 14:48:16 +01:00
Pepe Fagoaga e4edb5e39e fix(iam-role): IAM assumed role session duration 2021-11-12 18:32:02 +01:00
Toni de la Fuente cbd1c31424 Merge pull request #922 from toniblyx/2.6
2.6
2021-11-12 13:23:42 +01:00
Toni de la Fuente df6e3f9462 Merge branch 'master' into 2.6 2021-11-12 13:21:18 +01:00
Toni de la Fuente 79c32a3c0b Label new version 2.6.0-12November2021 2021-11-12 10:34:32 +01:00
Toni de la Fuente 9cf076899e Updated screenshots and minor changes 2021-11-12 10:33:45 +01:00
Toni de la Fuente dd398a994b Fix issue #904 2021-11-11 14:05:14 +01:00
Toni de la Fuente 82b7eca80a Fix CIS LEVEL variable in check21 2021-11-11 14:00:33 +01:00
Toni de la Fuente 140e96e5e1 Fix issue #848 CIS LEVEL added to CSV and other formats 2021-11-11 13:40:40 +01:00
Toni de la Fuente 34aba53649 Consolidate Apache License file in LICENSE 2021-11-11 12:52:57 +01:00
Toni de la Fuente 6921eaa6e9 Fix issue #868 2021-11-11 11:25:12 +01:00
Toni de la Fuente 4b205e2cdd Add badges for Docker Hub and AWS ECR public registry 2021-11-10 18:49:06 +01:00
Toni de la Fuente 5d79bd6b0f Add extra7158,extra7159 to extras 2021-11-10 16:55:17 +01:00
Toni de la Fuente a5dfa788a6 New check 7159 ELB Classic Load balancer has listeners underneath @kbgoll05
New check 7159 ELB Classic Load balancer has listeners underneath @kbgoll05
2021-11-10 16:49:10 +01:00
Toni de la Fuente afed5eb4b2 New check 7158 ELBV2 has listeners underneath @kbgoll05
New check 7158 ELBV2 has listeners underneath @kbgoll05
2021-11-10 16:48:45 +01:00
Toni de la Fuente aecb784eca Merge pull request #918 from toniblyx/revert-911-check7158
Revert "New check 7158 ELBV2 has listeners underneath @kbgoll05"
2021-11-10 14:27:36 +01:00
Toni de la Fuente 1ee7f4f276 Revert "New check 7158 ELBV2 has listeners underneath @kbgoll05" 2021-11-10 14:27:27 +01:00
Toni de la Fuente 98d465b84b Merge pull request #917 from toniblyx/revert-912-check7159
Revert "New check 7159 ELB Classic Load balancer has listeners underneath @kbgoll05"
2021-11-10 14:27:12 +01:00
Toni de la Fuente 24c3da2a60 Revert "New check 7159 ELB Classic Load balancer has listeners underneath @kbgoll05" 2021-11-10 14:27:01 +01:00
Toni de la Fuente 69164c5176 New check 7159 ELB Classic Load balancer has listeners underneath @kbgoll05
New check 7159 ELB Classic Load balancer has listeners underneath @kbgoll05
2021-11-10 14:26:23 +01:00
Toni de la Fuente fa5c5773f7 New check 7158 ELBV2 has listeners underneath @kbgoll05
New check 7158 ELBV2 has listeners underneath @kbgoll05
2021-11-10 14:25:58 +01:00
Toni de la Fuente 950f14c845 Fix issue #886 2021-11-09 15:47:09 +01:00
Toni de la Fuente 48d7381822 Fix issue #871 2021-11-09 14:21:32 +01:00
Toni de la Fuente 2c81b383e8 Fix scoring check counter 2021-11-09 12:59:36 +01:00
Toni de la Fuente 60d89fa98d Enhanced scoring when only INFO is detected 2021-11-08 22:44:41 +01:00
Toni de la Fuente 7b6e4ccd13 Added Discord link to README.md 2021-11-08 21:21:39 +01:00
Toni de la Fuente 9ec4db456c Added Discord link to README.md 2021-11-08 21:19:48 +01:00
Toni de la Fuente 918dd9eb07 Added Discord link to README.md 2021-11-08 20:34:16 +01:00
Toni de la Fuente 83dc0a0987 Fixes issue #906 2021-11-08 20:05:50 +01:00
kbgoll05 226b016557 Add files via upload 2021-11-05 16:02:25 -05:00
kbgoll05 41c6131d10 Add files via upload 2021-11-05 15:50:54 -05:00
Toni de la Fuente 623e62ad3f Fix service name string with bash colors in html report 2021-11-05 18:33:24 +01:00
Toni de la Fuente 98e7e543fd Fix issue #827 2021-11-05 17:36:34 +01:00
Toni de la Fuente 5d5250076b Updated documentation about detect-secrets version to use issue #806 2021-11-04 19:50:33 +01:00
Toni de la Fuente 12f49a2795 Fixed typo in README.md @bevel-zgates
Fixed typo in README.md @bevel-zgates
2021-11-04 19:15:33 +01:00
Zach 2e0695112d Update README.md
fixed typo in `readme.md`
2021-11-04 12:29:36 -05:00
Toni de la Fuente 89e87c713b Added extra7157 to group extras 2021-10-26 14:34:44 +02:00
Toni de la Fuente 2c1fd8aeb4 New Check 7157 API Gateway V2 has Configured Authorizers @qumei
New Check 7157 API Gateway V2 has Configured Authorizers @qumei
2021-10-26 14:31:10 +02:00
Toni de la Fuente 7fe2946241 New checks group FTR (AWS Foundational Technical Review) @jfagoagas
New checks group FTR (AWS Foundational Technical Review) @jfagoagas
2021-10-26 14:19:52 +02:00
Pepe Fagoaga bb068f1c7a feat(group): include new AWS FTR checks group 2021-10-26 14:06:34 +02:00
Toni de la Fuente 1c7d3c452f Fix Shodan typo in -h usage text @jfagoagas
Fix Shodan typo in -h usage text @jfagoagas
2021-10-26 12:42:44 +02:00
Pepe Fagoaga 12c6f726e9 fix(lambda-secrets): change aws cli output format to extract keys and values (#4) 2021-10-26 12:31:25 +02:00
Pepe Fagoaga 7a3e353d54 docs(usage): Fix Shodan typo (#3) 2021-10-25 14:49:51 +02:00
Zaid Qumei dfdcd107fc Fixed servicename and fail text 2021-10-22 10:48:01 -04:00
Toni de la Fuente a3a5d7cc4d Delete main.yml 2021-10-21 12:35:42 +02:00
Toni de la Fuente c7c76a0581 Create main.yml 2021-10-21 12:15:09 +02:00
Toni de la Fuente f06168f490 Fix check extra734 about S3 buckets default encryption with StringNotEquals @rustic
Fix check extra734 about S3 buckets default encryption with StringNotEquals @rustic
2021-10-19 16:54:53 +02:00
Lee Myers fc07fa44ee check_extra734 update to StringNotEquals 2021-10-15 15:09:56 -04:00
Toni de la Fuente 8f265dca68 Updated parts from check7152 @jarrettandrulis
Updated parts from check7152 @jarrettandrulis
2021-10-15 14:30:17 +02:00
Jarrett Andrulis 7ff9dcd65e Updated link 2021-10-14 16:39:49 -05:00
Jarrett Andrulis 64a162fca1 Updated parts from check7152 accidentally left in 2021-10-14 16:37:47 -05:00
Zaid Qumei e284a56f0d Added extracheck 7157 2021-10-14 09:46:03 -04:00
Toni de la Fuente 9d9a3ef761 Removed dot in title for consistency in new checks 2021-10-07 16:49:10 +02:00
Toni de la Fuente 571a714a82 Updated with right service name for consistency 2021-10-07 16:42:30 +02:00
Toni de la Fuente b6fdbaba01 New feature: adding the ability to provide a file for checks to be ran @Kirizan
New feature: adding the ability to provide a file for checks to be ran @Kirizan
2021-10-07 14:31:34 +02:00
nikirby 6874fa4793 Fixed sample file to be what it's looking for. 2021-10-06 10:48:13 -04:00
nikirby e23b24099d Added -C option to provide a file with the checklist to be checked against. Also added checklist.txt to provide a sample file 2021-10-06 10:41:40 -04:00
Toni de la Fuente d3b04d3ed9 Update group extras with new checks 2021-10-05 17:39:52 +02:00
Toni de la Fuente ea1d0c4dfa New check 7148 EFS File systems have backup enabled @georgie969 2021-10-05 17:39:22 +02:00
Toni de la Fuente a9b2bc1167 New check 7155 Application Load Balancer is configured with defensive or strictest desync mitigation mode @ShubhamShah11 2021-10-05 17:31:59 +02:00
Toni de la Fuente 6fb49a46bf New check 7153 Route53 transfer lock for domains enabled @jarrettandrulis 2021-10-05 17:31:30 +02:00
Toni de la Fuente 221f6038d7 Restore group extras 2021-10-05 17:22:53 +02:00
Toni de la Fuente f4045c6d97 New Check 7156 API Gateway V2 has Access Logging enabled @dsensibaugh
New Check 7156 API Gateway V2 has Access Logging enabled @dsensibaugh
2021-10-05 16:55:08 +02:00
Toni de la Fuente 53e5681f35 New check 7154 CloudFormation stack termination protection enabled @ShubhamShah11
New check 7154 CloudFormation stack termination protection enabled @ShubhamShah11
2021-10-05 16:52:38 +02:00
Toni de la Fuente ca96addd92 New check 7152 Route53 domain privacy protection enabled @jarrettandrulis
New check 7152 Route53 domain privacy protection enabled @jarrettandrulis
2021-10-05 16:49:15 +02:00
Jarrett Andrulis 27ab868e49 Update check_extra7152 2021-10-04 15:26:05 -05:00
Toni de la Fuente bffc9799c1 Updated documentation regarding a confusion with the -q option (issue #884) @w0rmr1d3r
Updated documentation regarding a confusion with the `-q` option (issue #884) @w0rmr1d3r
2021-10-04 13:28:37 +02:00
Toni de la Fuente d704f1003c New check 7151 DynamoDB tables point-in-time recovery (PITR) enabled @ManuelUgarte
New check 7151 DynamoDB tables point-in-time recovery (PITR) enabled @ManuelUgarte
2021-10-04 13:24:01 +02:00
Toni de la Fuente af7c4393d2 New check 7149 Redshift automated snapshots enabled @georgie969
New check 7149 Redshift automated snapshots enabled @georgie969
2021-10-04 13:22:14 +02:00
Toni de la Fuente 13d8c94053 New check 7150 ELB deletion protection enabled @ManuelUgarte
New check 7150 ELB deletion protection enabled @ManuelUgarte
2021-10-04 13:21:32 +02:00
Ramon 2f4a5c7c51 updated documentation regarding a confusion with the -q option 2021-10-04 13:13:24 +02:00
David Sensibaugh fec9c9c976 Update check_extra7156 2021-10-03 18:59:52 -04:00
EC2 Default User 4f7d75598d Changed ',' with ';' in check variables 2021-10-01 15:24:14 +00:00
EC2 Default User babbf065de Changed ',' with ';' in variables 2021-10-01 15:21:02 +00:00
Shubham Shah f74414532d Update check_extra7154 2021-10-01 11:14:26 -04:00
Shubham Shah 44d40e4f0d Update check_extra7154 2021-09-28 16:34:44 -04:00
EC2 Default User cff8f4a8d2 variable ends with just the value of key 'PointInTimeRecoveryStatus' if it is ENABLED. 2021-09-28 18:54:33 +00:00
Toni de la Fuente 34dd6842c4 New check 7148 EFS File systems have backup enabled @georgie969
New check 7148 EFS File systems have backup enabled @georgie969
2021-09-28 17:29:46 +02:00
Toni de la Fuente 70c6e5c7af Fix duplicated region in textFail message for extra741 @pablopagani
Fix duplicated region in textFail message for extra741 @pablopagani
2021-09-28 17:27:51 +02:00
Pablo Pagani 11deceb9e6 Bugfix: duplicated region in textFail message. 2021-09-23 14:05:20 -03:00
Toni de la Fuente 7c0d53a0e6 Delete group7_extras 2021-09-23 10:16:26 +02:00
Toni de la Fuente e4ecbcbd54 Delete group7_extras 2021-09-23 10:08:26 +02:00
Toni de la Fuente db6363e89f Delete randomFile.txt 2021-09-23 10:08:03 +02:00
Toni de la Fuente fad06ef5c0 New feature added flags Z to control if Prowler returns exit code 3 on a failed check @Kirizan
New feature added flags `Z` to control if Prowler returns exit code 3 on a failed check @Kirizan
2021-09-23 09:30:56 +02:00
Toni de la Fuente 473e0fbc3a Fix doc reference link in check23 @FallenAtticus
Fix doc reference link in check23 @FallenAtticus
2021-09-23 09:27:14 +02:00
Toni de la Fuente 254cb0cf63 Fix Security Hub conflict with duplicated findings in the management account #711 @xeroxnir
Fix Security Hub conflict with duplicated findings in the management account #711 @xeroxnir
2021-09-21 17:03:04 +02:00
Shubham Shah 73c65cf323 Update group7_extras 2021-09-20 20:07:43 -04:00
Shubham Shah 052a36207c Update check_extra7154 2021-09-20 20:06:48 -04:00
Shubham Shah ff3ef0b8c0 Update check_extra7154 2021-09-20 19:11:23 -04:00
Shubham Shah e42a2f8249 Merge pull request #1 from ShubhamShah11/ShubhamShah11-patch-1
Shubham shah11 patch 1
2021-09-20 19:02:53 -04:00
Shubham Shah 6201a2a3fb Update check_extra7154 2021-09-20 19:02:28 -04:00
Shubham Shah c6c730a81e Update check_extra7154 2021-09-20 17:21:19 -04:00
Shubham Shah 7d79532c1f Adding check_extra7154 2021-09-20 17:20:13 -04:00
Shubham Shah af38286a15 Create check_extra7154 2021-09-20 17:06:33 -04:00
Jarrett Andrulis 6566e80a3c renamed as extra7152 2021-09-20 10:59:30 -05:00
Jarrett Andrulis 397a44e3f9 Adding check_extra7151 2021-09-20 10:16:52 -05:00
EC2 Default User 9d76ba0c7b Removed xargs from line 30, not needed. Tested code against resources. 2021-09-16 13:29:06 +00:00
Joaquin Rinaudo 504b27b47a #711 fix Security Hub management account
* Filter by AWS account Id to avoid importing findings from other accounts.
2021-09-16 15:15:15 +02:00
EC2 Default User ee5ae4fc5e Check if DynamoDB tables point-in-time recovery (PITR) is enabled. 2021-09-15 20:38:24 +00:00
EC2 Default User df7a2c6ef3 Added EOL and updated some variables to make it easier to read. 2021-09-15 18:12:11 +00:00
Toni de la Fuente 48b45bbf95 Terraform Kickstarter @singergs
Terraform Kickstarter @singergs
2021-09-15 14:52:21 +02:00
George 9776c412c9 New Prowler check 7149 added 2021-09-14 16:50:07 -04:00
George 7b645a4a34 New Prowler check 7149 added 2021-09-14 16:36:17 -04:00
EC2 Default User 5c6b81dd8b elb deletion protection enabled checkextra 7150 2021-09-14 19:57:40 +00:00
Geoff Singer 0437c10dfd Update: Documentation reference
Removed gifs in git repo and moved to S3 for storage.  Effort to reduce the size of the git repo.

Moved artifacts to the util dir
2021-09-13 16:14:35 -05:00
Toni de la Fuente 9fc9e43172 Fix typo and HTTP capitalisation in extra7142 @acknosyn
Fix typo and HTTP capitalisation in extra7142 @acknosyn
2021-09-13 19:23:41 +02:00
Toni de la Fuente c1403dc140 Fix support policy arn in check120 @hersh86
Fix support policy arn in check120 @hersh86
2021-09-13 19:20:15 +02:00
Toni de la Fuente a827504d58 Added feature to allow role ARN while using -R parameter @mmuller88
Added feature to allow role ARN while using -R parameter @mmuller88 #859
2021-09-13 19:01:15 +02:00
Toni de la Fuente f3dcfe9f8e Added a new way to deploy Prowler at Organizational level with serverless @bella-kwon
Added a new way to deploy Prowler at Organizational level with serverless @bella-kwon
2021-09-13 18:57:36 +02:00
Geoff Singer 8617c77889 Remove: Link
Removed the hardlink to repo video file
2021-09-13 11:53:50 -05:00
Toni de la Fuente 28b97058ad Fix bug in extra784 @tayivan-sg
Fix bug in extra784 @tayivan-sg
2021-09-13 18:52:28 +02:00
Geoff Singer 8769783b75 Remove: Video File
Uploaded video file to youtube and removed it from the repo
2021-09-13 11:38:08 -05:00
Geoff Singer 1f1d7b2954 Update: Video Reference 2021-09-13 11:37:02 -05:00
georgie969 8586b1073d Delete extra_check7149
This file (7149) was committed in error
2021-09-10 10:52:15 -04:00
George e17d6e580f New Prowler Check 7149 by George O. submitted for review 2021-09-10 09:22:21 -04:00
George b3aa82a3b0 New Prowler Check 7148 by George O. submitted for review 2021-09-08 16:01:18 -04:00
Jarrett Andrulis c23ba56313 commit 2021-09-08 14:43:54 -05:00
sascha.duwe aadc7640b1 Removed the trailing space 2021-09-07 15:30:17 +02:00
nikirby c901233199 Added CLI flags Z for selecting which checks should generate exit code 3, and z to stop exit code 3 being generated at all. 2021-09-07 08:54:47 -04:00
Sascha Duwe ecec784113 Update check23
Fixed reference link
2021-09-07 11:13:42 +02:00
Acknosyn d2c75d8d71 Fix typo and HTTP capitalisation 2021-09-06 11:24:34 +12:00
Alex Hershey 56fd096620 Quick fix for check120 2021-09-03 17:01:08 -04:00
Geoff Singer 1a2fd87777 Update: Create tf files for variables, output, etc.
Separated the variables, outputs, and data into separate tf files
2021-09-02 12:01:39 -05:00
Geoff Singer 859d78a204 Merge remote-tracking branch 'origin/terraform-kickstarter' into terraform-kickstarter 2021-09-02 09:29:30 -05:00
Geoff Singer ea337993c3 Update: buildspec.yml
- removed the branch checkout
- moved all the commands to the install phase
per comments by w0rmr1d3r
2021-09-02 09:29:24 -05:00
Geoff Singer 21694f866e Update:
- removed the branch checkout
- moved all the commands to the install phase
per comments by w0rmr1d3r
2021-09-02 09:28:22 -05:00
Martin Mueller 36c4040a7f improve doc for -R 2021-09-02 07:32:42 +02:00
Toni de la Fuente 5757767b25 Fixed typo in risk description for check29 @kamiryo
Fixed typo in risk description for check29 @kamiryo
2021-09-01 19:14:03 +02:00
Geoff Singer 74a2f5ba03 Documentation: Updates 2021-09-01 11:33:31 -05:00
Martin Mueller 8d8ec38c60 feat: allow role arn for R parameter 2021-09-01 08:06:59 +02:00
Geoff Singer 8280ff619a Update: Documentation 2021-08-31 10:21:26 -05:00
Geoff Singer 77a732b8b3 Buildspec: parameter change 2021-08-31 09:43:57 -05:00
Geoff Singer dc8e3b0028 Update: IAM role 2021-08-31 09:16:36 -05:00
Geoff Singer 066c90028f Update: IAM role 2021-08-31 09:05:16 -05:00
Geoff Singer e621ae465a Updated: install commands 2021-08-31 08:25:28 -05:00
Geoff Singer 66cb830b66 Added: terraform artifacts 2021-08-31 08:21:37 -05:00
kamiryo 9f9d82adef Update check29
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Fixed typo
2021-08-30 16:43:42 +09:00
bella-kwon 12c52625c5 Readme and doc resources added 2021-08-30 11:00:31 +09:00
bella-kwon f33342aef9 Prowler execution script added 2021-08-30 10:59:33 +09:00
bella-kwon 9f435b45fa Organizational prowler template added 2021-08-30 10:59:08 +09:00
Ivan Tay 13b93c81ea Changes to fix bug in extra 784 2021-08-26 09:55:27 +08:00
Toni de la Fuente 06f790858b Fix title, remediation and doc link for check extra768 @w0rmr1d3r
Fix title, remediation and doc link for check extra768 @w0rmr1d3r
2021-08-25 11:28:40 +02:00
Toni de la Fuente a72a2e9b48 Ignore archived findings in GuardDuty for check extra7139 @chbiel
Ignore archived findings in GuardDuty for check extra7139 @chbiel
2021-08-25 11:26:31 +02:00
Ramon c14593a40e fix check_extra768 texts 2021-08-20 16:22:52 +02:00
Christopher Biel 321c79a374 Ignore archvived findings, as the check should only look at active findings, not those that were moved to the archive of guardduty 2021-08-19 11:50:16 +02:00
Toni de la Fuente 49261840d0 Fix extra737 remove false positives due to policies with condition @rinaudjaws
Fix extra737 remove false positives due to policies with condition @rinaudjaws
2021-08-18 20:31:26 +02:00
Toni de la Fuente 06157bcb87 Updated prowler-codebuild-role name for CFN StackSets name length limit @varunirv
Updated prowler-codebuild-role name for CFN StackSets name length limit @varunirv
2021-08-18 20:29:17 +02:00
rinaudjaws 38df162976 Remove KMS with conditions false positives
CDK for example implements callerAccount as a condition for the KMS policy resulting in too many false positives.
2021-08-18 08:52:46 +02:00
Rajat 3df5ee330d Updated prowler-codebuild-role name
This change is to fix the issue as reported at
https://github.com/toniblyx/prowler/issues/845
2021-08-13 14:55:12 -04:00
Ramon fbf7bb0bfe Merge pull request #1 from toniblyx/master
Updating with Upstream
2021-08-13 11:33:04 +02:00
Toni de la Fuente 3b6bc7fa64 2.5 - See release notes https://github.com/toniblyx/prowler/releases/tag/2.5.0
2.5 - See release notes https://github.com/toniblyx/prowler/releases/tag/2.5.0
2021-08-13 11:03:49 +02:00
Toni de la Fuente e0f60114f4 Consolidated license file 2021-08-13 10:05:56 +02:00
Toni de la Fuente e39ff9683c Set new version 2.5.0-12August2021 2021-08-12 10:38:59 +02:00
Toni de la Fuente 63233c9333 Changed check textTitle format for default output 2021-08-12 10:37:36 +02:00
Toni de la Fuente 3297fba209 Added new checks to extras 2021-08-10 23:11:50 +02:00
Toni de la Fuente 9c3ab79510 Removed Scored from title 2021-08-10 18:45:39 +02:00
Toni de la Fuente 24dec21aa4 Merge branch '2.5-new-checks' into 2.5 2021-08-10 17:28:48 +02:00
Toni de la Fuente c8e9cf2e77 Tested new checks 7143 to 7147 2021-08-10 17:00:18 +02:00
Toni de la Fuente 5d4a96c35b Adding custom security checks @nayabpatel
Adding custom security checks @nayabpatel
2021-08-10 15:29:29 +02:00
Toni de la Fuente 4607e519a9 Merge branch '2.5-new-checks' into custom-checks 2021-08-10 15:25:31 +02:00
Toni de la Fuente eba79e265e Merge branch '2.5' of https://github.com/toniblyx/prowler into 2.5 2021-08-10 15:13:26 +02:00
Toni de la Fuente f418c706b5 Removed extra756 from extras as duplicated 2021-08-10 15:13:14 +02:00
Toni de la Fuente 7b9a7ccb8a Merge pull request #841 from toniblyx/2.5
2.5
2021-08-10 15:09:11 +02:00
Toni de la Fuente ad23bddabe Ignore secrets folder in git @w0rmr1d3r
Ignore secrets folder in git @w0rmr1d3r
2021-08-10 15:04:50 +02:00
Toni de la Fuente d869c748fb Now shows default output regardless custom outputs called with -M 2021-08-10 14:07:31 +02:00
Toni de la Fuente cdf99c9600 Removed scored info from title 2021-08-10 14:03:13 +02:00
Toni de la Fuente c6203bf9e3 Clean up redentials report output 2021-08-10 14:02:21 +02:00
Toni de la Fuente 62050e2e34 Added PROWLER_START_TIME to CSV for reports 2021-08-10 14:01:40 +02:00
Ramon 558a9b5f2e ignore secrets folder when scanning for secrets 2021-08-06 11:46:45 +02:00
Toni de la Fuente d71e4a0214 Updated html report colour contrast for WCAG 2.1 accessibility standards @danielperez660
Updated html report colour contrast for WCAG 2.1 accessibility standards @danielperez660
2021-08-02 15:15:57 +02:00
danielperez660 9c24ae59cf Merge branch '2.5' into master 2021-08-02 14:10:14 +01:00
Toni de la Fuente 98f0755a0f Fix grammar issue in scoring @w0rmr1d3r
Fix grammar issue in scoring @w0rmr1d3r
2021-08-02 15:01:50 +02:00
Toni de la Fuente 38ebad4f00 Delete duplicated check extra737 and its references @w0rmr1d3r
Delete duplicated check extra737 and its references @w0rmr1d3r
2021-08-02 14:15:45 +02:00
Toni de la Fuente 5685cb8959 Merge branch '2.5' into delete_check_extra737_is_duplicated 2021-08-02 14:14:45 +02:00
Toni de la Fuente ad28cf4671 Delete duplicated check extra756 and its references @w0rmr1d3r
Delete duplicated check extra756 and its references @w0rmr1d3r
2021-08-02 14:12:38 +02:00
daniel 3a66ca336a changes made so there is enough colour contrast for WCAG 2.1 accessibility standards 2021-08-02 13:23:16 +02:00
Toni de la Fuente 26d310e35b Updated Prowler additions policy 2021-07-29 18:37:57 +02:00
Toni de la Fuente 52e04406dc Added servicename to the title for ASFF 2021-07-29 17:03:04 +02:00
Toni de la Fuente 3f63b83179 Added section with info about regions 2021-07-27 15:12:14 +02:00
Toni de la Fuente 4d6285f167 Added s3 and glue required permissions and removed obsoletes 2021-07-27 14:52:23 +02:00
Toni de la Fuente ffe147b5b5 Added s3 and glue required permissions and removed obsoletes 2021-07-27 14:49:58 +02:00
Toni de la Fuente c32fa9aa1f Added s3 and glue required permissions 2021-07-27 14:43:20 +02:00
Ramon 9ddb31f9c3 fix grammar issue 2021-07-16 12:26:46 +02:00
Ramon 0d9ec6320e delete check extra737 and its references 2021-07-16 12:09:54 +02:00
Ramon 8c70efde5f delete check extra756 and its references 2021-07-16 12:03:39 +02:00
Toni de la Fuente 065483a8b6 Update check12 - Missing MFA at the beginning of remediation @thorkill
Update check12 - Missing MFA at the beginning of remediation @thorkill
2021-07-16 10:17:28 +02:00
Rafał Leśniak 0a4ca0d2ed Update check12
Added missing MFA in remediation description.
2021-07-16 01:35:46 +02:00
Toni de la Fuente ab1407217d Enhanced Dockerfile with py3-pip 2021-07-09 13:57:35 +02:00
Toni de la Fuente 265f494b0d Fixed check21 to fail if trail is off 2021-07-08 17:09:22 +02:00
Toni de la Fuente 85cb2085b9 Output consolidation 2021-07-07 16:15:53 +02:00
Toni de la Fuente 5670e4a972 Removed CSV header stdout and add bucket-owner-full-control 2021-07-07 16:00:09 +02:00
Toni de la Fuente c09385976a Consolidated titles and outputs including resource ID in ASFF 2021-07-05 20:17:27 +02:00
Toni de la Fuente a9f277e131 Delete util/dashboard directory 2021-07-05 20:16:22 +02:00
Toni de la Fuente f540758e36 Delete util/ec2-automation directory 2021-07-05 20:15:48 +02:00
Toni de la Fuente 90ae53a976 Delete util/quicksight directory 2021-07-05 20:15:33 +02:00
Toni de la Fuente 24a02c1f71 Merge branch '2.5' of https://github.com/toniblyx/prowler into 2.5 2021-07-05 20:14:03 +02:00
Toni de la Fuente 3936a7b17a Changed how color codes are shown in text mode 2021-07-05 20:11:35 +02:00
Toni de la Fuente bc959a23f1 License file and banner cosolidation 2021-07-04 12:32:50 +02:00
Toni de la Fuente d53e6eb3a9 Fixed aws organizations multi-account deployment s3 upload issue @owlvat
Fixed aws organizations multi-account deployment s3 upload issue @owlvat
2021-06-30 10:30:04 +02:00
IB (AWS) 8c74ef102f fixed aws organizations multi-account s3 upload issue 2021-06-28 14:49:54 -07:00
Toni de la Fuente 706d20b5f6 Updated document title 2021-06-24 17:55:46 +02:00
Toni de la Fuente 4e9e421c84 Updated README to include reference to CloudShelld 2021-06-24 17:49:33 +02:00
Patel 800bcb0016 renaming extra checkId, change in text message format, adding more metadata variables, lowercase servicename, adding checks in extras group 2021-06-24 15:47:29 +05:30
Toni de la Fuente 3441b34f01 Add ResourceID to all checks output for ASFF and other output formats @singergs
Add ResourceID to all checks output for ASFF and other output formats @singergs
2021-06-23 23:25:05 +02:00
Toni de la Fuente dc47d32a36 Update: Add data to the ASFF @singergs
Update: Add data to the ASFF @singergs
2021-06-23 23:18:41 +02:00
Toni de la Fuente a8ae0bc845 Adding code for running in AWS CloudShell @hackersifu
Adding code for running in AWS CloudShell @hackersifu
2021-06-23 10:34:55 +02:00
Joshua McKiddy 74ddaf8087 Adding code for running in cloudshell 2021-06-22 11:07:14 -07:00
Patel 8a2d2924b4 Fixed typo issues, removed commented line, change in severity 2021-06-17 11:43:19 +05:30
Geoff 4961498562 Added parameter to report resource name
Added a third parameter to checks textFail and textPass to identify resource name in finding.
2021-06-16 22:25:44 -05:00
Geoff b14ac340bb Update: Add data to the ASFF
Added in the ASFF ProductFields ProwlerResourceName.  The resource name is passed into the fining from the third parameter in the Prowler checks
2021-06-16 09:12:17 -05:00
Toni de la Fuente 86aa9c317f HTML Report: Filtering and other nice things @nickmalcolm
HTML Report: Filtering and other nice things @nickmalcolm
2021-06-14 14:31:48 +02:00
Toni de la Fuente 7dec9f3d52 Merge branch '2.5' into nicer-html 2021-06-14 14:30:04 +02:00
Nick Malcolm da45af78bc Disable ordering so that it sticks with the order the HTML was generated 2021-06-14 21:13:19 +12:00
Nick Malcolm 01663e4e0d Page width improvements. Use the 'link' icon for the link to docs, to cut down on page width. Remove the status column to save width, and also remove redundancy (colour coding and Result column serve the same purpose). Remove the column widths that added to over 100%. 2021-06-14 21:00:40 +12:00
Nick Malcolm 34e27131fd Refactor the HTML outputs so that they reuse code and are easier to change 2021-06-14 20:46:14 +12:00
Nick Malcolm 89af81ed22 Use DataTable's SearchPanes extension to allow easy filtering by result, severity, region, service, or check. 2021-06-14 20:33:38 +12:00
Nick Malcolm f5a4e357b9 Consolidate javascript at the bottom of the template. Remove duplicate bootstrap includes - you only need bundle to get Popper (see https://getbootstrap.com/docs/4.0/getting-started/contents/#js-files) and you don't need both plain bootstrap and bundled bootstrap. Remove dupe jQuery too. 2021-06-14 20:27:16 +12:00
Patel 8e9ef841e5 Adding custom security checks 2021-06-14 12:43:21 +05:30
Toni de la Fuente 1229815c04 Add WAF CLASSIC check for extra7129 @kamiryo
Add WAF CLASSIC check for extra7129 @kamiryo
2021-06-11 17:17:28 +02:00
kamiryo 79a0eb622d Add WAF CLASSIC check for extra7129 2021-06-10 23:13:17 +09:00
Toni de la Fuente f38f99e786 Corrected bug on groups when listing checks @pablopagani
Corrected bug on groups when listing checks @pablopagani
2021-06-10 10:29:37 +02:00
Pablo Pagani aa3edbc636 corrected bug on groups when listing checks
corrected bug on groups when listing checks (option -l)
Previous regular expression will include groups when it matched half of the check_id
2021-06-09 14:01:27 -03:00
Toni de la Fuente 3f07afd7d4 Added custom file option @yangsec888
Added custom file option @yangsec888
2021-06-08 15:46:47 +02:00
Toni de la Fuente 701d5687be Fixed issue #811 @h1008
Fixed issue #811 @h1008
2021-06-08 14:50:59 +02:00
Toni de la Fuente 382e9c8e00 Align group21 title with the rest @w0rmr1d3r
Align group21 title with the rest @w0rmr1d3r
2021-06-08 14:49:52 +02:00
Ramon c74faa6d07 add missing * to align with the rest of the titles 2021-06-08 14:18:46 +02:00
h1008 5aeb670a84 Fixed issue #811 2021-06-05 11:57:04 +02:00
Toni de la Fuente 124ae0fd2e Fixed kms keys compatibility in cli v2 and v1 2021-06-02 17:53:12 +02:00
Toni de la Fuente 4ddf0aff86 Added extra7142 to group extras 2021-06-01 12:28:30 +02:00
Toni de la Fuente 96b9accea8 New check extra7142 ALB Header Check request smuggling @Outrun207
New check extra7142 ALB Header Check request smuggling @Outrun207
2021-06-01 12:27:07 +02:00
Toni de la Fuente 324a1002a5 Fix finding customer kms keys in cli v2 for checks extra737 extra736 @dbellizzi
Fix finding customer kms keys in cli v2 for checks extra737 extra736 @dbellizzi
2021-06-01 12:24:19 +02:00
Toni de la Fuente 311d21546d Enhanced -f <filterregion> usage info 2021-06-01 09:10:51 +02:00
Toni de la Fuente 5f1fa558c9 Changes in text output with severity and service name 2021-06-01 09:09:25 +02:00
Toni de la Fuente 9b6198d5b0 Merge branch '2.5' of https://github.com/toniblyx/prowler into 2.5 2021-05-31 18:48:10 +02:00
Toni de la Fuente 55e703540e Fixed typo in check extra7141 ID 2021-05-31 18:47:56 +02:00
Dom Bellizzi baf5232cbc Fix finding customer kms keys in cli v2 for checks extra737 extra736
Key id is in position 6 in aws cli version 2.2.5, but in position 4 in aws cli 1.x
Use --query to select only the data necessary and output in a consistent format
2021-05-29 22:27:15 +00:00
Josh Moss e3893c7d5b Update check_extra7142 2021-05-25 13:49:27 -04:00
Sam (Yang) Li a711b482df Fix #795 custom file option 2021-05-20 14:49:53 -04:00
Josh Moss 229d9ba00c ALB Header Check 2021-05-20 12:36:30 -04:00
Toni de la Fuente 51617df6c9 Bump Alpine to 3.13 in Dockerfile @gliptak
Bump Alpine to 3.13 in Dockerfile @gliptak
2021-05-20 17:10:28 +02:00
Toni de la Fuente 78e5dc5dba Added new check extra7141 to detect secrets in SSM Documents 2021-05-18 18:28:15 +02:00
Toni de la Fuente 1655bdb902 Added resource id to RDS checks and in json,csv,html outputs 2021-05-18 16:57:37 +02:00
Toni de la Fuente 30442b2da7 Added new check extra7140 for public SSM Documents 2021-05-18 16:10:55 +02:00
Toni de la Fuente 501082876c Fixed alias of extra7139 2021-05-18 16:08:10 +02:00
Toni de la Fuente 8d9ca987b5 Added link to doc for check45 check46 extra7138 and extras 2021-05-18 15:41:45 +02:00
Toni de la Fuente f4cd84afd2 Merge pull request #785 from jfagoagas/new-acls-checks
Added new checks to test Network ACLs open to 22, 3389 and any port
2021-05-18 15:35:33 +02:00
Toni de la Fuente 46c6f44055 Merge branch '2.5' into new-acls-checks 2021-05-18 15:34:27 +02:00
Gábor Lipták b72f66469e Bump Alpine to 3.13 in Dockerfile 2021-05-17 11:23:51 -04:00
Toni de la Fuente cf4034c3b4 Improved error handling sts get-caller-identity @pablopagani
Improved error handling sts get-caller-identity @pablopagani
2021-05-04 15:43:29 +02:00
Toni de la Fuente 7c65430508 Improved error handling when listing regions @pablopagani
Improved error handling when listing regions @pablopagani
2021-05-04 15:39:25 +02:00
Toni de la Fuente 497b473431 Added check extra7139 shows number of GuardDuty critical findings @pablopagani
Added check extra7139 shows number of GuardDuty critical findings @pablopagani
2021-05-04 15:35:36 +02:00
Pablo Pagani 5385c4e546 Improved error handling sts get-caller-identity
Instead of looking for a fixed error string, it uses error codes from aws cli
Previos condition was not catching this error message:
An error occurred (ExpiredToken) when calling the GetCallerIdentity operation: The security token included in the request is expired
Also forced the output of the command to json. In some tests I was doing was failing becuase it was sending output as text
2021-05-01 17:54:11 -03:00
Pablo Pagani 9ac8c78fdb improved error handling when listing regions 2021-05-01 17:47:08 -03:00
Pablo Pagani ce00f3a019 improved error handling. Added check 7139 . 2021-05-01 17:33:54 -03:00
Pepe Fagoaga 2727b7e8e2 fix(network-acls): update resource type to match AWS documentation 2021-04-28 18:50:20 +02:00
Pepe Fagoaga 2dc1ce61ec fix(network-acls): fix line typo 2021-04-26 12:30:44 +02:00
Pepe Fagoaga 625384ad6d feat(network-acls): include checks in networking and internetexposed checks 2021-04-24 13:38:36 +02:00
Pepe Fagoaga 056190cfc9 feat(network-acls): change textFail to textInfo because NACLs are stateless 2021-04-24 13:24:33 +02:00
Pepe Fagoaga 8f784a4548 feat(network-acls): include checks to test NetworkACLs open to 22, 3389 and any port 2021-04-24 13:13:41 +02:00
Pepe Fagoaga f1185213e8 Merge branch 'master' of github.com:toniblyx/prowler 2021-04-22 18:30:48 +02:00
Pepe Fagoaga cb60085779 New Networking checks for FTP, Telnet, SQL Server and Kafka (#2)
* feat(aws-securitygroups): include new control to test ingress from 0.0.0.0/0 or ::/0 to FTP ports 20 or 21

* feat(aws-securitygroups): include extra control 7134 in extra group

* feat(aws-securitygroups): include new control to test ingress from 0.0.0.0/0 or ::/0 to Kafka port 9092

* feat(aws-securitygroups): include new control to test ingress from 0.0.0.0/0 or ::/0 to Telnet port 23

* feat(aws-securitygroups): include new control to test ingress from 0.0.0.0/0 or ::/0 to Microsoft SQL Server ports 1433 or 1434

* feat(aws-securitygroups): include extra controls 7135, 7136 and 7137 in extra and internet-exposed groups
2021-04-22 18:29:12 +02:00
Toni de la Fuente 0e33e066cd Added 4 new checks to look for FTP, Telnet, SQL Server and Kafka open ports @jfagoagas
Added 4 new checks to look for FTP, Telnet, SQL Server and Kafka open ports @jfagoagas
2021-04-20 17:23:48 +02:00
Pepe Fagoaga 672f3833fc feat(aws-securitygroups): include extra controls 7135, 7136 and 7137 in extra and internet-exposed groups 2021-04-19 19:31:06 +02:00
Pepe Fagoaga 4327333d00 feat(aws-securitygroups): include new control to test ingress from 0.0.0.0/0 or ::/0 to Microsoft SQL Server ports 1433 or 1434 2021-04-19 19:28:10 +02:00
Pepe Fagoaga ab43a8b717 feat(aws-securitygroups): include new control to test ingress from 0.0.0.0/0 or ::/0 to Telnet port 23 2021-04-19 19:26:10 +02:00
Pepe Fagoaga 595bcba1d9 feat(aws-securitygroups): include new control to test ingress from 0.0.0.0/0 or ::/0 to Kafka port 9092 2021-04-19 19:24:31 +02:00
Pepe Fagoaga 68b3e1fa06 feat(aws-securitygroups): include extra control 7134 in extra group 2021-04-19 19:19:24 +02:00
Pepe Fagoaga 2ac96cf29a feat(aws-securitygroups): include new control to test ingress from 0.0.0.0/0 or ::/0 to FTP ports 20 or 21 2021-04-19 19:18:23 +02:00
Toni de la Fuente 49533de21b Added support for custom output folder and S3 bucket 2021-04-15 23:51:21 +02:00
Toni de la Fuente 583cffaefb 2.4.1 @toniblyx
2.4.1 @toniblyx
2021-04-15 10:22:00 +02:00
Toni de la Fuente 721b15d105 Fixed issue #776 2021-04-15 09:30:31 +02:00
Toni de la Fuente 53117819fc Fixed credentials renew issue #775 2021-04-14 11:47:38 +02:00
Toni de la Fuente 2552f2977d Fixed issue #775 2021-04-12 21:23:28 +02:00
Toni de la Fuente 8a04f40a80 Fixed issue #774 2021-04-12 20:20:04 +02:00
Toni de la Fuente b0fd6ce60f Merge pull request #773 from toniblyx/2.4
v2.4
2021-04-09 15:51:44 +02:00
Toni de la Fuente e4edc2fa2c Improved feature to refresh assume role credentials before it expires 2021-04-09 15:13:13 +02:00
Toni de la Fuente 10d062960e Updated screenshots 2021-04-08 00:35:12 +02:00
Toni de la Fuente 7f24aab715 Updated README 2021-04-08 00:22:07 +02:00
Toni de la Fuente 3dfca9c9dd Improved html output with scoring information 2021-04-08 00:14:24 +02:00
Toni de la Fuente dacfea6b32 Included Risk, Remediation and Link support for CSV and HTML outputs 2021-04-07 18:42:44 +02:00
Toni de la Fuente 574a9c94b0 Added Risk, Remediation and Link to html report 2021-04-07 18:40:50 +02:00
Toni de la Fuente 7bace94e08 Fixed servicename variable in extra72 2021-04-07 18:39:14 +02:00
Toni de la Fuente 778910eff3 Added new logo to README.md header 2021-04-06 17:32:55 +02:00
Toni de la Fuente 755f7d952f Added new logo 2021-04-06 17:15:33 +02:00
Toni de la Fuente d02e1967dc Improved PublicIP discovery used in Shodan check_extra7102 @as-km
Improved PublicIP discovery used in Shodan check_extra7102 @as-km
2021-04-06 13:05:27 +02:00
Mateusz d77001356a use describe-network-interfaces instead of describe-addresses in order to get public IPs #768 2021-04-06 12:57:11 +02:00
Toni de la Fuente e85d8b2a9d Add check23 to group17_internetexposed group @RyanJarv
Add check23 to group17_internetexposed group @RyanJarv
2021-04-06 12:01:52 +02:00
Toni de la Fuente 4f16c8dec5 Merge pull request #766 from toniblyx/revert-765-patch-2
Revert "Add check23 to group17_internetexposed group"
2021-04-05 21:17:35 +02:00
Toni de la Fuente 236ce1fb21 Revert "Add check23 to group17_internetexposed group" 2021-04-05 21:16:58 +02:00
Toni de la Fuente 15230ae6f3 Add check23 to group17_internetexposed @RyanJarv
Add check23 to group17_internetexposed @RyanJarv
2021-04-05 21:16:54 +02:00
Ryan Gerstenkorn 6c5776106f Add check23 to group17_internetexposed group
This add's the following check to group17.

* 2.3 [check23] Ensure the S3 bucket CloudTrail logs to is not publicly accessible (Scored)
2021-04-05 12:07:08 -07:00
Toni de la Fuente 4100d1dbfd Replace empty space with '\s' in check43 regex @frannovo
Replace empty space with '\s' in check43 regex @frannovo
2021-04-05 15:49:04 +02:00
Toni de la Fuente abcd299559 Add get_regions function in order to call after assume_role @HG00
Add get_regions function in order to call after assume_role @HG00
2021-04-05 15:35:54 +02:00
Toni de la Fuente f6049a0597 Merge branch '2.4' into master 2021-04-05 15:27:31 +02:00
HG00 bb397baa8a Add get_regions function in order to call after assume_role 2021-03-30 11:53:24 +00:00
Toni de la Fuente c0f3265754 Better handle permissions and errors 2021-03-24 15:41:51 +01:00
Toni de la Fuente 9614b6fc82 Merge branch '2.4' of https://github.com/toniblyx/prowler into 2.4 2021-03-24 15:12:48 +01:00
Toni de la Fuente a9d56be81a Added risk, remediation, doc link and caf epic to checks 742 to 7133 2021-03-24 15:12:32 +01:00
Toni de la Fuente 0c4111efda Moved assume role before listing regions fixes issue #744 2021-03-24 15:11:00 +01:00
Toni de la Fuente 5fb2e496a9 Added risk, remediation, doc link and caf epics to controls 1 to 741 @pablopagani
Added risk, remediation, doc link and caf epics to controls 1 to 741 @pablopagani
2021-03-24 14:36:54 +01:00
Pablo Pagani 7b4dae634e Merge branch '2.4' of https://github.com/pablopagani/prowler into 2.4 2021-03-24 10:23:04 -03:00
Pablo Pagani 35a22a71cd added risk remediation doc and epics to controls 1 to 741 2021-03-24 10:22:29 -03:00
Toni de la Fuente 21f817b087 Removed textInfo extra information on extra712 2021-03-24 12:30:59 +01:00
Toni de la Fuente 923dc3403b Added risk, remediation, doc link and epics to first 3 checks @pablopagani
Added risk, remediation, doc link and epics to first 3 checks
2021-03-24 09:08:19 +01:00
Pablo Pagani 68d240939c added risk, remediation doc and epics to firts 3 checks 2021-03-23 15:23:55 -03:00
Pablo Pagani a9d0649122 added risk, remediation doc and epics to firts 3 checks 2021-03-23 15:19:23 -03:00
Fran Novo 3eeba2ef4e Replace empty space with '\s' in check43 regex 2021-03-15 17:45:49 +01:00
Toni de la Fuente 806eaa0b98 Updated ProwlerExecRoleAdditionalViewPrivileges Policy with lambda:GetFunction
Updated ProwlerExecRoleAdditionalViewPrivileges Policy with lambda:GetFunction
2021-03-11 14:27:52 +01:00
Pepe Fagoaga 2cd8d15410 Merge pull request #1 from toniblyx/master
Include missing AWS function policy to check AWS Lambda
2021-03-11 13:33:11 +01:00
Toni de la Fuente d8473cfe87 Include missing AWS function lambda:GetFunction policy in prowler-additions-policy.json to check AWS Lambda @jfagoagas
Include missing AWS function lambda:GetFunction policy in prowler-additions-policy.json to check AWS Lambda @jfagoagas
2021-03-11 13:13:06 +01:00
Pepe Fagoaga 34625ff4e7 fix: include lambda:GetFunction in prowler policy to check AWS Lambda related controls: extra720,extra759,extra760,extra762,extra798 2021-03-11 12:48:32 +01:00
Toni de la Fuente 097ddbb957 Added extra7133 RDS multi-AZ 2021-03-04 20:29:40 +01:00
Toni de la Fuente db1380422f Added high level architecture 2021-02-25 11:56:45 +01:00
Toni de la Fuente 669cb6f1a9 Added IAM to extra7100 title 2021-02-25 11:56:22 +01:00
Toni de la Fuente fa2a40f5c0 Fix output on extra731 2021-02-23 18:27:38 +01:00
Toni de la Fuente 80b94eb667 Fix output on extra731 2021-02-23 18:24:26 +01:00
Toni de la Fuente b633ec8bef Added more checks mappings to ISO27001 group and reordered the list @mario-platt
Added more checks mappings to ISO27001 group and reordered the list @mario-platt
2021-02-22 23:21:32 +01:00
Toni de la Fuente a6ee7922c6 Cloudtrail metrics (check3x) pass if found on any, not every, cloudtrail log @zfLQ2qx2
Cloudtrail metrics (check3x) pass if found on any, not every, cloudtrail log @zfLQ2qx2
2021-02-22 23:18:31 +01:00
Toni de la Fuente 2883de016e Ensure check28 only looks at symmetric keys 2021-02-22 23:15:06 +01:00
Toni de la Fuente f94bf38bdc Merge pull request #752 from toniblyx/revert-742-check28-asymmetric-keys
Revert "check28 only look at symmetric keys"
2021-02-22 23:05:52 +01:00
Toni de la Fuente 5d7d9efa69 Revert "check28 only look at symmetric keys" 2021-02-22 23:05:05 +01:00
Toni de la Fuente 1d0887ac89 Make check28 only look at symmetric keys @mdop-wh
Make check28 only look at symmetric keys @mdop-wh. Asymmetric keys don't support automatic rotation.
2021-02-22 22:36:53 +01:00
Toni de la Fuente e0dbfaaa37 Merge branch 'master' into check28-asymmetric-keys 2021-02-22 22:35:32 +01:00
Toni de la Fuente b68cf876bc Merge pull request #751 from toniblyx/revert-736-universal_epoch_time
Revert "Implement OS neutral method of converting rfc3339 dates to epoch"
2021-02-22 21:54:08 +01:00
Toni de la Fuente 97a7471f24 Revert "Implement OS neutral method of converting rfc3339 dates to epoch" 2021-02-22 21:52:19 +01:00
Toni de la Fuente 5d3c526ba7 Implement OS neutral method of converting rfc3339 dates to epoch @zfLQ2qx2
Implement OS neutral method of converting rfc3339 dates to epoch
2021-02-22 21:47:06 +01:00
Toni de la Fuente 3d834fae42 Fix typos and add to extras extra7132 2021-02-22 21:44:48 +01:00
Toni de la Fuente aa3f8a6b5c Add check for RDS enhanced monitoring @mpratsch
Add check for RDS enhanced monitoring @mpratsch
2021-02-22 21:41:24 +01:00
Toni de la Fuente bddf71d5e6 Add access checks for several checks @zfLQ2qx2
Add access checks for several checks @zfLQ2qx2 (21,22,23,24,25,26,27,28,29,720,725)
2021-02-22 21:38:39 +01:00
Toni de la Fuente 8a32d8ae5f Force default AWS CLI output issue #696 @Kirizan
Force default AWS CLI output issue #696 @Kirizan
2021-02-22 21:31:32 +01:00
Mario Platt 78c2cacfd9 added more checks mappings to ISO27001 group, and reordered the list of comment mappings to go from lower to highest requirements in ISO 2021-02-19 14:23:26 +00:00
C.J 7e6291c51d Cloudtrail metrics pass if found on any, not every, cloudtrail log 2021-02-09 12:29:43 -05:00
Toni de la Fuente 138ece153e Adjusted severity to secrets and Shodan checks 2021-02-05 08:39:02 +01:00
Toni de la Fuente 5d04febf81 Adjusted severity like in Security Hub 2021-02-05 08:34:34 +01:00
Martina Rath 696a776e2e Move extra7132 to rd group and add CHECK_SERVICENAME to check 2021-02-05 08:32:06 +01:00
Martina Rath 073d2ab727 Add check if Enhanced monitoring is enabled on RDS instances 2021-02-05 08:12:11 +01:00
Michael Dop 7e8de8adb8 check28 only look at symmetric keys
AWS doesn't support the automatic rotation of asymmetric keys
2021-02-04 10:07:27 -05:00
C.J de87de3b39 Add access checks for several checks 2021-02-03 17:07:02 -05:00
Toni de la Fuente e91e2cfee6 Updated extra73 with service name
Updated extra73 with service name
2021-02-03 14:55:15 +01:00
Toni de la Fuente d33c82cd00 Merge branch 'master' into patch-1 2021-02-03 14:54:22 +01:00
Toni de la Fuente 0e3e4a9227 Updated
added CHECK_SERVICENAME_extra73="s3"
2021-02-03 14:51:11 +01:00
Toni de la Fuente bea84ad6d3 Fix title grammar in check_extra73 @CenturionGamer
Fix title grammar in check_extra73 @CenturionGamer
2021-02-03 14:49:35 +01:00
Toni de la Fuente 79c4a65ba8 Improved to consider services and severity 2021-02-02 17:36:35 +01:00
Toni de la Fuente e6d175d62e Check for errors generating credential report, limit loop iterations @zfLQ2qx2
Check for errors generating credential report, limit loop iterations @zfLQ2qx2
2021-02-02 15:28:32 +01:00
CenturionGamer 880523880d Update check_extra73
Fixed the grammar by removing "the" in the description.
2021-01-28 13:06:44 -05:00
C.J cbcc8c61a5 Implement OS neutral method of converting rfc3339 dates to epoch 2021-01-26 14:54:27 -05:00
Toni de la Fuente f9c2e0cf26 Revert PR #718 2021-01-22 16:17:26 +01:00
Toni de la Fuente 6f371744dc Added AWS service name to json, csv and html outputs 2021-01-22 10:56:59 +01:00
Toni de la Fuente dfdff6e863 Added service name to all checks 2021-01-22 00:23:53 +01:00
Toni de la Fuente 8ed40791ad Added service name to sample check 2021-01-22 00:21:26 +01:00
Toni de la Fuente f85845c26b Added service name to all checks 2021-01-22 00:19:45 +01:00
Toni de la Fuente 73cac580f3 Added severity field to CSV and HTML output reports 2021-01-21 22:42:40 +01:00
Toni de la Fuente 6bb49fd162 Merge branch 'master' of https://github.com/toniblyx/prowler 2021-01-21 22:40:50 +01:00
Toni de la Fuente 478cb4aa54 Adjusted severity variable 2021-01-21 22:40:25 +01:00
Toni de la Fuente 47aa6998f4 Update check_extra7130 profile parameter was not set @soffensive
Update check_extra7130 profile parameter was not set @soffensive
2021-01-18 17:07:00 +01:00
soffensive f7e4a1f6a4 Update check_extra7130
Profile was not set
2021-01-18 16:41:18 +01:00
Toni de la Fuente b1332f1154 Fix regex in check43 @ilyas28
Fix regex in check43 @ilyas28
2021-01-15 13:05:29 +01:00
İlyas Apaydın 8e35e63359 fix regex in check43 2021-01-14 13:38:33 +03:00
C.J be3e771454 Check for errors generating credential report, limit loop iterations 2021-01-14 04:41:16 -05:00
Toni de la Fuente f5b26387f0 Clear AWS_DEFAULT_OUTPUT on start @zfLQ2qx2
Clear AWS_DEFAULT_OUTPUT on start @zfLQ2qx2
2021-01-14 10:19:07 +01:00
C.J ed0f01b617 Clear AWS_DEFAULT_OUTPUT on start 2021-01-14 04:01:40 -05:00
Toni de la Fuente d047cd807a Fix check extra73 fail message omits bucket name @zfLQ2qx2
Fix check extra73 fail message omits bucket name @zfLQ2qx2
2021-01-14 09:28:44 +01:00
C.J 6a9a47e549 Fix for issue 713 2021-01-13 19:16:48 -05:00
Toni de la Fuente 6cbee3b16c Fix log metric filter check3x with multiple trails @bridgecrewio
Fix log metric filter check3x with multiple trails @bridgecrewio
2021-01-13 23:08:17 +01:00
Toni de la Fuente a53aeff0e8 Catch errors assuming role and describing regions @zfLQ2qx2
Catch errors assuming role and describing regions @zfLQ2qx2
2021-01-13 22:50:11 +01:00
Toni de la Fuente 81787d1946 Add check for AccessDenied when calling GetBucketLocation in extra73,extra734,extra764 @zfLQ2qx2
Add check for AccessDenied when calling GetBucketLocation in extra73,extra734,extra764 @zfLQ2qx2
2021-01-13 22:35:20 +01:00
Toni de la Fuente b23f9b3b5d Fix changes made in check27 2021-01-13 22:21:45 +01:00
Toni de la Fuente 51d6fc99ed Handle shadow CloudTrails more gracefully in checks check21,check22,check24,check27 @zfLQ2qx2
Handle shadow CloudTrails more gracefully in checks check21,check22,check24,check27 @zfLQ2qx2
2021-01-13 21:35:07 +01:00
Toni de la Fuente 0d4988b874 Additional check for location of awscli @zfLQ2qx2
Additional check for location of awscli @zfLQ2qx2
2021-01-13 21:25:04 +01:00
Toni de la Fuente 17c0409d35 Fix date command for busybox @zfLQ2qx2
Fix date command for busybox @zfLQ2qx2
2021-01-13 21:19:07 +01:00
C.J 1d9c1eaece Catch errors assuming role and describing regions 2021-01-13 09:44:15 -05:00
Toni de la Fuente d77f1ea651 Add new check extra7131 RDS minor version upgrade 2021-01-13 12:58:23 +01:00
Toni de la Fuente 2bc3fcf7ee Add new check extra7131 RDS minor version upgrade 2021-01-13 12:57:08 +01:00
Toni de la Fuente bcdd12bf84 Add new check extra7131 RDS minor version upgrade 2021-01-13 12:51:49 +01:00
C.J 733c99c1e0 Add check for AccessDenied when calling GetBucetLocation 2021-01-12 15:38:47 -05:00
C.J ecc08722e1 Handle shadow cloudtrails more gracefully 2021-01-12 13:37:30 -05:00
C.J f53a32ae26 Additional check for location of awscli 2021-01-12 11:03:30 -05:00
C.J bf1bd505c5 Fix for busybox date command 2021-01-12 09:11:52 -05:00
Toni de la Fuente eac59cade8 Add new check extra_7130 to check encryption of a SNS topic @mpratsch
Add new check extra_7130 to check encryption of a SNS topic @mpratsch
2021-01-08 13:54:55 +01:00
Martina Rath 994abe8fa3 Add check7130 to group7_extras and fix some issues 2021-01-08 13:43:46 +01:00
Toni de la Fuente 6ad1816e37 Fix EKS related checks regarding us-west-1 @njgibbon
Fix EKS related checks regarding us-west-1 @njgibbon
2021-01-07 19:29:22 +01:00
Toni de la Fuente 20b8b1eb1f Enhance check extra792 to accept current most restrictive TLSv1.2 @bazbremner
Enhance check extra792 to accept current most restrictive TLSv1.2 @bazbremner
2021-01-07 19:22:20 +01:00
Martina Rath 9a060a3c43 Add new extras check (7130) to check encryption of a SNS topic 2020-12-30 08:46:13 +01:00
Barrie Bremner 75e5de9c37 Accept current most restrictive TLSv1.2-only ALB security policy as secure
The `ELBSecurityPolicy-FS-1-2-Res-2020-10` policy is the most
restrictive TLS v1.2 only SSL/TLS security policy available, and is a
subset of the already accepted `ELBSecurityPolicy-FS-1-2-Res-2019-08`
policy - this commit adds `ELBSecurityPolicy-FS-1-2-Res-2020-10` to
the list of acceptable "secure" security policies.

`ELBSecurityPolicy-FS-1-2-Res-2020-10` has a very limited set of
ciphers, is TLS v1.2 only and supports Forward Secrecy.

Current SSL Labs tests gives it an "A" rating for another source of
confirmation.
2020-12-24 16:52:01 +00:00
njgibbon 4adc7f5864 feat - fix - taking out eks check condition because california region 2020-12-24 00:00:06 +00:00
Toni de la Fuente 0ddb045ca2 Update README.md 2020-12-18 15:27:59 +01:00
Toni de la Fuente 297eeea783 Label version 2.3.0-18122020 2020-12-18 13:09:47 +01:00
Toni de la Fuente d540cefc23 Fix FreeBSD $OSTYPE check @ring-pete
Fix FreeBSD $OSTYPE check @ring-pete
2020-12-18 10:24:48 +01:00
Toni de la Fuente 953bdf3034 Merge branch 'master' into master 2020-12-18 10:24:25 +01:00
Toni de la Fuente 823c7d4b61 Enhanced check extra740: reworked to consider all snapshots, use JMESPath query @pacohope
Enhanced check extra740: reworked to consider all snapshots, use JMESPath query
2020-12-18 10:17:52 +01:00
Toni de la Fuente e298158bcd Enhanced error handling without credentials 2020-12-17 17:15:17 +01:00
Toni de la Fuente 810801fb3d Fix error handling for SubscriptionRequiredException in extra77 2020-12-17 16:52:18 +01:00
Toni de la Fuente 91ce905a5a Fix issue assuming role in regions with STS disabled 2020-12-17 16:34:10 +01:00
Toni de la Fuente 6ed6a47f8f Add sleep to extra7102 to avoid Shodan API limits 2020-12-17 15:27:00 +01:00
Toni de la Fuente 347872a6de Refresh assumed role credentials to avoid role chaining limitations @michael-dickinson-sainsburys
Refresh assumed role credentials to avoid role chaining limitations @michael-dickinson-sainsburys
2020-12-17 15:24:06 +01:00
Toni de la Fuente 8c19583ac7 Update prowler
Adapted execute_check to renew creds
2020-12-17 15:21:50 +01:00
Toni de la Fuente 5c620949f0 Update os_detector
Change above is because epoch time generator in BSD is 1h less than in Linux
2020-12-17 15:20:20 +01:00
Toni de la Fuente 5be38a15d9 Update os_detector bsd_convert_date_to_timestamp 2020-12-17 10:24:25 +01:00
Toni de la Fuente 5e38c61286 Refresh assumed role credentials to avoid role chaining limitations @michael-dickinson-sainsburys
Refresh assumed role credentials to avoid role chaining limitations @michael-dickinson-sainsburys
2020-12-16 20:04:21 +00:00
Toni de la Fuente de3e2c3a2b Added support to run inside AWS CloudShell 2020-12-16 13:41:54 +01:00
Toni de la Fuente 687cfd0a34 Merge pull request #709 from toniblyx/revert-694-master
Revert "Refresh assumed role credentials to avoid role chaining limitations"
2020-12-15 17:38:00 +01:00
Toni de la Fuente aa0440e426 Revert "Refresh assumed role credentials to avoid role chaining limitations" 2020-12-15 17:37:42 +01:00
Toni de la Fuente 31182059e4 Refresh assumed role credentials to avoid role chaining limitations @michael-dickinson-sainsburys
Refresh assumed role credentials to avoid role chaining limitations @michael-dickinson-sainsburys
2020-12-15 17:29:11 +01:00
Toni de la Fuente e047dc8764 Added latest checks to extras group 2020-12-15 15:10:33 +01:00
Toni de la Fuente 7f1df739c4 Added -N <shodan_api_key> support for extra7102 2020-12-15 12:25:47 +01:00
Toni de la Fuente 9ed576b09d Fix issue in extra776 when ECR Scanning imageDigest @adamcanzuk
Fix issue in extra776 when ECR Scanning imageDigest @adamcanzuk
2020-12-14 12:59:19 +01:00
Paco Hope f3dbecbe89 reworked check740 to consider all snapshots, use JMESPath query, and to limit its output according to max-items 2020-12-10 09:27:43 -05:00
Toni de la Fuente 3d62aedf29 New RC6 including ENS as a new compliance type all formats 2020-12-01 10:03:59 +01:00
Toni de la Fuente 30937c3275 Updated ENS group with new checks 2020-12-01 09:56:08 +01:00
Toni de la Fuente 63040e1c07 New 7 checks required for ENS 2020-12-01 09:55:20 +01:00
Michael Dickinson 30eb447919 docs: Update Organizations command to only incude active accounts 2020-11-23 21:05:27 +00:00
Michael Dickinson 5da54467b5 fix: Refresh assumed role credentials if session is nearing expiration 2020-11-23 21:05:20 +00:00
Michael Dickinson 8ab91e9f8e fix: Store assumed role expiry time for later checking 2020-11-23 21:05:11 +00:00
mikeurbanski1 4fddb7fa63 Fix log metric filter checks (#33)
* debug statements for issue demonstration

* use separate array elements

* add debug and comments

* clean up debug statements
2020-11-23 09:26:44 -06:00
Pete Wright 65bbdfdd83 Fix FreeBSD $OSTYPE check
As per this bug report:
https://github.com/toniblyx/prowler/issues/693

Add detection for freebsd releases which should be similar to darwin
in that it will use GNU coreutils for date and base64.
2020-11-20 13:29:21 -08:00
nikirby 013b106564 Merge branch 'master' of github.com:Kirizan/prowler 2020-11-20 15:22:31 -05:00
nikirby fa72e7c21f Ensures JSON is the default AWS command output. 2020-11-20 15:16:22 -05:00
Toni de la Fuente 25a04cd59e Merge branch 'master' of https://github.com/toniblyx/prowler into master 2020-11-20 15:07:48 +01:00
Toni de la Fuente 72303ea126 Fixed syntax typo 2020-11-20 15:04:47 +01:00
Toni de la Fuente 600a7c9f2f Adapt check119 to exclude instances shutting down @stku1985
Adapt check119 to exclude instances shutting down @stku1985
2020-11-18 15:30:57 +01:00
Toni de la Fuente 53e95ac9f3 Improved CodeBuild CFN template with scheduler and documentation 2020-11-18 15:12:44 +01:00
Toni de la Fuente 1f6931a591 Merge branch 'master' of https://github.com/toniblyx/prowler into master 2020-11-18 14:48:47 +01:00
Toni de la Fuente fdc8c1ce36 Added session durantion option to 12h 2020-11-18 14:48:34 +01:00
Toni de la Fuente a8fed14cea Fixed extra7116 extra7117 outputs and added to extras @ramondiez
Fixed extra7116 extra7117 outputs and added to extras @ramondiez
2020-11-18 13:41:12 +01:00
Toni de la Fuente f3d4cc8514 Fixed extra7116 extra7117 outputs and added to extras 2020-11-18 13:31:20 +01:00
Stefan Kunkel 7397126794 adapt check119 to exclude instances shutting down
brain fart: used logical 'or' instead of correct '&&'
2020-11-18 13:25:28 +01:00
Toni de la Fuente 11bf35d993 Enhancement check119 to exclude instances shutting-down @stku1985
Enhancement check119 to exclude instances shutting-down in addition to terminated ones
2020-11-18 13:21:52 +01:00
Stefan Kunkel 147fac0777 adapt check119 to exclude instances shutting down 2020-11-18 13:20:55 +01:00
Ramon Diez 49423dee4a fixing check_extra7116 and check_extra7117 2020-11-18 12:42:01 +01:00
Toni de la Fuente 345a8d48c4 Added group for ENS - Spanish Esquema Nacional de Seguridad 2020-11-18 11:45:07 +01:00
Toni de la Fuente 1576f2ba39 Added start build automatically 2020-11-16 20:15:41 +01:00
Toni de la Fuente 0bd1fefd7d Glue checks additional @dlpzx
Glue checks additional  @dlpzx
2020-11-16 18:32:09 +01:00
Toni de la Fuente c2a2e393cb Merge branch 'master' into dlpzx-master 2020-11-16 18:31:18 +01:00
Toni de la Fuente 7cd1413c93 Glue grup 2 corrections 2020-11-16 18:29:16 +01:00
Toni de la Fuente 9c39f69210 Glue checks part 1 @ramondiez
Glue checks part 1 @ramondiez
2020-11-16 17:55:50 +01:00
Toni de la Fuente 6e604e1834 Some corrections for glue related checks 2020-11-16 17:51:53 +01:00
Toni de la Fuente b702990ea6 Fix: Security Hub eventual consistency + PREFIX query bug + Archive PASSED @xeroxnir
Fix: Security Hub eventual consistency + PREFIX query bug + Archive PASSED
2020-11-13 19:16:58 +01:00
Toni de la Fuente 594215661d Fix for check_extra764 @grzegorznittner
Fix for check_extra764 fix #680
2020-11-13 19:10:41 +01:00
Toni de la Fuente b32538b7e5 Glue review 2 2020-11-13 19:05:19 +01:00
Toni de la Fuente 8c9d843813 Glue review 1 2020-11-13 19:02:26 +01:00
Toni de la Fuente c934e788b7 Center logo in html report 2020-11-13 18:22:09 +01:00
Grzegorz Nittner c9ca8d48b1 #680 - fix for check_extra764 2020-11-13 14:56:22 +00:00
Joaquin Rinaudo f6d17ba6e0 fix(securityhub): consistency + prefix bug + PASSED
fix(securityhub): consistency + prefix bug + PASSED
2020-11-12 21:48:21 +01:00
Ramon Diez 0bfa263ad9 Fixing some descriptions 2020-11-12 12:30:22 +01:00
dlpzx 943b096f35 checks for glue - 7119, 7121, 7123 2020-11-12 12:06:43 +01:00
dlpzx 888133e986 checks for glue - 7119, 7121, 7123,7124,7125 2020-11-10 13:06:03 +01:00
dlpzx 39a7c3b18e checks for glue - 7119, 7121, 7123,7124,7125 2020-11-10 13:05:22 +01:00
dlpzx ebe2594456 checks for glue - 7119, 7121, 7123,7124,7125 2020-11-09 19:17:00 +01:00
dlpzx e0a8e0f318 checks for glue - 7119, 7121, 7123,7124,7125 2020-11-09 18:48:11 +01:00
Toni de la Fuente 7dbed63143 Added CodeBuild deployment section 2020-11-05 21:49:05 +01:00
Toni de la Fuente 2304d14f28 Added CodeBuild template - original from @stevecjones 2020-11-05 00:35:05 +01:00
Ramon Diez 954848c6e8 Glue checks part 1 2020-11-04 10:44:43 +01:00
Toni de la Fuente 97055e84b4 Fix quotes in check extra78 for public RDS instances @goldfiglabs
Fix quotes in check extra78 for public RDS instances @goldfiglabs
2020-11-03 23:31:44 +01:00
Toni de la Fuente 6188021e63 Adding fix to generate test summary so reports display graphs correctly @stevecjones
Adding fix to generate test summary so reports display graphs correctly @stevecjones
2020-11-03 21:14:05 +01:00
dlpzx 65c63d5bdd checks for glue - 7119,7121,7123,7124. 7125 not done yet 2020-11-03 19:18:40 +01:00
Toni de la Fuente 180f12d625 Fix extra7111 parser error 2020-11-03 13:48:39 +01:00
Toni de la Fuente 62fcbf2f05 Fix extra7103 parser error 2020-11-03 13:44:24 +01:00
Toni de la Fuente 3844c2151b Merge branch 'master' of https://github.com/toniblyx/prowler into master 2020-11-03 13:34:05 +01:00
Toni de la Fuente 5d4648c812 Fix extra7108 parser error 2020-11-03 13:33:51 +01:00
Stephen Jones e7f837eb7b Correct typo and simplify count 2020-11-03 22:45:27 +11:00
Toni de la Fuente f0949f6ec6 Enable Security Hub official integration and version 2.3.0RC5 @toniblyx
Enable Security Hub official integration and version 2.3.0RC5 @toniblyx
2020-10-30 19:36:45 +01:00
Stephen Jones 87f91cf467 Removing gnarly code and add refined counters for summary metrics in output 2020-10-30 22:51:11 +11:00
Toni de la Fuente ae1d7be7f2 Enable Security Hub official integration 2020-10-29 22:40:38 +01:00
Greg Soltis 7585ad7d57 Fix check for public rds instances 2020-10-26 11:39:37 -07:00
Stephen Jones 2756f16c87 Adding fix to generate test summary so reports display graphs correctly 2020-10-22 02:15:15 +11:00
Toni de la Fuente d6760f15b7 fix extra7110 title 2020-10-20 13:30:26 +02:00
Toni de la Fuente b8e1ef6b33 Fix check_extra7107 condition 2020-10-20 13:20:15 +02:00
Toni de la Fuente 79808fbe30 Fix syntax in extra7110 2020-10-20 09:29:30 +02:00
Toni de la Fuente c34535f585 Fix report metadata in html output 2020-10-15 22:01:28 +02:00
Toni de la Fuente fa925bdef2 Fix account id in output file name 2020-10-15 21:56:44 +02:00
Toni de la Fuente a05aba84e1 Added GovCloud usage information 2020-10-14 22:29:51 +02:00
Toni de la Fuente 19b894c14b Added extra7113: Check RDS instances deletion protection @gchib297
Added extra7113: Check RDS instances deletion protection @gchib297
2020-10-08 22:46:31 +02:00
gchib 23df3dd8d0 Add extra7113: Check RDS deletion protection 2020-10-08 17:21:26 +05:30
gchib 5994700c09 Add check extra7113 2020-10-08 17:19:58 +05:30
gchib ba7c3a3124 Add extra7113: Check RDS deletion protection 2020-10-08 17:18:56 +05:30
Toni de la Fuente b512585d80 Added all new Sagemaker checks to extras 2020-10-06 16:43:21 +02:00
Toni de la Fuente 645ea25ddc New group for Sagemaker with 10 new controls 2020-10-06 16:40:19 +02:00
Toni de la Fuente 923267c3e5 extra7102 increased severity to medium 2020-10-06 16:39:39 +02:00
Toni de la Fuente 2fb9588883 Add extra7102 to groups extras and internetexposed 2020-10-02 19:14:37 +02:00
Toni de la Fuente ffcb6a0b69 Added extra7102 ElasticIP Shodan integration 2020-10-02 19:10:00 +02:00
Toni de la Fuente ad45035ad3 Updated README.md 2020-09-30 23:43:48 +02:00
Toni de la Fuente 62a87d961c Add SOC2 compliance group @gchib297
Add SOC2 compliance group @gchib297
2020-09-30 22:59:51 +02:00
Toni de la Fuente 6aa8dd643d Add check extra798 to gdpr and pci groups @gchib297
Add check extra798 to gdpr and pci groups @gchib297
2020-09-30 22:58:28 +02:00
Toni de la Fuente f674868dd9 Add check extra798 to iso27001 @gchib297
Add check extra798 to iso27001 @gchib297
2020-09-30 22:57:35 +02:00
Toni de la Fuente 859951a63c Add FFIEC cybersecurity assessment group @gchib297
Add FFIEC cybersecurity assessment group @gchib297
2020-09-30 22:56:37 +02:00
gchib a3a71f499c Add SOC2 compliance group 2020-09-30 17:44:19 +05:30
gchib cf62f2bb05 Add check extra798 to PCI 2020-09-30 17:36:20 +05:30
gchib dd05575508 Add check extra798 to GDPR 2020-09-30 17:33:41 +05:30
gchib ff19182cf1 Add check extra798 to iso27001 2020-09-30 17:19:06 +05:30
gchib 58c4af98d1 Add FFIEC group
Add FFIEC Cybersecurity assessment checks
2020-09-30 17:10:56 +05:30
Toni de la Fuente 8e1fac1b7c Added checks about EKS to groups internet-exposed and forensics 2020-09-28 09:41:40 +02:00
Toni de la Fuente d620754bae Added extra796 EKS control plane access to internet-exposed group 2020-09-28 09:36:04 +02:00
Toni de la Fuente cf926e6f5a Added coreutils to Dockerfile 2020-09-24 14:58:10 +02:00
Toni de la Fuente 60c741a202 Merge branch 'master' of https://github.com/toniblyx/prowler into master 2020-09-24 14:55:20 +02:00
Toni de la Fuente c14799915c Fix issue #659 2020-09-24 14:55:10 +02:00
Toni de la Fuente 9165d3a8ba Fix SecurityHub: other os/check fixes + batch in 100 findings @xeroxnir
fix(securityhub): other os/check fixes + batch in 100 findings
2020-09-24 10:29:04 +02:00
Joaquin Rinaudo 321401f755 fix(securityhub): other os/check fixes + batch in 100 findings 2020-09-24 09:34:09 +02:00
Toni de la Fuente 5182403041 Improved documentation about SecurityHub integration and region filter 2020-09-23 15:30:08 +02:00
Toni de la Fuente 4d9473881f Fixed title id for eks-cis 2020-09-18 18:47:14 +02:00
Toni de la Fuente 88e67cc42d Merge branch 'master' of https://github.com/toniblyx/prowler into master 2020-09-18 18:44:11 +02:00
Toni de la Fuente 0f84181d89 Added new check [extra7101] Check if Amazon Elasticsearch Service (ES) domains have audit logging enabled 2020-09-18 18:44:01 +02:00
Toni de la Fuente 4c0dd42214 Fix security-hub integration: Race condition timestamp xeroxnir
Fix(security-hub): Race condition timestamp
2020-09-18 18:19:50 +02:00
Joaquin Rinaudo 660bbf5676 fix(security-hub): race condition timestamp 2020-09-18 18:14:05 +02:00
Toni de la Fuente a9b946b4e6 Merge branch 'master' of https://github.com/toniblyx/prowler into master 2020-09-18 15:29:12 +02:00
Toni de la Fuente 903840970b Merge pull request #657 from xeroxnir/master
Security Hub: Bugfix missing ","
2020-09-18 15:28:18 +02:00
Joaquin Rinaudo 65638af6a1 bugfix(securityhub): missing , 2020-09-18 15:25:51 +02:00
Toni de la Fuente a6bd8a59bf Security Hub: Mark as ARCHIVED + fix race condition @xeroxnir
Security Hub: Mark as ARCHIVED + fix race condition @xeroxnir
2020-09-18 15:19:12 +02:00
Joaquin Rinaudo 09212add77 fix(debug): resolveSecurityHubPreviousFails 2020-09-18 15:09:38 +02:00
Joaquin Rinaudo b7c1823ec9 fix(securityhub): add RecordState outputs 2020-09-18 14:59:28 +02:00
Joaquin Rinaudo c1b09b6b9d bugfix(securityhub): race condition fix 2020-09-18 14:52:32 +02:00
Joaquin Rinaudo 0f3e6ee90b feature(security-hub): archive finding instead of mark as PASSED 2020-09-18 14:07:00 +02:00
Toni de la Fuente 70aed72aff Added parameters and made the template parameterised @pacohope
Added parameters and made the template parameterised @pacohope
2020-09-18 11:57:35 +02:00
Paco Hope d012342422 added parameters and made the template parameterised. 2020-09-17 12:06:33 -04:00
Toni de la Fuente 7bfeebe2a2 Title adjustments for internetexposed iso27001 and eks-cis groups 2020-09-17 16:51:48 +02:00
Toni de la Fuente 448f506882 Merge pull request #654 from marcjay/patch-1
Add GetFindings action to example IAM policy for Security Hub
2020-09-17 09:39:45 +02:00
Marc Jay 7e2110dc4e Add GetFindings action to example IAM policy for Security Hub
Following the merge of #651, prowler now calls the GetFindings API when using Security Hub integration - this action needs to be added to the required policy
2020-09-17 01:37:45 +01:00
Toni de la Fuente 0dc4c316a2 Merge branch 'master' of https://github.com/toniblyx/prowler into master 2020-09-16 23:32:28 +02:00
Toni de la Fuente 392da158e7 Labeled 2.3.0RC4, time for a final GA version... 2020-09-16 23:32:13 +02:00
Toni de la Fuente ac0d90cee7 Whitelist feature improvements @QuinnStevens
Whitelist feature improvements @QuinnStevens
2020-09-16 23:28:40 +02:00
Toni de la Fuente d66a8d0ac6 Fix execute_group_by_id @xeroxnir
Fix execute_group_by_id @xeroxnir
2020-09-16 23:26:33 +02:00
Toni de la Fuente 7eff48715c Security Hub integration improvement and adding severity for checks @xeroxnir
Security Hub integration improvement and adding severity for checks @xeroxnir
2020-09-16 23:19:06 +02:00
Toni de la Fuente 66a9525d23 Support custom folder checks when running all checks @xeroxnir
Support custom folder checks when running all checks @xeroxnir
2020-09-16 23:13:24 +02:00
Toni de la Fuente 7e9a5dc8f5 Allow list checks and groups without credentials 2020-09-16 23:11:33 +02:00
Joaquin Rinaudo 24c80c8548 Fix: If is never called (also under execute_check) 2020-09-07 16:33:45 +02:00
Joaquin Rinaudo e1fb89838a Fix execute_group_by_id
* All other group checks for IAM have no credential report.
* ${GROUP_ID[$1]} is invalid as first parameter is group_id
2020-09-07 16:09:10 +02:00
Joaquin Rinaudo 69609b08c2 Fix: Json output 2020-09-07 14:26:02 +02:00
Quinn Stevens 801be49523 Return default behaviour to previous, remove distinction between strict & non-strict matching 2020-09-04 13:20:21 +01:00
Quinn Stevens 28b3604b1c Improve whitelisting to allow regexes and fuzzy/strict matching 2020-09-04 13:19:00 +01:00
Joaquin Rinaudo 7b634de36b Update securityhub_integration 2020-09-03 16:57:59 +02:00
Joaquin Rinaudo 981497e0e2 Update securityhub_integration 2020-09-03 16:55:07 +02:00
Joaquin Rinaudo ebf5d5f449 Update securityhub_integration 2020-09-03 16:53:26 +02:00
Joaquin Rinaudo 054e296501 Update outputs 2020-09-03 15:32:46 +02:00
Joaquin Rinaudo f642926f50 fix(severity): missing check 2020-09-03 08:23:17 +02:00
Joaquin Rinaudo e93bb654f8 cleanup outputs 2020-09-03 08:09:52 +02:00
Joaquin Rinaudo dce3cb0ead cleanup: working 2020-09-03 08:08:11 +02:00
Joaquin Rinaudo 0f3994a135 fix(error-handling): security-hub 2020-09-03 08:05:49 +02:00
Joaquin Rinaudo ecbe997084 severity+security_hub 2020-09-03 08:04:13 +02:00
Joaquin Rinaudo 20decaafd5 fix(security_hub): remove echo 2020-09-02 12:05:39 +02:00
Joaquin Rinaudo c53804a3eb fixes(security_hub): missing region and rename variables 2020-09-02 12:04:24 +02:00
Joaquin Rinaudo bed61c9ee7 remove comment 2020-09-01 17:08:47 +02:00
Joaquin Rinaudo ea914e47d7 remove debug statements 2020-09-01 17:07:53 +02:00
Joaquin Rinaudo ae4940a7d8 revert-custom-branch 2020-09-01 17:05:37 +02:00
Joaquin Rinaudo ebc3c4d4e4 WIP remove comments 2020-09-01 17:04:30 +02:00
Joaquin Rinaudo 2a4cebaa1e WIP: security hub integration 2020-09-01 17:03:25 +02:00
Joaquin Rinaudo 6c0e1a13e3 feature: Only when custom checks are set 2020-09-01 16:36:07 +02:00
Joaquin Rinaudo 0eab753620 feature: Execute custom checks in execute_all 2020-09-01 16:34:19 +02:00
Joaquin Rinaudo 118ff0819e Merge branch 'master' of github.com:xeroxnir/prowler 2020-09-01 16:32:34 +02:00
Joaquin Rinaudo 9baa6d6ae9 revert: master 2020-09-01 16:26:16 +02:00
Joaquin Rinaudo 43f3365bb4 revert: master 2020-09-01 16:22:32 +02:00
Joaquin Rinaudo 580523fde4 fix(all_checks): also run custom folder 2020-09-01 16:17:19 +02:00
Toni de la Fuente 2186f648c8 Ensure that checks are sorted numerically when listing checks @marcjay
Ensure that checks are sorted numerically when listing checks @marcjay
2020-09-01 09:13:04 +02:00
Marc Jay e3ecee83af Ensure that checks are sorted numerically when listing checks
Sort first by section, then by check within each section
Fix group IDs in documentation

Relates to #545 and #561
2020-09-01 00:21:48 +01:00
Joaquin Rinaudo 17e74a355f Merge branch 'master' of https://github.com/toniblyx/prowler 2020-08-28 07:13:16 +02:00
Joaquin Rinaudo 9283fb59b4 Merge branch 'master' of github.com:xeroxnir/prowler 2020-08-27 17:09:16 +02:00
Joaquin Rinaudo c65fc3b989 fix(security-hub): unique finding id, if status not changed, comment otherwise resolve older findings 2020-08-27 17:08:37 +02:00
Toni de la Fuente 7f03ef0e7e Adding back extra798 2020-08-27 16:50:48 +02:00
Toni de la Fuente 1496e3ab60 New check 7.98 [extra798] Ensure that no custom policies exist which allow permissive role assumption (e.g. sts:AssumeRole on *) @nickmalcolm
New check 7.98 [extra798] Ensure that no custom policies exist which allow permissive role assumption (e.g. sts:AssumeRole on *) @nickmalcolm
2020-08-27 16:31:18 +02:00
Toni de la Fuente 36a291c4a9 Rename check_extra798 to check_extra7100 2020-08-27 16:30:20 +02:00
Toni de la Fuente 0b9d3e39d4 Merge branch 'master' into master 2020-08-27 16:28:35 +02:00
Toni de la Fuente 1d4563f60d Added extra799 and extra7100 to group extras
Added extra799 and extra7100 to group extras
2020-08-27 16:23:08 +02:00
Toni de la Fuente 565edf7b4b Change check ID to extra7100
Change check ID to extra7100
2020-08-27 16:21:56 +02:00
Toni de la Fuente 5552ea1eb6 Fix getops OPTARG for custom checks @xeroxnir
Fix getops OPTARG for custom checks @xeroxnir
2020-08-27 16:12:59 +02:00
Joaquin Rinaudo 7868904c3b Fix getops OPTARG for custom checks
Custom checks in folder are not being sourced. `./prowler -c extra800 -x custom` results in empty EXTERNAL_CHECKS_PATH variables due to missing colon.

The fix was tested in both OSX and toniblyx/prowler:latest Docker.

Regards,
2020-08-26 23:59:02 +02:00
Toni de la Fuente 9647d80fc1 Fix check12 when MFA is enabled and user contains true in the name @xeroxnir
Fix check12 when MFA is enabled and user contains true in the name @xeroxnir
2020-08-26 18:41:51 +02:00
Toni de la Fuente 89db9d4b70 Update check12 2020-08-26 18:40:11 +02:00
Toni de la Fuente 553faf72ec Added [extra736] Check exposed KMS keys to group internet-exposed 2020-08-26 16:57:20 +02:00
Toni de la Fuente 33a53663db Added [extra799] Check if Security Hub is enabled and its standard subscriptions 2020-08-25 19:54:57 +02:00
Toni de la Fuente ca471700c2 Added [extra798] Check if Lambda functions have resource-based policy set as Public 2020-08-25 19:06:06 +02:00
Toni de la Fuente 03b1d898a6 Added AWS partition variable to the ASFF output format 2020-08-25 16:54:22 +02:00
Toni de la Fuente 97e6a80bdc Added AWS partition variable to the ASFF output format 2020-08-25 16:49:20 +02:00
Joaquin Rinaudo 024190dd8a [Check12] Bugfix: Remove $ from grep
Check is failing to detect users without MFA, solved by removing `$` sign addresses the issue.
2020-08-21 10:35:50 +02:00
Nick Malcolm ba87f437d5 This check will identify IAM Policies which allow an IAM Principal (a Role or User) to escalate their privileges due to insecure STS permissions. It is AWS best practice to only use explicitly defined Resources (Role ARNs) for an sts:AssumeRole action.
See more: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_permissions-to-switch.html#roles-usingrole-createpolicy
2020-08-20 21:08:00 +12:00
Toni de la Fuente cd0b5d29dd Added html to -M in usage 2020-08-18 11:59:53 +02:00
Toni de la Fuente c1992ef2a7 Added html to -M in usage 2020-08-18 11:52:49 +02:00
Toni de la Fuente 7aa0864bd2 Adding EKS checks to eks-cis and extras group @jonjozwiak
Adding EKS checks to eks-cis and extras group @jonjozwiak
2020-08-05 19:03:55 +02:00
Jon Jozwiak 022df45ae1 Adding EKS checks to eks-cis and extras group 2020-08-03 08:02:21 -05:00
Toni de la Fuente f5ec2bceda Adding 4 new EKS checks @jonjozwiak
Adding 4 new EKS checks @jonjozwiak
2020-07-31 21:40:38 +02:00
Toni de la Fuente 85efe3e342 Fixed extra737 now doesn't fail for keys scheduled for deletion @QuinnStevens
Fixed extra737 now doesn't fail for keys scheduled for deletion @QuinnStevens
2020-07-31 21:33:06 +02:00
Quinn Stevens 93c89530ff Explicitly set output --json for aws call 2020-07-31 20:30:20 +01:00
Toni de la Fuente 4a02d54ec1 Add additional GDPR checks to GDPR group @gchib297
Add additional GDPR checks to GDPR group @gchib297
2020-07-31 21:15:30 +02:00
jonjozwiak a2c92c2e7b Adding 4 EKS checks 2020-07-31 10:42:16 -05:00
gchib 04fae53da5 Add additional GDPR checks
Added checks:
check11,check110,check111,check112,check116,check120,check122,check13,check14,check15,check16,check17,check18,check19,check28,check29,check31,check310,check311,check312,check313,check314,check32,check33,check34,check36,check37,check38,check41,check42,extra711,extra72,extra723,extra730,extra739,extra76,extra763,extra778,extra78,extra792
2020-07-24 22:26:09 +05:30
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 19c68980fe fix typo on title group18 2020-07-24 15:18:46 +02:00
Toni de la Fuente 19bd281c78 Added group18 for ISO27001 thanks to @gchib297 issue #637 2020-07-24 15:16:35 +02:00
Toni de la Fuente 9eb6a6d1fe Add additional checks to HIPAA group @gchib297
Add additional checks to HIPAA group @gchib297
2020-07-24 14:58:29 +02:00
Quinn Stevens e58d8cbc8d Don't fail check extra737 for keys scheduled for deletion 2020-07-24 12:44:57 +01:00
gchib a8026ba3c3 Add additional HIPAA checks
Added checks:
check112,check13,check15,check16,check17,check18,check19,check21,check24,check28,check31,check310,check311,check312,check313,check314,check32,check33,check34,check35,check36,check37,check39,extra792.
2020-07-23 19:10:17 +05:30
Toni de la Fuente 9b1c152607 New check extra793 for SSL listeners on load balancers @jonjozwiak
New check extra793 for SSL listeners on load balancers
2020-07-21 16:57:20 +02:00
jonjozwiak 6ba9be46fb Adding check for SSL load balancers 2020-07-17 09:59:53 -05:00
Toni de la Fuente b3a2f850cf extra792 - skip check if no HTTPS/SSL Listener plus add NLB Support @jonjozwiak
extra792 - skip check if no HTTPS/SSL Listener plus add NLB Support
2020-07-17 11:48:28 +02:00
jonjozwiak 1c970b0387 extra792 skip check if no HTTPS/SSL Listener and add NLB support 2020-07-16 16:08:33 -05:00
Toni de la Fuente 206b675179 Added group for pci-dss as reference 2020-07-13 17:33:07 +02:00
Toni de la Fuente c3c5971ff2 Fix listing configurations if default output format is not JSON check119,extra742,extra75 and extra772 @anthirian
Fix listing configurations if default output format is not JSON
2020-07-08 15:48:05 +02:00
Toni de la Fuente 1fefc11d8e CFN template helper for role 2020-06-29 15:06:54 +02:00
Toni de la Fuente 9732e5be70 Reduce needed actions in additions policy @ 2020-06-29 13:59:19 +02:00
Geert Smelt d3553b642e Fix listing Elastic IPs if default output format is not JSON 2020-06-26 12:50:09 +02:00
Geert Smelt 63d06212db Fix listing CloudFormation stacks if default output format is not JSON 2020-06-26 11:55:12 +02:00
Geert Smelt a0c58e1cb2 Fix listing EC2 Security Groups if default output format is not JSON 2020-06-26 11:25:16 +02:00
Geert Smelt 0878511abf Fix listing EC2 instances if default output format is not JSON 2020-06-26 11:16:59 +02:00
Toni de la Fuente 01be8520b9 Merge branch 'master' of https://github.com/toniblyx/prowler 2020-06-25 15:16:14 +02:00
Toni de la Fuente 9e9535def8 Delete _config.yml 2020-06-25 15:15:59 +02:00
Toni de la Fuente 64a617d26d delete _config.yml 2020-06-25 15:15:14 +02:00
Toni de la Fuente 4a593df142 Merge branch 'master' of https://github.com/toniblyx/prowler 2020-06-25 15:13:47 +02:00
Toni de la Fuente 8686547ebb Allow list All findings in single view in html report 2020-06-25 15:03:45 +02:00
Toni de la Fuente 6acde2c843 Set theme jekyll-theme-hacker 2020-06-23 20:18:33 +02:00
Toni de la Fuente facc2a7b30 Added script to generate html report from multiple csv outputs 2020-06-23 20:08:12 +02:00
Toni de la Fuente dac24b3aa8 Fix issue #624 ID of check_extra792 2020-06-23 19:34:41 +02:00
Toni de la Fuente 84060db013 Added group internet-exposed 2020-06-16 18:01:14 +02:00
Toni de la Fuente 2d927f333a Fixed profile and region settings for extra792 - ELB SSL ciphers @jonjozwiak
Fixing profile and region settings for extra792 - ELB SSL ciphers
2020-06-11 09:05:50 +02:00
jonjozwiak 4db109bb26 Fixing profile and region settings for check_extra792 - ELB SSL ciphers 2020-06-10 15:46:34 -05:00
Toni de la Fuente f1690e8ddc Added old multiaccount sample info to util/other-contrib folder 2020-06-08 13:27:19 +02:00
Toni de la Fuente acab5d11ed Update README.md with link to new org-multi-account 2020-06-08 13:23:15 +02:00
Toni de la Fuente f42358f361 AWS Organizational Prowler Deployment @tekdj7
AWS Organizational Prowler Deployment
2020-06-08 13:16:42 +02:00
Julio Delgado Jr 9e2580cc34 removed ansi2html, added -M html 2020-06-05 12:06:33 -04:00
Toni de la Fuente 7a46d23820 Import Security Hub finding into the same region as the related resource @marcjay
Import Security Hub finding into the same region as the related resource
2020-06-05 15:07:11 +02:00
Marc Jay 4dac3aab55 Import Security Hub finding into the same region as the related resource
Force the batch-import-findings AWS CLI call to be directed at the region the currently reporting resource is located in, as Security Hub enforces this requirement

When checking that Security Hub is enabled, check for all regions that are in scope, e.g. all regions, unless '-f <region>' is used

Fixes #618
2020-06-05 12:55:53 +01:00
Toni de la Fuente 26665a4645 Fix extra734 - handle us-east-1 @nimrodkor
Fix extra734 - handle us-east-1
2020-06-05 11:09:44 +02:00
Toni de la Fuente 94378726bc Fix extra764 - handle us-east-1 & check validity of policy @nimrodkor
Fix extra764 - handle us-east-1 & check validity of policy
2020-06-05 10:48:28 +02:00
Nimrod Kor 4dae0718c1 Fix extra764 - handle us-east-1 & check validity of policy
(cherry picked from commit 89bd8a90d5)
2020-06-04 23:18:08 +03:00
Nimrod Kor ef4d2d33be Fix extra734 - handle us-east-1
(cherry picked from commit 5f2eb7f82e)
2020-06-04 23:15:21 +03:00
Toni de la Fuente 99d1de8c15 Improved whitelisting by splitting ignores by newline instead of spaces only @urjitbhatia
Split ignores by newline instead of spaces only
2020-05-29 11:40:44 +02:00
Julio Delgado Jr a58ee251b5 adhoc & switch user in session manager 2020-05-28 13:43:55 -04:00
Urjit Singh Bhatia 2fca2a49fd Split ignores by newline instead of spaces only 2020-05-27 13:58:55 -07:00
Toni de la Fuente e69b079220 Fix typo on PR #601 2020-05-27 10:02:32 +02:00
Toni de la Fuente 75cd911b0f Removed ansi2html from Pipfile, Dockerfile and README 2020-05-27 09:55:17 +02:00
Toni de la Fuente 2dda3f1ec1 Removed ansi2html from Pipfile 2020-05-27 09:52:34 +02:00
Toni de la Fuente 46a8a3ca82 Adding support for IRSA @GabrielCastro
Adding support for IRSA
2020-05-27 09:44:52 +02:00
Toni de la Fuente 69e2e19e7d Added extra791 and extra792 to group extras 2020-05-27 09:37:10 +02:00
Toni de la Fuente b7c8f7a7ef New checks for insecure SSL in CloudFront and ELB @jonjozwiak
Adding insecure SSL checks for CloudFront and ELB, extra791 and extra792
2020-05-27 09:32:13 +02:00
Adam ad1d4874c4 add fixes for none digest and multi-value digest return 2020-05-26 17:16:14 -04:00
Jon Jozwiak 06e81a7f33 Update check_extra792 ASFF resource tye 2020-05-26 09:35:48 -05:00
Jon Jozwiak 70337ecd84 Add ASFF resource type 2020-05-26 09:34:37 -05:00
jonjozwiak df15388577 Adding insecure SSL checks for CloudFront and CLB/ALB
(cherry picked from commit c9a60c07a2)
2020-05-26 16:33:18 +03:00
Toni de la Fuente 485b7d90bc Added native html report - upgrade to 21st century ;) 2020-05-25 21:29:29 +02:00
Toni de la Fuente 78b26a022a Added native html report - upgrade to 21st century ;) 2020-05-25 21:24:33 +02:00
Gabriel Castro 3e19ed44e5 Feature: add support for IRSA
IAM roles for service accounts (IRSA) allows prowler to be used from
inside a kubernetes cluster.
2020-05-25 13:14:15 -04:00
Toni de la Fuente 3e6f29c3fd Support Ctrl-C/SIG INT stopping Prowler when running in Docker @marcjay
Support Ctrl-C/SIG INT stopping Prowler when running in Docker
2020-05-21 18:08:00 +02:00
Toni de la Fuente e5ce06e761 Write output files to a directory relative to Prowler @marcjay
Write output files to a directory relative to Prowler
2020-05-21 18:06:46 +02:00
Toni de la Fuente e3d5b89531 Delete prowler-logo.png 2020-05-21 14:40:06 +02:00
Toni de la Fuente 7987ee3011 Added Prowler logo to util/html/ 2020-05-21 14:38:33 +02:00
Toni de la Fuente 2b336d08de Added ENV to output when credentials are env variables 2020-05-19 15:06:57 +02:00
Toni de la Fuente c7ed6a6693 Improved region handing for extra734 and extra764 2020-05-19 15:03:42 +02:00
Toni de la Fuente 48b6c290b1 Enhance handing region on assume role when default is not us-east-1 2020-05-11 16:32:43 +02:00
Toni de la Fuente e0c2ca2436 Fixed issue #596 for extra71 2020-05-11 13:21:06 +02:00
Toni de la Fuente 38fb596e94 Merge branch 'master' of https://github.com/toniblyx/prowler 2020-05-11 13:16:53 +02:00
Toni de la Fuente c79d346961 Fixed issue #596 on check114 2020-05-11 13:16:38 +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
Marc Jay 802d1151c2 Write output files to a directory relative to Prowler
Write output files (CSV, JSON, etc.) to an `output` directory that is relative to prowler itself, no matter where prowler is invoked from.
Simplify Dockerfile by specifying a WORKDIR
Replace ADD command with the more recommended COPY command
Update README to cover how to run in Docker and access saved reports
Add a .dockerignore file to ignore .git and output directories

This partially addresses #570 - previously, within Docker, Prowler was attempting to write
reports to the root `/` directory in the container, which it did not have permission to do.
Instead, reports are now written to a path relative to Prowler
2020-05-08 11:46:53 +01:00
Toni de la Fuente 2a9f6c67a8 Change value of FAIL to FAILED for jsonAsff output type @wildtangent
Change value of FAIL to FAILED for jsonAsff output type
2020-05-07 17:55:01 +02:00
Stephen Connor 2a54a180da Change value of FAIL to FAILED for jsonAsff output type (incompatible with AWS Security Hub) 2020-05-07 14:47:09 +01:00
Toni de la Fuente 7ab9962e08 Show failures that are ignored due to whitelisting as skipped checks in JUnit output @marcjay
Show failures that are ignored due to whitelisting as skipped checks in JUnit output
2020-05-07 09:22:48 +02:00
Marc Jay 6279dc1517 Show failures that are ignored due to whitelisting as skipped checks in JUnit output
Continue to show (unwhitelisted) failed checks as failures in JUnit output, but rather than exclude failing whitelisted checks from JUnit, mark them as skipped

Fixes #590
2020-05-07 01:00:42 +01:00
Toni de la Fuente 376cc0ff08 Usage update 2020-05-07 00:48:14 +02:00
Toni de la Fuente a37160bf41 Usage update 2020-05-07 00:46:43 +02:00
Toni de la Fuente b72501f691 Usage update 2020-05-07 00:45:45 +02:00
Toni de la Fuente 733aa439ec Usage update 2020-05-07 00:44:27 +02: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
Toni de la Fuente f618a16075 Fixed AWS partition variable on generateJsonAsffOutput 2020-05-06 22:57:26 +02:00
Toni de la Fuente 68ad3a7461 Support whitelists per check @urjitbhatia
Support whitelists per check using option -w whitelistfile.txt
2020-05-06 22:46:57 +02:00
Toni de la Fuente 412c9c1e5a added back LIST_OF_CHECKS_AND_GROUPS.md 2020-05-06 22:09:32 +02:00
Julio Delgado Jr d6033e287d encryption of ebs volume 2020-05-06 10:55:42 -04:00
Toni de la Fuente 3df27862ac Support setting entropy limit for detect-secrets from env BASE64_LIMIT and HEX_LIMIT @yumminhuang
Support setting entropy limit for detect-secrets from env:
export BASE64_LIMIT=4.5
export HEX_LIMIT=3.0
2020-05-06 14:37:23 +02:00
Huang Yaming bc07c95bda Support setting entropy limit for detect-secrets from env 2020-05-06 17:53:23 +08:00
Urjit Singh Bhatia 8cdf3838a0 Print warnings with the right color code 2020-05-04 16:33:50 -07:00
Urjit Singh Bhatia 5ac9be3292 correct color info line for warning 2020-05-04 14:48:04 -07: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
Julio Delgado Jr 49456424fa example 2020-05-03 13:02:46 -04:00
Julio Delgado Jr d095ea75d8 intro 2020-05-03 12:14:36 -04:00
Julio Delgado Jr 23dc8ce883 . 2020-05-03 12:12:57 -04:00
Julio Delgado Jr 378dd88808 . 2020-05-03 12:09:29 -04:00
Julio Delgado Jr 8fd2c17b5d . 2020-05-03 12:08:56 -04:00
Julio Delgado Jr d2503ad1d3 more links, formatting 2020-05-03 12:07:31 -04:00
Julio Delgado Jr 159ae3ac32 removed ingress rule 2020-05-03 12:07:15 -04:00
Julio Delgado Jr bb46702d37 updates 2020-05-03 11:50:05 -04:00
Julio Delgado Jr 95135305d7 updated links 2020-05-03 11:48:44 -04:00
Julio Delgado Jr 8728815704 . 2020-05-03 11:46:37 -04:00
Julio Delgado Jr f4af505270 better markdown for code, more documentation 2020-05-03 11:45:20 -04:00
Julio Delgado Jr 25cb42e3c4 added parallel_accounts variable 2020-05-03 11:44:50 -04:00
Julio Delgado Jr 29378a1339 Updated Patterns,Defaults,Tags,BucketPolicy 2020-05-03 11:43:50 -04:00
Julio Delgado Jr ac5212990a Updated Patterns,Descriptions,Defaults,Tags 2020-05-03 11:42:56 -04:00
Julio Delgado Jr 1be68b1e00 Updated Patterns,Descriptions,Defaults,Tags 2020-05-03 11:42:30 -04:00
Julio Delgado Jr 4230e9dc13 added elapsed times, support run prower parallel 2020-04-30 20:12:19 -04:00
Julio Delgado Jr 36e9f5174d reduced sts calls, updated comments 2020-04-30 17:24:00 -04:00
Julio Delgado Jr d716cf2664 more documentation and links 2020-04-30 17:23:28 -04:00
Julio Delgado Jr 299cb7e541 Renamed Parameters, Updated Descriptions 2020-04-30 17:22:29 -04:00
Julio Delgado Jr 7816fd0648 Renamed Parameters, Updated Descriptions 2020-04-30 17:21:52 -04:00
Julio Delgado Jr 0cf97a99b3 Renamed Parameters, Updated Descriptions 2020-04-30 17:21:42 -04:00
Toni de la Fuente 996f785af6 Improve check21 If no account cloudtrail trail is found, check org trail @nimrodkor @bridgecrewio
check21 - If no account CloudTrail trail is found, check org trail
2020-04-29 22:24:24 +02:00
Nimrod Kor dd0ef8c0b4 If no local cloudtrail trail is found - check org trail 2020-04-29 21:39:27 +03:00
Toni de la Fuente a2cbcc00eb Fix issue with aws-cli v2 and timestamp on check24 #585 2020-04-29 18:10:41 +02:00
Toni de la Fuente 5450bf949e Fix check12's grep to find users with true in their name who really have password access @nimrodkor @bridgecrewio
Fix check12's grep to find users with true in their name who really have password access @nimrodkor @bridgecrewio
2020-04-29 13:02:26 +02:00
Toni de la Fuente e4ae0a403a Ensure that hyphen is at end of tr string to prevent 'reverse collating sequence order' error in GNU tr @marcjay
Ensure that hyphen is at end of tr string to prevent 'reverse collating sequence order' error in GNU tr
2020-04-29 12:09:53 +02:00
Toni de la Fuente 1f949b4175 Improved AWS partition handle 2020-04-29 12:06:47 +02:00
Julio Delgado Jr 129a22e9c3 updated cron job settings 2020-04-28 18:53:04 -04:00
Julio Delgado Jr e0b6d4a21d Added Adhoc: Run Prowler Interactively 2020-04-28 18:33:29 -04:00
Julio Delgado Jr 94b978a934 renamed 2020-04-28 12:36:10 -04:00
Julio Delgado Jr 09e4feb095 stopped embedding script into CF, download script 2020-04-28 12:35:57 -04:00
Nimrod Kor dbca70ef2e Add $ to end of regex 2020-04-28 14:28:59 +03:00
Nimrod Kor 54f2b72cb6 Fix check12's grep to find users who really have password access
(cherry picked from commit 4006c581a0)
2020-04-28 14:13:32 +03:00
Julio Delgado Jr 200bbf9a7d org-multi-account initial commit 2020-04-28 00:47:42 -04:00
Marc Jay af3afa8c8f Merge branch 'master' into fix-tr-error-on-centos-573 2020-04-27 17:24:03 +01:00
Toni de la Fuente 684473327a Fix output modes strings to ensure correct outputs are selected @marcjay
Wrap all mode checks with whitespace, along with comparison strings to ensure correct outputs are selected
2020-04-27 16:20:56 +02: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
Marc Jay e25125fbfc Ensure that hyphen is at end of tr string to prevent 'reverse collating sequence order' error in GNU tr
Stop echo from adding newlines using `-n`, removing the need to stop replacing new-line characters with underscores

Fixes #573
2020-04-26 00:40:27 +01:00
Toni de la Fuente 33523885f1 Delete LIST_OF_CHECKS_AND_GROUPS.md 2020-04-23 16:27:59 +02:00
Toni de la Fuente 13ca147d02 Updated checks with hardcoded arn to support GovCloud partition 2020-04-22 23:23:17 +02:00
Toni de la Fuente dbb3ed9663 Improved extra734 for GovCloud 2020-04-22 22:19:21 +02:00
Toni de la Fuente 1beb483be3 Fixed issue with govcloud on extra764 #536 2020-04-22 20:40:18 +02:00
Toni de la Fuente 7dc790a3f5 Fixed issue with govcloud on extra764 #536 2020-04-22 20:05:39 +02:00
Toni de la Fuente 8c9aea1231 Improved GetCallerIdentity handling / credentials 2020-04-22 13:54:17 +02:00
Toni de la Fuente 9f03bd7545 Added txt output as mono for -M 2020-04-22 12:58:54 +02:00
Toni de la Fuente 2eb41ff910 Added account id to the output filename 2020-04-22 12:32:05 +02:00
Toni de la Fuente 2d64a1182e Added account id to the output filename 2020-04-22 12:31:27 +02:00
Toni de la Fuente 43fb877109 Added account id to the output filename 2020-04-22 12:28:31 +02:00
Toni de la Fuente ef952ce9cc Simplified caller id info on outputs 2020-04-22 12:07:20 +02:00
Toni de la Fuente 0cca77a141 Check if gbase64 (GNU) is available on Mac and use it in preference to BSD base64 @marcjay
Check if gbase64 (GNU) is available on Mac and use it in preference to BSD base64
2020-04-22 12:01:40 +02:00
Toni de la Fuente 5b9cf7fa99 Fix -E flag no longer excluding checks @marcjay
Fix -E flag no longer excluding checks
2020-04-22 11:55:01 +02:00
Marc Jay 5805576dce Check if gbase64 (GNU) is available on Mac and use it in preference to BSD base64
Previously it was switching to GNU versions of base64 even if base64 was the BSD version

Fixes #568
2020-04-22 10:35:33 +01:00
Toni de la Fuente 9cbdefc2de Adds CSV header to the output file too #565 2020-04-22 11:27:08 +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
Toni de la Fuente b9051e6fc9 Merge pull request #563 from marcjay/correct-check13-496
Extend check13 to meet all CIS rules and consolidate with extra774
2020-04-22 10:46:37 +02:00
Toni de la Fuente 92091d9ecd Rollback #562 fix issue #564 2020-04-22 10:31:30 +02: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
Toni de la Fuente d6374f8bc8 Updated textInfo message on extra712 2020-04-20 19:27:39 +02:00
Toni de la Fuente 0c7805356e Enhancement: extra712 improved with Macie API call instead of IAM @eko0126
using api commands to check if macie is enabled instead of looking ia…
2020-04-20 19:20:13 +02:00
Toni de la Fuente 86ea46d77c Update check_extra712 2020-04-20 19:19:05 +02:00
Toni de la Fuente 3feac6f75b Improve listing of Checks and Groups @marcjay
Improve listing of Checks and Groups
2020-04-20 19:14:50 +02:00
Marc Jay 71bf414faf Merge branch 'master' into improve-listing-of-checks-and-groups-545 2020-04-20 18:11:06 +01:00
Toni de la Fuente 38a970f4fc Enhancement: extra768 only check latest version of ECS task definition
Only check latest version of task definition
2020-04-20 19:00:26 +02:00
Toni de la Fuente 3dae201a80 Merge branch 'marcjay-add-junit-xml-output-mode-log-duration-537' 2020-04-20 18:57:27 +02:00
Toni de la Fuente d45b739b1e Merge branch 'add-junit-xml-output-mode-log-duration-537' of https://github.com/marcjay/prowler into marcjay-add-junit-xml-output-mode-log-duration-537 2020-04-20 18:51:26 +02:00
Toni de la Fuente ce56f0cb24 git push origin masterMerge branch 'nalansitan-extra725' 2020-04-20 18:49:37 +02:00
Toni de la Fuente d02d9e1c95 Merge branch 'extra725' of https://github.com/nalansitan/prowler into nalansitan-extra725 2020-04-20 18:46:39 +02:00
Alex Gray 5b8370179a Get the list of families and then get latest task definition 2020-04-20 09:15:15 -04:00
He.Longfei b42cc33a6c using api commands to check if macie is enabled instead of looking iam role 2020-04-20 15:01:38 +08: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
Toni de la Fuente 6747b208ce Improved extra716 and extra788 2020-04-17 15:16:55 +02: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
Alex Gray 172f4b2681 Only check latest version of task definition 2020-04-15 15:19:44 -04:00
Marc Jay dc31adcc18 Rename JUnit XML files to match the Java convention - with a 'TEST-' prefix 2020-04-15 13:42:33 +01:00
Marc Jay fa17829832 Fix arithmetic expression for calculating test duration 2020-04-15 12:52:48 +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 462527015c Merge branch 'marcjay-simplify-check-id-variables' 2020-04-15 00:24:17 +02: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 f065beb93b Fixed title in group16_trustboundaries 2020-04-14 23:57:55 +02:00
Toni de la Fuente 2de49c3940 Added more sample commands and updates 2020-04-14 23:55:02 +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
Toni de la Fuente e6fe5addbc Added section for Security Hub integration 2020-04-14 18:52:48 +02:00
Toni de la Fuente 58d793ec2a Added section for Security Hub integration 2020-04-14 18:51:13 +02:00
Toni de la Fuente 973f6b39a0 Merge branch 'master' of https://github.com/toniblyx/prowler 2020-04-14 16:45:54 +02:00
Toni de la Fuente 11c182c5fe Fixed issue with regions on check21 2020-04-14 16:45:37 +02:00
nalansitan 036ae640e5 support arn:aws:s3::: on extra725 2020-04-14 10:38:01 +08: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
Marc Jay 0f49468601 Limit CHECK_ID to a single value, handing the left-pad formatting in one place
Remove the second entry in any comma-separated check IDs from each check, formatting
the check ID with leading zeros in `include/outputs` if the `-n` flag is active
2020-04-14 02:02:48 +01:00
Toni de la Fuente df52057287 Fix: extra741 - Check if User Data is a valid GZIP file before attempting to gunzip @marcjay
Extra741 - Check if User Data is a valid GZIP file before attempting to gunzip
2020-04-13 23:53:39 +02:00
Marc Jay 460f65618b Add clarifying text to pass/fail messages 2020-04-13 22:43:22 +01:00
Marc Jay c4374a2818 Extra741 - Check if User Data is a valid GZIP file before attempting to gunzip
Test if the user data is a valid GZIP file using `gunzip -t` and only then attempt to gunzip it
Remove some code duplication

Fixes #535
2020-04-13 22:27:22 +01:00
Toni de la Fuente 9be0b3f749 Prowler IAM Policy Enhancements and README Updates @tekdj7
Prowler IAM Policy Enhancements and README Updates @tekdj7
2020-04-13 18:52:28 +02:00
Julio Delgado Jr 05247a2ccb Prowler IAM Policy Enhancements and ReadMe Updates 2020-04-13 12:39:20 -04:00
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 d39bad2ee2 Merge pull request #541 from marcjay/sort-checks-correctly-when-excludes-in-place-492
Avoid changing the execution order of checks when some checks are excluded
2020-04-13 13:40:20 +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
Toni de la Fuente d855432f28 Merge pull request #538 from marcjay/fix-no-information-extra774-501
Extra 774 - Handle IAM credential report containing 'no_information' for a user's last console login date
2020-04-13 13:30:24 +02:00
Toni de la Fuente 3e1d9ea0d3 Merge pull request #539 from marcjay/handle-gnu-date-as-default-on-mac-osx-534
Detect when GNU coreutils is installed on Mac OS X and use the correct date functions
2020-04-13 13:27:42 +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 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 d9588f4de0 Detect when GNU coreutils is installed on Mac OS X and use the correct date functions
As some users may have installed GNU coreutils on Mac OS X, e.g. `brew install coreutils`, it's possible that
the `date` command uses the GNU version, instead of the standard BSD version.

- Detect if GNU coreutils is installed on Mac and if it is, use the GNU variants of date functions
- Reduce some of the duplication in the file, which resolves a bug where the cygwin version of `how_many_days_from_today()`
had the operands switched around, leading to a positive result instead of negative
- Add test_tcp_connectivity function for cygwin (uses the GNU variant)

Fixes #534
2020-04-12 01:28:11 +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 2c580dd750 Fix issue #488 only works if CloudWatchLog configuration 2020-04-02 00:19:43 +02:00
Toni de la Fuente 9dec4e6eb3 Fix issue #488 only works if IsMultiRegionTrail 2020-04-02 00:02:42 +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
Toni de la Fuente 71c9d12184 Merge pull request #526 from dhirajdatar/change-in-usage
Updated extra in usage of extra for multiple checks
2020-03-31 13:24:23 +02:00
dhirajdatar 059c701923 Update README.md 2020-03-31 16:46:38 +05:30
Toni de la Fuente d24e824735 Merge pull request #522 from yumminhuang/master
Ignore imported ACM Certificate in check_extra724
2020-03-27 15:03:45 +01: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 b4aaf0b81e Added initial PCI group without checks yet, issue #296 2020-03-25 10:53:55 +01:00
Toni de la Fuente f809f2fa1d Modify group names header to clarify what is CIS only 2020-03-25 10:53:05 +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 705d75606d Merge pull request #520 from bridgecrewio/bugfix/extra774_fixes
extra774 requires credential report to run successfully
2020-03-23 15:50:08 +01:00
Toni de la Fuente 3ff4acf648 Merge branch 'lanhhuyet510-patch-2' 2020-03-23 15:09:45 +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 2db9151939 Merge pull request #508 from renuez/checks/find_security_groups_with_wide_open_non_RFC1918_IPv4
Checks/find security groups with wide open non rfc1918 IPv4 addresses
2020-03-23 14:50:05 +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 25bc8699b3 check_extra774 - revert changes
(cherry picked from commit 87fd299cdb)
2020-03-22 11:24:07 +02:00
Nimrod Kor d62027440d extra774 - check correct date, consolidate files and fix report generation
(cherry picked from commit 75d66df940)
2020-03-22 11:24:07 +02:00
Nimrod Kor b704568b23 check26 - on failure, output info and not failure
(cherry picked from commit f80c2e28b7)
2020-03-22 11:23:41 +02:00
Nimrod Kor 259f24ee06 check23 - on failure, output info and not failure
(cherry picked from commit 168c71cd5f)
2020-03-22 11:23:18 +02:00
Urjit Singh Bhatia 56a4fd813c Support whitelists per check 2020-03-10 18:55:28 -07: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
Philipp Zeuner cb5858d08a Updated check_extra778 to use PROFILE_OPT and AWSCLI 2020-03-08 09:56:52 +01:00
Philipp Zeuner 1b2b52e6a7 Fixed check_extra778 reference CHECK_ID 2020-03-08 09:22:11 +01:00
Philipp Zeuner f5d083f781 Updated check_extra778 to exclude 0.0.0.0/0 edge case 2020-03-08 09:21:17 +01:00
Philipp Zeuner f585ca54d1 Fixed check_extra788 logic bug related to SECURITY_GROUP and improved check_cidr() isolation 2020-03-08 09:20:05 +01:00
Philipp Zeuner f149fb7535 Refactored check name to check_extra778 2020-03-08 08:15:20 +01:00
Toni de la Fuente 530bacac5b Merge pull request #510 from jonjozwiak/master
Improve performance of check_extra742 by limiting to one AWS CLI call per region
2020-03-05 21:33:26 +01:00
Toni de la Fuente 0b2c3c9f4f Merge pull request #509 from nexeck/new_check_ecr_findings
fix: Enable check extra776 in extra group
2020-03-05 21:26:34 +01:00
jonjozwiak 8173c20941 Improve performance of check_extra742 by limiting to one AWS CLI call 2020-03-04 16:46:28 +02:00
Marcel Beck 95cb26fb2b fix: Enable check extra776 in extra group 2020-03-04 07:27:40 +01:00
Toni de la Fuente c0d8258283 [new check] Check if ECR image scan found vulnerabilities in the newest image version
[new check] Check if ECR image scan found vulnerabilities in the newest image version
2020-03-03 23:06:44 +01:00
Toni de la Fuente 4646dbcd0b Updated check_extra776 title 2020-03-03 23:04:09 +01:00
Marcel Beck db260da8b0 feat: New check for ecr image scan findings
This will check if there is any ecr image with findings.
2020-03-03 22:53:26 +01:00
Philipp Zeuner 162ff05e42 Updated check_extra777 to fix CHECK_ALTERNATE variable 2020-03-02 22:53:32 +01:00
Philipp Zeuner 6ea863ac3b Initial commit 2020-03-01 20:26:51 +01:00
Toni de la Fuente 655aae7014 Merge pull request #499 from nexeck/check119_ignore_terminated
fix: check119 needs to ignore terminated instances
2020-02-28 18:51:52 +01:00
Marcel Beck 5257ce6c0b docs: Fix typo 2020-02-28 17:58:10 +01:00
Marcel Beck c9508c28b3 fix: check119 needs to ignore terminated instances
Terminated does not seem to have an instance profile. And its not
possible to start a terminated instance again.
2020-02-25 09:23:55 +01:00
Toni de la Fuente 50b10c4018 Minor fixes for checks 774 and 775
Faraz minor fixes
2020-02-24 18:53:20 +01:00
Faraz Angabini 2321655503 fixed check numbers for 774,775 2020-02-22 22:16:59 -08:00
Faraz Angabini 7358e9cd75 added .gitignore for .DS_Store 2020-02-22 22:12:44 -08:00
Faraz Angabini 020374b6f9 deleted .DS_Store 2020-02-22 22:10:52 -08:00
Toni de la Fuente 24cccf64d6 Merge branch 'fredski-github-master' 2020-02-21 15:32:47 +01:00
Toni de la Fuente 77f07cccf8 Merge branch 'master' of https://github.com/fredski-github/prowler into fredski-github-master 2020-02-21 15:31:23 +01:00
Kasprzykowski 40985212ab check_extra775 added | group7_extras and group11_secrets updated 2020-02-21 09:24:13 -05:00
Toni de la Fuente e461714226 Merge branch 'master' of https://github.com/toniblyx/prowler 2020-02-21 15:06:24 +01:00
Toni de la Fuente 11e5d44d9b version 2.2.0 2020-02-21 15:06:13 +01:00
Kasprzykowski a1d26b44c3 check_extra999 added and group7_extras updated 2020-02-21 09:05:33 -05:00
Toni de la Fuente 42af217524 Merge pull request #489 from TopherIsSwell/master
Extra 774 - Fixed bug - Erroneously checking account creation date
2020-02-21 14:44:21 +01:00
Christopher Morrow 4a1d4060ec Check Extra 774 - Fixed bug - was checking account creation time instead of last logon date. 2020-02-20 15:11:13 -08:00
Toni de la Fuente 0210c43b60 Merge branch 'bridgecrewio-bugfix/check_11_check_access_keys_usage'
t push origin master:wq
2020-02-19 18:19:37 +01:00
Toni de la Fuente ca34590da0 Merge branch 'bugfix/check_11_check_access_keys_usage' of https://github.com/bridgecrewio/prowler into bridgecrewio-bugfix/check_11_check_access_keys_usage 2020-02-19 18:14:37 +01:00
Toni de la Fuente 44716cfab2 Merge pull request #486 from bridgecrewio/bugfix/mark_only_available_rds_instances_as_violating
Filter for only available rds instances
2020-02-19 18:11:43 +01:00
Toni de la Fuente 1f3aaa8c7b Merge pull request #485 from bridgecrewio/bugfix/es_public_domains_filter_condition
Add conditions check for extra716
2020-02-19 18:09:37 +01:00
Toni de la Fuente 6213a7418c Merge pull request #484 from bridgecrewio/bugfix/public_bucket_policy_check_for_conditions
Add conditions check for extra771
2020-02-19 18:08:02 +01:00
Toni de la Fuente bf9ffc0485 Merge pull request #483 from bridgecrewio/bugfix/extra748_check_for_all_ports
Check extra748 should fail in case of all ports (0-65535) open
2020-02-19 17:58:17 +01:00
Toni de la Fuente fff605b356 Merge pull request #482 from bridgecrewio/bugfix/fix_extra_764_handle_all_aws
Check extra764 should also check for principal being AWS = "*"
2020-02-19 17:50:54 +01:00
Nimrod Kor e41e77ed78 Remove unnecessary print
(cherry picked from commit 72bb29f13c)
2020-02-18 11:58:05 +02:00
Nimrod Kor a6516e4af8 Check 1.1 - check password access and access key usage
(cherry picked from commit f62cde1bf1)
2020-02-18 11:36:57 +02:00
Nimrod Kor 4fe575030b Filter for only available rds instances
(cherry picked from commit 5a7356be3c)
2020-02-18 10:48:58 +02:00
Nimrod Kor 178a34e40d Add conditions check for extra716
(cherry picked from commit 2ec6696897)
2020-02-18 10:48:25 +02:00
Nimrod Kor 5f3293af1e Add conditions check for extra771
(cherry picked from commit 805b276578)
2020-02-18 10:28:36 +02:00
Nimrod Kor 28a8ae7572 Check extra748 should fail in case of all ports (0-65535) open 2020-02-18 10:26:44 +02:00
Nimrod Kor daa26ed14c extra764 should also check for principal being AWS = "*" 2020-02-18 10:20:13 +02:00
Toni de la Fuente 9bd54ca30e Fixed issue #378 2020-02-12 23:46:42 +01:00
Toni de la Fuente d832b11047 Merge branch 'alphad05-patch-1' 2020-02-12 23:22:44 +01:00
Toni de la Fuente f99d35888a Merge branch 'patch-1' of https://github.com/alphad05/prowler into alphad05-patch-1 2020-02-12 23:20:32 +01:00
Toni de la Fuente 4d683a7566 Merge branch 'bridgecrewio-fix-check11' 2020-02-12 23:15:30 +01:00
Toni de la Fuente 35fc8cd0bf Merge branch 'fix-check11' of https://github.com/bridgecrewio/prowler into bridgecrewio-fix-check11 2020-02-12 23:13:49 +01:00
jonnyCodev 447657140d check if last_login_date is a valid date 2020-02-12 10:16:18 +02:00
alphad05 5069fd29f9 Associate VPCFlowLog with VPC
Associate VPCFlowLow with the VPC it is for to ensure accurate check. If there are multiple VPCs in a region and only some have VPC flow logs, current check will pass all VPCs even those without VPC flow logs.
2020-02-11 20:55:30 -08:00
Toni de la Fuente b9a4f2c4e8 Merge pull request #479 from nickmalcolm/patch-1
Remove `ses:sendemails`
2020-02-11 23:46:46 +01:00
Nick Malcolm 0d1807bd33 Remove ses:sendemails
Prowler doesn't need to send emails via SES. https://github.com/toniblyx/prowler/issues/124
2020-02-12 11:38:23 +13:00
Toni de la Fuente a77d3b0361 Merge pull request #477 from toniblyx/revert-474-feature/handle_get_bucket_policy_error
Revert "Feature/handle get bucket policy error"
2020-02-10 23:31:23 +01:00
Toni de la Fuente 274d02576f Revert "Feature/handle get bucket policy error" 2020-02-10 23:31:02 +01:00
Toni de la Fuente 5cebebba97 Merge pull request #474 from bridgecrewio/feature/handle_get_bucket_policy_error
Feature/handle get bucket policy error
2020-02-10 23:29:04 +01:00
Toni de la Fuente 092dc84186 Merge pull request #454 from zfLQ2qx2/prowler_check119
Add command for check119
2020-02-10 22:56:34 +01:00
Toni de la Fuente 528e14d4cf Update check119
updated to not scored
2020-02-10 22:55:57 +01:00
Toni de la Fuente 9519539de3 Merge branch 'master' of https://github.com/toniblyx/prowler 2020-02-07 17:01:52 +01:00
Toni de la Fuente 1e1de4fa46 Added Security Hub integration link 2020-02-07 17:00:23 +01:00
jonnyCodev fe2d2b45bb check root account access login and fail if used in the last day 2020-02-06 11:10:10 +02:00
Or Evron 74cbbddc5c add text info in case of error occurred
(cherry picked from commit b28917beb7)
2020-02-06 09:37:16 +02:00
Or Evron e575fcd6b2 typo
(cherry picked from commit eb4f336428)
2020-02-06 09:37:16 +02:00
Or Evron aca93b7526 typo
(cherry picked from commit b89f67bba1)
2020-02-06 09:37:16 +02:00
Or Evron 029c330ed1 fix check extra 764
(cherry picked from commit 0db690ad5f)
2020-02-06 09:37:16 +02:00
Toni de la Fuente 4ecc9c929c Merge pull request #473 from bridgecrewio/check-if-user-have-unused-login-more-then-30-days
Check if user have unused console login
2020-02-05 09:30:25 -05:00
jonnyCodev 2abe36083f Update group7_extras 2020-02-05 15:55:09 +02:00
jonnyCodev d473ebe3f2 moving MAX_DAYS to the inner scope of the function 2020-02-05 11:15:14 +02:00
jonnyCodev a824e064b3 Check if user have unused console login 2020-02-04 14:39:42 +02:00
Toni de la Fuente 24780b4caa Improve documentation with prowler-additions-policy.json, issue #468 2020-01-30 22:23:53 +00:00
Toni de la Fuente b35350291f Merge pull request #442 from dbellizzi/patch-1
add "lambda:GetAccountSettings",
"lambda:GetFunctionConfiguration",
"lambda:GetLayerVersionPolicy",
"lambda:GetPolicy",
"lambda:List*",  to prowler-additions-policy
2020-01-27 18:07:05 -05:00
Toni de la Fuente f038074e0c Update prowler-additions-policy.json 2020-01-27 18:06:43 -05:00
Toni de la Fuente f797805970 Merge pull request #463 from zfLQ2qx2/issue458
Rewrite of check extra73
2020-01-27 18:03:28 -05:00
Toni de la Fuente ef001af1ec Merge pull request #461 from zfLQ2qx2/issue459
Add additional error checking to address issue 459
2020-01-27 18:01:00 -05:00
Toni de la Fuente 2d712f6ab0 Merge pull request #457 from fayezgb/issue-163-CloudFront-WAF
Issue 163 cloud front waf
2020-01-27 17:59:30 -05:00
Toni de la Fuente 8b5733b5fe Merge branch 'master' into issue-163-CloudFront-WAF 2020-01-27 17:59:13 -05:00
Toni de la Fuente 278e382f9a Update group7_extras 2020-01-27 17:58:04 -05:00
Toni de la Fuente 425fe16752 Update and rename check_extra772 to check_extra773 2020-01-27 17:57:06 -05:00
Toni de la Fuente 3452ecdf03 Merge pull request #453 from zfLQ2qx2/prowler_eip_check
Add Prowler check for unused elastic IP addresses
2020-01-27 17:45:35 -05:00
Toni de la Fuente e65a11bc27 Merge branch 'master' into prowler_eip_check 2020-01-27 17:44:59 -05:00
Toni de la Fuente f2f82165ab Merge pull request #462 from zfLQ2qx2/issue460
Remove check 766, dupe of check 765
2020-01-27 17:42:30 -05:00
C.J f735de8836 Rewrite of check extra73 2020-01-26 03:00:45 -05:00
C.J 9fc0f6c61c Remove check 766, dupe of check 765 2020-01-25 15:29:05 -05:00
C.J 41ccd4517b Add additional error checking to address issue 459 2020-01-25 15:22:39 -05:00
Fayez Barbari 2f17cfbc30 Check if CloudFront is using a WAF 2020-01-20 17:14:52 -06:00
Toni de la Fuente ab5968cbee Merge pull request #452 from bgeesaman/remove-colors-json
Prevent colorization on Failed and Info
2020-01-20 22:03:47 +01:00
Toni de la Fuente 5f8c2328f1 Merge pull request #456 from fayezgb/cross-account
Use custom aws profile with Role to assume
2020-01-20 21:52:24 +01:00
Fayez Barbari cc0b1bcf11 Merge pull request #1 from fayezgb/cross-account
Use custom aws profile with Role to assume
2020-01-20 14:47:08 -06:00
Fayez Barbari f006c81e6a Use custom aws profile with Role to assume 2020-01-20 14:36:01 -06:00
root 9ed7d75c44 Add command for check119 2020-01-12 17:40:41 -05:00
root 4c1d1887e4 Add Prowler check for unused elastic IP addresses 2020-01-10 15:47:15 -05:00
bgeesaman cea0cfb47d Prevent colorization on Failed and Info 2020-01-08 20:21:18 -05:00
Toni de la Fuente 754ff31ea3 Merge pull request #450 from lanhhuyet510/patch-1
Update README.md with jq install instructions
2020-01-08 09:15:25 +01:00
Toni de la Fuente 49ec898b9e Update README.md 2020-01-08 09:14:21 +01:00
Ngọ Anh Đức c2f541134b Update README.md
Add jq package in requirements
2020-01-08 11:13:25 +07: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
Toni de la Fuente 4806d5fc78 Merge pull request #447 from zfLQ2qx2/update_check_extra764
Misc fixes to check extra764
2019-12-31 11:39:21 +01:00
Toni de la Fuente a755ec806a Merge pull request #444 from zfLQ2qx2/update_extra769
Add additional error checking to check extra769
2019-12-31 11:05:44 +01:00
Toni de la Fuente 3c703de4f4 Merge pull request #448 from zfLQ2qx2/update_check_extra726
Resolve issue with not_available state in results
2019-12-31 11:03:34 +01:00
root 7d324bed65 Resolve issue with not_available state in results 2019-12-30 14:43:51 -05:00
root b22b0af2ce Misc fixes to check extra764 2019-12-30 14:20:50 -05: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 f3bfe90587 Add native support for AssumeRole clean up issue #445 2019-12-30 18:32:00 +01:00
Toni de la Fuente 53ea126065 Add native support for AssumeRole issue #445 2019-12-30 18:30:25 +01:00
root 688f028698 Add additional error checkings to check extra769 2019-12-30 11:33:12 -05:00
Toni de la Fuente 74380a62d9 Merge pull request #443 from zfLQ2qx2/update_ecr_checks
Add error checking to checks extra77 and extra765
2019-12-30 16:31:27 +01:00
root c84190c3d9 Add error checking to checks extra77 and extra765 2019-12-30 10:07:14 -05:00
Toni de la Fuente 42f15ce164 Merge pull request #441 from dbellizzi/master
Add quiet mode that only logs failures
2019-12-27 12:33:13 +01:00
Toni de la Fuente 23be47a9b6 Enhanced title for check extra723 2019-12-27 12:09:35 +01:00
Toni de la Fuente ab75f19a62 Merge pull request #440 from bridgecrewio/feature/small_fixes_to_extra731_extra716
Small check fixes to extra716 & extra731
2019-12-27 12:02:55 +01:00
Toni de la Fuente 20b127f516 Added DS IAM actions 2019-12-26 16:34:24 +01:00
Dominick Bellizzi cc5da42797 add lambda:get* to prowler-additions-policy
The check: 7.60 [extra760] Find secrets in Lambda functions code (Not Scored) (Not part of CIS benchmark) 

errors by default, with the following:
An error occurred (AccessDeniedException) when calling the GetFunction operation: User: user/prowler is not authorized to perform: lambda:GetFunction on resource: arn:aws:lambda:eu-west-2:347708466071:function:ApiSimpleDelayDDMonitor

Adding this policy to be successfully run that check.
2019-12-18 14:53:09 -08:00
Dom Bellizzi f979c7334f Add quiet mode that only logs failures 2019-12-18 22:06:44 +00:00
Nimrod Kor 1087d60457 Small check fixes
(cherry picked from commit 70879ba1e0)
2019-12-18 13:24:31 +02:00
Toni de la Fuente d2b3e5ecdc Added new checks to extras group 2019-12-17 10:44:38 +01:00
Toni de la Fuente 3db94a5a98 Merge pull request #429 from dbellizzi/patch-1
Add "access-analyzer:ListTagsForResource" to prowler-additions-policy…
2019-12-17 10:42:04 +01:00
Toni de la Fuente 0d120a4536 Merge pull request #437 from bridgecrewio/feature/check_bucket_policies_public_write
Check bucket policies public write
2019-12-17 10:41:35 +01:00
Toni de la Fuente 0ab5d87b8f Merge pull request #433 from kmcquade/check/public-instance-with-instance-profile-attached
Added check_extra770, which checks for internet facing instances with an instance profile attached
2019-12-17 10:40:01 +01:00
Toni de la Fuente 39c7ea52c6 Add feature custom checks folder issue #439 2019-12-17 10:37:14 +01:00
Toni de la Fuente 933e4152cc Merge pull request #435 from bridgecrewio/feature/fix_check26
Fix check26 - get the account ID from sts
2019-12-17 10:14:11 +01:00
Nimrod Kor fc3f4e830e Reuse ACCOUNT_NUM 2019-12-17 09:29:06 +02:00
Nimrod Kor 7e803bb6a9 Change to check 771 2019-12-15 18:18:02 +02:00
Nimrod Kor 2d5d551696 Initial commit 2019-12-15 18:18:02 +02:00
Nimrod Kor 8e1aa17a80 Fix check26 - get the account ID from sts
(cherry picked from commit ae20d9c5b7)
2019-12-15 15:55:54 +02:00
Toni de la Fuente dd5bf6c7f8 Merge pull request #432 from bridgecrewio/feature/fix_check21
Add trail count to check21 and fail if no trail exist
2019-12-13 14:22:14 +01:00
Dominick Bellizzi 7cb869ad33 use more generic access-analyzer:List* 2019-12-12 09:36:19 -08:00
Kinnaird McQuade 3b264d556b Added check_extra770, which checks for internet facing instances with an Instance Profile attached. 2019-12-12 11:07:14 -05:00
Toni de la Fuente e4a063f9d1 Merge pull request #430 from JohnVonNeumann/patch-1
UPDATE README.md - fix incorrect group flag
2019-12-12 10:19:28 +01:00
Nimrod Kor 559b0585dc Add trail count to check21 and fail if no trail exist
(cherry picked from commit fcf28dfa70)
2019-12-12 09:45:06 +02:00
JohnVonNeumann 2da125ff8b UPDATE README.md - fix incorrect group flag
To run prowler with the cislevelx group you use '-g', not '-c'
2019-12-12 11:28:52 +11:00
Dominick Bellizzi 53f097c2af Add "access-analyzer:ListTagsForResource" to prowler-additions-policy.json
check extra769 (Check if IAM Access Analyzer is enabled and its findings) requires this IAM permission
2019-12-06 14:49:36 -08:00
Toni de la Fuente b6e34adc24 Fix issue #409 2019-12-05 12:52:19 +01:00
Toni de la Fuente 7b5ece8007 New check IAM Access Analyzer issue #428 2019-12-03 15:58:19 +01:00
Toni de la Fuente fe65eaf373 New check ECS scan on push issue #427 2019-12-03 15:27:09 +01:00
Toni de la Fuente 4af3dc1254 Fix issue #426 updated base64 function 2019-12-02 15:26:48 +01:00
Toni de la Fuente 923fadbfa9 Merge pull request #425 from zfLQ2qx2/check-3xx-whitespace-tolerance
Make check3x more tolerant
2019-11-26 10:18:49 +01:00
Toni de la Fuente 3f68accf6f Added missing file iam/prowler-additions-policy.json 2019-11-26 09:57:29 +01:00
zfLQ2qx2 25d1aa9126 Make check3x more tolerant 2019-11-26 00:56:52 -05:00
Toni de la Fuente dce9d5c96d Merge pull request #423 from barnhartguy/master
Update check_extra768
2019-11-25 10:03:27 +01:00
Toni de la Fuente 80c6900193 Merge pull request #424 from willthames/extra764_fix
Fix extra764 check
2019-11-25 10:01:51 +01:00
Will Thames 2e11e0a3f2 Fix extra764 check
Add missing bracket to prevent:

```
jq: error: syntax error, unexpected INVALID_CHARACTER, expecting $end (Unix shell quoting issues?) at <top-level>, line 1:
.Statement[]|select(((.Principal|type == "object") and .Principal.AWS == "*") or ((.Principal|type == "string") and
.Principal == "*")) and .Action=="s3:*" and (.Resource|type == "array") and (.Resource|map({(.):0})[]|has($arn)) and
(.Resource|map({(.):0})[]|has($arn+"/*")) and .Condition.Bool."aws:SecureTransport" == "false")
```

(line breaks added to reduce commit width)
2019-11-25 16:01:26 +10:00
barnhartguy c630c02a26 Update check_extra768
fixed typo
2019-11-24 14:37:09 +02:00
Toni de la Fuente e18cea213b consolidated ProwlerReadOnlyPolicy and available json 2019-11-22 12:42:57 +01:00
Toni de la Fuente 8f91bfee24 clean up documentation and added info to check_sample 2019-11-22 11:59:03 +01:00
Toni de la Fuente a191a4eae6 consolidated ProwlerReadOnlyPolicy and available json 2019-11-22 11:41:13 +01:00
Toni de la Fuente ce7e07d66d consolidated ProwlerReadOnlyPolicy and available json 2019-11-22 11:29:16 +01:00
Toni de la Fuente ab5ed2c527 Merge pull request #421 from jonrau-at-aws/master
Update HIPAA language
2019-11-22 09:49:57 +01:00
Toni de la Fuente c513e7af6c Merge pull request #420 from bridgecrewio/feature/ecs_task_definition_secrets_check_contribute
Add ECS task definition environment variables check
2019-11-22 00:18:00 +01:00
Toni de la Fuente 2e1cead3a2 Merge pull request #419 from zfLQ2qx2/prowler-extra719
Filter out private zones in check extra719
2019-11-22 00:12:36 +01:00
Toni de la Fuente 5c8b0aa942 Merge pull request #418 from zfLQ2qx2/prowler-check726
Handle Trusted Advisor entitlement issue gracefully
2019-11-22 00:10:39 +01:00
Toni de la Fuente 15dda01842 Merge pull request #417 from zfLQ2qx2/prowler-misc-updates
Update extra764 and extra734, add .gitignore rules for vim
2019-11-22 00:09:35 +01:00
Nimrod Kor d19ae27f7c Fix merge issue 2019-11-21 12:48:17 -08:00
Nimrod Kor b61af3a9eb Add ECS task definition environment variables check
(cherry picked from commit 662f287dd6)
2019-11-21 12:44:09 -08:00
zfLQ2qx2 687686c929 Filter out private zones in check extra719 2019-11-21 15:36:38 -05:00
zfLQ2qx2 94a90599bd Handle Trusted Advisor entitlement issue gracefully 2019-11-21 15:17:03 -05:00
zfLQ2qx2 669469e618 Update extra764 and extra734, add .gitignore rules for vim 2019-11-21 14:56:13 -05:00
Jonathan Rau 73a5ee1bac Update README.md 2019-11-21 12:38:31 -05:00
Jonathan Rau 0ff9806d70 Update README.md 2019-11-21 12:33:38 -05:00
Toni de la Fuente 961b79a4aa Added extra767 for CloudFront field level encryption issue #425 2019-11-21 17:48:34 +01:00
Toni de la Fuente 264b84ae2a Added check_extra765 ECR scanning issue #406 2019-11-21 00:52:18 +01:00
Toni de la Fuente 031b68adde fixed typo in iam policy 2019-11-20 23:20:17 +01:00
Toni de la Fuente d737193b98 Merge pull request #407 from zfLQ2qx2/prowler_misc_fixes
Misc prowler fixes


    Add GetEbsEncryptionByDefault wherever Prowler policies are mentioned
    Update Extra718 check to be aware of access denied responses
    Update Extra726 check to be more verbose for non-failure items
    Update Extra73 check to be aware of access denied responses
    Update Extra734 check to be aware of access denied responses and parse policies with jq for better accuracy
    Update Extra742 check for verbiage
    Update Extra756 check for verbiage and parameter order
    Update Extra761 check for failure scenarios (requires most recent awscli and addition to Prowler IAM policy)
    Added Extra763 check to verify that object versioning is enabled on S3 buckets
    Added Extra764 check to verify that S3 buckets enforce a secure transport policy
2019-11-20 22:03:02 +00:00
Toni de la Fuente 649192eb41 Merge pull request #411 from zfLQ2qx2/prowler-extra75-enhancement
Update extra75 to be aware of default security groups
2019-11-20 21:46:21 +00:00
Toni de la Fuente f83ce78e8f Merge pull request #410 from zfLQ2qx2/prowler-3x-checks
Update log metric filter checks to latest AWS CIS Foundations Benchmarks
2019-11-20 21:44:23 +00:00
zfLQ2qx2 054043d78e Update extra75 to aware of default security groups 2019-11-20 00:09:35 -05:00
zfLQ2qx2 603ed0b16f Update log metric filter checks to latest AWS CIS Foundations Benchmark and provide hints on how to remediate 2019-11-19 01:37:42 -05:00
zfLQ2qx2 3a893889b6 Misc prowler fixes 2019-11-13 22:49:32 -05:00
Toni de la Fuente 2e181920ab Added pull request template 2019-11-05 11:07:09 +01:00
Toni de la Fuente 4f4591dc42 Added more install details and docker run 2019-10-29 23:36:39 +01:00
Toni de la Fuente 18e5c0b8ae Merge pull request #404 from gabrielsoltz/check_extra731_jq
Extra 731 with JQ
2019-10-28 15:36:43 +01:00
Toni de la Fuente e748275fc5 Merge pull request #403 from gabrielsoltz/check_extra727_smarter
Check extra727 smarter (SQS)
2019-10-28 15:35:45 +01:00
Toni de la Fuente 4ca5b53948 Merge pull request #401 from gabrielsoltz/extra73_smarter
Smarter extra73 (S3 Public Buckets)
2019-10-28 15:29:48 +01:00
gabrielsoltz 8bb1529c2a jq_improvements 2019-10-25 16:46:36 +02:00
gabrielsoltz 61ef02ec50 reduce_api_calls 2019-10-25 16:42:59 +02:00
gabrielsoltz fb45fa0c03 reduce_api_calls 2019-10-24 23:56:02 +02:00
gabrielsoltz 6a52ebe492 reduce_api_calls 2019-10-24 23:54:04 +02:00
gabrielsoltz 9b81fc0ac7 fix jq array 2019-10-24 23:30:34 +02:00
gabrielsoltz 508a9354b7 fix jq array 2019-10-24 23:28:58 +02:00
gabrielsoltz 63898690c8 remove_old_check 2019-10-24 13:25:18 +02:00
gabrielsoltz d026ed5cac improve_extra727 2019-10-24 13:22:26 +02:00
gabrielsoltz 529fc6421d better_output 2019-10-23 15:04:22 +02:00
gabrielsoltz 7aa1573275 comments 2019-10-23 14:06:29 +02:00
gabrielsoltz bb69f51456 comment 2019-10-23 14:03:49 +02:00
gabrielsoltz 5cadd0c2f2 remove_unused_variable 2019-10-23 14:03:08 +02:00
gabrielsoltz df5def48d9 comments_and_fix 2019-10-23 13:45:20 +02:00
gabrielsoltz 5252518d97 extra73 2019-10-23 13:38:36 +02:00
Toni de la Fuente 231f0e6fb3 Merge pull request #400 from MrSecure/check762_cleanup
extra 7.62 - output cleanup
2019-10-22 17:48:04 +02:00
Mr. Secure be0bc7aa65 extra 7.62 - output cleanup
- remove warnings about long execution
- update pass/fail text to help split on ':' for CSV post-processing
2019-10-22 10:35:48 -05:00
Toni de la Fuente c460e351a4 Merge pull request #399 from MrSecure/obsolete_runtimes
Add check for unsupported lambda runtimes
2019-10-22 15:29:26 +02:00
Mr. Secure 827b1fdb3b add region info to textFail,textPass output 2019-10-22 08:12:00 -05:00
Mr. Secure 23a7c7f393 fix spelling error in message 2019-10-21 18:07:56 -05:00
Mr. Secure e683ea5384 fix over-quoting bug 2019-10-21 09:38:16 -05:00
Mr. Secure 2c531a2ffc add check for unsupported lambda runtimes 2019-10-21 09:28:00 -05:00
Toni de la Fuente e25ea9621b Merge pull request #396 from ricoli/dockerfile-git-clone-cache-fix
replacing git clone with ADD as to not cache layer indefinetely
2019-10-17 22:11:27 +02:00
Ricardo Oliveira 826cc00a7c replacing git clone with ADD as to not cache layer indefinetely 2019-10-16 09:56:44 +01:00
Toni de la Fuente 65f787bfe0 Merge pull request #397 from ricoli/fix-exclude-checks-from-group
fixing multiple exclusions overriding each other because of iteration
2019-10-15 18:17:19 +02:00
Ricardo Oliveira 77b3a9b4d9 unsetting excluded_checks 2019-10-15 11:12:59 +01:00
Toni de la Fuente f8db025fdf Merge pull request #395 from MrSecure/mega
Fix paths in multi-account code-build job
2019-10-14 23:17:33 +02:00
Mr. Secure d4fad17416 update pipeline commands to use multi-account path 2019-10-14 15:42:09 -05:00
Mr. Secure ddb498320a bring in quoting nits 2019-10-14 15:39:33 -05:00
Toni de la Fuente 31a4024dfc Merge pull request #392 from MrSecure/mega
WIP: MegaProwler Add-on
2019-10-14 18:13:23 +02:00
Toni de la Fuente 38c0b60141 Rename util/megaprowler.sh to util/multi-account/megaprowler.sh 2019-10-14 18:11:46 +02:00
Toni de la Fuente 81cc85a8fc Rename util/config to util/multi-account/config 2019-10-14 18:11:24 +02:00
Toni de la Fuente ffcfef02a6 Rename util/Audit_Pipeline.yaml to util/multi-account/Audit_Pipeline.yaml 2019-10-14 18:10:57 +02:00
Toni de la Fuente 27305365ef Rename util/Audit_Exec_Role.yaml to util/multi-account/Audit_Exec_Role.yaml 2019-10-14 18:10:34 +02:00
Toni de la Fuente 08cd94fe5b Merge pull request #391 from jcaffet/add/check_extra761
add extra761 check if EBS default encryption is enabled per region
2019-10-13 20:55:19 +02:00
Toni de la Fuente 40a2ea6c90 fixed region for extra757 and extra758 2019-10-13 19:05:57 +02:00
Jerome Caffet 7e28f85247 add cli options 2019-10-13 08:02:18 +02:00
Mr. Secure 64667ea9d0 grant codebuild the ability to assume audit role 2019-10-11 21:46:20 -05:00
Mr. Secure 70304dc2a2 suppress remaining shell check warnings 2019-10-11 21:16:17 -05:00
Mr. Secure e0a77b3e46 cleanup using shellcheck 2019-10-11 21:12:24 -05:00
Mr. Secure 70de023114 more output structure cleanup 2019-10-11 20:30:59 -05:00
Mr. Secure b5ccdad3dc change bucket resource name
cleans up auto-generated bucket name
2019-10-11 20:21:07 -05:00
Mr. Secure d0af7f439f remove 'out' from artifact storage path 2019-10-11 20:10:30 -05:00
Mr. Secure 64e38dd843 bring in megaprowler code 2019-10-11 19:58:49 -05:00
Jerome Caffet 66c59ea1f7 add extra761 EBS default encryption 2019-10-09 14:33:46 +02:00
Toni de la Fuente fc77b4a55e Merge pull request #390 from Quiq/master
Add missing permission
2019-10-02 14:37:16 -04:00
Roman Vynar 4540fd77e6 Add missing permission 2019-10-02 21:17:52 +03:00
Toni de la Fuente d415ea6f20 restore docs 2019-09-19 15:25:00 -04:00
Toni de la Fuente ec8f51ba8a readthedocs initial commit 2019-09-19 14:40:31 -04:00
Toni de la Fuente ad49d2accb readthedocs initial commit 2019-09-19 14:33:42 -04:00
Toni de la Fuente 67311e84d2 Delete index.rst 2019-09-19 14:30:21 -04:00
Toni de la Fuente 8f566ec690 Create index.rst 2019-09-19 14:25:38 -04:00
Toni de la Fuente 75f6cbbdd6 Merge pull request #384 from venky999/master
fixing #383 and #380
2019-09-17 14:54:31 -04:00
Toni de la Fuente 4401d4209c CURRENT_ACCOUNT_ID is not needed
since ACCOUNT_ID is available
2019-09-17 14:52:30 -04:00
Venki 44cfa71358 updated logging 2019-09-16 09:24:34 +01:00
Venki ecde62451c remove unnecessary variables and removed echo 2019-09-16 09:16:59 +01:00
Venkatadri Duggina d5f22ab100 fixing check26 cross access bug 2019-09-15 23:33:37 +01:00
Venkatadri Duggina 72b1421294 fixing cross account cloudtrail issue 2019-09-14 22:10:45 +01:00
Toni de la Fuente 04acb7412b Enhanced requirements and installation 2019-09-12 19:13:52 -04:00
Toni de la Fuente 0327880258 Merge pull request #376 from mastertinner/372
List CloudFront distributions only once
2019-09-13 00:09:37 +02:00
Toni de la Fuente 6a9f32a284 Merge pull request #375 from mastertinner/373
List successful cases as PASS! for 7.27
2019-09-13 00:08:17 +02:00
Toni de la Fuente 3079bd51f3 Merge pull request #382 from venky999/master
fixing check3x bug 381 related to cloudwatch groups
2019-09-13 00:08:00 +02:00
Venki dffb09b001 updating tr 2019-09-12 12:24:49 +01:00
Venkatadri Duggina 5e4eba54cc fixing check3x bug 381 related to cloudwatch groups 2019-09-11 15:53:20 +01:00
Toni de la Fuente 84d69ef5d8 Merge pull request #377 from bfallik/patch-1
fix typo
2019-09-06 14:20:09 -04:00
Brian Fallik cd52bf8b7d fix typo 2019-08-23 15:04:02 -04:00
Tobi Fuhrimann aba697aa99 List CloudFront distributions only once
Fixes #372
2019-08-23 09:13:33 +02:00
Toni de la Fuente 18be522b87 Merge pull request #370 from shaunography/master
Fix Pipfile for equal or newer versions
2019-08-23 15:01:08 +08:00
Tobi Fuhrimann 49994d1c51 List successful cases as PASS! for 7.27
Fixes #373
2019-08-23 08:57:21 +02:00
shaunography f3d617a1c8 Fix Pipfile 2019-08-21 19:34:14 +01:00
Toni de la Fuente de5b87c6ad Merge pull request #366 from mastertinner/master
Make 3.x tests simpler and more useful
2019-08-18 14:03:48 +08:00
Tobi Fuhrimann f32b76987e Make 3.x tests simpler and more useful 2019-08-17 20:07:03 +02:00
Toni de la Fuente 1be58e02b2 Fix issue #323 2019-08-17 20:13:34 +08:00
Toni de la Fuente 8333c575ae Fixed issue #348 -e option back to work 2019-08-17 15:18:44 +08:00
Toni de la Fuente 02d2561d6b Fix issue #354 2019-08-17 12:57:48 +08:00
Toni de la Fuente 30b2f55ba1 Merge pull request #365 from rjnienaber/support_role_added_to_groups
Allow check 1.20 to evaluate users, groups or roles
2019-08-17 12:19:58 +08:00
Toni de la Fuente 253fa5ef54 Merge pull request #352 from FoxAndDuckSoftware/351
Ability to exclude check(s) from group run
2019-08-17 12:10:11 +08:00
Toni de la Fuente 188a681cb5 Merge pull request #350 from ralphrodkey/check314_case_sensitivity
Made check314 less case sensitive
2019-08-17 12:06:40 +08:00
Toni de la Fuente 1fb8b47a9c Merge pull request #342 from mapete94/master
adding regex for wildcard option in cloudtrail extra 720
2019-08-17 11:49:59 +08:00
Toni de la Fuente 2afdabf9bc Merge pull request #367 from toniblyx/revert-340-fix_check_extra741
Revert "ignore None when user data is empty (gunzip: invalid magic)"
2019-08-17 11:33:20 +08:00
Toni de la Fuente 3a989516d1 Revert "ignore None when user data is empty (gunzip: invalid magic)" 2019-08-17 11:32:12 +08:00
Toni de la Fuente 9e06297d5f Merge pull request #340 from gabrielsoltz/fix_check_extra741
ignore None when user data is empty (gunzip: invalid magic)
2019-08-17 11:23:50 +08:00
Toni de la Fuente 1789dab4df Merge branch 'master' into fix_check_extra741 2019-08-17 11:12:11 +08:00
Toni de la Fuente eecb272f93 Fixed output for PR #339 2019-08-17 11:01:30 +08:00
Toni de la Fuente 2ed3378556 Merge pull request #339 from gabrielsoltz/refactor_check_extra734
refactor check_extra734
2019-08-17 10:48:24 +08:00
Toni de la Fuente bd9ae4bce7 Merge pull request #336 from gabrielsoltz/improve_check_extra73
Fix check extra73
2019-08-17 10:42:46 +08:00
Toni de la Fuente 459a688b7a Merge pull request #362 from koflTW/master
[FIX] allow 1.22 checks on policies with only one statement block
2019-08-17 10:21:40 +08:00
Richard Nienaber 30e2360acc remove filter by roles so that groups are included as well 2019-08-15 13:09:36 +01:00
Toni de la Fuente d8c29cc263 Merge pull request #363 from james-portman-contino/patch-1
Stop colorizing the JSON output
2019-08-08 20:25:55 +08:00
james-portman-contino 7313628cc6 Stop colorizing the JSON output
If using a terminal then jq prints out JSON with color.
I suggest color should either be disabled always or with some other flag (more complicated)
jq flag: -M monochrome (don't colorize JSON);
2019-08-08 08:50:28 +01:00
Kim Oliver Fehrs 033e2623d3 [FIX] remove duplicated filter condition | kf/aa/if 2019-08-07 16:13:36 +02:00
Kim Oliver Fehrs 2b95f69fa6 [FIX] allow 1.22 checks on policies with only one statement block | kf/aa/if 2019-08-07 16:06:51 +02:00
Toni de la Fuente 0ebdb1698f Merge pull request #357 from bridgecrewio/master
create Pipfile
2019-07-13 21:59:56 -04:00
Barak Schoster Goihman 50d8359022 Merge pull request #1 from bridgecrewio/create-pipfile
Create Pipfile
2019-07-14 01:07:41 +03:00
Barak Schoster Goihman 4bc64e938e Create Pipfile
add python dependencies
2019-07-14 01:07:21 +03:00
Toni de la Fuente 8f852457ff Merge pull request #353 from kpawloski/patch-1
Fix typo
2019-07-11 22:58:43 -03:00
Kevin Pawloski 5bd3f0b995 Fix typo
Fix a small typo in the messaging.
2019-07-11 18:04:45 -07:00
Martin Kemp e5e5e84112 Add documentation for excluding group checks 2019-07-10 13:15:10 +01: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
Ralph Rodkey 85dc0408c2 Made check314 less case sensitive 2019-07-09 10:58:07 -04:00
Toni de la Fuente c037067be2 Merge pull request #346 from nomex/add_detect_secrets_to_docker
Fixing missing &&
2019-07-04 05:36:15 -03:00
David Lladro 4fa48671e0 Merge branch 'master' into add_detect_secrets_to_docker 2019-07-04 08:45:35 +02:00
David Lladro a259571cb0 Fixing missing && 2019-07-04 08:38:25 +02:00
Toni de la Fuente 8b2c113614 Merge pull request #344 from nomex/add_detect_secrets_to_docker
Adding detect_secrets support to Docker
2019-06-28 17:23:29 -03:00
David Lladro e273ae3123 Adding detect_secrets support to Docker 2019-06-27 15:27:19 -05:00
Michael Peterson e04c34986e adding regex for wildcard option in cloudtrail 2019-06-25 13:45:52 -04:00
Toni de la Fuente ea6d9c93fc Integration with Yelp detect-secrets 2019-06-25 08:28:50 -04:00
gabrielsoltz cea45f43c8 remove REGION from Bucket Listing 2019-06-20 17:36:15 +02:00
gabrielsoltz d7d2246498 improved for other file types like empty and very short 2019-06-19 14:58:18 +02:00
gabrielsoltz e6992e87ee ignore None when user data is empty 2019-06-18 12:59:58 +02:00
gabrielsoltz c8622bc347 better check denied 2019-06-13 14:32:19 +02:00
gabrielsoltz 76e6657e42 refactor check_extra734 2019-06-13 14:12:43 +02:00
gabrielsoltz de8336092b fix locations 2019-06-13 12:05:39 +02:00
gabrielsoltz d50c3afebd add check for explicit deny 2019-06-13 12:04:52 +02:00
Toni de la Fuente f54bc4238e Merge branch 'master' of https://github.com/toniblyx/prowler 2019-06-12 10:14:22 +02:00
Toni de la Fuente c7320ec7e2 Added comment to clarify change 2019-06-12 10:13:58 +02:00
Toni de la Fuente a5ea0f59b2 Merge pull request #335 from gabrielsoltz/age_checks
improve AWS CLI parameters order, same as other checks (extra757 and extra758)
2019-06-12 03:35:39 -04:00
Toni de la Fuente 3947ee2aae Improved -l option to list uniq checks 2019-06-11 20:37:18 +02:00
gabrielsoltz 0db97d5a24 improve AWS CLI parameters order, same as other checks 2019-06-11 20:36:40 +02:00
Toni de la Fuente 588976ac45 Fixed lack of in PR #331 2019-06-11 19:31:07 +02:00
Toni de la Fuente 6eb68a1218 Merge pull request #331 from gabrielsoltz/age_checks
New ec2 age checks
2019-06-11 13:21:18 -04:00
gabrielsoltz b1e7dc8519 get_date_previous_than_months compatible busybox 2019-06-11 17:09:28 +02:00
gabrielsoltz c5f170307d add linux and cygwin get_date_previous_than_months function 2019-06-11 12:08:48 +02:00
Toni de la Fuente e8b59b6722 Merge pull request #332 from gabrielsoltz/fix_extra731
fix extra731 output
2019-06-07 12:55:01 -04:00
Toni de la Fuente ea886b84f2 Merge pull request #334 from gabrielsoltz/guardduty_regions
add guardduty regions
2019-06-07 12:54:32 -04:00
gabrielsoltz 89268e4875 textInfo 2019-06-07 05:51:26 +01:00
gabrielsoltz 8ee06449b7 fix code 2019-06-07 05:49:47 +01:00
gabrielsoltz a09055ff31 fix 2019-06-06 21:35:52 +01:00
gabrielsoltz d640086112 add guardduty regions 2019-06-06 21:26:10 +01:00
gabrielsoltz 5037cb03f2 improve code 2019-06-06 21:07:57 +01:00
gabrielsoltz 085dd338f4 function os 2019-06-06 21:04:40 +01:00
Toni de la Fuente 5a0366382b Merge pull request #333 from gabrielsoltz/fix_check121
Review outputs, credentials never used are a FAIL now
2019-06-06 15:58:20 -04:00
gabrielsoltz c4ddb8f14a review outputs 2019-06-06 19:42:55 +01:00
gabrielsoltz df6c323a64 fix extra731 output 2019-06-06 19:37:10 +01:00
gabrielsoltz 40117ed5dd new ec2 age checks 2019-06-06 19:22:26 +01:00
Toni de la Fuente 2012bbb119 Merge pull request #328 from gabrielsoltz/master
check43: iterate across all default sg
2019-06-05 21:58:56 -04:00
gabrielsoltz 004f882a1d iterate across all default sg, so fail more for each one and also add output sg 2019-05-23 17:19:56 +02:00
Toni de la Fuente 7bf636bfc7 Add new checks to group extras 2019-05-16 16:15:13 -04:00
Toni de la Fuente b8c79154cb Added check extra756 Redshift cluster public 2019-05-16 15:41:29 -04:00
Toni de la Fuente 5cd7214f21 Added check extra755 open Memcached port 2019-05-16 15:40:48 -04:00
Toni de la Fuente 4f00760e88 Added check extra754 open Cassandra port 2019-05-16 15:40:23 -04:00
Toni de la Fuente 660b573d05 Added check extra753 open MongoDB port 2019-05-16 15:40:00 -04:00
Toni de la Fuente 1d45c45afa Added check extra752 open Redis prt 2019-05-16 15:39:30 -04:00
Toni de la Fuente 3693ee3692 Added check extra751 SG open Postgres port 2019-05-16 15:38:41 -04:00
Toni de la Fuente c36a6067fa Added check extra750 SG open MySQL ports 2019-05-16 15:38:00 -04:00
Toni de la Fuente 5325bab0ab Added check extra750 SG open MySQL ports 2019-05-16 15:02:06 -04:00
Toni de la Fuente e283d3587b Added check extra749 SG open Oracle ports 2019-05-16 14:57:48 -04:00
Toni de la Fuente b95cf5bc7b Added check extra748 SG open to any port 2019-05-16 14:48:00 -04:00
Toni de la Fuente c6dfbfd0ec Added IPv6 support to networking checks 2019-05-16 14:38:11 -04:00
Toni de la Fuente 62991cfb48 Added exttra747 RDS CloudWatch Log integration 2019-05-15 23:31:25 -04:00
Toni de la Fuente 8b4b59e9d5 Added extra739 RDS backup and RDS group of checks 2019-05-15 23:12:06 -04:00
Toni de la Fuente 303cdc7acd Merge branch 'master' of https://github.com/toniblyx/prowler 2019-05-14 20:46:17 -04:00
Toni de la Fuente 3275713aa8 Added new apigateway checks to extras 2019-05-14 20:45:56 -04:00
Toni de la Fuente 08cdf3511f Added CODE_OF_CONDUCT.md 2019-05-14 15:05:21 -04:00
Toni de la Fuente f28c4330b4 Merge branch 'master' of https://github.com/toniblyx/prowler 2019-05-13 17:02:16 -04:00
Toni de la Fuente a6569a0a70 Added group12 apigateway checks 2019-05-13 17:01:45 -04:00
Toni de la Fuente 959bd8dfd4 Changed version to 2.0.2 2019-05-13 17:01:17 -04:00
Toni de la Fuente a59aedc43b Fixed accuracy for check_extra722 2019-05-13 17:00:56 -04:00
Toni de la Fuente 50b6e630d8 Added extra746 API Gateway has authorizers 2019-05-13 16:39:37 -04:00
Toni de la Fuente da25a02e80 removed extra746 duplicated with extra722 2019-05-13 16:33:38 -04:00
Toni de la Fuente 967fe029c2 Fixed new API Gateway checks alias 2019-05-13 16:30:03 -04:00
Toni de la Fuente 3582b424b0 Added extra747 API Gateway has CloudWatch Logs 2019-05-13 16:29:28 -04:00
Toni de la Fuente 65e2ff7951 Added extra746 API Gateway has authorizers 2019-05-13 15:52:48 -04:00
Toni de la Fuente ab66211f9b Merge pull request #326 from RyPeck/patch-1
Update README.md to clone from right repo
2019-05-13 15:08:07 -04:00
Ryan John Peck 8e71c6e5c5 Update README.md to clone from right repo
Looks like the project was moved out of an org to your personal account.
2019-05-13 13:56:12 -04:00
Toni de la Fuente 504a11bb2e Added extra745 API Gateway public or private 2019-05-07 00:03:23 -04:00
Toni de la Fuente f03eccf6c8 Added extra744 API Gateway has a WAF ACL attached 2019-05-06 23:25:14 -04:00
Toni de la Fuente d0789859a3 Added extra743 API Gateway has client certificate enabled 2019-05-06 23:21:27 -04:00
Toni de la Fuente 1b4045d57c Added extra743 API Gateway has client certificate enabled 2019-05-06 23:10:27 -04:00
Toni de la Fuente f406b4bbcf Merge pull request #322 from toniblyx/devel
Devel
2019-04-29 22:34:22 -04:00
Toni de la Fuente d9ced05d25 Merge pull request #321 from soffensive/devel
Separate handling of S3 default encryption and bucket policy encryption
2019-04-29 22:08:04 -04:00
soffensive f5708d7db6 Separate default encryption and bucket policy encryption
Default encryption (2017): https://aws.amazon.com/blogs/aws/new-amazon-s3-encryption-security-features/
Bucket policy (2016): https://aws.amazon.com/blogs/security/how-to-prevent-uploads-of-unencrypted-objects-to-amazon-s3/
2019-04-29 16:31:42 +02:00
Toni de la Fuente 6dd0ab06d2 Merge pull request #319 from toniblyx/devel
Devel
2019-04-23 23:21:47 -04:00
Toni de la Fuente 42220828ce Fixed issue #317 2019-04-23 23:20:11 -04:00
Toni de la Fuente 4527522acb Merge pull request #314 from soffensive/devel
Iterate over all regions for Cloudtrail Checks check21 and check22
2019-04-23 23:01:43 -04:00
Toni de la Fuente b4c4a46cc6 Fixed issue #315 2019-04-23 11:32:56 -04:00
soffensive e0d86c134a Iterate over all regions
Iterate over all regions
2019-04-17 13:38:12 +02:00
soffensive 7a44b8bcca Iterate over all regions
Iterate over all regions
2019-04-17 13:36:00 +02:00
Toni de la Fuente a707b382b0 Revert adding freebsd detector 2019-04-08 22:15:22 -04:00
Toni de la Fuente fff424dbfa Label v2.0.1 2019-04-08 21:58:01 -04:00
Toni de la Fuente 2870f38bdc Merge pull request #312 from toniblyx/devel
Devel for 2.0.1
2019-04-09 02:51:04 +01:00
Toni de la Fuente 1956be4dc3 Delete duplicate check extra739 2019-04-09 02:49:55 +01:00
Toni de la Fuente e4cf874c5c Merge pull request #311 from artashus/master
Fixed check122 to match CIS 1.22 checks requirements, instead of '=~ …
2019-04-09 02:32:25 +01:00
Toni de la Fuente a2ccac97d9 Make it work in FreeBSD issue #310 2019-04-08 21:18:39 -04:00
Artashes Arabajyan 917a323c15 Fixed check122 to match CIS 1.22 checks requirements, instead of '=~ *' use '== *' 2019-04-05 12:06:27 +02:00
Toni de la Fuente ddad72fc5f Fix issue #309 2019-03-27 22:42:13 +00:00
Toni de la Fuente b03aca80a1 Fixed issue #308 2019-03-27 22:35:50 +00:00
Toni de la Fuente 9d526ff098 Added group11 keys and improved 741 and 742 2019-03-12 23:14:50 -04:00
Toni de la Fuente bde9482928 Added check extra742 to find keys in CloudFormation Outputs 2019-03-12 22:40:40 -04:00
Toni de la Fuente 07f426aec0 Merge pull request #306 from nicdoye/devel
Merge RUNs. Run as non-root. Added jq
2019-03-12 10:05:38 -04:00
Toni de la Fuente 3b2f5522fd Merge branch 'devel' into devel 2019-03-12 10:00:52 -04:00
Nic Doye ea89242644 Merge RUNs. Run as non-root 2019-03-12 13:52:42 +00:00
Toni de la Fuente da9cb41b3b Added jq to Dockerfile and fixes 2019-03-12 09:44:34 -04:00
Toni de la Fuente bc9d4fe762 Created a new Dockerfile based on Alpine 2019-03-11 23:59:02 -04:00
Toni de la Fuente ec05e2f0f4 Merge pull request #305 from toniblyx/devel
Fix issue #301
2019-03-11 22:45:15 -04:00
Toni de la Fuente fa1a3b8406 Fix issue #301 2019-03-11 22:44:00 -04:00
Toni de la Fuente a3d1ed5129 Merge pull request #304 from toniblyx/devel
Devel
2019-03-11 22:27:07 -04:00
Toni de la Fuente e284dd3afc Merge pull request #302 from mindfulmonk/patch-1
Update cislevel names README.md
2019-03-11 22:20:36 -04:00
Toni de la Fuente c8cc343784 Fix issue #303 2019-03-11 22:12:54 -04:00
Toni de la Fuente 6d15bb67fe Fix issue #300 2019-03-11 22:10:37 -04:00
Toni de la Fuente b60d320622 Improved tittle to describe what extra71 does 2019-03-11 22:09:12 -04:00
Marcus Maxwell 3290563716 Update README.md 2019-03-07 09:21:15 +00:00
Marcus Maxwell 4c0c6b181b Update README.md 2019-03-07 09:18:57 +00:00
Marcus Maxwell 10a99aa5ae Update README.md
-c is only for individual checks, need to use -g for level1 checks.
2019-03-07 09:11:12 +00:00
Toni de la Fuente 7117399e14 Added find creds in URL on extra741 2019-03-05 11:40:29 -05:00
Toni de la Fuente 6f678a1093 Merge pull request #298 from toniblyx/devel
Devel
2019-03-04 22:45:58 -05:00
Toni de la Fuente bc1271788c Added MFA help to README issue #294 2019-03-04 22:45:15 -05:00
Toni de la Fuente 9d88a27e0a Merge branch 'devel' of https://github.com/toniblyx/prowler into devel 2019-03-04 22:25:22 -05:00
Toni de la Fuente 2bc3575de8 Improved extra714 to find secrets 2019-03-04 22:25:04 -05:00
Toni de la Fuente 18e9e7f0e1 Merge pull request #297 from toniblyx/devel
Devel
2019-03-04 21:26:29 -05:00
Toni de la Fuente 327323e32f Merge pull request #295 from clintmoyer/spellcheck
Spelling fix "reshift" means "redshift"
2019-02-20 18:11:31 -05:00
Clint Moyer 3c2ad65246 Spelling fix "reshift" means "redshift" 2019-02-20 12:30:04 -07:00
Toni de la Fuente 069b54057b Fixed typo in hipaa 2019-02-11 09:08:05 -05:00
Toni de la Fuente edf7826121 Fixed typo on hipaa 2019-02-11 09:07:27 -05:00
Toni de la Fuente be4bbe4430 New POC scoring and extra741 key finder userdata 2019-02-08 16:47:51 +00:00
Toni de la Fuente 9bf3fd87ac New POC scoring and extra741 key finder userdata 2019-02-08 16:47:12 +00:00
Toni de la Fuente 11c7d55203 New POC scoring and extra741 key finder userdata 2019-02-08 16:39:57 +00:00
Toni de la Fuente 170557a422 New POC scoring and extra741 key finder userdata 2019-02-08 16:39:05 +00:00
Toni de la Fuente 5b0c6f8689 Merge pull request #290 from tomcrawf90/master
Added check for integer in response from AWS
2019-02-04 22:55:24 +00:00
tomcrawf90 17f00f167f Merge pull request #1 from tomcrawf90/check111fix
Added check for integer in response from AWS
2019-02-04 17:08:49 +00:00
Tom Crawford 34b6c4446d Added check for integer in response from AWS 2019-02-04 17:01:37 +00:00
Toni de la Fuente 6600df9be9 extra741 finding keys in UserData 2019-01-29 06:09:37 +00:00
Toni de la Fuente 8f89a01541 Merge pull request #284 from toniblyx/devel
Devel
2019-01-07 22:15:28 -05:00
Toni de la Fuente b59d5db16b Added new opton exclude to README 2019-01-07 22:12:01 -05:00
Toni de la Fuente 2e754a5370 Fixed check120 2019-01-07 22:06:34 -05:00
Toni de la Fuente 2f9886efe2 Merge pull request #283 from SDugo/master
New option "-E" supports exclusion of one or multiple checks
2018-12-21 09:06:58 -05: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
Toni de la Fuente 1203700d34 Merge pull request #282 from toniblyx/devel
Devel
2018-12-19 23:57:26 -05:00
Toni de la Fuente 97a59cf5e4 Merge pull request #276 from affanhmalik/check29
Check for flowlogs only in active VPCs, avoid false flag if a region …
2018-12-19 23:53:42 -05:00
Toni de la Fuente 8a3893cd33 Merge pull request #281 from SDugo/master
Option "-c" supports one or multiple checks
2018-12-19 23:50:57 -05:00
Toni de la Fuente 1fc2b77bfb Merge pull request #278 from SatanicMechanic/patch-1
Update check_extra739
2018-12-19 23:49:53 -05: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
Morey Straus 8935233a05 Update check_extra739
typo correction
2018-12-14 14:32:38 -08:00
Toni de la Fuente c9c4620988 format fix 2018-12-13 18:14:31 +01:00
Toni de la Fuente 2700365101 Improved README and change rules ID 2018-12-13 18:13:18 +01:00
Affan Malik bacdf6ed22 Check for flowlogs only in active VPCs, avoid false flag if a region has no VPCs 2018-12-12 15:09:31 -05:00
Toni de la Fuente 30cac002fa Wazuh integration guide DRAFT 2018-12-05 14:41:07 +00:00
Toni de la Fuente d818381bcf Wazuh integration guide DRAFT 2018-12-05 14:38:39 +00:00
Toni de la Fuente d78424b346 gdpr fix 2018-12-05 12:00:38 +00:00
Toni de la Fuente 1727758479 enhanced gdpr and first wazuh integration bits 2018-12-05 11:58:43 +00:00
Toni de la Fuente 9e0923407e Merge branch 'devel' of https://github.com/toniblyx/prowler into devel 2018-12-05 11:55:51 +00:00
Toni de la Fuente 79e02ce074 Merge pull request #271 from toniblyx/devel
Fixed bug in check extra730: certs expiration
2018-12-05 11:52:19 +00:00
Toni de la Fuente b4cb323de4 Merge pull request #270 from SDugo/master
Fixed AccessDeniedException on extra730
2018-12-05 11:49:41 +00:00
Samuel Dugo 573fa46aac Fixed AccessDeniedException on extra730
When executing Prowler using a specific profile (in my case to assume a role) , check_extra730 returns:

"An error occurred (AccessDeniedException) when calling the DescribeCertificate operation: User: [ASSUMED_ROLE_ARN] is not authorized to perform: acm:DescribeCertificate on resource: [RESOURCE_ARN]"

This is because line 28 did not contain  the following parameters: "$PROFILE_OPT --region $regx" .
2018-12-05 11:35:44 +01:00
Toni de la Fuente 31a0de167c Adding extra340 to GDPR group 2018-11-27 00:07:19 -05:00
Toni de la Fuente 6c2d4d6b01 Adding newer checks to GDPR and extras group 2018-11-27 00:03:40 -05:00
Toni de la Fuente 0ca1a8f28c version and extras last addition 2018-11-26 23:23:16 -05:00
Toni de la Fuente be29f2f0d9 version and extras last addition 2018-11-26 23:22:05 -05:00
Toni de la Fuente c567781bcd Merge pull request #269 from toniblyx/devel
New checks, documentation and fixes:
Added extra739 ELB logging and typos
Added extra740 EBS snapshots are encrypted and HIPAA
Added info about GDPR and HIPAA
Improved Prowler description
fixed issue #268
2018-11-26 22:50:27 -05:00
Toni de la Fuente 84c9b97c48 Merge branch 'master' into devel 2018-11-26 22:48:30 -05:00
Toni de la Fuente 2015a50733 fixed issue #268 2018-11-26 12:26:35 -05:00
Toni de la Fuente d839b2fba1 Improved Prowler description 2018-11-19 23:54:42 -05:00
Toni de la Fuente 3f70c86736 Added info about GDPR and HIPAA 2018-11-19 23:39:17 -05:00
Toni de la Fuente aeaf533585 Added extra740 EBS snapshots are encrypted and HIPAA 2018-11-19 23:22:18 -05:00
Toni de la Fuente 5757a88227 Added extra739 ELB logging and typos 2018-11-19 22:55:29 -05:00
Toni de la Fuente 83de86ca2c fixed HIPAA typo 2018-11-15 14:38:05 -05:00
Toni de la Fuente e2861614c2 Generate creds report only if group1 related 2018-11-14 22:30:22 -05:00
Toni de la Fuente d14bdcc6c3 added option -L to list check groups 2018-11-14 20:38:02 -05:00
Toni de la Fuente 013a435784 added extra738 to group extras 2018-11-14 20:09:20 -05:00
Toni de la Fuente cd9bedb526 Merge pull request #266 from onkymykiss1/update-check29
Updated check29 to validate against FlowLogId which is valid for both…
2018-11-14 19:57:47 -05:00
Jason Turner cafd203406 Updated check29 to validate against FlowLogId which is valid for both CloudWatch and s3 destinations 2018-11-14 14:19:44 -08:00
Toni de la Fuente 2437f8fb16 Added extra738 CloudFront HTTPS 2018-11-08 20:21:46 -05:00
Toni de la Fuente fa5b81b28e Added extra737 KMS keys rotation 2018-11-07 23:37:06 -05:00
Toni de la Fuente 9bdbf6f51c Added extra736 check exposed KMS keys 2018-11-07 23:27:58 -05:00
Toni de la Fuente b6a30df808 Added extra735 check encrypted RDS 2018-11-07 22:00:28 -05:00
Toni de la Fuente 0dc2b9a081 Improved extra734 checking enforce policy 2018-11-06 00:17:00 -05:00
Toni de la Fuente 29e142361b Improved extra734 checking enforce policy 2018-11-06 00:15:20 -05:00
Toni de la Fuente 883afa4959 Added extra734 check S3 bucket encryption 2018-11-05 23:30:00 -05:00
Toni de la Fuente b4ea16b6f7 Changed label to beta3 2018-10-31 23:16:23 -04:00
Toni de la Fuente 9985e98cd3 Added more info for GDPR 2018-10-31 23:16:00 -04:00
Toni de la Fuente 87d1cc13bc Added new checks to GDPR group 2018-10-31 23:13:07 -04:00
Toni de la Fuente c7bfd72d2d Add check extra733 SAML Provider STS 2018-10-31 23:09:24 -04:00
Toni de la Fuente 9a88249965 Added check extra732 Cloudfront CDN Geo restrictions 2018-10-31 22:45:59 -04:00
Toni de la Fuente 6cb75fa26a Added check extra732 Cloudfront CDN Geo restrictions 2018-10-31 22:44:45 -04:00
Toni de la Fuente 2fd6f9801a Added check extra731 SNS topics Public 2018-10-31 22:23:41 -04:00
Toni de la Fuente 4902d11614 Updated CIS version in Description 2018-10-31 21:32:50 -04:00
Toni de la Fuente f1c46c28a0 Improved features section 2018-10-31 21:31:00 -04:00
Toni de la Fuente 5e35915ca3 Merge pull request #256 from UranusBytes/prowler-255
List not only listing
2018-10-31 11:33:05 -04:00
Toni de la Fuente fe6eae7d30 Added check extra730 to group extras 2018-10-31 00:07:36 -04:00
Toni de la Fuente fe8a123ead Added check extra730 - ACM cert expiration 2018-10-31 00:01:47 -04:00
Toni de la Fuente 110b59d25d Merge pull request #262 from SkxNMDI5/accelerate-122
Accelerate check 122 (scope local, 1 less API call by policy)
2018-10-24 13:40:34 -04:00
Toni de la Fuente f8130fa2df Merge pull request #261 from SkxNMDI5/fix-260
Issue 260 : Fix incremental policy
2018-10-24 13:37:40 -04:00
jlamande@gmail.com bd06720416 Accelerate check 122 (scope local, 1 less API call by policy) 2018-10-19 13:43:37 +02:00
jlamande@gmail.com e49cf1fde7 Fix incremental policy 2018-10-19 09:04:32 +02:00
Toni de la Fuente db2483b7a5 Merge pull request #259 from SkxNMDI5/master
fix(check13): should not pass if user never logged in
2018-10-17 16:04:11 -04:00
Toni de la Fuente e3b6a09482 Merge pull request #257 from mixmatch/patch-1
Add missing permission to example prowler policy (support:describetrustedadvisorchecks)
2018-10-17 15:59:55 -04:00
jlamande@gmail.com 8798861c99 fix(check13): should not pass if user never logged in 2018-10-17 10:16:49 +02:00
Daniel Petty 3e39bfd077 Add missing permission to example prowler policy
"support:describetrustedadvisorchecks"
2018-10-09 08:09:47 -06:00
Jeremy Phillips ad012f8db6 List not listing checks, but executing them. Then only displays the first check per group. 2018-10-09 08:52:24 -04:00
Toni de la Fuente e20b32da0c Merge pull request #253 from slmingol/master
Fixed typos
2018-10-08 17:16:02 -04:00
Toni de la Fuente 2483eb0d67 Merge pull request #254 from mixmatch/patch-1
Add missing permissions for prowler policy
2018-10-08 17:15:09 -04:00
Daniel Petty 04c627577b Add missing permissions for prowler policy 2018-10-08 15:11:27 -06:00
Sam Mingo c51ac34590 Fixed typos 2018-10-05 16:51:14 -04:00
Toni de la Fuente bcbabc0239 Merge pull request #252 from flomotlik/master
Allow AWS_PROFILE to be used from the environment
2018-10-03 10:27:59 -04:00
Florian Motlik ad7ee2c2a3 Allow AWS_PROFILE to be used from the environment
AWS_PROFILE is a default AWSCLI environment variable configuring the profile to use. Prowler should accept it as well and not set the default profile.

More information on AWSCLI environment variables can be found in the docs: https://docs.aws.amazon.com/cli/latest/userguide/cli-environment.html
2018-10-03 14:47:52 +02:00
Toni de la Fuente ba96929313 Merge pull request #251 from crashGoBoom/add_hipaa_checks
Add new HIPAA compliance group.
2018-10-02 13:43:51 -04:00
crashGoBoom be81e88ff8 Refactor to add new hipaa group.
This adds a new hipaa group. More checks will be
needed but this is just a start.
2018-10-02 13:26:08 -04:00
Toni de la Fuente db5863c84f Merge pull request #250 from mbode/extra_7_13
Use awscli query instead of cut for Extra 7.13
2018-10-02 09:23:08 -04:00
Maximilian Bode ff973e09c4 Use awscli query instead of cut for Extra 7.13
Fixes #249.
The text output of `aws guardduty get-detector` has changed with awscli release 1.16.25, leading to GuardDuty detectors misreported as suspended.
2018-10-02 12:20:42 +02:00
Toni de la Fuente 843a762e44 Fixed issue #247 2018-09-24 22:27:34 -04:00
Toni de la Fuente fe44298e4e fixed checkID in check_extra76 2018-09-21 09:45:22 -04:00
Toni de la Fuente c99fd2a10c Merge pull request #248 from atomdampflok/master
Take age of access key 2 from correct column
2018-09-20 17:36:51 -04:00
Michael Schubert c7b913fff4 Take age of access key 2 from correct column 2018-09-20 16:18:19 +02:00
Toni de la Fuente fe996a6b43 Merge pull request #244 from gpatt/master
Update Check 1.16
2018-09-12 16:32:12 -04:00
Gary Patterson 5aad05b0ae Added managed to output 2018-09-11 23:06:00 -05:00
Gary Patterson c575b5c243 Update Check 1.16 based on CIS v1.2 05-23-2018 to include list-user-policies for Inline Polices 2018-09-11 22:56:06 -05:00
Toni de la Fuente 62ea9135b6 Improved username filtering for check12 2018-09-05 11:09:03 +01:00
Toni de la Fuente b25954a750 Merge pull request #241 from mattfinlayson/fargate_support
Support for fargate's container metadata endpoint
2018-09-02 19:23:33 +02:00
Toni de la Fuente 7f53b6d3ce Merge pull request #239 from martinusnel/hotfix/check_extra725
Fixed test for no S3 buckets and moved code.
2018-09-02 19:17:08 +02:00
Matthew Finlayson 751fe3123b Support for fargate's container metadata endpoint 2018-08-31 16:55:04 -07:00
Martinus Nel 3bffbe2ca4 Fixed test for no S3 buckets and moved code. Changed method to run through the trails list file. 2018-08-28 16:52:31 +01:00
Toni de la Fuente 68675ac365 PR 235 2018-08-15 16:09:17 -04:00
Toni de la Fuente 1516c4ea15 Fixed as SCORED 2018-08-15 15:48:58 -04:00
Toni de la Fuente 7a474aa335 Fixed as SCORED 2018-08-15 15:48:39 -04:00
Keith Rhea 97da9c2122 Modified checks and documentation to reflect changes in CIS_Benchmark_v1.2.0(05-23-2018) 2018-08-15 09:16:27 -06:00
Toni de la Fuente ebceebbc75 Merge pull request #232 from rheak/master
Update Scored Value for 115 and 315. Update 13 to only check users with enabled console password.
2018-08-14 10:18:39 -04:00
Toni de la Fuente b59aaf40d4 Issue #230 2018-08-14 10:11:44 -04:00
Toni de la Fuente 302dbb5e9d Merge pull request #228 from martinusnel/hotfix/check111
Fixed Bash test.
2018-08-10 19:07:49 -04:00
Toni de la Fuente 13dd9275b8 Merge pull request #229 from martinusnel/feature/check45_sorted_output
Sorted output to have a fixed list for diff.
2018-08-10 19:07:11 -04:00
Keith Rhea 3ef5a42b73 Updated check13 to only check users that have console password enabled 2018-08-10 15:21:39 -06:00
Keith Rhea b98d337478 Updated check315 variable CHECK_SCORED_check315=NOT_SCORED 2018-08-10 15:20:03 -06:00
Keith Rhea 3f90a33a13 Updated check115 variable CHECK_SCORED_check115=NOT_SCORED 2018-08-10 15:19:20 -06:00
Martinus Nel 39276a90ff Sorted output to have a fixed list for diff. 2018-08-10 11:36:58 +01:00
Martinus Nel 350d784414 Fixed Bash test. 2018-08-10 11:21:51 +01:00
Toni de la Fuente 665ca9fda3 fixed issue #226 2018-08-01 23:05:54 -04:00
Toni de la Fuente 17b821aee6 improved group error handling 2018-07-26 23:30:48 -04:00
Toni de la Fuente e12f1f6957 fixed and improved check27 2018-07-26 21:44:59 -04:00
Toni de la Fuente d36674a297 Merge pull request #223 from roo7break/master
Check-111 Password expiration check
2018-06-26 10:39:56 -04:00
Nik 0fd6c9f815 Merge pull request #1 from roo7break/check111-patch-1
Corrected Password expiration check
2018-06-26 12:30:31 +01:00
Nik 0c213ce566 Corrected Password expiration check
The previous check didnt accept lower password expiration time. Updated to accept less than or equal to 90 days. Also edited printed statement to include set value.
2018-06-26 12:29:54 +01:00
Toni de la Fuente be9cbf893b Merge pull request #222 from tmonk42/tmonk42/missing_profiles
Fix extra727 and extra728 #221
2018-06-13 19:33:42 -04:00
Nathan Haneysmith f7737a9efd Fix extra727 and extra728 #221 2018-06-13 14:18:22 -07:00
Toni de la Fuente a97069e1ed Fix extra73 issue #219 2018-06-04 21:39:27 -04:00
Toni de la Fuente 62bfb28d21 Fix extra73 issue #219 2018-06-04 21:38:17 -04:00
Toni de la Fuente 11d3a17e14 Fix extra73 issue #219 2018-06-04 21:34:52 -04:00
Toni de la Fuente 8c72031b43 Merge pull request #217 from myoung34/master
Fix issue with CLOUDWATCH_LOGGROUP_REGION possibly returning multiple duplicate regions
2018-06-01 10:55:42 -04:00
Marcus Young 0d109c77d9 Fix issue with CLOUDWATCH_LOGGROUP_REGION possibly returning multiple duplicate regions 2018-06-01 09:35:08 -05:00
Toni de la Fuente 85e893d74a Merge pull request #216 from hb3b/master
Support graceful failing of buckets with corrupt/unintended permissions
2018-05-29 20:49:46 -04:00
Ben Hecht ac7d51b6f3 Support graceful failing of buckets with corrupt/unintended permissions 2018-05-29 17:19:23 -04:00
Toni de la Fuente 8acc18b32b added json support to README and usage 2018-05-29 16:23:37 -04:00
Toni de la Fuente 9fb344bb89 Merge pull request #215 from hb3b/master
Add JSON support
2018-05-29 16:05:13 -04:00
Ben Hecht 84e9ef2f94 Add JSON support 2018-05-29 15:22:08 -04:00
Toni de la Fuente c08e803a8b Merge pull request #212 from craighurley/master
Update readme formatting.
2018-05-14 18:51:29 -04:00
Toni de la Fuente b8178a7a92 Merge pull request #213 from yapale/yapale-patch-1
missing aim roles
2018-05-14 18:48:52 -04:00
yapale 4076ee5679 missing aim roles
adding missing IAM roles
"cloudtrail:GetEventSelectors", "apigateway:GET",
2018-05-13 19:27:20 +03:00
Craig Hurley f25a9afd5a Update readme formatting. 2018-05-12 22:06:29 +12:00
Toni de la Fuente 6136afcf3d Modified Requirements section 2018-05-04 10:10:20 -04:00
Toni de la Fuente 3d278f9ebd fixed check28 issue #209 2018-04-30 12:24:10 -04:00
Toni de la Fuente c445c6d46f fixed check28 issue #209 2018-04-30 12:21:26 -04:00
Toni de la Fuente 737fbb5837 fixed check28 issue #209 2018-04-30 12:20:10 -04:00
Toni de la Fuente 3a6cc73319 Merge pull request #208 from MrSecure/need_cred_report
ensure credential report is available before running any checks
2018-04-27 13:42:31 -04:00
MrSecure 00df2c0d0a ensure credential report is available before running any checks 2018-04-27 12:37:56 -05:00
Toni de la Fuente be680b00b6 Merge pull request #207 from MrSecure/restore_check_levels
Restore check levels
2018-04-25 01:11:06 -04:00
MrSecure fbd82a8dca fix typo setting CHECK TYPE for 3.11 2018-04-24 21:27:38 -07:00
MrSecure bd9e49d3e3 mark Extra checks as such 2018-04-24 21:19:42 -07:00
MrSecure ef069386e8 fix mismatched check_type
fix CHECK_ALTERNATE
2018-04-24 21:12:25 -07:00
MrSecure 6e97b41e06 add EXTRA level marker to sample check 2018-04-24 21:10:10 -07:00
MrSecure 2cc6715124 mark Level 2 checks as such 2018-04-24 21:09:46 -07:00
MrSecure 1150f2782a mark Level 1 checks as such 2018-04-24 21:02:41 -07:00
Toni de la Fuente 7f386358d3 Fix issue #206 2018-04-24 23:58:27 -04:00
Toni de la Fuente 3212b0db55 Added license and commercial use disclaimer to README 2018-04-24 10:25:16 -04:00
Toni de la Fuente 94893b8c4e fixed typo in extra74 2018-04-23 15:48:55 -04:00
Toni de la Fuente 2afbda53b2 fixed banner on -g option 2018-04-20 17:36:54 -04:00
Toni de la Fuente 60bfb31a19 new check extra729 and test group gdpr 2018-04-20 17:28:01 -04:00
Toni de la Fuente 6b66be25a9 Merge pull request #205 from MrSecure/tweaks
Tweaks - AWS Account ID, -V flag
2018-04-20 17:09:15 -04:00
MrSecure d1693e0f3d move getWhoami to position where it will run before any checks
This restores the AWS account number in the CSV output when running
checks or groups.
2018-04-20 15:55:51 -05:00
MrSecure 7ba6080522 add -V flag to show version 2018-04-20 15:54:47 -05:00
Toni de la Fuente e1958270c0 added new checks for SQS extra727 and 728 2018-04-20 14:42:54 -04:00
Toni de la Fuente 5efd2669fa new check Trusted Avisor errors/warnings 2018-04-20 12:57:07 -04:00
Toni de la Fuente c21c14d8de updated list 2018-04-19 13:36:44 -04:00
Toni de la Fuente 770691fa87 updated list 2018-04-19 13:34:16 -04:00
Toni de la Fuente c53a1f9428 Merge pull request #203 from toniblyx/devel
Merge latest 2.0 beta to Master
2018-04-19 13:19:25 -04:00
Toni de la Fuente 919f97cd79 Merge branch 'master' into devel 2018-04-19 13:19:10 -04:00
Toni de la Fuente 2362518f13 added -g option to README and fixes 2018-04-19 09:52:31 -04:00
Toni de la Fuente 38ad3ca657 region and profile handling improved 2018-04-19 09:47:16 -04:00
Toni de la Fuente 7767a4ba74 Merge pull request #202 from ceyes/master
Fix curl error; improve default region
2018-04-19 09:41:17 -04:00
Jason Chen 775d28f9c4 prowler: fix IAM role detection and curl error
Related to https://github.com/toniblyx/prowler/pull/200

If the ec2 instance is not attached to an IAM role, the `curl -s -m 1
http://169.254.169.254/latest/meta-data/iam/security-credentials` will
return a 404 page instead of null, INSTANCE_PROFILE will always be true
and result to curl error when trying to use default cli profile:

    curl: option -: is unknown
    curl: try 'curl --help' or 'curl --manual' for more information
2018-04-19 14:56:36 +08:00
Jason Chen 2f166e2ba3 prowler: Set default region by aws config, fall back to us-east-1 2018-04-19 14:56:36 +08:00
Toni de la Fuente ada8a225ae fixed and improved aws profile loader 2018-04-16 14:09:30 -04:00
Toni de la Fuente e1559b263c Merge pull request #201 from netflash/master
Fixes #200
2018-04-16 14:06:21 -04:00
Alex Romanov d8687bfab0 Fixes #200 2018-04-16 17:58:39 +00:00
Toni de la Fuente 98a1f4bda0 improved error handling on check111 2018-04-11 14:09:55 -04:00
Toni de la Fuente 8f86a5319f set version label 2.0-beta2 2018-04-11 10:14:34 -04:00
Toni de la Fuente 4c607bba1c improved current directoy handler for includes 2018-04-11 10:13:43 -04:00
Toni de la Fuente 1b0d09da13 added version variable to banner 2018-04-11 10:01:50 -04:00
Toni de la Fuente 473c9b9ce0 added extra725 to extras and forensics 2018-04-10 16:21:08 -04:00
Toni de la Fuente 25cd2202a7 added check extra725 S3 object-level logging 2018-04-10 16:17:53 -04:00
Toni de la Fuente 168ccffaf4 disable concurrency queries due API limits 2018-04-09 15:55:07 -04:00
Toni de la Fuente 7d510b11b2 disable concurrency checks due API limits 2018-04-09 15:41:55 -04:00
Toni de la Fuente e3e038127f license changes for checks 2018-04-09 15:09:30 -04:00
Toni de la Fuente eaaf51813b Merge pull request #198 from sidewinder12s/patch-2
Update all CIS document links to AWS version.
2018-04-05 00:43:34 -04:00
Geoff Webster 1da206cb90 Update all CIS document links to AWS version. 2018-04-04 21:39:57 -07:00
Toni de la Fuente cd41766e22 added checkid to every check and group title 2018-03-29 10:36:46 -04:00
Toni de la Fuente 7cde6f15e7 removed some spaces from output 2018-03-28 14:24:37 -04:00
Toni de la Fuente eaf0a6bf09 added command to save report in S3 2018-03-28 13:58:07 -04:00
Toni de la Fuente 058a8d5b33 changed extra742 to FAIL if not default value 2018-03-28 13:51:32 -04:00
Toni de la Fuente fa474876e9 changed extra742 to FAIL if not default value 2018-03-28 12:51:13 -04:00
Toni de la Fuente 91b8a832ec hide banner on csv output for group mode 2018-03-28 12:32:51 -04:00
Toni de la Fuente 9a035b1a94 updated check extra724 INFO instead of FAIL if enabled 2018-03-28 11:12:59 -04:00
Toni de la Fuente 07b166baa9 changed outputs to the new ones 2018-03-28 11:07:46 -04:00
Toni de la Fuente 1acc6e45d0 added check extra724 Certificate Transparency 2018-03-28 10:54:59 -04:00
Toni de la Fuente db8b5a4d0b added check extra724 Certificate Transparency 2018-03-28 10:50:56 -04:00
Toni de la Fuente 919c530155 added check extra724 Certificate Transparency 2018-03-28 10:49:39 -04:00
Toni de la Fuente 94e7faa1c1 added check extra724 Certificate Transparency 2018-03-28 10:49:00 -04:00
Toni de la Fuente f130c899e5 added check extra724 Certificate Transparency 2018-03-28 10:44:36 -04:00
Toni de la Fuente 1c0229e1a3 added new CHECKLIST.md file 2018-03-27 18:43:58 -04:00
Toni de la Fuente 39b597ee47 updated README and usage 2018-03-27 18:11:13 -04:00
Toni de la Fuente a535e66d06 updated README and usage 2018-03-27 18:09:02 -04:00
Toni de la Fuente 70483ba81b updated README and usage 2018-03-27 18:07:03 -04:00
Toni de la Fuente ef9b7cef1a clean up extras 2018-03-26 23:01:52 -04:00
Toni de la Fuente 2648067ac6 fully functional beta 2.0 2018-03-26 22:54:21 -04:00
Toni de la Fuente 6647702d90 added support of -g groups 2018-03-26 21:32:15 -04:00
Toni de la Fuente 7866d42df9 changed output to PASS and FAIL 2018-03-26 15:40:40 -04:00
Toni de la Fuente da0f266944 first semi functional v2 2018-03-23 19:26:10 -04:00
Toni de la Fuente a2806ad86b populated checks 2018-03-23 10:05:20 -04:00
Toni de la Fuente a98fdf7679 create check files 2018-03-20 23:08:35 -04:00
Toni de la Fuente a21bff31a5 create check files 2018-03-20 22:59:34 -04:00
Toni de la Fuente 0a9e50ce53 Merge pull request #194 from mbode/check33_bugfix
Fix check 3.3
2018-03-20 11:54:34 -04:00
Maximilian Bode 2172f60a18 Reintroduce lost $-sign in check 3.3 2018-03-20 16:50:37 +01:00
Toni de la Fuente 2f761f62a6 new folder structure 2018-03-20 10:56:37 -04:00
Toni de la Fuente 6a4127dc40 tests v2 2018-03-19 14:55:25 -04:00
Toni de la Fuente 4901561fec tests v2 2018-03-19 14:54:05 -04:00
Toni de la Fuente 68d12ae72f fix issue #193 2018-03-19 12:24:59 -04:00
Toni de la Fuente 01a88e6c89 move prowler-policy to iam folder 2018-03-19 11:23:13 -04:00
Toni de la Fuente 0e43a05d16 fix issue #184 2018-03-19 11:11:45 -04:00
Toni de la Fuente a670716625 preparing new structure 2018-03-19 11:10:10 -04:00
Toni de la Fuente f411223fa8 added extra723 and clean up 2018-03-19 10:55:35 -04:00
Toni de la Fuente c96e2be257 Merge pull request #192 from toniblyx/master
update devel branch
2018-03-19 10:45:40 -04:00
Toni de la Fuente d806c86e90 Merge pull request #188 from ahhh/patch-1
Update prowler output text for extra717
2018-03-06 13:21:47 -05:00
Dan Borges 5156376df6 Update prowler 2018-03-06 09:58:12 -08:00
Toni de la Fuente e714a20ae3 Merge pull request #187 from rtkjbillo/update_cloudwatch_logs_permissions
Update IAM permissions needed for CloudWatch Logs
2018-03-05 16:33:38 -05:00
Jake Billo c20f8878da Update IAM permissions needed for CloudWatch Logs
According to the AWS documentation for the CloudWatch Logs permissions reference [1], the IAM policy to permit or deny CloudWatch Logs actions uses the `logs:` prefix rather than `cloudwatchlogs:`. This commit updates the policy additions JSON file as well as the README to reflect this change.

I confirmed this having assumed an appropriate role in an AWS account, then executing the AWS CLI command `aws logs describe-log-groups`; with the `cloudwatchlogs:` prefix an AccessDeniedException was returned to the client.

[1] https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/permissions-reference-cwl.html
2018-03-05 16:01:42 -05:00
Toni de la Fuente 6ccd1020e3 Merge pull request #180 from subramani95/patch-4
Improving check41 and check42
2018-02-26 23:23:29 -05:00
Toni de la Fuente fa03991edd Merge pull request #181 from doshitan/improve-check28
Improve check28
2018-02-22 11:38:26 -08:00
Toni de la Fuente 5fdedd082b Merge pull request #182 from doshitan/better-shebang
Use `#!/usr/bin/env bash` instead of hard coding `#!/bin/bash`
2018-02-22 11:26:27 -08:00
Tanner Doshier d7f4f99f15 Improve check28
The CIS benchmarks state that only customer managed CMKs should be checked, so
exclude all AWS managed CMKs, not just the one for ACM.

Also fix up some formatting and dead code.
2018-02-22 12:32:36 -06:00
Tanner Doshier 1295c5ecff Use #!/usr/bin/env bash instead of hard coding #!/bin/bash
Better cross-platform support.
2018-02-22 12:16:12 -06:00
Subramani Ramanathan 65c417a357 Improving check41 and check42
Improved check41 and check42 to ensure no inbound rule exists that has:-
# port no 22 and source of 0.0.0.0/0
# port no in the range (i.e 0-1024) and source of 0.0.0.0/0
# port value of all and source of 0.0.0.0/0
2018-02-21 02:48:20 +05:30
Toni de la Fuente 111615bff4 Merge pull request #177 from toniblyx/master
New checks and improvements
2018-02-16 14:13:00 -05:00
Toni de la Fuente ec7930146b New checks and improvements 2018-02-16 12:33:05 -05:00
Toni de la Fuente 282f758fd7 Merge pull request #176 from subramani95/patch-3
Fix printing texts when both Ok and Warn are present in 'check31'
2018-02-13 21:35:08 -05:00
Subramani Ramanathan 6b759db0ae Fix printing texts when both Ok and Warn are present in 'check31'
We may have groups in both Ok and Warn; so we have to go through both CHECK31OK and CHECK31WARN one by one.
2018-02-13 21:27:04 +05:30
Toni de la Fuente 9ddf17484a Merge pull request #17 from Alfresco/master
get latest PR  from master
2018-02-12 16:19:08 -05:00
Toni de la Fuente 1580c38a06 Merge pull request #174 from subramani95/patch-2
Improved 'check31'
2018-02-12 11:32:50 -05:00
Subramani Ramanathan 771cbf6b08 Fix to get CloudWatch Log Group Region
Fix to get CloudWatch Log Group Region, when more than one log group names are there
2018-02-12 21:55:55 +05:30
Subramani Ramanathan f64fac3e17 Improved 'check31'
Get the Metric Name using Log Group and Filter names and check the alarms associated with that metric.
2018-02-12 18:43:20 +05:30
Toni de la Fuente 01d13691b3 Merge pull request #173 from toniblyx/master
Added new check extra719 route53 query logging
2018-02-09 19:58:52 -05:00
Toni de la Fuente d101e2b3bf Added new check extra719 route53 query logging 2018-02-09 19:57:54 -05:00
Toni de la Fuente e248be83f1 Merge pull request #172 from toniblyx/master
Added check extra718 bucket server access logging
2018-02-09 18:19:08 -05:00
Toni de la Fuente f5ba67da86 Added check extra718 bucket server access logging 2018-02-09 18:15:06 -05:00
Toni de la Fuente da86408431 Merge pull request #171 from toniblyx/master
Fixed extra79 and added extra717
2018-02-09 17:22:43 -05:00
Toni de la Fuente 1281867bd4 Removed redundand info in README 2018-02-09 17:19:48 -05:00
Toni de la Fuente 1cc7c7d3aa Removed redundand info in README 2018-02-09 17:18:43 -05:00
Toni de la Fuente cd276ab959 Added new check extra717 ELB logging 2018-02-09 17:17:09 -05:00
Toni de la Fuente d38e5aa088 Merge pull request #170 from toniblyx/master
Added new check extra716 ES service allow open access
2018-02-08 01:22:25 -05:00
Toni de la Fuente b2264997d6 Added new check extra716 ES service allow open access 2018-02-08 01:21:22 -05:00
Toni de la Fuente dce78805a8 Merge pull request #169 from toniblyx/master
Added new check extra715 ES service logging
Added new check extra716 ES service allow open access
2018-02-08 01:02:20 -05:00
Toni de la Fuente 55d3d642f9 Added new check extra716 ES service allow open access 2018-02-08 01:01:28 -05:00
Toni de la Fuente 841e5436b9 Added new check extra715 ES service logging 2018-02-08 00:27:27 -05:00
Toni de la Fuente 0360db1b64 Merge pull request #168 from toniblyx/master
Added check extra714 CloudFront logging
2018-02-07 23:50:31 -05:00
Toni de la Fuente 3665d64f2b Added check extra714 CloudFront logging 2018-02-07 23:49:26 -05:00
Toni de la Fuente 0b7a17b2b2 Merge pull request #167 from toniblyx/master
Improved OSTYPE handling
2018-02-07 22:53:46 -05:00
Toni de la Fuente b92ba781ba Fixed mktemp in OSX and OS handlign 2018-02-07 22:52:32 -05:00
Toni de la Fuente c447e456d0 Fixed mktemp in OSX 2018-02-07 22:48:02 -05:00
Toni de la Fuente 9f977d263d Fixed mktemp in OSX 2018-02-07 22:47:13 -05:00
Toni de la Fuente 752a07d406 Merge pull request #166 from toniblyx/master
New check and fix issue #165
2018-02-07 22:25:24 -05:00
Toni de la Fuente 53580d488c Fix issue #165 2018-02-07 22:22:51 -05:00
Toni de la Fuente 84591d25a6 New check extra713 for GuardDuty 2018-02-05 23:41:19 -05:00
Toni de la Fuente d67170b87c New forensics-ready check group and extra712 2018-02-05 23:11:43 -05:00
Toni de la Fuente 194eecb269 New forensics-ready check group and extra712 2018-02-05 23:07:55 -05:00
Toni de la Fuente db765e9c55 Fixed typo in README 2018-02-05 22:26:03 -05:00
Toni de la Fuente dc2c32be54 Merge pull request #164 from toniblyx/master
Improved check31 issue #111
2018-02-05 22:04:17 -05:00
Toni de la Fuente 9f01be416a Improved check31 issue #111 2018-02-05 22:02:53 -05:00
Toni de la Fuente fbbb1dd904 Merge pull request #16 from Alfresco/master
get all changes from main repo
2018-02-05 21:44:11 -05:00
Toni de la Fuente 9b1451aff1 Merge pull request #162 from subramani95/patch-1
Update to 'check114'
2018-02-05 21:39:31 -05:00
Subramani Ramanathan e192a5ef44 Update to 'check114'
Updated 'check114' to ensure hardware MFA is enabled for root account by:-
1) Querying for 'SerialNumber' of the Virtual MFA Devices list
2) 'SerialNumber' is ARN for Virtual MFA Device and Device Number for Hardware MFA Device; so did grep for ARN with 'root-account-mfa-device' in the expression
2018-02-05 21:49:15 +05:30
Toni de la Fuente 845ed39b8c Merge pull request #161 from sidewinder12s/public-redshift-cluster
Add check for publicly accessible redshift clusters.
2018-02-02 15:48:01 -05:00
Geoff Webster 64a11a3446 Add check for publicly accessible redshift clusters. 2018-02-02 10:59:45 -08:00
Toni de la Fuente e1126d744f Merge pull request #160 from sidewinder12s/endpoint-names
Update extras 7.8-10 to display public endpoints as well as names.
2018-02-01 21:13:50 -05:00
Geoff Webster db4a91f623 Update extras 7.8-10 to display public endpoints as well as names. 2018-02-01 14:48:33 -08:00
Toni de la Fuente 4f6972c9cd Merge pull request #15 from Alfresco/master
sync with main code
2018-02-01 15:40:34 -05:00
Toni de la Fuente d4b14c2510 Merge pull request #156 from sidewinder12s/extra-check-710
Extra check 710
2018-02-01 12:42:43 -05:00
Toni de la Fuente affe26cfe6 Merge pull request #155 from sidewinder12s/extra-check-79
added extra79 to check for internet facing ELBs.
2018-02-01 12:41:03 -05:00
Geoff Webster 33029e35d5 Added extra710 to check for internet facing EC2 Instances. 2018-01-31 17:20:46 -08:00
Geoff Webster 398e55f21a added extra79 to check for internet facing ELBs. 2018-01-31 15:38:56 -08:00
Toni de la Fuente 4b395d50db Merge pull request #150 from toniblyx/master
Improved load of auth credentials
2018-01-27 10:37:22 -05:00
Toni de la Fuente 9c19e7b85d improved load of auth credentials 2018-01-27 10:35:25 -05:00
Toni de la Fuente d0c66181f0 Merge pull request #14 from Alfresco/master
sync with main repo
2018-01-26 18:12:31 -05:00
Toni de la Fuente 66862fddf3 Merge pull request #146 from neonbunny/patch-3
Fix typos in messages
2018-01-16 11:37:33 -05:00
neonbunny 189462c474 Fix typos in messages 2018-01-16 16:31:31 +00:00
Toni de la Fuente 99e663d06c Merge pull request #143 from toniblyx/master
Added check extra78
2018-01-11 16:50:35 -05:00
Toni de la Fuente 609b4810f2 Added check extra78 2018-01-11 16:47:58 -05:00
Toni de la Fuente 36e851b79f Added check extra78 2018-01-11 16:46:08 -05:00
Toni de la Fuente dec8391d73 Merge pull request #141 from toniblyx/master
Added new extras and README changes
2018-01-09 15:53:48 -05:00
Toni de la Fuente d004c28436 Added Third Party Integrations to README 2018-01-09 15:25:48 -05:00
Toni de la Fuente e6d858cbe3 Added how to add Custom Checks to README 2018-01-09 15:19:50 -05:00
Toni de la Fuente d9685149d0 Added how to add Custom Checks to README 2018-01-09 15:18:37 -05:00
Toni de la Fuente 993a58a0c4 Added how to add Custom Checks to README 2018-01-09 15:17:51 -05:00
Toni de la Fuente e04d2df953 Added how to add Custom Checks to README 2018-01-09 15:16:54 -05:00
Toni de la Fuente 741ff97b02 Added how to add Custom Checks to README 2018-01-09 15:15:16 -05:00
Toni de la Fuente dc6b1dd915 Added how to add Custom Checks 2018-01-09 15:13:12 -05:00
Toni de la Fuente e5c65fd523 added extra77 check public ECR repos 2018-01-09 14:59:23 -05:00
Toni de la Fuente bfdba6257b added -l flag to show only a list of all checks 2018-01-09 14:20:35 -05:00
Toni de la Fuente ac8179ec83 added extra76 check public AMIs 2018-01-09 11:51:57 -05:00
Toni de la Fuente 17b0df3053 added region info to help output 2018-01-09 11:49:07 -05:00
Toni de la Fuente e6fa8dd92d added region info to help output 2018-01-09 11:47:49 -05:00
Toni de la Fuente 09896c3e3c Merge remote-tracking branch 'upstream/master' 2018-01-09 11:38:31 -05:00
Toni de la Fuente deacd27ac6 Merge pull request #139 from st33v/add_docker
add simple docker file
2017-12-24 19:54:34 +01:00
Steve Neuharth 785633cc3b add simple docker file 2017-12-24 12:33:48 -06:00
Toni de la Fuente 8e93bcc3da Merge pull request #138 from wassies/master
Pull request - Text change for issue #133
2017-12-17 19:45:59 -05:00
wassies 07635ce579 Text change for issue #133
Updated OK text for issue #133
2017-12-18 10:31:29 +10:00
Toni de la Fuente 232292fa3e Merge pull request #137 from ASIDataScience/fix-check114
Use a query to get AccountMFAEnabled rather than awk/sed
2017-12-13 19:03:56 -05:00
Tomáš Milata b67ca429e9 Use a query to get AccountMFAEnabled rather than awk/sed
Parsing with awk/sed relies on the json being pretty printed (no other values on the same line), which is not always true, causing false-positive warings sometimes. Querying for SummaryMap.AccountMFAEnabled directly should be more robust
2017-12-13 13:38:27 +00:00
Toni de la Fuente 7121fb448a Merge pull request #136 from ASIDataScience/fix-check113
Use a query to get AccountMFAEnabled on a root account rather than awk/sed
2017-12-12 22:24:46 -05:00
Tomáš Milata 887805c5be Use a query to get AccountMFAEnabled rather than awk/sed
Parsing with awk/sed relies on the json being pretty printed (no other values on the same line), which is not always true, causing false-positive warings sometimes. Querying for SummaryMap.AccountMFAEnabled directly should be more robust.
2017-12-12 17:21:34 +00:00
Toni de la Fuente 2063a718a5 Merge pull request #135 from sente/patch-1
Support "" (blank) values to if [[ ]] statements
2017-12-07 09:26:03 -05:00
Stuart Powers 4e53521c59 Support "" (blank) values to if [[ ]] statements 2017-12-07 08:06:04 -05:00
Toni de la Fuente 858110179b Merge pull request #134 from pbugnion/fix-check124
Check 1.24: fix error getting policy version when multiple policies share the same words
2017-12-06 16:10:21 -05:00
Pascal Bugnion d8879d9085 Fix bug getting policy versions
When serveral policies have the same full word substring, getting the policy
versions can return multiple entries. Now fixed.
2017-12-06 18:36:51 +00:00
Toni de la Fuente 477023d32a Merge pull request #131 from st33v/st33v-patch-1
fixed internet gateway check
2017-12-04 12:00:59 -08:00
Steve Neuharth 4b7b28eb87 fixed internet gateway check 2017-11-27 20:27:38 -06:00
Toni de la Fuente 3d282e2a99 Merge pull request #13 from Alfresco/master
sync with master
2017-11-22 22:37:58 -05:00
Toni de la Fuente bb2958620c Merge pull request #130 from ASIDataScience/avoid-username-clash-in-check12
Avoid name clashes on word boundaries
2017-11-22 22:36:44 -05:00
Pascal Bugnion 0ff6b7fd70 Avoid name clashes on word boundaries 2017-11-22 13:03:42 +00:00
Toni de la Fuente eaf95a6239 Merge pull request #129 from toniblyx/master
fixed issue with multiple CLOUDWATCH_GROUPS in section 3. Issue #111
2017-11-21 10:21:28 -05:00
Toni de la Fuente 010dd950b3 fixed issue with multiple CLOUDWATCH_GROUPS in section 3. Issue #111 2017-11-21 10:20:38 -05:00
Toni de la Fuente 95c4f4683f Merge pull request #128 from toniblyx/master
Added exit code enhancement #126
2017-11-17 18:46:04 -05:00
Toni de la Fuente 2c86cc04d5 Added exit code enhancement #126 2017-11-17 18:45:20 -05:00
Toni de la Fuente 23c61b4077 Merge pull request #127 from toniblyx/master
fixed #111 and improved section 3
2017-11-17 18:24:08 -05:00
Toni de la Fuente 521088aa55 fixed #111 and improved section 3 2017-11-17 18:20:42 -05:00
Toni de la Fuente 482d3c5a77 fixed #111 and improved section 3 2017-11-17 18:17:23 -05:00
Toni de la Fuente 49393d258a Merge pull request #123 from Alfresco/devel
Added 2 additional extra checks
2017-11-08 21:28:56 +00:00
Toni de la Fuente cc843c16a8 Merge pull request #122 from dougbyrne/check123_false_positives
Better grep pattern to find users in the IAM report
2017-11-08 21:26:13 +00:00
Doug Byrne f5ebc1d227 Better grep pattern to find users in the IAM report 2017-11-08 16:19:42 -05:00
Toni de la Fuente 431178c462 Merge pull request #121 from toniblyx/master
added new extras to README
2017-11-08 12:03:23 +00:00
Toni de la Fuente a06c101fe2 added new extras to README 2017-11-08 12:02:43 +00:00
Toni de la Fuente caf67f4e6c Merge pull request #120 from toniblyx/master
added extra74 and extra75
2017-11-08 00:03:23 +00:00
Toni de la Fuente 3b251bc4f5 added extra74 and extra75 2017-11-08 00:00:21 +00:00
Toni de la Fuente 0e5da362cb Merge pull request #119 from toniblyx/master
fixed issue #113
2017-11-06 19:30:24 -05:00
Toni de la Fuente 4c9b79a9d2 fixed issue #113 2017-11-06 19:29:41 -05:00
Toni de la Fuente 35da09d97a Merge pull request #117 from toniblyx/master
Fixed issue #112
2017-10-26 18:11:25 -04:00
Toni de la Fuente 0f1407325f Fixed issue #112 2017-10-26 18:09:36 -04:00
Toni de la Fuente b5901d0b65 Fixed issue #112 2017-10-26 18:06:45 -04:00
Toni de la Fuente 4daf8cbcae Merge pull request #116 from toniblyx/master
Fixed issue #114
2017-10-26 17:15:39 -04:00
Toni de la Fuente fc58cd535c Fixed issue #114 2017-10-26 17:14:41 -04:00
Toni de la Fuente 21e5102206 Merge branch 'master' of https://github.com/toniblyx/prowler 2017-10-26 16:58:34 -04:00
Toni de la Fuente ca469b5f7c issue #85 2017-10-26 16:58:14 -04:00
Toni de la Fuente a6f1affefa Merge pull request #12 from Alfresco/master
syc with master repo
2017-10-26 15:45:05 -04:00
Toni de la Fuente 26b749b470 Merge pull request #110 from netflash/master
Fix typo on AWS_ACCESS_KEY_ID variable name
2017-10-05 13:27:16 -04:00
Alex Romanov d87c4a1cff Fix typo 2017-10-05 10:14:38 -07:00
Toni de la Fuente 0051adb855 Merge pull request #109 from toniblyx/master
Issue #107
2017-10-04 22:38:20 -04:00
Toni de la Fuente 3b62bc433e Issue #107
https://github.com/Alfresco/prowler/issues/107 
AWS recommends in official docs is to follow this order:
1 Command line options
2 Environment variables
3 The AWS credentials file
4 The CLI configuration file
5 Container credentials
6 Instance profile credentials
This change makes Prowler first reads creds from enviroment variables if no profile especified, if they are not available look for default profile in ~/.aws/credentials and finally if it has an instance profile attached it uses its credentials.
2017-10-04 22:36:36 -04:00
Toni de la Fuente 15337ad62c Added info about env credentials 2017-10-04 22:33:14 -04:00
Toni de la Fuente 48ef4f555e Merge pull request #11 from Alfresco/master
get all changes from the main repo
2017-10-04 11:42:28 -04:00
Toni de la Fuente c16455d752 Merge pull request #106 from neonbunny/patch-2
Clarify warning message when CloudTrail is not consumed by CloudWatch
2017-09-26 10:20:05 -04:00
neonbunny 1df55ebf60 Clarify warning message when CloudTrail is not consumed by CloudWatch 2017-09-26 14:49:05 +01:00
Toni de la Fuente 1a79c6e0f9 Merge pull request #105 from neonbunny/patch-1
Clarify warning message
2017-09-22 08:53:04 -04:00
neonbunny 3ccf28617e Clarify warning message
A previous change replaced a comma in the message with the word "but" which is incorrect - the missing KMS key was the indicator that the trail was not encrypted.
2017-09-22 11:22:59 +01:00
Toni de la Fuente ae8b8076c5 Merge pull request #104 from toniblyx/master
Fix issue #103
2017-09-11 18:18:14 -04:00
Toni de la Fuente c7925b6f94 Fix issue #103
Fix issue #103
2017-09-11 18:16:18 -04:00
Toni de la Fuente 0e2502fcad Merge pull request #102 from toniblyx/master
Added numeral feature issue #101
2017-09-08 18:20:57 -04:00
Toni de la Fuente e9ed339610 issue #101
added numeral feature request issue #101
2017-09-08 18:19:31 -04:00
Toni de la Fuente dfd8e74003 issue #101
added numeral feature request issue #101
2017-09-08 18:18:40 -04:00
Toni de la Fuente 90497a5daf Merge pull request #100 from toniblyx/master
removed printCurrentDate reference
2017-08-22 10:55:55 +02:00
Toni de la Fuente 73f7c3d16d removed printCurrentDate reference 2017-08-22 10:55:18 +02:00
Toni de la Fuente 8c79d37099 Merge pull request #10 from Alfresco/master
get all changes from main repo
2017-08-22 10:42:15 +02:00
Toni de la Fuente 591b6e70f6 Merge pull request #98 from hemedga/referencelong
Updated infoReferenceLong() text and moved the function call
2017-08-22 10:40:59 +02:00
Toni de la Fuente 1618568be2 Merge branch 'master' into referencelong 2017-08-22 10:39:41 +02:00
Toni de la Fuente 436ea15d9a Merge pull request #99 from hemedga/short
Fix issue #96 - remove bit.ly reference
2017-08-22 10:35:54 +02:00
Toni de la Fuente fa181a4ada Merge pull request #97 from hemedga/date
removed printCurrentDate() and added current date to banner
2017-08-22 10:34:14 +02:00
Hemed Gur-Ary 866200d018 Fix issue #96 - remove bit.ly reference 2017-08-22 00:34:17 +03:00
Hemed Gur-Ary afb914f9d7 Updated infoReferenceLong() text and moved the function call 2017-08-22 00:19:49 +03:00
Hemed Gur-Ary 43918cfcfe removed printCurrentDate() and added current date to banner 2017-08-21 23:44:34 +03:00
Toni de la Fuente 0e0f3a334e Merge pull request #95 from toniblyx/master
fixed issue #94
2017-08-14 15:25:28 -07:00
Toni de la Fuente 711ebf3878 Added max items option to extra72 issue #94
issue #94
2017-08-14 18:24:31 -04:00
Toni de la Fuente 6198f9472f Merge pull request #9 from Alfresco/master
update from master
2017-08-14 15:22:24 -07:00
Toni de la Fuente 0fb7d1236a Merge pull request #92 from MrSecure/74_fix_scored_output
74 fix scored output
2017-08-11 17:13:28 -07:00
Ben Allen 580cacede5 make sure CSV header is shown before any results 2017-08-02 21:49:09 -05:00
Ben Allen e4f6825662 add level to CSV output 2017-08-02 21:41:19 -05:00
Ben Allen 86bbb4583c update scored/level marking for level2 & support 2017-08-02 21:39:12 -05:00
Ben Allen b9b0e3fcb3 update scored/level marking for level1 & extras 2017-08-02 21:34:21 -05:00
Ben Allen c66d581ed2 restore not-scored markers to multiple checks. 2017-08-02 15:09:07 -05:00
Toni de la Fuente c5da6b2cdd Merge pull request #91 from neonbunny/master
Broken sed expression & typos
2017-07-28 09:44:02 -07:00
Stephen Tomkinson 7e8fa330b5 Fixed a few more typos 2017-07-28 14:26:30 +01:00
Stephen Tomkinson abb2bfbe9f Fixed broken sed expression and a typo in the output. 2017-07-28 14:17:01 +01:00
Toni de la Fuente d859aa989e Merge pull request #88 from toniblyx/master
Fix for issue #87
2017-07-24 10:40:18 -04:00
Toni de la Fuente 29221bc5a9 fixed issue with mktemp at temp policy file
As per GNU mktemp man, TEMPLATE must contain at least 3 consecutive ‘X’s in last component .XXXXXXXXXX on the temp file. It is a bit different for the BSD version.
2017-07-24 10:38:50 -04:00
Toni de la Fuente 5b611566df Merge pull request #8 from Alfresco/master
get all changes from the master repo
2017-07-24 10:31:44 -04:00
Toni de la Fuente f93eae1c3c Merge pull request #86 from jphuynh/master
Fix LICENSE
2017-07-24 09:25:04 -04:00
Jean-Pierre Huynh 717a4906c6 Fix license inconsistency between LICENSE file and prowler license header
Signed-off-by: Jean-Pierre Huynh <jean-pierre.huynh@ounet.fr>
2017-07-23 09:20:01 +01:00
Toni de la Fuente a1b13fd346 Merge pull request #84 from toniblyx/master
Improved and error handling for checks sec 1 and 4
2017-07-21 11:35:30 -04:00
Toni de la Fuente 7eb08ddea4 Improved and error handling for checks sec 1 and 4
check41 Fixed sg-group handling with sg-id instead of name
check15 to check111 improved error handling for brand new aws accounts
2017-07-21 11:34:47 -04:00
Toni de la Fuente acfb61fe42 Merge pull request #83 from toniblyx/master
Improved extra73 (added s3 policy review)
2017-07-21 00:15:25 -04:00
Toni de la Fuente 955cde08fd Improved extra73 (s3 bucket permissions)
Now extra73 checks for S3 policies that have Allow for Principal as *.
2017-07-21 00:13:11 -04:00
Toni de la Fuente 65e10c27c2 Merge pull request #82 from toniblyx/master
Fixed bug in extra73 for buckets in EU (eu-west-1)
2017-07-19 13:33:22 -04:00
Toni de la Fuente ed2448dbe0 Fixed bug in extra73 for buckets in EU (eu-west-1) 2017-07-19 13:33:03 -04:00
Toni de la Fuente 644b04c1ac Merge pull request #81 from toniblyx/master
Improved extra73 - S3 bucket permissions
2017-07-19 11:00:09 -04:00
Toni de la Fuente 9f8941b76f updated check 7.3 2017-07-19 10:58:39 -04:00
Toni de la Fuente 7eeee0e777 Improved extra73 to check also Authenticated users
Ensure there are no S3 buckets open to the Everyone or Any AWS user (Not Scored) (Not part of CIS benchmark)
2017-07-19 10:57:05 -04:00
Toni de la Fuente 0ea9de8f64 Merge pull request #80 from toniblyx/master
Update README.md
2017-07-18 13:01:54 -04:00
Toni de la Fuente 5723bcb1a4 Update README.md 2017-07-18 13:00:46 -04:00
Toni de la Fuente 222ab4d8d6 Merge pull request #79 from toniblyx/master
Add TOC and section about Extras
2017-07-18 12:33:10 -04:00
Toni de la Fuente f949d2f588 Add TOC and section about extras 2017-07-18 12:32:16 -04:00
Toni de la Fuente 918f74d6c5 Merge pull request #78 from toniblyx/master
Added check73 to find S3 buckets open to AllUsers
2017-07-18 11:49:01 -04:00
Toni de la Fuente 2faa50c4de fixed typo in TITTLE73 2017-07-18 11:47:56 -04:00
Toni de la Fuente ae274b2fc9 Added check73 S3 buckets open to the AllUsers 2017-07-18 11:45:52 -04:00
Toni de la Fuente 6f5b28a99c Merge pull request #77 from Alfresco/revert-76-revert-75-master
Revert "Revert "added check72 about EBS snapshots set as public""
2017-07-18 09:32:45 -04:00
Toni de la Fuente ce9a2b8162 Revert "Revert "added check72 about EBS snapshots set as public"" 2017-07-18 09:32:23 -04:00
Toni de la Fuente 92598d54f5 Merge pull request #76 from Alfresco/revert-75-master
Revert "added check72 about EBS snapshots set as public"
2017-07-18 09:30:44 -04:00
Toni de la Fuente 1697d6c92a Revert "added check72 about EBS snapshots set as public" 2017-07-18 09:30:31 -04:00
Toni de la Fuente f64607d925 Merge pull request #75 from toniblyx/master
added check72 about EBS snapshots set as public
2017-07-18 09:16:24 -04:00
Toni de la Fuente 255b6f4ccb Added extra check72
7.2  Ensure there are no EBS Snapshots set as Public (Not Scored) (Not part of CIS benchmark)
2017-07-18 09:15:31 -04:00
Toni de la Fuente 7e3b1bd3ca Merge pull request #7 from Alfresco/master
get changes
2017-07-17 23:10:35 -04:00
Toni de la Fuente 93d5d7295f Merge pull request #73 from MrSecure/extra71-admins
add extra check - look for admins w/o MFA
2017-07-17 23:08:45 -04:00
Toni de la Fuente 435d2ed6fc Merge pull request #72 from MrSecure/check315-fixes
update check315
2017-07-17 22:55:01 -04:00
Ben Allen bb1cb1e081 add extra71 check 2017-07-17 21:43:43 -05:00
Ben Allen 1527e438a1 update check315 to provide more consistent display of topics & subscriptiongs 2017-07-17 21:42:18 -05:00
Toni de la Fuente c2b5ed17c2 Merge pull request #71 from toniblyx/master
fixed issue with check 3.15 issue #70
2017-07-17 22:28:02 -04:00
Toni de la Fuente c2540b2828 fixed issue with check 3.15 2017-07-17 22:27:12 -04:00
Toni de la Fuente fe4dfdb368 Merge pull request #68 from toniblyx/master
Added checks based on CIS profile definitions, issue #64
2017-07-17 21:21:54 -04:00
Toni de la Fuente 39f1411f30 added info about profile definitions 2017-07-17 21:20:05 -04:00
Toni de la Fuente ebf80a6455 Added CIS profile definitions checks
level1 and level2 profile definition checks enabled see https://github.com/Alfresco/prowler/issues/64
2017-07-17 21:14:46 -04:00
Toni de la Fuente ebeb747686 Merge pull request #67 from toniblyx/master
issue #65
2017-07-17 20:50:40 -04:00
Toni de la Fuente e3400b05ba fixed issue #65
added --output json to those places needed to override different default configuration
2017-07-17 20:49:19 -04:00
Toni de la Fuente 90b24ef734 Merge pull request #6 from Alfresco/master
get latest updates
2017-07-13 09:58:07 -04:00
Toni de la Fuente 2de0b5e6b0 Merge pull request #62 from MrSecure/keep-cred-report
Keep cred report
2017-07-12 11:57:21 -04:00
Ben Allen 2ddf31ca22 Merge in tweaks to keep the credential report, when requested, and fix a notice 2017-07-12 10:34:55 -05:00
Ben Allen b8d2d1cd4b Merge branch 'policy_requirements' into all-updates 2017-07-12 10:32:06 -05:00
Toni de la Fuente fb420d13cc Merge pull request #61 from MrSecure/policy_requirements
Policy requirements
2017-07-12 11:24:18 -04:00
Toni de la Fuente 55ed1273d9 Merge pull request #60 from MrSecure/fail-early
Fail early
2017-07-12 11:15:35 -04:00
Ben Allen edceb17b71 Merge branch 'fail-early' into all-updates 2017-07-12 10:13:07 -05:00
Ben Allen a1e3c09fad Merge branch 'fail-early' into all-updates 2017-07-12 10:06:39 -05:00
Ben Allen 118da69eb5 add headings for incremental policy and bootstrap script 2017-07-11 16:34:25 -05:00
Ben Allen 02a4ab665f fix policy document syntax error in README 2017-07-11 16:34:25 -05:00
Ben Allen c8a2e16a1c add note about saving the key material 2017-07-11 16:34:25 -05:00
Ben Allen ca012ebf76 fix policy document syntax error 2017-07-11 16:34:25 -05:00
Ben Allen 1cbedb1eb6 add incremental policy file; update readme to show use case 2017-07-11 16:34:25 -05:00
Ben Allen 30c3a8aa76 correct typo in permission name 2017-07-11 16:34:25 -05:00
Ben Allen 68f8e08506 add option (-k) to keep the credential report after execution. 2017-07-11 16:24:42 -05:00
Ben Allen 866fe11610 fix typo in function name 2017-07-11 16:23:50 -05:00
Ben Allen f787c57636 improve trap handling 2017-07-11 16:04:27 -05:00
Ben Allen 93b815ecf2 gather count of topics per region, even when unable to list subscribers. 2017-07-11 15:58:50 -05:00
Ben Allen fe99890683 swallow error message for list-subscriptions-by-topic 2017-07-11 15:58:42 -05:00
Ben Allen 9ef23aecca handle permission failure on list-subscriptions-by-topic gracefully 2017-07-11 15:58:34 -05:00
Ben Allen 043fa32aef exit script if there are problems with the credentials. 2017-07-11 15:58:21 -05:00
Ben Allen 5bdd5d8e54 add account number to CSV output. 2017-07-11 15:57:33 -05:00
Ben Allen df47f94cf9 change name of temp file so that it's random
Allows multiple instances of prowler to run in parallel (eg. via xargs
-P ).
Also, add trap handler to remove temp file if interrupted.
2017-07-11 15:57:33 -05:00
Ben Allen 7b6f168d8c update output for check 1.22 to handle multiple users 2017-07-11 15:57:16 -05:00
Ben Allen cf9a73d539 gather count of topics per region, even when unable to list subscribers. 2017-07-11 15:52:21 -05:00
Toni de la Fuente ae6ebfcafd Merge pull request #59 from toniblyx/master
Updated README with shortlist of features and parallel command
2017-07-11 16:51:59 -04:00
Toni de la Fuente 52f88abd33 Update README.md
Added short list of features and parallel command from @MrSecure
2017-07-11 16:50:55 -04:00
Ben Allen 95a4b56575 swallow error message for list-subscriptions-by-topic 2017-07-11 15:47:06 -05:00
Toni de la Fuente 1625bbcf19 Merge pull request #5 from Alfresco/master
get all new changes
2017-07-11 16:39:25 -04:00
Toni de la Fuente 59c8c8a9c5 Merge pull request #58 from MrSecure/parallelism
Parallelism Tweaks
2017-07-11 16:36:42 -04:00
Ben Allen 5c335b28b2 handle permission failure on list-subscriptions-by-topic gracefully 2017-07-11 15:36:35 -05:00
Toni de la Fuente 96ec896179 Merge pull request #57 from MrSecure/check122-multiple-users
update output for check 1.22 to handle multiple users
2017-07-11 16:33:02 -04:00
Ben Allen 8913ca84d0 exit script if there are problems with the credentials. 2017-07-11 14:59:20 -05:00
Ben Allen cdbcac5251 add account number to CSV output. 2017-07-07 16:35:32 -05:00
Ben Allen 1e3985d3b4 change name of temp file so that it's random
Allows multiple instances of prowler to run in parallel (eg. via xargs
-P ).
Also, add trap handler to remove temp file if interrupted.
2017-07-07 16:33:42 -05:00
Ben Allen d1d0f9edf0 update output for check 1.22 to handle multiple users 2017-07-06 14:14:57 -05:00
Toni de la Fuente 62dfd9a17b Merge pull request #55 from MrSecure/spelling
fix spelling error in CSV output
2017-06-27 12:53:06 -04:00
Ben Allen d0f587fd55 fix spelling error in CSV output 2017-06-27 11:31:04 -05:00
3163 changed files with 272779 additions and 1957 deletions
+1
View File
@@ -0,0 +1 @@
* @prowler-cloud/prowler-oss @prowler-cloud/prowler-dev
+97
View File
@@ -0,0 +1,97 @@
name: 🐞 Bug Report
description: Create a report to help us improve
title: "[Bug]: "
labels: ["bug", "status/needs-triage"]
body:
- type: textarea
id: reproduce
attributes:
label: Steps to Reproduce
description: Steps to reproduce the behavior
placeholder: |-
1. What command are you running?
2. Cloud provider you are launching
3. Environment you have, like single account, multi-account, organizations, multi or single subscription, etc.
4. See error
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected behavior
description: A clear and concise description of what you expected to happen.
validations:
required: true
- type: textarea
id: actual
attributes:
label: Actual Result with Screenshots or Logs
description: If applicable, add screenshots to help explain your problem. Also, you can add logs (anonymize them first!). Here a command that may help to share a log `prowler <your arguments> --log-level DEBUG --log-file $(date +%F)_debug.log` then attach here the log file.
validations:
required: true
- type: dropdown
id: type
attributes:
label: How did you install Prowler?
options:
- Cloning the repository from github.com (git clone)
- From pip package (pip install prowler)
- From brew (brew install prowler)
- Docker (docker pull toniblyx/prowler)
validations:
required: true
- type: textarea
id: environment
attributes:
label: Environment Resource
description: From where are you running Prowler?
placeholder: |-
1. EC2 instance
2. Fargate task
3. Docker container locally
4. EKS
5. Cloud9
6. CodeBuild
7. Workstation
8. Other(please specify)
validations:
required: true
- type: textarea
id: os
attributes:
label: OS used
description: Which OS are you using?
placeholder: |-
1. Amazon Linux 2
2. MacOS
3. Alpine Linux
4. Windows
5. Other(please specify)
validations:
required: true
- type: input
id: prowler-version
attributes:
label: Prowler version
description: Which Prowler version are you using?
placeholder: |-
prowler --version
validations:
required: true
- type: input
id: pip-version
attributes:
label: Pip version
description: Which pip version are you using?
placeholder: |-
pip --version
validations:
required: true
- type: textarea
id: additional
attributes:
description: Additional context
label: Context
validations:
required: false
+1
View File
@@ -0,0 +1 @@
blank_issues_enabled: false
@@ -0,0 +1,36 @@
name: 💡 Feature Request
description: Suggest an idea for this project
labels: ["feature-request", "status/needs-triage"]
body:
- type: textarea
id: Problem
attributes:
label: New feature motivation
description: Is your feature request related to a problem? Please describe
placeholder: |-
1. A clear and concise description of what the problem is. Ex. I'm always frustrated when
validations:
required: true
- type: textarea
id: Solution
attributes:
label: Solution Proposed
description: A clear and concise description of what you want to happen.
validations:
required: true
- type: textarea
id: Alternatives
attributes:
label: Describe alternatives you've considered
description: A clear and concise description of any alternative solutions or features you've considered.
validations:
required: true
- type: textarea
id: Context
attributes:
label: Additional context
description: Add any other context or screenshots about the feature request here.
validations:
required: false
+42
View File
@@ -0,0 +1,42 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 10
target-branch: master
labels:
- "dependencies"
- "pip"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 10
target-branch: master
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 10
target-branch: v3
labels:
- "dependencies"
- "pip"
- "v3"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 10
target-branch: v3
labels:
- "github_actions"
- "v3"
+27
View File
@@ -0,0 +1,27 @@
documentation:
- changed-files:
- any-glob-to-any-file: "docs/**"
provider/aws:
- changed-files:
- any-glob-to-any-file: "prowler/providers/aws/**"
- any-glob-to-any-file: "tests/providers/aws/**"
provider/azure:
- changed-files:
- any-glob-to-any-file: "prowler/providers/azure/**"
- any-glob-to-any-file: "tests/providers/azure/**"
provider/gcp:
- changed-files:
- any-glob-to-any-file: "prowler/providers/gcp/**"
- any-glob-to-any-file: "tests/providers/gcp/**"
provider/kubernetes:
- changed-files:
- any-glob-to-any-file: "prowler/providers/kubernetes/**"
- any-glob-to-any-file: "tests/providers/kubernetes/**"
github_actions:
- changed-files:
- any-glob-to-any-file: ".github/workflows/*"
+13
View File
@@ -0,0 +1,13 @@
### Context
Please include relevant motivation and context for this PR.
### Description
Please include a summary of the change and which issue is fixed. List any dependencies that are required for this change.
### License
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
@@ -0,0 +1,24 @@
name: Pull Request Documentation Link
on:
pull_request:
branches:
- 'master'
- 'v3'
paths:
- 'docs/**'
env:
PR_NUMBER: ${{ github.event.pull_request.number }}
jobs:
documentation-link:
name: Documentation Link
runs-on: ubuntu-latest
steps:
- name: Leave PR comment with the SaaS Documentation URI
uses: peter-evans/create-or-update-comment@v4
with:
issue-number: ${{ env.PR_NUMBER }}
body: |
You can check the documentation for this PR here -> [SaaS Documentation](https://prowler-prowler-docs--${{ env.PR_NUMBER }}.com.readthedocs.build/projects/prowler-open-source/en/${{ env.PR_NUMBER }}/)
@@ -0,0 +1,174 @@
name: build-lint-push-containers
on:
push:
branches:
- "v3"
- "master"
paths-ignore:
- ".github/**"
- "README.md"
- "docs/**"
release:
types: [published]
env:
# AWS Configuration
AWS_REGION_STG: eu-west-1
AWS_REGION_PLATFORM: eu-west-1
AWS_REGION: us-east-1
# Container's configuration
IMAGE_NAME: prowler
DOCKERFILE_PATH: ./Dockerfile
# Tags
LATEST_TAG: latest
STABLE_TAG: stable
# The RELEASE_TAG is set during runtime in releases
RELEASE_TAG: ""
# The PROWLER_VERSION and PROWLER_VERSION_MAJOR are set during runtime in releases
PROWLER_VERSION: ""
PROWLER_VERSION_MAJOR: ""
# TEMPORARY_TAG: temporary
# Python configuration
PYTHON_VERSION: 3.12
jobs:
# Build Prowler OSS container
container-build-push:
# needs: dockerfile-linter
runs-on: ubuntu-latest
outputs:
prowler_version_major: ${{ steps.get-prowler-version.outputs.PROWLER_VERSION_MAJOR }}
prowler_version: ${{ steps.update-prowler-version.outputs.PROWLER_VERSION }}
env:
POETRY_VIRTUALENVS_CREATE: "false"
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install Poetry
run: |
pipx install poetry
pipx inject poetry poetry-bumpversion
- name: Get Prowler version
id: get-prowler-version
run: |
PROWLER_VERSION="$(poetry version -s 2>/dev/null)"
# Store prowler version major just for the release
PROWLER_VERSION_MAJOR="${PROWLER_VERSION%%.*}"
echo "PROWLER_VERSION_MAJOR=${PROWLER_VERSION_MAJOR}" >> "${GITHUB_ENV}"
echo "PROWLER_VERSION_MAJOR=${PROWLER_VERSION_MAJOR}" >> "${GITHUB_OUTPUT}"
case ${PROWLER_VERSION_MAJOR} in
3)
echo "LATEST_TAG=v3-latest" >> "${GITHUB_ENV}"
echo "STABLE_TAG=v3-stable" >> "${GITHUB_ENV}"
;;
4)
echo "LATEST_TAG=latest" >> "${GITHUB_ENV}"
echo "STABLE_TAG=stable" >> "${GITHUB_ENV}"
;;
*)
# Fallback if any other version is present
echo "Releasing another Prowler major version, aborting..."
exit 1
;;
esac
- name: Update Prowler version (release)
id: update-prowler-version
if: github.event_name == 'release'
run: |
PROWLER_VERSION="${{ github.event.release.tag_name }}"
poetry version "${PROWLER_VERSION}"
echo "PROWLER_VERSION=${PROWLER_VERSION}" >> "${GITHUB_ENV}"
echo "PROWLER_VERSION=${PROWLER_VERSION}" >> "${GITHUB_OUTPUT}"
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to Public ECR
uses: docker/login-action@v3
with:
registry: public.ecr.aws
username: ${{ secrets.PUBLIC_ECR_AWS_ACCESS_KEY_ID }}
password: ${{ secrets.PUBLIC_ECR_AWS_SECRET_ACCESS_KEY }}
env:
AWS_REGION: ${{ env.AWS_REGION }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push container image (latest)
if: github.event_name == 'push'
uses: docker/build-push-action@v5
with:
push: true
tags: |
${{ secrets.DOCKER_HUB_REPOSITORY }}/${{ env.IMAGE_NAME }}:${{ env.LATEST_TAG }}
${{ secrets.PUBLIC_ECR_REPOSITORY }}/${{ env.IMAGE_NAME }}:${{ env.LATEST_TAG }}
file: ${{ env.DOCKERFILE_PATH }}
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Build and push container image (release)
if: github.event_name == 'release'
uses: docker/build-push-action@v5
with:
# Use local context to get changes
# https://github.com/docker/build-push-action#path-context
context: .
push: true
tags: |
${{ secrets.DOCKER_HUB_REPOSITORY }}/${{ env.IMAGE_NAME }}:${{ env.PROWLER_VERSION }}
${{ secrets.DOCKER_HUB_REPOSITORY }}/${{ env.IMAGE_NAME }}:${{ env.STABLE_TAG }}
${{ secrets.PUBLIC_ECR_REPOSITORY }}/${{ env.IMAGE_NAME }}:${{ env.PROWLER_VERSION }}
${{ secrets.PUBLIC_ECR_REPOSITORY }}/${{ env.IMAGE_NAME }}:${{ env.STABLE_TAG }}
file: ${{ env.DOCKERFILE_PATH }}
cache-from: type=gha
cache-to: type=gha,mode=max
dispatch-action:
needs: container-build-push
runs-on: ubuntu-latest
steps:
- name: Get latest commit info (latest)
if: github.event_name == 'push'
run: |
LATEST_COMMIT_HASH=$(echo ${{ github.event.after }} | cut -b -7)
echo "LATEST_COMMIT_HASH=${LATEST_COMMIT_HASH}" >> $GITHUB_ENV
- name: Dispatch event (latest)
if: github.event_name == 'push' && needs.container-build-push.outputs.prowler_version_major == '3'
run: |
curl https://api.github.com/repos/${{ secrets.DISPATCH_OWNER }}/${{ secrets.DISPATCH_REPO }}/dispatches \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.ACCESS_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
--data '{"event_type":"dispatch","client_payload":{"version":"v3-latest", "tag": "${{ env.LATEST_COMMIT_HASH }}"}}'
- name: Dispatch event (release)
if: github.event_name == 'release' && needs.container-build-push.outputs.prowler_version_major == '3'
run: |
curl https://api.github.com/repos/${{ secrets.DISPATCH_OWNER }}/${{ secrets.DISPATCH_REPO }}/dispatches \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.ACCESS_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
--data '{"event_type":"dispatch","client_payload":{"version":"release", "tag":"${{ needs.container-build-push.outputs.prowler_version }}"}}'
+57
View File
@@ -0,0 +1,57 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
on:
push:
branches: [ "master", "v3" ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ "master", "v3" ]
schedule:
- cron: '00 12 * * *'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'python' ]
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
steps:
- name: Checkout repository
uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"
+19
View File
@@ -0,0 +1,19 @@
name: find-secrets
on: pull_request
jobs:
trufflehog:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: TruffleHog OSS
uses: trufflesecurity/trufflehog@v3.74.0
with:
path: ./
base: ${{ github.event.repository.default_branch }}
head: HEAD
extra_args: --only-verified
+16
View File
@@ -0,0 +1,16 @@
name: "Pull Request Labeler"
on:
pull_request_target:
branches:
- "master"
- "v3"
jobs:
labeler:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v5
+93
View File
@@ -0,0 +1,93 @@
name: pr-lint-test
on:
push:
branches:
- "master"
- "v3"
pull_request:
branches:
- "master"
- "v3"
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v4
- name: Test if changes are in not ignored paths
id: are-non-ignored-files-changed
uses: tj-actions/changed-files@v44
with:
files: ./**
files_ignore: |
.github/**
README.md
docs/**
permissions/**
mkdocs.yml
- name: Install poetry
if: steps.are-non-ignored-files-changed.outputs.any_changed == 'true'
run: |
python -m pip install --upgrade pip
pipx install poetry
- name: Set up Python ${{ matrix.python-version }}
if: steps.are-non-ignored-files-changed.outputs.any_changed == 'true'
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "poetry"
- name: Install dependencies
if: steps.are-non-ignored-files-changed.outputs.any_changed == 'true'
run: |
poetry install
poetry run pip list
VERSION=$(curl --silent "https://api.github.com/repos/hadolint/hadolint/releases/latest" | \
grep '"tag_name":' | \
sed -E 's/.*"v([^"]+)".*/\1/' \
) && curl -L -o /tmp/hadolint "https://github.com/hadolint/hadolint/releases/download/v${VERSION}/hadolint-Linux-x86_64" \
&& chmod +x /tmp/hadolint
- name: Poetry check
if: steps.are-non-ignored-files-changed.outputs.any_changed == 'true'
run: |
poetry lock --check
- name: Lint with flake8
if: steps.are-non-ignored-files-changed.outputs.any_changed == 'true'
run: |
poetry run flake8 . --ignore=E266,W503,E203,E501,W605,E128 --exclude contrib
- name: Checking format with black
if: steps.are-non-ignored-files-changed.outputs.any_changed == 'true'
run: |
poetry run black --check .
- name: Lint with pylint
if: steps.are-non-ignored-files-changed.outputs.any_changed == 'true'
run: |
poetry run pylint --disable=W,C,R,E -j 0 -rn -sn prowler/
- name: Bandit
if: steps.are-non-ignored-files-changed.outputs.any_changed == 'true'
run: |
poetry run bandit -q -lll -x '*_test.py,./contrib/' -r .
- name: Safety
if: steps.are-non-ignored-files-changed.outputs.any_changed == 'true'
run: |
poetry run safety check
- name: Vulture
if: steps.are-non-ignored-files-changed.outputs.any_changed == 'true'
run: |
poetry run vulture --exclude "contrib" --min-confidence 100 .
- name: Hadolint
if: steps.are-non-ignored-files-changed.outputs.any_changed == 'true'
run: |
/tmp/hadolint Dockerfile --ignore=DL3013
- name: Test with pytest
if: steps.are-non-ignored-files-changed.outputs.any_changed == 'true'
run: |
poetry run pytest -n auto --cov=./prowler --cov-report=xml tests
- name: Upload coverage reports to Codecov
if: steps.are-non-ignored-files-changed.outputs.any_changed == 'true'
uses: codecov/codecov-action@v4
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
+98
View File
@@ -0,0 +1,98 @@
name: pypi-release
on:
release:
types: [published]
env:
RELEASE_TAG: ${{ github.event.release.tag_name }}
PYTHON_VERSION: 3.11
CACHE: "poetry"
# TODO: create a bot user for this kind of tasks, like prowler-bot
GIT_COMMITTER_EMAIL: "sergio@prowler.com"
jobs:
release-prowler-job:
runs-on: ubuntu-latest
env:
POETRY_VIRTUALENVS_CREATE: "false"
name: Release Prowler to PyPI
steps:
- name: Get Prowler version
run: |
PROWLER_VERSION="${{ env.RELEASE_TAG }}"
case ${PROWLER_VERSION%%.*} in
3)
echo "Releasing Prowler v3 with tag ${PROWLER_VERSION}"
;;
4)
echo "Releasing Prowler v4 with tag ${PROWLER_VERSION}"
;;
*)
echo "Releasing another Prowler major version, aborting..."
exit 1
;;
esac
- uses: actions/checkout@v4
- name: Install dependencies
run: |
pipx install poetry
pipx inject poetry poetry-bumpversion
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
cache: ${{ env.CACHE }}
- name: Update Poetry and config version
run: |
poetry version ${{ env.RELEASE_TAG }}
- name: Import GPG key
uses: crazy-max/ghaction-import-gpg@v6
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.GPG_PASSPHRASE }}
git_user_signingkey: true
git_commit_gpgsign: true
- name: Push updated version to the release tag
run: |
# Configure Git
git config user.name "github-actions"
git config user.email "${{ env.GIT_COMMITTER_EMAIL }}"
# Add the files with the version changed
git add prowler/config/config.py pyproject.toml
git commit -m "chore(release): ${{ env.RELEASE_TAG }}" --no-verify -S
# Replace the tag with the version updated
git tag -fa ${{ env.RELEASE_TAG }} -m "chore(release): ${{ env.RELEASE_TAG }}" --sign
# Push the tag
git push -f origin ${{ env.RELEASE_TAG }}
- name: Build Prowler package
run: |
poetry build
- name: Publish Prowler package to PyPI
run: |
poetry config pypi-token.pypi ${{ secrets.PYPI_API_TOKEN }}
poetry publish
- name: Replicate PyPI package
run: |
rm -rf ./dist && rm -rf ./build && rm -rf prowler.egg-info
pip install toml
python util/replicate_pypi_package.py
poetry build
- name: Publish prowler-cloud package to PyPI
run: |
poetry config pypi-token.pypi ${{ secrets.PYPI_API_TOKEN }}
poetry publish
@@ -0,0 +1,67 @@
# This is a basic workflow to help you get started with Actions
name: Refresh regions of AWS services
on:
schedule:
- cron: "0 9 * * *" #runs at 09:00 UTC everyday
env:
GITHUB_BRANCH: "master"
AWS_REGION_DEV: us-east-1
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
permissions:
id-token: write
pull-requests: write
contents: write
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
with:
ref: ${{ env.GITHUB_BRANCH }}
- name: setup python
uses: actions/setup-python@v5
with:
python-version: 3.9 #install the python needed
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install boto3
- name: Configure AWS Credentials -- DEV
uses: aws-actions/configure-aws-credentials@v4
with:
aws-region: ${{ env.AWS_REGION_DEV }}
role-to-assume: ${{ secrets.DEV_IAM_ROLE_ARN }}
role-session-name: refresh-AWS-regions-dev
# Runs a single command using the runners shell
- name: Run a one-line script
run: python3 util/update_aws_services_regions.py
# Create pull request
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.PROWLER_ACCESS_TOKEN }}
commit-message: "feat(regions_update): Update regions for AWS services."
branch: "aws-services-regions-updated-${{ github.sha }}"
labels: "status/waiting-for-revision, severity/low, provider/aws, backport-v3"
title: "chore(regions_update): Changes in regions for AWS services."
body: |
### Description
This PR updates the regions for AWS services.
### License
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
+57
View File
@@ -0,0 +1,57 @@
# Swap
[._]*.s[a-v][a-z]
[._]*.sw[a-p]
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]
# Python code
__pycache__
venv/
build/
/dist/
*.egg-info/
*/__pycache__/*.pyc
# Session
Session.vim
Sessionx.vim
# Temporary
.netrwhist
*~
# Auto-generated tag files
tags
# Persistent undo
[._]*.un~
# MacOs DS_Store
*.DS_Store
# Prowler output
output/
# Prowler found secrets
secrets-*/
# JUnit Reports
junit-reports/
# VSCode files
.vscode/
# Terraform
.terraform*
*.tfstate
# .env
.env*
# Coverage
.coverage*
.coverage
coverage*
# Node
node_modules
+108
View File
@@ -0,0 +1,108 @@
repos:
## GENERAL
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
hooks:
- id: check-merge-conflict
- id: check-yaml
args: ["--unsafe"]
- id: check-json
- id: end-of-file-fixer
- id: trailing-whitespace
- id: no-commit-to-branch
- id: pretty-format-json
args: ["--autofix", --no-sort-keys, --no-ensure-ascii]
## TOML
- repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks
rev: v2.12.0
hooks:
- id: pretty-format-toml
args: [--autofix]
files: pyproject.toml
## BASH
- repo: https://github.com/koalaman/shellcheck-precommit
rev: v0.9.0
hooks:
- id: shellcheck
exclude: contrib
## PYTHON
- repo: https://github.com/myint/autoflake
rev: v2.2.1
hooks:
- id: autoflake
args:
[
"--in-place",
"--remove-all-unused-imports",
"--remove-unused-variable",
]
- repo: https://github.com/timothycrosley/isort
rev: 5.13.2
hooks:
- id: isort
args: ["--profile", "black"]
- repo: https://github.com/psf/black
rev: 24.1.1
hooks:
- id: black
- repo: https://github.com/pycqa/flake8
rev: 7.0.0
hooks:
- id: flake8
exclude: contrib
args: ["--ignore=E266,W503,E203,E501,W605"]
- repo: https://github.com/python-poetry/poetry
rev: 1.7.0
hooks:
- id: poetry-check
- id: poetry-lock
args: ["--no-update"]
- repo: https://github.com/hadolint/hadolint
rev: v2.12.1-beta
hooks:
- id: hadolint
args: ["--ignore=DL3013"]
- repo: local
hooks:
- id: pylint
name: pylint
entry: bash -c 'pylint --disable=W,C,R,E -j 0 -rn -sn prowler/'
language: system
files: '.*\.py'
- id: trufflehog
name: TruffleHog
description: Detect secrets in your data.
entry: bash -c 'trufflehog --no-update git file://. --only-verified --fail'
# For running trufflehog in docker, use the following entry instead:
# entry: bash -c 'docker run -v "$(pwd):/workdir" -i --rm trufflesecurity/trufflehog:latest git file:///workdir --only-verified --fail'
language: system
stages: ["commit", "push"]
- id: bandit
name: bandit
description: "Bandit is a tool for finding common security issues in Python code"
entry: bash -c 'bandit -q -lll -x '*_test.py,./contrib/' -r .'
language: system
files: '.*\.py'
- id: safety
name: safety
description: "Safety is a tool that checks your installed dependencies for known security vulnerabilities"
entry: bash -c 'safety check'
language: system
- id: vulture
name: vulture
description: "Vulture finds unused code in Python programs."
entry: bash -c 'vulture --exclude "contrib" --min-confidence 100 .'
language: system
files: '.*\.py'
+25
View File
@@ -0,0 +1,25 @@
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
# Required
version: 2
build:
os: "ubuntu-22.04"
tools:
python: "3.11"
jobs:
post_create_environment:
# Install poetry
# https://python-poetry.org/docs/#installing-manually
- python -m pip install poetry
post_install:
# Install dependencies with 'docs' dependency group
# https://python-poetry.org/docs/managing-dependencies/#dependency-groups
# VIRTUAL_ENV needs to be set manually for now.
# See https://github.com/readthedocs/readthedocs.org/pull/11152/
- VIRTUAL_ENV=${READTHEDOCS_VIRTUALENV_PATH} python -m poetry install --only=docs
mkdocs:
configuration: mkdocs.yml
+76
View File
@@ -0,0 +1,76 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at [support.prowler.com](https://customer.support.prowler.com/servicedesk/customer/portals). All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq
+13
View File
@@ -0,0 +1,13 @@
# Do you want to learn on how to...
- Contribute with your code or fixes to Prowler
- Create a new check for a provider
- Create a new security compliance framework
- Add a custom output format
- Add a new integration
- Contribute with documentation
Want some swag as appreciation for your contribution?
# Prowler Developer Guide
https://docs.prowler.com/projects/prowler-open-source/en/latest/developer-guide/introduction/
+39
View File
@@ -0,0 +1,39 @@
FROM python:3.12-alpine
LABEL maintainer="https://github.com/prowler-cloud/prowler"
# Update system dependencies
#hadolint ignore=DL3018
RUN apk --no-cache upgrade && apk --no-cache add curl
# Create nonroot user
RUN mkdir -p /home/prowler && \
echo 'prowler:x:1000:1000:prowler:/home/prowler:' > /etc/passwd && \
echo 'prowler:x:1000:' > /etc/group && \
chown -R prowler:prowler /home/prowler
USER prowler
# Copy necessary files
WORKDIR /home/prowler
COPY prowler/ /home/prowler/prowler/
COPY dashboard/ /home/prowler/dashboard/
COPY pyproject.toml /home/prowler
COPY README.md /home/prowler
# Install dependencies
ENV HOME='/home/prowler'
ENV PATH="$HOME/.local/bin:$PATH"
#hadolint ignore=DL3013
RUN pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir .
# Remove deprecated dash dependencies
RUN pip uninstall dash-html-components -y && \
pip uninstall dash-core-components -y
# Remove Prowler directory and build files
USER 0
RUN rm -rf /home/prowler/prowler /home/prowler/pyproject.toml /home/prowler/README.md /home/prowler/build /home/prowler/prowler.egg-info
USER prowler
ENTRYPOINT ["prowler"]
+3 -3
View File
@@ -1,4 +1,4 @@
Apache License
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
@@ -178,7 +178,7 @@
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
@@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright {yyyy} {name of copyright owner}
Copyright @ 2024 Toni de la Fuente
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
+47
View File
@@ -0,0 +1,47 @@
.DEFAULT_GOAL:=help
##@ Testing
test: ## Test with pytest
rm -rf .coverage && \
pytest -n auto -vvv -s --cov=./prowler --cov-report=xml tests
coverage: ## Show Test Coverage
coverage run --skip-covered -m pytest -v && \
coverage report -m && \
rm -rf .coverage && \
coverage report -m
coverage-html: ## Show Test Coverage
rm -rf ./htmlcov && \
coverage html && \
open htmlcov/index.html
##@ Linting
format: ## Format Code
@echo "Running black..."
black .
lint: ## Lint Code
@echo "Running flake8..."
flake8 . --ignore=E266,W503,E203,E501,W605,E128 --exclude contrib
@echo "Running black... "
black --check .
@echo "Running pylint..."
pylint --disable=W,C,R,E -j 0 prowler util
##@ PyPI
pypi-clean: ## Delete the distribution files
rm -rf ./dist && rm -rf ./build && rm -rf prowler.egg-info
pypi-build: ## Build package
$(MAKE) pypi-clean && \
poetry build
pypi-upload: ## Upload package
python3 -m twine upload --repository pypi dist/*
##@ Help
help: ## Show this help.
@echo "Prowler Makefile"
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m<target>\033[0m\n"} /^[a-zA-Z_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
+114 -474
View File
@@ -1,497 +1,137 @@
# Prowler: AWS CIS Benchmark Tool
<p align="center">
<img align="center" src="https://github.com/prowler-cloud/prowler/blob/master/docs/img/prowler-logo-black.png?raw=True#gh-light-mode-only" width="350" height="115">
<img align="center" src="https://github.com/prowler-cloud/prowler/blob/master/docs/img/prowler-logo-white.png?raw=True#gh-dark-mode-only" width="350" height="115">
</p>
<p align="center">
<b><i>Prowler SaaS </b> and <b>Prowler Open Source</b> are as dynamic and adaptable as the environment theyre meant to protect. Trusted by the leaders in security.
</p>
<p align="center">
<b>Learn more at <a href="https://prowler.com">prowler.com</i></b>
</p>
## Description
<p align="center">
<a href="https://join.slack.com/t/prowler-workspace/shared_invite/zt-1hix76xsl-2uq222JIXrC7Q8It~9ZNog"><img width="30" height="30" alt="Prowler community on Slack" src="https://github.com/prowler-cloud/prowler/assets/3985464/3617e470-670c-47c9-9794-ce895ebdb627"></a>
<br>
<a href="https://join.slack.com/t/prowler-workspace/shared_invite/zt-1hix76xsl-2uq222JIXrC7Q8It~9ZNog">Join our Prowler community!</a>
</p>
Tool based on AWS-CLI commands for AWS account hardening, following guidelines of the [CIS Amazon Web Services Foundations Benchmark 1.1 ](https://benchmarks.cisecurity.org/tools2/amazon/CIS_Amazon_Web_Services_Foundations_Benchmark_v1.1.0.pdf)
<hr>
<p align="center">
<a href="https://join.slack.com/t/prowler-workspace/shared_invite/zt-1hix76xsl-2uq222JIXrC7Q8It~9ZNog"><img alt="Slack Shield" src="https://img.shields.io/badge/slack-prowler-brightgreen.svg?logo=slack"></a>
<a href="https://pypi.org/project/prowler/"><img alt="Python Version" src="https://img.shields.io/pypi/v/prowler.svg"></a>
<a href="https://pypi.python.org/pypi/prowler/"><img alt="Python Version" src="https://img.shields.io/pypi/pyversions/prowler.svg"></a>
<a href="https://pypistats.org/packages/prowler"><img alt="PyPI Prowler Downloads" src="https://img.shields.io/pypi/dw/prowler.svg?label=prowler%20downloads"></a>
<a href="https://hub.docker.com/r/toniblyx/prowler"><img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/toniblyx/prowler"></a>
<a href="https://hub.docker.com/r/toniblyx/prowler"><img alt="Docker" src="https://img.shields.io/docker/cloud/build/toniblyx/prowler"></a>
<a href="https://hub.docker.com/r/toniblyx/prowler"><img alt="Docker" src="https://img.shields.io/docker/image-size/toniblyx/prowler"></a>
<a href="https://gallery.ecr.aws/prowler-cloud/prowler"><img width="120" height=19" alt="AWS ECR Gallery" src="https://user-images.githubusercontent.com/3985464/151531396-b6535a68-c907-44eb-95a1-a09508178616.png"></a>
<a href="https://codecov.io/gh/prowler-cloud/prowler"><img src="https://codecov.io/gh/prowler-cloud/prowler/graph/badge.svg?token=OflBGsdpDl"/></a>
</p>
<p align="center">
<a href="https://github.com/prowler-cloud/prowler"><img alt="Repo size" src="https://img.shields.io/github/repo-size/prowler-cloud/prowler"></a>
<a href="https://github.com/prowler-cloud/prowler/issues"><img alt="Issues" src="https://img.shields.io/github/issues/prowler-cloud/prowler"></a>
<a href="https://github.com/prowler-cloud/prowler/releases"><img alt="Version" src="https://img.shields.io/github/v/release/prowler-cloud/prowler?include_prereleases"></a>
<a href="https://github.com/prowler-cloud/prowler/releases"><img alt="Version" src="https://img.shields.io/github/release-date/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://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>
<hr>
It covers hardening and security best practices for all regions related to:
# Description
- Identity and Access Management (24 checks)
- Logging (8 checks)
- Monitoring (15 checks)
- Networking (5 checks)
**Prowler** is an Open Source security tool to perform AWS, Azure, Google Cloud and Kubernetes security best practices assessments, audits, incident response, continuous monitoring, hardening and forensics readiness, and also remediations! We have Prowler CLI (Command Line Interface) that we call Prowler Open Source and a service on top of it that we call <a href="https://prowler.com">Prowler SaaS</a>.
For a comprehesive list and resolution look at the guide on the link above.
## Prowler CLI
## Requirements
This script has been written in bash using AWS-CLI and it works in Linux and OSX.
- Make sure your AWS-CLI is installed on your workstation, with Python pip already installed:
```console
prowler <provider>
```
pip install awscli
```
Or install it using "brew", "apt", "yum" or manually from https://aws.amazon.com/cli/
![Prowler CLI Execution](docs/img/short-display.png)
- Previous steps, from your workstation:
## Prowler Dashboard
```console
prowler dashboard
```
git clone https://github.com/Alfresco/prowler
![Prowler Dashboard](docs/img/dashboard.png)
It contains hundreds of controls covering CIS, NIST 800, NIST CSF, CISA, RBI, FedRAMP, PCI-DSS, GDPR, HIPAA, FFIEC, SOC2, GXP, AWS Well-Architected Framework Security Pillar, AWS Foundational Technical Review (FTR), ENS (Spanish National Security Scheme) and your custom security frameworks.
| Provider | Checks | Services | [Compliance Frameworks](https://docs.prowler.com/projects/prowler-open-source/en/latest/tutorials/compliance/) | [Categories](https://docs.prowler.com/projects/prowler-open-source/en/latest/tutorials/misc/#categories) |
|---|---|---|---|---|
| AWS | 304 | 61 -> `prowler aws --list-services` | 28 -> `prowler aws --list-compliance` | 6 -> `prowler aws --list-categories` |
| GCP | 75 | 11 -> `prowler gcp --list-services` | 1 -> `prowler gcp --list-compliance` | 2 -> `prowler gcp --list-categories`|
| Azure | 127 | 16 -> `prowler azure --list-services` | 2 -> `prowler azure --list-compliance` | 2 -> `prowler azure --list-categories` |
| Kubernetes | 83 | 7 -> `prowler kubernetes --list-services` | 1 -> `prowler kubernetes --list-compliance` | 7 -> `prowler kubernetes --list-categories` |
# 💻 Installation
## 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, < 3.13:
```console
pip install prowler
prowler -v
```
More details at [https://docs.prowler.com](https://docs.prowler.com/projects/prowler-open-source/en/latest/)
## 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)
- `v3-latest`: in sync with `v3` 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.
- `stable`: this tag always point to the latest release.
- `v3-stable`: this tag always point to the latest release for v3.
The container images are available here:
- [DockerHub](https://hub.docker.com/r/toniblyx/prowler/tags)
- [AWS Public ECR](https://gallery.ecr.aws/prowler-cloud/prowler)
## From Github
Python >= 3.9, < 3.13 is required with pip and poetry:
```
git clone https://github.com/prowler-cloud/prowler
cd prowler
poetry shell
poetry install
python prowler.py -v
```
- Make sure you have properly configured your AWS-CLI with a valid Access Key and Region:
```
aws configure
```
# 📐✏️ High level architecture
- Make sure your Secret and Access Keys are associated to a user with proper permissions to do all checks. To make sure add SecurityAuditor default policy to your user. Policy ARN is
You can run Prowler from your workstation, a Kubernetes Job, a Google Compute Engine, an Azure VM, an EC2 instance, Fargate or any other container, CloudShell and many more.
```
arn:aws:iam::aws:policy/SecurityAudit
```
> In some cases you may need more list or get permissions in some services, look at the Troubleshooting section for a more comprehensive policy if you find issues with the default SecurityAudit policy.
![Architecture](docs/img/architecture.png)
## How to create a report
# Deprecations from v3
1 - Run the prowler.sh command without options (it will use your default credentials and run checks over all regions when needed, default region is us-east-1):
## General
- `Allowlist` now is called `Mutelist`.
- The `--quiet` option has been deprecated, now use the `--status` flag to select the finding's status you want to get from PASS, FAIL or MANUAL.
- All `INFO` finding's status has changed to `MANUAL`.
- The CSV output format is common for all the providers.
```
./prowler
```
We have deprecated some of our outputs formats:
- The HTML is replaced for the new Prowler Dashboard, run `prowler dashboard`.
- The native JSON is replaced for the JSON [OCSF](https://schema.ocsf.io/) v1.1.0, common for all the providers.
2 - For custom AWS-CLI profile and region, use the following: (it will use your custom profile and run checks over all regions when needed):
## AWS
- Deprecate the AWS flag --sts-endpoint-region since we use AWS STS regional tokens.
- To send only FAILS to AWS Security Hub, now use either `--send-sh-only-fails` or `--security-hub --status FAIL`.
```
./prowler -p custom-profile -r us-east-1
```
3 - For a single check use option -c:
# 📖 Documentation
```
./prowler -c check310
```
or for custom profile and region
```
./prowler -p custom-profile -r us-east-1 -c check11
```
or for a group of checks use group name:
```
./prowler -c check3
```
Install, Usage, Tutorials and Developer Guide is at https://docs.prowler.com/
Valid check numbers are based on the AWS CIS Benchmark guide, so 1.1 is check11 and 3.10 is check310
# 📃 License
4 - If you want to save your report for later analysis:
```
./prowler > prowler-report.txt
```
or if you want a colored HTML report do:
```
pip install ansi2html
./prowler | ansi2html -la > report.html
```
or if you want a pipe-delimited report file, do:
```
./prowler -M csv > output.psv
```
5 - For help use:
```
./prowler -h
USAGE:
prowler -p <profile> -r <region> [ -h ]
Options:
-p <profile> specify your AWS profile to use (i.e.: default)
-r <region> specify an AWS region to direct API requests to (i.e.: us-east-1)
-c <checknum> specify a check number or group from the AWS CIS benchmark (i.e.: check11 for check 1.1 or check3 for entire section 3)
-f <filterregion> specify an AWS region to run checks against (i.e.: us-west-1)
-m <maxitems> specify the maximum number of items to return for long-running requests (default: 100)
-M <mode> output mode: text (defalut), mono, csv (separator is "|"; data is on stdout; progress on stderr)
-h this help
```
## How to fix all WARNINGS:
Check your report and fix the issues following all specific guidelines per check in https://benchmarks.cisecurity.org/tools2/amazon/CIS_Amazon_Web_Services_Foundations_Benchmark_v1.1.0.pdf
## Screenshots
- Sample screenshot of report first lines:
<img width="1125" alt="screenshot 2016-09-13 16 05 42" src="https://cloud.githubusercontent.com/assets/3985464/18489640/50fe6824-79cc-11e6-8a9c-e788b88a8a6b.png">
- Sample screnshot of single check for check 3.3:
<img width="1006" alt="screenshot 2016-09-14 13 20 46" src="https://cloud.githubusercontent.com/assets/3985464/18522590/a04ca9a6-7a7e-11e6-8730-b545c9204990.png">
- Sample of a full report:
```
$ ./prowler
_
_ __ _ __ _____ _| | ___ _ __
| '_ \| '__/ _ \ \ /\ / / |/ _ \ '__|
| |_) | | | (_) \ V V /| | __/ |
| .__/|_| \___/ \_/\_/ |_|\___|_|
|_| CIS based AWS Account Hardening Tool
Date: Wed Sep 14 13:30:13 EDT 2016
This report is being generated using credentials below:
AWS-CLI Profile: [default] AWS Region: [us-east-1]
--------------------------------------------------------------------------------------
| GetCallerIdentity |
+--------------+-------------------------------------------+-------------------------+
| Account | Arn | UserId |
+--------------+-------------------------------------------+-------------------------+
| XXXXXXXXXXXX| arn:aws:iam::XXXXXXXXXXXX:user/toni | XXXXXXXXXXXXXXXXXXXXX |
+--------------+-------------------------------------------+-------------------------+
Colors Code for results: INFORMATIVE, OK (RECOMMENDED VALUE), CRITICAL (FIX REQUIRED)
Generating AWS IAM Credential Report....COMPLETE
1 Identity and Access Management *********************************
1.1 Avoid the use of the root account (Scored). Last time root account was used
(password last used, access_key_1_last_used, access_key_2_last_used):
2016-08-11T20:59:27+00:00, N/A, N/A
1.2 Ensure multi-factor authentication (MFA) is enabled for all IAM users that have a console password (Scored)
List of users with Password enabled but MFA disabled:
toni
1.3 Ensure credentials unused for 90 days or greater are disabled (Scored)
User list:
toni
1.4 Ensure access keys are rotated every 90 days or less (Scored)
Users with access key 1 older than 90 days:
<root_account>
Users with access key 2 older than 90 days:
1.5 Ensure IAM password policy requires at least one uppercase letter (Scored)
FALSE
1.6 Ensure IAM password policy require at least one lowercase letter (Scored)
FALSE
1.7 Ensure IAM password policy require at least one symbol (Scored)
FALSE
1.8 Ensure IAM password policy require at least one number (Scored)
FALSE
1.9 Ensure IAM password policy requires minimum length of 14 or greater (Scored)
FALSE
1.10 Ensure IAM password policy prevents password reuse (Scored)
FALSE
1.11 Ensure IAM password policy expires passwords within 90 days or less (Scored)
FALSE
1.12 Ensure no root account access key exists (Scored)
Found access key 1
OK No access key 2 found
1.13 Ensure hardware MFA is enabled for the root account (Scored)
OK
1.14 Ensure security questions are registered in the AWS account (Not Scored)
No command available for check 1.14
Login to the AWS Console as root, click on the Account
Name -> My Account -> Configure Security Challenge Questions
1.15 Ensure IAM policies are attached only to groups or roles (Scored)
Users with policy attached to them instead to groups: (it may take few seconds...)
toni
2 Logging ********************************************************
2.1 Ensure CloudTrail is enabled in all regions (Scored)
FALSE
2.2 Ensure CloudTrail log file validation is enabled (Scored)
FALSE
2.3 Ensure the S3 bucket CloudTrail logs to is not publicly accessible (Scored)
WARNING! CloudTrail bucket doesn't exist!
2.4 Ensure CloudTrail trails are integrated with CloudWatch Logs (Scored)
WARNING! No CloudTrail trails found!
2.5 Ensure AWS Config is enabled in all regions (Scored)
WARNING! Region ap-south-1 has AWS Config disabled or not configured
WARNING! Region eu-west-1 has AWS Config disabled or not configured
WARNING! Region ap-southeast-1 has AWS Config disabled or not configured
WARNING! Region ap-southeast-2 has AWS Config disabled or not configured
WARNING! Region eu-central-1 has AWS Config disabled or not configured
WARNING! Region ap-northeast-2 has AWS Config disabled or not configured
WARNING! Region ap-northeast-1 has AWS Config disabled or not configured
WARNING! Region us-east-1 has AWS Config disabled or not configured
WARNING! Region sa-east-1 has AWS Config disabled or not configured
WARNING! Region us-west-1 has AWS Config disabled or not configured
WARNING! Region us-west-2 has AWS Config disabled or not configured
2.6 Ensure S3 bucket access logging is enabled on the CloudTrail S3 bucket (Scored)
WARNING! CloudTrail bucket doesn't exist!
2.7 Ensure CloudTrail logs are encrypted at rest using KMS CMKs (Scored)
WARNING! CloudTrail bucket doesn't exist!
2.8 Ensure rotation for customer created CMKs is enabled (Scored)
Region ap-south-1 doesn't have encryption keys
Region eu-west-1 doesn't have encryption keys
Region ap-southeast-1 doesn't have encryption keys
Region ap-southeast-2 doesn't have encryption keys
Region eu-central-1 doesn't have encryption keys
Region ap-northeast-2 doesn't have encryption keys
Region ap-northeast-1 doesn't have encryption keys
WARNING! Key a0e988df-bc84-423f-996c-XXXX in Region us-east-1 is not set to rotate!
Region sa-east-1 doesn't have encryption keys
Region us-west-1 doesn't have encryption keys
Region us-west-2 doesn't have encryption keys
3 Monitoring *****************************************************
3.1 Ensure a log metric filter and alarm exist for unauthorized API calls (Scored)
WARNING! No CloudWatch group found, no metric filters or alarms associated
3.2 Ensure a log metric filter and alarm exist for Management Console sign-in without MFA (Scored)
WARNING! No CloudWatch group found, no metric filters or alarms associated
3.3 Ensure a log metric filter and alarm exist for usage of root account (Scored)
WARNING! No CloudWatch group found, no metric filters or alarms associated
3.4 Ensure a log metric filter and alarm exist for IAM policy changes (Scored)
WARNING! No CloudWatch group found, no metric filters or alarms associated
3.5 Ensure a log metric filter and alarm exist for CloudTrail configuration changes (Scored)
WARNING! No CloudWatch group found, no metric filters or alarms associated
3.6 Ensure a log metric filter and alarm exist for AWS Management Console authentication failures (Scored)
WARNING! No CloudWatch group found, no metric filters or alarms associated
3.7 Ensure a log metric filter and alarm exist for disabling or scheduled deletion of customer created CMKs (Scored)
WARNING! No CloudWatch group found, no metric filters or alarms associated
3.8 Ensure a log metric filter and alarm exist for S3 bucket policy changes (Scored)
WARNING! No CloudWatch group found, no metric filters or alarms associated
3.9 Ensure a log metric filter and alarm exist for AWS Config configuration changes (Scored)
WARNING! No CloudWatch group found, no metric filters or alarms associated
3.10 Ensure a log metric filter and alarm exist for security group changes (Scored)
WARNING! No CloudWatch group found, no metric filters or alarms associated
3.11 Ensure a log metric filter and alarm exist for changes to Network Access Control Lists (NACL) (Scored)
WARNING! No CloudWatch group found, no metric filters or alarms associated
3.12 Ensure a log metric filter and alarm exist for changes to network gateways (Scored)
WARNING! No CloudWatch group found, no metric filters or alarms associated
3.13 Ensure a log metric filter and alarm exist for route table changes (Scored)
WARNING! No CloudWatch group found, no metric filters or alarms associated
3.14 Ensure a log metric filter and alarm exist for VPC changes (Scored)
WARNING! No CloudWatch group found, no metric filters or alarms associated
3.15 Ensure security contact information is registered (Scored)
No command available for check 3.15
Login to the AWS Console, click on My Account
Go to Alternate Contacts -> make sure Security section is filled
3.16 Ensure appropriate subscribers to each SNS topic (Not Scored)
Region ap-south-1 doesn't have topics
Region eu-west-1 doesn't have topics
Region ap-southeast-1 doesn't have topics
Region ap-southeast-2 doesn't have topics
Region eu-central-1 doesn't have topics
Region ap-northeast-2 doesn't have topics
Region ap-northeast-1 doesn't have topics
Region us-east-1 doesn't have topics
Region sa-east-1 doesn't have topics
Region us-west-1 doesn't have topics
Region us-west-2 doesn't have topics
4 Networking **************************************************
4.1 Ensure no security groups allow ingress from 0.0.0.0/0 to port 22 (Scored)
OK, No Security Groups found in ap-south-1 with port 22 TCP open to 0.0.0.0/0
OK, No Security Groups found in eu-west-1 with port 22 TCP open to 0.0.0.0/0
OK, No Security Groups found in ap-southeast-1 with port 22 TCP open to 0.0.0.0/0
OK, No Security Groups found in ap-southeast-2 with port 22 TCP open to 0.0.0.0/0
OK, No Security Groups found in eu-central-1 with port 22 TCP open to 0.0.0.0/0
OK, No Security Groups found in ap-northeast-2 with port 22 TCP open to 0.0.0.0/0
OK, No Security Groups found in ap-northeast-1 with port 22 TCP open to 0.0.0.0/0
OK, No Security Groups found in us-east-1 with port 22 TCP open to 0.0.0.0/0
OK, No Security Groups found in sa-east-1 with port 22 TCP open to 0.0.0.0/0
OK, No Security Groups found in us-west-1 with port 22 TCP open to 0.0.0.0/0
OK, No Security Groups found in us-west-2 with port 22 TCP open to 0.0.0.0/0
4.2 Ensure no security groups allow ingress from 0.0.0.0/0 to port 3389 (Scored)
OK, No Security Groups found in ap-south-1 with port 3389 TCP open to 0.0.0.0/0
OK, No Security Groups found in eu-west-1 with port 3389 TCP open to 0.0.0.0/0
OK, No Security Groups found in ap-southeast-1 with port 3389 TCP open to 0.0.0.0/0
OK, No Security Groups found in ap-southeast-2 with port 3389 TCP open to 0.0.0.0/0
OK, No Security Groups found in eu-central-1 with port 3389 TCP open to 0.0.0.0/0
OK, No Security Groups found in ap-northeast-2 with port 3389 TCP open to 0.0.0.0/0
OK, No Security Groups found in ap-northeast-1 with port 3389 TCP open to 0.0.0.0/0
OK, No Security Groups found in us-east-1 with port 3389 TCP open to 0.0.0.0/0
OK, No Security Groups found in sa-east-1 with port 3389 TCP open to 0.0.0.0/0
OK, No Security Groups found in us-west-1 with port 3389 TCP open to 0.0.0.0/0
OK, No Security Groups found in us-west-2 with port 3389 TCP open to 0.0.0.0/0
4.3 Ensure VPC Flow Logging is Enabled in all Applicable Regions (Scored)
WARNING! no VPCFlowLog has been found in Region ap-south-1
WARNING! no VPCFlowLog has been found in Region eu-west-1
WARNING! no VPCFlowLog has been found in Region ap-southeast-1
WARNING! no VPCFlowLog has been found in Region ap-southeast-2
WARNING! no VPCFlowLog has been found in Region eu-central-1
WARNING! no VPCFlowLog has been found in Region ap-northeast-2
WARNING! no VPCFlowLog has been found in Region ap-northeast-1
WARNING! no VPCFlowLog has been found in Region us-east-1
WARNING! no VPCFlowLog has been found in Region sa-east-1
WARNING! no VPCFlowLog has been found in Region us-west-1
WARNING! no VPCFlowLog has been found in Region us-west-2
4.4 Ensure the default security group restricts all traffic (Scored)
WARNING! Default Security Groups found that allow 0.0.0.0 IN or OUT traffic in Region ap-south-1
WARNING! Default Security Groups found that allow 0.0.0.0 IN or OUT traffic in Region eu-west-1
WARNING! Default Security Groups found that allow 0.0.0.0 IN or OUT traffic in Region ap-southeast-1
WARNING! Default Security Groups found that allow 0.0.0.0 IN or OUT traffic in Region ap-southeast-2
WARNING! Default Security Groups found that allow 0.0.0.0 IN or OUT traffic in Region eu-central-1
WARNING! Default Security Groups found that allow 0.0.0.0 IN or OUT traffic in Region ap-northeast-2
WARNING! Default Security Groups found that allow 0.0.0.0 IN or OUT traffic in Region ap-northeast-1
OK, no Default Security Groups open to 0.0.0.0 found in Region us-east-1
WARNING! Default Security Groups found that allow 0.0.0.0 IN or OUT traffic in Region sa-east-1
WARNING! Default Security Groups found that allow 0.0.0.0 IN or OUT traffic in Region us-west-1
OK, no Default Security Groups open to 0.0.0.0 found in Region us-west-2
- For more information and reference:
https://d0.awsstatic.com/whitepapers/compliance/AWS_CIS_Foundations_Benchmark.pdf
```
## Troubleshooting
### STS expired token
If you are using an STS token for AWS-CLI and your session is expired you probably get this error:
```
A client error (ExpiredToken) occurred when calling the GenerateCredentialReport operation: The security token included in the request is expired
```
To fix it, please renew your token by authenticating again to the AWS API.
### Custom IAM Policy
Instead of using default policy SecurityAudit for the account you use for checks you may need to create a custom policy with a few more permissions (get and list, not change!) here you go a good example for a "ProwlerPolicyReadOnly":
```
{
"Version": "2012-10-17",
"Statement": [{
"Action": [
"acm:describecertificate",
"acm:listcertificates",
"autoscaling:describe*",
"cloudformation:describestack*",
"cloudformation:getstackpolicy",
"cloudformation:gettemplate",
"cloudformation:liststack*",
"cloudfront:get*",
"cloudfront:list*",
"cloudtrail:describetrails",
"cloudtrail:gettrailstatus",
"cloudtrail:listtags",
"cloudwatch:describe*",
"cloudwatchlogs:describeloggroups",
"cloudwatchlogs:describemetricfilters",
"codecommit:batchgetrepositories",
"codecommit:getbranch",
"codecommit:getobjectidentifier",
"codecommit:getrepository",
"codecommit:list*",
"codedeploy:batch*",
"codedeploy:get*",
"codedeploy:list*",
"config:deliver*",
"config:describe*",
"config:get*",
"datapipeline:describeobjects",
"datapipeline:describepipelines",
"datapipeline:evaluateexpression",
"datapipeline:getpipelinedefinition",
"datapipeline:listpipelines",
"datapipeline:queryobjects",
"datapipeline:validatepipelinedefinition",
"directconnect:describe*",
"dynamodb:listtables",
"ec2:describe*",
"ecs:describe*",
"ecs:list*",
"elasticache:describe*",
"elasticbeanstalk:describe*",
"elasticloadbalancing:describe*",
"elasticmapreduce:describejobflows",
"elasticmapreduce:listclusters",
"es:describeelasticsearchdomainconfig",
"es:listdomainnames",
"firehose:describe*",
"firehose:list*",
"glacier:listvaults",
"iam:generatecredentialreport",
"iam:get*",
"iam:list*",
"kms:describe*",
"kms:get*",
"kms:list*",
"lambda:getpolicy",
"lambda:listfunctions",
"logs:DescribeMetricFilters",
"rds:describe*",
"rds:downloaddblogfileportion",
"rds:listtagsforresource",
"redshift:describe*",
"route53:getchange",
"route53:getcheckeripranges",
"route53:getgeolocations",
"route53:gethealthcheck",
"route53:gethealthcheckcount",
"route53:gethealthchecklastfailurereason",
"route53:gethostedzone",
"route53:gethostedzonecount",
"route53:getreusabledelegationset",
"route53:listgeolocations",
"route53:listhealthchecks",
"route53:listhostedzones",
"route53:listhostedzonesbyname",
"route53:listresourcerecordsets",
"route53:listreusabledelegationsets",
"route53:listtagsforresource",
"route53:listtagsforresources",
"route53domains:getdomaindetail",
"route53domains:getoperationdetail",
"route53domains:listdomains",
"route53domains:listoperations",
"route53domains:listtagsfordomain",
"s3:getbucket*",
"s3:getlifecycleconfiguration",
"s3:getobjectacl",
"s3:getobjectversionacl",
"s3:listallmybuckets",
"sdb:domainmetadata",
"sdb:listdomains",
"ses:getidentitydkimattributes",
"ses:getidentityverificationattributes",
"ses:listidentities",
"ses:listverifiedemailaddresses",
"ses:sendemail",
"sns:gettopicattributes",
"sns:listsubscriptionsbytopic",
"sns:listtopics",
"sqs:getqueueattributes",
"sqs:listqueues",
"tag:getresources",
"tag:gettagkeys"
],
"Effect": "Allow",
"Resource": "*"
}]
}
```
Prowler is licensed as Apache License 2.0 as specified in each file. You may obtain a copy of the License at
<http://www.apache.org/licenses/LICENSE-2.0>
+23
View File
@@ -0,0 +1,23 @@
# Security Policy
## Software Security
As an **AWS Partner** and we have passed the [AWS Foundation Technical Review (FTR)](https://aws.amazon.com/partners/foundational-technical-review/) and we use the following tools and automation to make sure our code is secure and dependencies up-to-dated:
- `bandit` for code security review.
- `safety` and `dependabot` for dependencies.
- `hadolint` and `dockle` for our containers security.
- `snyk` in Docker Hub.
- `clair` in Amazon ECR.
- `vulture`, `flake8`, `black` and `pylint` for formatting and best practices.
## Reporting a Vulnerability
If you would like to report a vulnerability or have a security concern regarding Prowler Open Source or ProwlerPro service, please submit the information by contacting to help@prowler.pro.
The information you share with ProwlerPro as part of this process is kept confidential within ProwlerPro. We will only share this information with a third party if the vulnerability you report is found to affect a third-party product, in which case we will share this information with the third-party product's author or manufacturer. Otherwise, we will only share this information as permitted by you.
We will review the submitted report, and assign it a tracking number. We will then respond to you, acknowledging receipt of the report, and outline the next steps in the process.
You will receive a non-automated response to your initial contact within 24 hours, confirming receipt of your reported vulnerability.
We will coordinate public notification of any validated vulnerability with you. Where possible, we prefer that our respective public disclosures be posted simultaneously.
+17
View File
@@ -0,0 +1,17 @@
#!/bin/bash
# Install system dependencies
sudo yum -y install openssl-devel bzip2-devel libffi-devel gcc
# Upgrade to Python 3.9
cd /tmp && wget https://www.python.org/ftp/python/3.9.13/Python-3.9.13.tgz
tar zxf Python-3.9.13.tgz
cd Python-3.9.13/ || exit
./configure --enable-optimizations
sudo make altinstall
python3.9 --version
# Install Prowler
cd ~ || exit
python3.9 -m pip install prowler-cloud
prowler -v
# Run Prowler
prowler
@@ -0,0 +1,8 @@
#!/bin/bash
sudo bash
adduser prowler
su prowler
pip install prowler
cd /tmp
prowler aws
@@ -0,0 +1,384 @@
---
AWSTemplateFormatVersion: 2010-09-09
Description: Creates a CodeBuild project to audit an AWS account with Prowler Version 2 and stores the html report in a S3 bucket. This will run onece at the beginning and on a schedule afterwards. Partial contribution from https://github.com/stevecjones
Parameters:
ServiceName:
Description: 'Specifies the service name used within component naming'
Type: String
Default: 'prowler'
LogsRetentionInDays:
Description: 'Specifies the number of days you want to retain CodeBuild run log events in the specified log group. Junit reports are kept for 30 days, HTML reports in S3 are not deleted'
Type: Number
Default: 3
AllowedValues: [1, 3, 5, 7, 14, 30, 60, 90, 180, 365]
ProwlerOptions:
Description: 'Options to pass to Prowler command, make sure at least -M junit-xml is used for CodeBuild reports. Use -r for the region to send API queries, -f to filter only one region, -M output formats, -c for comma separated checks, for all checks do not use -c or -g, for more options see -h. For a complete assessment use "-M text,junit-xml,html,csv,json", for SecurityHub integration use "-r region -f region -M text,junit-xml,html,csv,json,json-asff -S -q"'
Type: String
# Prowler command below runs a set of checks, configure it base on your needs, no options will run all regions all checks.
# option -M junit-xml is required in order to get the report in CodeBuild.
Default: -r eu-west-1 -f eu-west-1 -M text,junit-xml,html,csv,json -c check11,check12,check13,check14
ProwlerScheduler:
Description: The time when Prowler will run in cron format. Default is daily at 22:00h or 10PM 'cron(0 22 * * ? *)', for every 5 hours also works 'rate(5 hours)'. More info here https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html.
Type: String
Default: 'cron(0 22 * * ? *)'
Resources:
CodeBuildStartBuild:
Type: 'Custom::CodeBuildStartBuild'
DependsOn:
- CodeBuildLogPolicy
- CodeBuildStartLogPolicy
Properties:
Build: !Ref ProwlerCodeBuild
ServiceToken: !GetAtt CodeBuildStartBuildLambda.Arn
CodeBuildStartBuildLambdaRole:
Type: 'AWS::IAM::Role'
Properties:
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal:
Service: !Sub lambda.${AWS::URLSuffix}
Action: 'sts:AssumeRole'
Description: !Sub 'DO NOT DELETE - Used by Lambda. Created by CloudFormation Stack ${AWS::StackId}'
Policies:
- PolicyName: StartBuildInline
PolicyDocument:
Statement:
- Effect: Allow
Action: 'codebuild:StartBuild'
Resource: !GetAtt ProwlerCodeBuild.Arn
CodeBuildStartBuildLambda:
Type: 'AWS::Lambda::Function'
Metadata:
cfn_nag:
rules_to_suppress:
- id: W58
reason: 'This Lambda has permissions to write Logs'
- id: W89
reason: 'VPC is not needed'
- id: W92
reason: 'ReservedConcurrentExecutions not needed'
Properties:
Handler: index.lambda_handler
MemorySize: 128
Role: !Sub ${CodeBuildStartBuildLambdaRole.Arn}
Timeout: 120
Runtime: python3.9
Code:
ZipFile: |
import boto3
import cfnresponse
from botocore.exceptions import ClientError
def lambda_handler(event,context):
props = event['ResourceProperties']
codebuild_client = boto3.client('codebuild')
if (event['RequestType'] == 'Create' or event['RequestType'] == 'Update'):
try:
response = codebuild_client.start_build(projectName=props['Build'])
print(response)
print("Respond: SUCCESS")
cfnresponse.send(event, context, cfnresponse.SUCCESS, {})
except Exception as ex:
print(ex.response['Error']['Message'])
cfnresponse.send(event, context, cfnresponse.FAILED, ex.response)
else:
cfnresponse.send(event, context, cfnresponse.SUCCESS, {})
CodeBuildStartLogGroup:
Type: 'AWS::Logs::LogGroup'
DeletionPolicy: Delete
UpdateReplacePolicy: Delete
Metadata:
cfn_nag:
rules_to_suppress:
- id: W84
reason: 'KMS encryption is not needed.'
Properties:
LogGroupName: !Sub '/aws/lambda/${CodeBuildStartBuildLambda}'
RetentionInDays: !Ref LogsRetentionInDays
CodeBuildStartLogPolicy:
Type: AWS::IAM::Policy
Properties:
PolicyDocument:
Version: '2012-10-17'
Statement:
- Action:
- logs:CreateLogStream
- logs:PutLogEvents
Effect: Allow
Resource: !GetAtt CodeBuildStartLogGroup.Arn
PolicyName: LogGroup
Roles:
- !Ref CodeBuildStartBuildLambdaRole
ArtifactBucket:
Type: AWS::S3::Bucket
Metadata:
cfn_nag:
rules_to_suppress:
- id: W35
reason: 'S3 Access Logging is not needed'
Properties:
Tags:
- Key: Name
Value: !Sub '${ServiceName}-${AWS::AccountId}-S3-Prowler-${AWS::StackName}'
BucketName: !Sub '${ServiceName}-reports-${AWS::Region}-prowler-${AWS::AccountId}'
AccessControl: LogDeliveryWrite
VersioningConfiguration:
Status: Enabled
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm: AES256
PublicAccessBlockConfiguration:
BlockPublicAcls: true
BlockPublicPolicy: true
IgnorePublicAcls: true
RestrictPublicBuckets: true
ArtifactBucketPolicy:
Type: AWS::S3::BucketPolicy
Properties:
Bucket: !Ref ArtifactBucket
PolicyDocument:
Id: Content
Version: '2012-10-17'
Statement:
- Action: '*'
Condition:
Bool:
aws:SecureTransport: false
Effect: Deny
Principal: '*'
Resource: !Sub '${ArtifactBucket.Arn}/*'
Sid: S3ForceSSL
- Action: 's3:PutObject'
Condition:
'Null':
s3:x-amz-server-side-encryption: true
Effect: Deny
Principal: '*'
Resource: !Sub '${ArtifactBucket.Arn}/*'
Sid: DenyUnEncryptedObjectUploads
CodeBuildServiceRole:
Type: AWS::IAM::Role
Metadata:
cfn_nag:
rules_to_suppress:
- id: W11
reason: 'Role complies with the least privilege principle.'
Properties:
Description: !Sub 'DO NOT DELETE - Used by CodeBuild. Created by CloudFormation Stack ${AWS::StackId}'
ManagedPolicyArns:
- !Sub 'arn:${AWS::Partition}:iam::aws:policy/job-function/SupportUser'
- !Sub 'arn:${AWS::Partition}:iam::aws:policy/job-function/ViewOnlyAccess'
- !Sub 'arn:${AWS::Partition}:iam::aws:policy/SecurityAudit'
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Action: 'sts:AssumeRole'
Effect: Allow
Principal:
Service: !Sub codebuild.${AWS::URLSuffix}
Policies:
- PolicyName: S3
PolicyDocument:
Version: '2012-10-17'
Statement:
- Action:
- s3:PutObject
- s3:GetObject
- s3:GetObjectVersion
- s3:GetBucketAcl
- s3:GetBucketLocation
Effect: Allow
Resource: !Sub '${ArtifactBucket.Arn}/*'
- PolicyName: ProwlerAdditions
PolicyDocument:
Version: '2012-10-17'
Statement:
- Action:
- ds:ListAuthorizedApplications
- ec2:GetEbsEncryptionByDefault
- ecr:Describe*
- elasticfilesystem:DescribeBackupPolicy
- glue:GetConnections
- glue:GetSecurityConfiguration
- glue:SearchTables
- lambda:GetFunction
- s3:GetAccountPublicAccessBlock
- shield:DescribeProtection
- shield:GetSubscriptionState
- ssm:GetDocument
- support:Describe*
- tag:GetTagKeys
Effect: Allow
Resource: '*'
- PolicyName: CodeBuild
PolicyDocument:
Version: '2012-10-17'
Statement:
- Action:
- codebuild:CreateReportGroup
- codebuild:CreateReport
- codebuild:UpdateReport
- codebuild:BatchPutTestCases
- codebuild:BatchPutCodeCoverages
Effect: Allow
Resource: !Sub 'arn:${AWS::Partition}:codebuild:${AWS::Region}:${AWS::AccountId}:report-group/*'
- PolicyName: SecurityHubBatchImportFindings
PolicyDocument:
Version: '2012-10-17'
Statement:
- Action: securityhub:BatchImportFindings
Effect: Allow
Resource: !Sub 'arn:${AWS::Partition}:securityhub:${AWS::Region}::product/prowler/prowler'
CodeBuildLogPolicy:
Type: AWS::IAM::Policy
Properties:
PolicyDocument:
Version: '2012-10-17'
Statement:
- Action:
- logs:CreateLogStream
- logs:PutLogEvents
Effect: Allow
Resource: !GetAtt ProwlerLogGroup.Arn
PolicyName: LogGroup
Roles:
- !Ref CodeBuildServiceRole
CodeBuildAssumePolicy:
Type: AWS::IAM::Policy
Properties:
PolicyDocument:
Version: '2012-10-17'
Statement:
- Action: 'sts:AssumeRole'
Effect: Allow
Resource: !GetAtt CodeBuildServiceRole.Arn
PolicyName: AssumeRole
Roles:
- !Ref CodeBuildServiceRole
ProwlerCodeBuild:
Type: AWS::CodeBuild::Project
Metadata:
cfn_nag:
rules_to_suppress:
- id: W32
reason: 'KMS encryption is not needed.'
Properties:
Artifacts:
Type: NO_ARTIFACTS
ConcurrentBuildLimit: 1
SourceVersion: prowler-2
Source:
GitCloneDepth: 1
Location: https://github.com/prowler-cloud/prowler
Type: GITHUB
ReportBuildStatus: false
BuildSpec: |
version: 0.2
phases:
install:
runtime-versions:
python: 3.9
commands:
- echo "Installing Prowler and dependencies..."
- pip3 install detect-secrets
build:
commands:
- echo "Running Prowler as ./prowler $PROWLER_OPTIONS"
- ./prowler $PROWLER_OPTIONS
post_build:
commands:
- echo "Uploading reports to S3..."
- aws s3 cp --sse AES256 output/ s3://$BUCKET_REPORT/ --recursive
- echo "Done!"
reports:
prowler:
files:
- '**/*'
base-directory: 'junit-reports'
file-format: JunitXml
Environment:
# AWS CodeBuild free tier includes 100 build minutes of BUILD_GENERAL1_SMALL per month.
# BUILD_GENERAL1_SMALL: Use up to 3 GB memory and 2 vCPUs for builds. $0.005/minute.
# BUILD_GENERAL1_MEDIUM: Use up to 7 GB memory and 4 vCPUs for builds. $0.01/minute.
# BUILD_GENERAL1_LARGE: Use up to 15 GB memory and 8 vCPUs for builds. $0.02/minute.
# BUILD_GENERAL1_2XLARGE: Use up to 144 GB memory and 72 vCPUs for builds. $0.20/minute.
ComputeType: "BUILD_GENERAL1_SMALL"
Image: "aws/codebuild/amazonlinux2-x86_64-standard:3.0"
Type: "LINUX_CONTAINER"
EnvironmentVariables:
- Name: BUCKET_REPORT
Value: !Ref ArtifactBucket
Type: PLAINTEXT
- Name: PROWLER_OPTIONS
Value: !Ref ProwlerOptions
Type: PLAINTEXT
Description: Run Prowler assessment
ServiceRole: !GetAtt CodeBuildServiceRole.Arn
TimeoutInMinutes: 300
ProwlerLogGroup:
Type: 'AWS::Logs::LogGroup'
DeletionPolicy: Delete
UpdateReplacePolicy: Delete
Metadata:
cfn_nag:
rules_to_suppress:
- id: W84
reason: 'KMS encryption is not needed.'
Properties:
LogGroupName: !Sub '/aws/codebuild/${ProwlerCodeBuild}'
RetentionInDays: !Ref LogsRetentionInDays
EventBridgeServiceRole:
Type: AWS::IAM::Role
Properties:
Description: !Sub 'DO NOT DELETE - Used by EventBridge. Created by CloudFormation Stack ${AWS::StackId}'
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Action: 'sts:AssumeRole'
Effect: Allow
Principal:
Service: !Sub events.${AWS::URLSuffix}
Policies:
- PolicyName: CodeBuild
PolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Action: 'codebuild:StartBuild'
Resource: !GetAtt ProwlerCodeBuild.Arn
ProwlerSchedule:
Type: 'AWS::Events::Rule'
Properties:
Description: A schedule to trigger Prowler in CodeBuild
ScheduleExpression: !Ref ProwlerScheduler
State: ENABLED
Targets:
- Arn: !GetAtt ProwlerCodeBuild.Arn
Id: ProwlerSchedule
RoleArn: !GetAtt EventBridgeServiceRole.Arn
Outputs:
ArtifactBucketName:
Description: Artifact Bucket Name
Value: !Ref ArtifactBucket
@@ -0,0 +1,398 @@
---
AWSTemplateFormatVersion: 2010-09-09
Description: Creates a CodeBuild project to audit an AWS account with Prowler Version 2 and stores the html report in a S3 bucket. This will run onece at the beginning and on a schedule afterwards. Partial contribution from https://github.com/stevecjones
Parameters:
ServiceName:
Description: 'Specifies the service name used within component naming'
Type: String
Default: 'prowler'
LogsRetentionInDays:
Description: 'Specifies the number of days you want to retain CodeBuild run log events in the specified log group. Junit reports are kept for 30 days, HTML reports in S3 are not deleted'
Type: Number
Default: 3
AllowedValues: [1, 3, 5, 7, 14, 30, 60, 90, 180, 365]
ProwlerOptions:
Description: 'Options to pass to Prowler command, use -f to filter specific regions, -c for specific checks, -s for specific services, for SecurityHub integration use "-f shub_region -S", for more options see -h. For a complete assessment leave this empty.'
Type: String
# Prowler command below runs a set of checks, configure it base on your needs, no options will run all regions all checks.
Default: -f eu-west-1 -s s3 iam ec2
ProwlerScheduler:
Description: The time when Prowler will run in cron format. Default is daily at 22:00h or 10PM 'cron(0 22 * * ? *)', for every 5 hours also works 'rate(5 hours)'. More info here https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html.
Type: String
Default: 'cron(0 22 * * ? *)'
Resources:
CodeBuildStartBuild:
Type: 'Custom::CodeBuildStartBuild'
DependsOn:
- CodeBuildLogPolicy
- CodeBuildStartLogPolicy
Properties:
Build: !Ref ProwlerCodeBuild
ServiceToken: !GetAtt CodeBuildStartBuildLambda.Arn
CodeBuildStartBuildLambdaRole:
Type: 'AWS::IAM::Role'
Properties:
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal:
Service: !Sub lambda.${AWS::URLSuffix}
Action: 'sts:AssumeRole'
Description: !Sub 'DO NOT DELETE - Used by Lambda. Created by CloudFormation Stack ${AWS::StackId}'
Policies:
- PolicyName: StartBuildInline
PolicyDocument:
Statement:
- Effect: Allow
Action: 'codebuild:StartBuild'
Resource: !GetAtt ProwlerCodeBuild.Arn
CodeBuildStartBuildLambda:
Type: 'AWS::Lambda::Function'
Metadata:
cfn_nag:
rules_to_suppress:
- id: W58
reason: 'This Lambda has permissions to write Logs'
- id: W89
reason: 'VPC is not needed'
- id: W92
reason: 'ReservedConcurrentExecutions not needed'
Properties:
Handler: index.lambda_handler
MemorySize: 128
Role: !Sub ${CodeBuildStartBuildLambdaRole.Arn}
Timeout: 120
Runtime: python3.9
Code:
ZipFile: |
import boto3
import cfnresponse
from botocore.exceptions import ClientError
def lambda_handler(event,context):
props = event['ResourceProperties']
codebuild_client = boto3.client('codebuild')
if (event['RequestType'] == 'Create' or event['RequestType'] == 'Update'):
try:
response = codebuild_client.start_build(projectName=props['Build'])
print(response)
print("Respond: SUCCESS")
cfnresponse.send(event, context, cfnresponse.SUCCESS, {})
except Exception as ex:
print(ex.response['Error']['Message'])
cfnresponse.send(event, context, cfnresponse.FAILED, ex.response)
else:
cfnresponse.send(event, context, cfnresponse.SUCCESS, {})
CodeBuildStartLogGroup:
Type: 'AWS::Logs::LogGroup'
DeletionPolicy: Delete
UpdateReplacePolicy: Delete
Metadata:
cfn_nag:
rules_to_suppress:
- id: W84
reason: 'KMS encryption is not needed.'
Properties:
LogGroupName: !Sub '/aws/lambda/${CodeBuildStartBuildLambda}'
RetentionInDays: !Ref LogsRetentionInDays
CodeBuildStartLogPolicy:
Type: AWS::IAM::Policy
Properties:
PolicyDocument:
Version: '2012-10-17'
Statement:
- Action:
- logs:CreateLogStream
- logs:PutLogEvents
Effect: Allow
Resource: !GetAtt CodeBuildStartLogGroup.Arn
PolicyName: LogGroup
Roles:
- !Ref CodeBuildStartBuildLambdaRole
ArtifactBucket:
Type: AWS::S3::Bucket
Metadata:
cfn_nag:
rules_to_suppress:
- id: W35
reason: 'S3 Access Logging is not needed'
Properties:
Tags:
- Key: Name
Value: !Sub '${ServiceName}-${AWS::AccountId}-S3-Prowler-${AWS::StackName}'
BucketName: !Sub '${ServiceName}-reports-${AWS::Region}-prowler-${AWS::AccountId}'
AccessControl: LogDeliveryWrite
VersioningConfiguration:
Status: Enabled
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm: AES256
PublicAccessBlockConfiguration:
BlockPublicAcls: true
BlockPublicPolicy: true
IgnorePublicAcls: true
RestrictPublicBuckets: true
ArtifactBucketPolicy:
Type: AWS::S3::BucketPolicy
Properties:
Bucket: !Ref ArtifactBucket
PolicyDocument:
Id: Content
Version: '2012-10-17'
Statement:
- Action: '*'
Condition:
Bool:
aws:SecureTransport: false
Effect: Deny
Principal: '*'
Resource: !Sub '${ArtifactBucket.Arn}/*'
Sid: S3ForceSSL
- Action: 's3:PutObject'
Condition:
'Null':
s3:x-amz-server-side-encryption: true
Effect: Deny
Principal: '*'
Resource: !Sub '${ArtifactBucket.Arn}/*'
Sid: DenyUnEncryptedObjectUploads
CodeBuildServiceRole:
Type: AWS::IAM::Role
Metadata:
cfn_nag:
rules_to_suppress:
- id: W11
reason: 'Role complies with the least privilege principle.'
Properties:
Description: !Sub 'DO NOT DELETE - Used by CodeBuild. Created by CloudFormation Stack ${AWS::StackId}'
ManagedPolicyArns:
- !Sub 'arn:${AWS::Partition}:iam::aws:policy/job-function/SupportUser'
- !Sub 'arn:${AWS::Partition}:iam::aws:policy/job-function/ViewOnlyAccess'
- !Sub 'arn:${AWS::Partition}:iam::aws:policy/SecurityAudit'
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Action: 'sts:AssumeRole'
Effect: Allow
Principal:
Service: !Sub codebuild.${AWS::URLSuffix}
Policies:
- PolicyName: S3
PolicyDocument:
Version: '2012-10-17'
Statement:
- Action:
- s3:PutObject
- s3:GetObject
- s3:GetObjectVersion
- s3:GetBucketAcl
- s3:GetBucketLocation
Effect: Allow
Resource: !Sub '${ArtifactBucket.Arn}/*'
- PolicyName: ProwlerAdditions
PolicyDocument:
Version: '2012-10-17'
Statement:
- Action:
- account:Get*
- appstream:Describe*
- codeartifact:List*
- codebuild:BatchGet*
- ds:Get*
- ds:Describe*
- ds:List*
- ec2:GetEbsEncryptionByDefault
- ecr:Describe*
- elasticfilesystem:DescribeBackupPolicy
- glue:GetConnections
- glue:GetSecurityConfiguration*
- glue:SearchTables
- lambda:GetFunction*
- macie2:GetMacieSession
- s3:GetAccountPublicAccessBlock
- s3:GetPublicAccessBlock
- shield:DescribeProtection
- shield:GetSubscriptionState
- securityhub:BatchImportFindings
- securityhub:GetFindings
- ssm:GetDocument
- support:Describe*
- tag:GetTagKeys
Effect: Allow
Resource: '*'
- PolicyName: ProwlerAdditionsApiGW
PolicyDocument:
Version: '2012-10-17'
Statement:
- Action:
- apigateway:GET
Effect: Allow
Resource: 'arn:aws:apigateway:*::/restapis/*'
- PolicyName: CodeBuild
PolicyDocument:
Version: '2012-10-17'
Statement:
- Action:
- codebuild:CreateReportGroup
- codebuild:CreateReport
- codebuild:UpdateReport
- codebuild:BatchPutTestCases
- codebuild:BatchPutCodeCoverages
Effect: Allow
Resource: !Sub 'arn:${AWS::Partition}:codebuild:${AWS::Region}:${AWS::AccountId}:report-group/*'
- PolicyName: SecurityHubBatchImportFindings
PolicyDocument:
Version: '2012-10-17'
Statement:
- Action: securityhub:BatchImportFindings
Effect: Allow
Resource: !Sub 'arn:${AWS::Partition}:securityhub:${AWS::Region}::product/prowler/prowler'
CodeBuildLogPolicy:
Type: AWS::IAM::Policy
Properties:
PolicyDocument:
Version: '2012-10-17'
Statement:
- Action:
- logs:CreateLogStream
- logs:PutLogEvents
Effect: Allow
Resource: !GetAtt ProwlerLogGroup.Arn
PolicyName: LogGroup
Roles:
- !Ref CodeBuildServiceRole
CodeBuildAssumePolicy:
Type: AWS::IAM::Policy
Properties:
PolicyDocument:
Version: '2012-10-17'
Statement:
- Action: 'sts:AssumeRole'
Effect: Allow
Resource: !GetAtt CodeBuildServiceRole.Arn
PolicyName: AssumeRole
Roles:
- !Ref CodeBuildServiceRole
ProwlerCodeBuild:
Type: AWS::CodeBuild::Project
Metadata:
cfn_nag:
rules_to_suppress:
- id: W32
reason: 'KMS encryption is not needed.'
Properties:
Artifacts:
Type: NO_ARTIFACTS
ConcurrentBuildLimit: 1
Source:
Type: NO_SOURCE
BuildSpec: |
version: 0.2
phases:
install:
runtime-versions:
python: 3.9
commands:
- echo "Installing Prowler..."
- pip3 install prowler
build:
commands:
- echo "Running Prowler as prowler $PROWLER_OPTIONS"
- prowler $PROWLER_OPTIONS
post_build:
commands:
- echo "Uploading reports to S3..."
- aws s3 cp --sse AES256 output/ s3://$BUCKET_REPORT/ --recursive
- echo "Done!"
# Currently not supported in Version 3
# reports:
# prowler:
# files:
# - '**/*'
# base-directory: 'junit-reports'
# file-format: JunitXml
Environment:
# AWS CodeBuild free tier includes 100 build minutes of BUILD_GENERAL1_SMALL per month.
# BUILD_GENERAL1_SMALL: Use up to 3 GB memory and 2 vCPUs for builds. $0.005/minute.
# BUILD_GENERAL1_MEDIUM: Use up to 7 GB memory and 4 vCPUs for builds. $0.01/minute.
# BUILD_GENERAL1_LARGE: Use up to 15 GB memory and 8 vCPUs for builds. $0.02/minute.
# BUILD_GENERAL1_2XLARGE: Use up to 144 GB memory and 72 vCPUs for builds. $0.20/minute.
ComputeType: "BUILD_GENERAL1_SMALL"
Image: "aws/codebuild/amazonlinux2-x86_64-standard:3.0"
Type: "LINUX_CONTAINER"
EnvironmentVariables:
- Name: BUCKET_REPORT
Value: !Ref ArtifactBucket
Type: PLAINTEXT
- Name: PROWLER_OPTIONS
Value: !Ref ProwlerOptions
Type: PLAINTEXT
Description: Run Prowler assessment
ServiceRole: !GetAtt CodeBuildServiceRole.Arn
TimeoutInMinutes: 300
ProwlerLogGroup:
Type: 'AWS::Logs::LogGroup'
DeletionPolicy: Delete
UpdateReplacePolicy: Delete
Metadata:
cfn_nag:
rules_to_suppress:
- id: W84
reason: 'KMS encryption is not needed.'
Properties:
LogGroupName: !Sub '/aws/codebuild/${ProwlerCodeBuild}'
RetentionInDays: !Ref LogsRetentionInDays
EventBridgeServiceRole:
Type: AWS::IAM::Role
Properties:
Description: !Sub 'DO NOT DELETE - Used by EventBridge. Created by CloudFormation Stack ${AWS::StackId}'
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Action: 'sts:AssumeRole'
Effect: Allow
Principal:
Service: !Sub events.${AWS::URLSuffix}
Policies:
- PolicyName: CodeBuild
PolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Action: 'codebuild:StartBuild'
Resource: !GetAtt ProwlerCodeBuild.Arn
ProwlerSchedule:
Type: 'AWS::Events::Rule'
Properties:
Description: A schedule to trigger Prowler in CodeBuild
ScheduleExpression: !Ref ProwlerScheduler
State: ENABLED
Targets:
- Arn: !GetAtt ProwlerCodeBuild.Arn
Id: ProwlerSchedule
RoleArn: !GetAtt EventBridgeServiceRole.Arn
Outputs:
ArtifactBucketName:
Description: Artifact Bucket Name
Value: !Ref ArtifactBucket
+11
View File
@@ -0,0 +1,11 @@
## K8S - Cronjob
Simple instructions to add a cronjob on K8S to execute a prowler and save the results on AWS S3.
### Files:
cronjob.yml ---> is a **cronjob** for K8S, you must set the frequency and probes from yours scans \
secret.yml -----> is a **secret** file with AWS ID/Secret and the name of bucket
### To apply:
`$ kubectl -f cronjob.yml` \
`$ kubectl -f secret.yml`
+40
View File
@@ -0,0 +1,40 @@
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: devsecops-prowler-cronjob-secret
namespace: defectdojo
spec:
#Cron Time is set according to server time, ensure server time zone and set accordingly.
successfulJobsHistoryLimit: 2
failedJobsHistoryLimit: 1
schedule: "5 3 * * 0,2,4"
jobTemplate:
spec:
template:
spec:
containers:
- name: prowler
image: toniblyx/prowler:latest
imagePullPolicy: Always
command:
- "./prowler.py"
args: [ "-B", "$(awsS3Bucket)" ]
env:
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: devsecops-prowler-cronjob-secret
key: awsId
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: devsecops-prowler-cronjob-secret
key: awsSecretKey
- name: awsS3Bucket
valueFrom:
secretKeyRef:
name: devsecops-prowler-cronjob-secret
key: awsS3Bucket
imagePullPolicy: IfNotPresent
restartPolicy: OnFailure
backoffLimit: 3
+10
View File
@@ -0,0 +1,10 @@
apiVersion: v1
kind: Secret
metadata:
name: devsecops-prowler-cronjob-secret
namespace: defectdojo
type: Opaque
stringData:
awsId: myAWSSecretID
awsSecretKey: myAWSSecretKey
awsS3Bucket: myAWSS3Bucket
@@ -0,0 +1,3 @@
export ROLE=ProwlerXA-Role
export PARALLEL_ACCOUNTS=1
export REGION=us-east-1
@@ -0,0 +1,24 @@
# Build command
# docker build --platform=linux/amd64 --no-cache -t prowler:latest .
ARG PROWLER_VERSION=latest
FROM toniblyx/prowler:${PROWLER_VERSION}
USER 0
# hadolint ignore=DL3018
RUN apk --no-cache add bash aws-cli jq
ARG MULTI_ACCOUNT_SECURITY_HUB_PATH=/home/prowler/multi-account-securityhub
USER prowler
# Move script and environment variables
RUN mkdir "${MULTI_ACCOUNT_SECURITY_HUB_PATH}"
COPY --chown=prowler:prowler .awsvariables run-prowler-securityhub.sh "${MULTI_ACCOUNT_SECURITY_HUB_PATH}"/
RUN chmod 500 "${MULTI_ACCOUNT_SECURITY_HUB_PATH}"/run-prowler-securityhub.sh & \
chmod 400 "${MULTI_ACCOUNT_SECURITY_HUB_PATH}"/.awsvariables
WORKDIR ${MULTI_ACCOUNT_SECURITY_HUB_PATH}
ENTRYPOINT ["./run-prowler-securityhub.sh"]
@@ -0,0 +1,94 @@
# Example Solution: Serverless Organizational Prowler Deployment with SecurityHub
Deploys [Prowler](https://github.com/prowler-cloud/prowler) with AWS Fargate to assess all Accounts in an AWS Organization on a schedule, and sends the results to Security Hub.
## Context
Originally based on [org-multi-account](https://github.com/prowler-cloud/prowler/tree/master/util/org-multi-account), but changed in the following ways:
- No HTML reports and no S3 buckets
- Findings sent directly to Security Hub using the native integration
- AWS Fargate Task with EventBridge Rule instead of EC2 instance with cronjob
- Based on amazonlinux:2022 to leverage "wait -n" for improved parallelization as new jobs are launched as one finishes
## Architecture Explanation
The solution is designed to be very simple. Prowler is run via an ECS Task definition that launches a single Fargate container. This Task Definition is executed on a schedule using an EventBridge Rule.
## CloudFormation Templates
### CF-Prowler-IAM.yml
Creates the following IAM Roles:
1. **ECSExecutionRole**: Required for the Task Definition to be able to fetch the container image from ECR and launch the container.
2. **ProwlerTaskRole**: Role that the container itself runs with. It allows it to assume the ProwlerCrossAccountRole.
3. **ECSEventRoleName**: Required for the EventBridge Rule to execute the Task Definition.
### CF-Prowler-ECS.yml
Creates the following resources:
1. **ProwlerECSCluster**: Cluster to be used to execute the Task Definition.
2. **ProwlerECSCloudWatchLogsGroup**: Log group for the Prowler container logs. This is required because it's the only log driver supported by Fargate. The Prowler executable logs are suppressed to prevent unnecessary logs, but error logs are kept for debugging.
3. **ProwlerECSTaskDefinition**: Task Definition for the Fargate container. CPU and memory can be increased as needed. In my experience, 1 CPU per parallel Prowler job is ideal, but further performance testing may be required to find the optimal configuration for a specific organization. Enabling container insights helps a lot with this.
4. **ProwlerSecurityGroup**: Security Group for the container. It only allows TCP 443 outbound, as it is the only port needed for awscli.
5. **ProwlerTaskScheduler**: EventBridge Rule that schedules the execution of the Task Definition. The cron expression is specified as a CloudFormation template parameter.
### CF-Prowler-CrossAccountRole.yml
Creates the cross account IAM Role required for Prowler to run. Deploy it as StackSet in every account in the AWS Organization.
## Docker Container
### Dockerfile
The Dockerfile does the following:
1. Uses amazonlinux:2022 as a base.
2. Downloads required dependencies.
3. Copies the .awsvariables and run-prowler-securityhub.sh files into the root.
4. Downloads the specified version of Prowler as recommended in the release notes.
5. Assigns permissions to a lower privileged user and then drops to it.
6. Runs the script.
### .awsvariables
The .awsvariables file is used to pass required configuration to the script:
1. **ROLE**: The cross account Role to be assumed for the Prowler assessments.
2. **PARALLEL_ACCOUNTS**: The number of accounts to be scanned in parallel.
3. **REGION**: Region where Prowler will run its assessments.
### run-prowler-securityhub.sh
The script gets the list of accounts in AWS Organizations, and then executes Prowler as a job for each account, up to PARALLEL_ACCOUNT accounts at the same time.
The logs that are generated and sent to Cloudwatch are error logs, and assessment start and finish logs.
## Instructions
1. Create a Private ECR Repository in the account that will host the Prowler container. The Audit account is recommended, but any account can be used.
2. Configure the .awsvariables file. Note the ROLE name chosen as it will be the CrossAccountRole.
3. Follow the steps from "View Push Commands" to build and upload the container image. You need to have Docker and AWS CLI installed, and use the cli to login to the account first. After upload note the Image URI, as it is required for the CF-Prowler-ECS template.
4. Make sure SecurityHub is enabled in every account in AWS Organizations, and that the SecurityHub integration is enabled as explained in [Prowler - Security Hub Integration](https://github.com/prowler-cloud/prowler#security-hub-integration)
5. Deploy **CF-Prowler-CrossAccountRole.yml** in the Master Account as a single stack. You will have to choose the CrossAccountRole name (ProwlerXA-Role by default) and the ProwlerTaskRoleName (ProwlerECSTask-Role by default)
6. Deploy **CF-Prowler-CrossAccountRole.yml** in every Member Account as a StackSet. Choose the same CrossAccountName and ProwlerTaskRoleName as the previous step.
7. Deploy **CF-Prowler-IAM.yml** in the account that will host the Prowler container (the same from step 1). The following template parameters must be provided:
- **ProwlerCrossAccountRoleName**: Name of the from CF-Prowler-CrossAccountRole (default ProwlerXA-Role).
- **ECSExecutionRoleName**: Name for the ECS Task Execution Role (default ECSTaskExecution-Role).
- **ProwlerTaskRoleName**: Name for the ECS Prowler Task Role (default ProwlerECSTask-Role).
- **ECSEventRoleName**: Name for the Eventbridge Task Role (default ProwlerEvents-Role).
8. Deploy **CF-Prowler-ECS.yml** in the account that will host the Prowler container (the same from step 1). The following template parameters must be provided:
- **ProwlerClusterName**: Name for the ECS Cluster (default ProwlerCluster)
- **ProwlerContainerName**: Name for the Prowler container (default prowler)
- **ProwlerContainerInfo**: ECR URI from step 1.
- **ProwlerECSLogGroupName**: CloudWatch Log Group name (default /aws/ecs/SecurityHub-Prowler)
- **SecurityGroupVPCId**: VPC ID for the VPC where the container will run.
- **ProwlerScheduledSubnet1 and 2**: Subnets IDs from the VPC specified. Choose private subnets if possible.
- **ECSExecutionRole**: ECS Execution Task Role ARN from CF-Prowler-IAM outputs.
- **ProwlerTaskRole**: Prowler ECS Task Role ARN from CF-Prowler-IAM outputs.
- **ECSEventRole**: Eventbridge Task Role ARN from CF-Prowler-IAM outputs.
- **CronExpression**: Valid Cron Expression for the scheduling of the Task Definition.
9. Verify that Prowler runs correctly by checking the CloudWatch logs after the scheduled task is executed.
---
## Troubleshooting
If you permission find errors in the CloudWatch logs, the culprit might be a [Service Control Policy (SCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html). You will need to exclude the Prowler Cross Account Role from those SCPs.
---
## Upgrading Prowler
Prowler version is controlled by the PROWLERVER argument in the Dockerfile, change it to the desired version and follow the ECR Push Commands to update the container image.
Old images can be deleted from the ECR Repository after the new image is confirmed to work. They will show as "untagged" as only one image can hold the "latest" tag.
@@ -0,0 +1,83 @@
#!/bin/bash
# Run Prowler against All AWS Accounts in an AWS Organization
# Show Prowler Version
prowler -v
# Source .awsvariables
# shellcheck disable=SC1091
source .awsvariables
# Get Values from Environment Variables
echo "ROLE: ${ROLE}"
echo "PARALLEL_ACCOUNTS: ${PARALLEL_ACCOUNTS}"
echo "REGION: ${REGION}"
# Function to unset AWS Profile Variables
unset_aws() {
unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN
}
unset_aws
# Find THIS Account AWS Number
CALLER_ARN=$(aws sts get-caller-identity --output text --query "Arn")
PARTITION=$(echo "${CALLER_ARN}" | cut -d: -f2)
THISACCOUNT=$(echo "${CALLER_ARN}" | cut -d: -f5)
echo "THISACCOUNT: ${THISACCOUNT}"
echo "PARTITION: ${PARTITION}"
# Function to Assume Role to THIS Account & Create Session
this_account_session() {
unset_aws
role_credentials=$(aws sts assume-role --role-arn arn:"${PARTITION}":iam::"${THISACCOUNT}":role/"${ROLE}" --role-session-name ProwlerRun --output json)
AWS_ACCESS_KEY_ID=$(echo "${role_credentials}" | jq -r .Credentials.AccessKeyId)
AWS_SECRET_ACCESS_KEY=$(echo "${role_credentials}" | jq -r .Credentials.SecretAccessKey)
AWS_SESSION_TOKEN=$(echo "${role_credentials}" | jq -r .Credentials.SessionToken)
export AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN
}
# Find AWS Master Account
this_account_session
AWSMASTER=$(aws organizations describe-organization --query Organization.MasterAccountId --output text)
echo "AWSMASTER: ${AWSMASTER}"
# Function to Assume Role to Master Account & Create Session
master_account_session() {
unset_aws
role_credentials=$(aws sts assume-role --role-arn arn:"${PARTITION}":iam::"${AWSMASTER}":role/"${ROLE}" --role-session-name ProwlerRun --output json)
AWS_ACCESS_KEY_ID=$(echo "${role_credentials}" | jq -r .Credentials.AccessKeyId)
AWS_SECRET_ACCESS_KEY=$(echo "${role_credentials}" | jq -r .Credentials.SecretAccessKey)
AWS_SESSION_TOKEN=$(echo "${role_credentials}" | jq -r .Credentials.SessionToken)
export AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN
}
# Lookup All Accounts in AWS Organization
master_account_session
ACCOUNTS_IN_ORGS=$(aws organizations list-accounts --query Accounts[*].Id --output text)
# Run Prowler against Accounts in AWS Organization
echo "AWS Accounts in Organization"
echo "${ACCOUNTS_IN_ORGS}"
for accountId in ${ACCOUNTS_IN_ORGS}; do
# shellcheck disable=SC2015
test "$(jobs | wc -l)" -ge "${PARALLEL_ACCOUNTS}" && wait -n || true
{
START_TIME=${SECONDS}
# Unset AWS Profile Variables
unset_aws
# Run Prowler
echo -e "Assessing AWS Account: ${accountId}, using Role: ${ROLE} on $(date)"
# Pipe stdout to /dev/null to reduce unnecessary Cloudwatch logs
prowler aws -R arn:"${PARTITION}":iam::"${accountId}":role/"${ROLE}" -q -S -f "${REGION}" > /dev/null
TOTAL_SEC=$((SECONDS - START_TIME))
printf "Completed AWS Account: ${accountId} in %02dh:%02dm:%02ds" $((TOTAL_SEC / 3600)) $((TOTAL_SEC % 3600 / 60)) $((TOTAL_SEC % 60))
echo ""
} &
done
# Wait for All Prowler Processes to finish
wait
echo "Prowler Assessments Completed against All Accounts in AWS Organization"
# Unset AWS Profile Variables
unset_aws
@@ -0,0 +1,97 @@
AWSTemplateFormatVersion: 2010-09-09
Description: Create the Cross-Account IAM Prowler Role
Metadata:
AWS::CloudFormation::Interface:
ParameterGroups:
- Label:
default: ECS Settings
Parameters:
- ProwlerEcsAccount
- ProwlerTaskRoleName
- Label:
default: CrossAccount Role
Parameters:
- ProwlerCrossAccountRole
Parameters:
ProwlerEcsAccount:
Type: String
Description: Enter AWS Account Number where Prowler ECS Task will reside.
AllowedPattern: ^\d{12}$
ConstraintDescription: An AWS Account Number must be a 12 digit numeric string.
ProwlerTaskRoleName:
Type: String
Description: Enter Instance Role that will be given to the Prowler ECS Instance (needed to grant sts:AssumeRole rights).
AllowedPattern: ^[\w+=,.@-]{1,64}$
ConstraintDescription: Max 64 alphanumeric characters. Also special characters supported [+, =, ., @, -]
Default: ProwlerECSTask-Role
ProwlerCrossAccountRole:
Type: String
Description: Enter Name for CrossAccount Role to be created for Prowler to assess all Accounts in the AWS Organization.
AllowedPattern: ^[\w+=,.@-]{1,64}$
ConstraintDescription: Max 64 alphanumeric characters. Also special characters supported [+, =, ., @, -]
Default: ProwlerXA-Role
Resources:
ProwlerRole:
Type: AWS::IAM::Role
Properties:
Description: Provides Prowler ECS tasks permissions to assess security of Accounts in AWS Organization
RoleName: !Ref ProwlerCrossAccountRole
Tags:
- Key: App
Value: Prowler
AssumeRolePolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Principal:
AWS:
- !Sub arn:${AWS::Partition}:iam::${ProwlerEcsAccount}:role/${ProwlerTaskRoleName}
Action:
- sts:AssumeRole
ManagedPolicyArns:
- !Sub arn:${AWS::Partition}:iam::aws:policy/SecurityAudit
- !Sub arn:${AWS::Partition}:iam::aws:policy/job-function/ViewOnlyAccess
Policies:
- PolicyName: Prowler-Additions-Policy
PolicyDocument:
Version: 2012-10-17
Statement:
- Sid: AllowMoreReadForProwler
Effect: Allow
Resource: "*"
Action:
- ds:ListAuthorizedApplications
- ec2:GetEbsEncryptionByDefault
- ecr:Describe*
- elasticfilesystem:DescribeBackupPolicy
- glue:GetConnections
- glue:GetSecurityConfiguration
- glue:SearchTables
- lambda:GetFunction
- s3:GetAccountPublicAccessBlock
- shield:DescribeProtection
- shield:GetSubscriptionState
- ssm:GetDocument
- support:Describe*
- tag:GetTagKeys
- PolicyName: Prowler-Security-Hub
PolicyDocument:
Version: 2012-10-17
Statement:
- Sid: AllowProwlerSecurityHub
Effect: Allow
Resource: "*"
Action:
- securityhub:BatchImportFindings
- securityhub:GetFindings
Metadata:
cfn_nag:
rules_to_suppress:
- id: W11
reason: "Prowler requires these rights to perform its Security Assessment."
- id: W28
reason: "Using a defined Role Name."
Outputs:
ProwlerCrossAccountRole:
Description: CrossAccount Role to be used by Prowler to assess AWS Accounts in the AWS Organization.
Value: !Ref ProwlerCrossAccountRole
@@ -0,0 +1,102 @@
AWSTemplateFormatVersion: 2010-09-09
Description: This Template will create the infrastructure for Prowler with ECS Fargate
Parameters:
ProwlerClusterName:
Type: String
Description: Name of the ECS Cluster that the Prowler Fargate Task will run in
Default: ProwlerCluster
ProwlerContainerName:
Type: String
Description: Name of the Prowler Container Definition within the ECS Task
Default: prowler
ProwlerContainerInfo:
Type: String
Description: ECR URI of the Prowler container
ProwlerECSLogGroupName:
Type: String
Description: Name for the log group to be created
Default: /aws/ecs/SecurityHub-Prowler
SecurityGroupVPCId:
Type: String
Description: VPC Id for the Security Group to be created
ProwlerScheduledSubnet1:
Type: String
Description: Subnet Id in which Prowler can be scheduled to Run
ProwlerScheduledSubnet2:
Type: String
Description: A secondary Subnet Id in which Prowler can be scheduled to Run
ECSExecutionRole:
Type: String
Description: ECS Execution Task Role ARN.
ProwlerTaskRole:
Type: String
Description: Prowler ECS Task Role ARN.
ECSEventRole:
Type: String
Description: Eventbridge Task Role ARN.
CronExpression:
Type: String
Description: Cron schedule for the event rule.
Default: cron(0 23 * * ? *)
Resources:
ProwlerECSCloudWatchLogsGroup:
Type: AWS::Logs::LogGroup
Properties:
LogGroupName: !Ref ProwlerECSLogGroupName
RetentionInDays: 90
ProwlerECSCluster:
Type: AWS::ECS::Cluster
Properties:
ClusterName: !Ref ProwlerClusterName
ProwlerECSTaskDefinition:
Type: AWS::ECS::TaskDefinition
Properties:
ContainerDefinitions:
- Image: !Ref ProwlerContainerInfo
Name: !Ref ProwlerContainerName
LogConfiguration:
LogDriver: awslogs
Options:
awslogs-group: !Ref ProwlerECSCloudWatchLogsGroup
awslogs-region: !Ref 'AWS::Region'
awslogs-stream-prefix: ecs
Cpu: 1024
ExecutionRoleArn: !Ref ECSExecutionRole
Memory: 2048
NetworkMode: awsvpc
TaskRoleArn: !Ref ProwlerTaskRole
Family: SecurityHubProwlerTask
RequiresCompatibilities:
- FARGATE
ProwlerSecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: Allow HTTPS Out - Prowler
VpcId: !Ref SecurityGroupVPCId
SecurityGroupEgress:
- IpProtocol: tcp
FromPort: 443
ToPort: 443
CidrIp: 0.0.0.0/0
ProwlerTaskScheduler:
Type: AWS::Events::Rule
Properties:
ScheduleExpression: !Ref CronExpression
State: ENABLED
Targets:
- Arn: !GetAtt ProwlerECSCluster.Arn
RoleArn: !Ref ECSEventRole
Id: prowlerTaskScheduler
EcsParameters:
TaskDefinitionArn: !Ref ProwlerECSTaskDefinition
TaskCount: 1
LaunchType: FARGATE
PlatformVersion: 'LATEST'
NetworkConfiguration:
AwsVpcConfiguration:
AssignPublicIp: DISABLED
SecurityGroups:
- !Ref ProwlerSecurityGroup
Subnets:
- !Ref ProwlerScheduledSubnet1
- !Ref ProwlerScheduledSubnet2
@@ -0,0 +1,105 @@
AWSTemplateFormatVersion: 2010-09-09
Description: This Template will create the IAM Roles needed for the Prowler infrastructure
Parameters:
ProwlerCrossAccountRoleName:
Type: String
Description: Name of the cross account Prowler IAM Role
AllowedPattern: ^[\w+=,.@-]{1,64}$
ConstraintDescription: Max 64 alphanumeric characters. Also special characters supported [+, =, ., @, -]
Default: ProwlerXA-Role
ECSExecutionRoleName:
Type: String
Description: Name for the ECS Task Execution Role
AllowedPattern: ^[\w+=,.@-]{1,64}$
ConstraintDescription: Max 64 alphanumeric characters. Also special characters supported [+, =, ., @, -]
Default: ECSTaskExecution-Role
ProwlerTaskRoleName:
Type: String
Description: Name for the ECS Prowler Task Role
AllowedPattern: ^[\w+=,.@-]{1,64}$
ConstraintDescription: Max 64 alphanumeric characters. Also special characters supported [+, =, ., @, -]
Default: ProwlerECSTask-Role
ECSEventRoleName:
Type: String
Description: Name for the Eventbridge Task Role
AllowedPattern: ^[\w+=,.@-]{1,64}$
ConstraintDescription: Max 64 alphanumeric characters. Also special characters supported [+, =, ., @, -]
Default: ProwlerEvents-Role
Resources:
ECSExecutionRole:
Type: AWS::IAM::Role
Properties:
RoleName: !Ref ECSExecutionRoleName
ManagedPolicyArns:
- arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Sid: ECSExecutionTrust
Effect: Allow
Principal:
Service: ecs-tasks.amazonaws.com
Action: sts:AssumeRole
ProwlerTaskRole:
Type: AWS::IAM::Role
Properties:
RoleName: !Ref ProwlerTaskRoleName
Policies:
- PolicyName: ProwlerAssumeRole
PolicyDocument:
Version: '2012-10-17'
Statement:
- Sid: AllowProwlerAssumeRole
Effect: Allow
Action: sts:AssumeRole
Resource:
- !Sub arn:aws:iam::*:role/${ProwlerCrossAccountRoleName}
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Sid: ECSExecutionTrust
Effect: Allow
Principal:
Service: ecs-tasks.amazonaws.com
Action: sts:AssumeRole
ECSEventRole:
Type: AWS::IAM::Role
Properties:
RoleName: !Ref ECSEventRoleName
Policies:
- PolicyName: AllowProwlerEventsECS
PolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Action:
- ecs:RunTask
Resource:
- "*"
Sid: EventRunECS
- Effect: Allow
Action: iam:PassRole
Resource:
- "*"
Sid: EventPassRole
Condition:
StringLike:
iam:PassedToService: ecs-tasks.amazonaws.com
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Sid: EventsECSExecutionTrust
Effect: Allow
Principal:
Service: events.amazonaws.com
Action: sts:AssumeRole
Outputs:
ECSExecutionRoleARN:
Description: ARN of the ECS Task Execution Role
Value: !GetAtt ECSExecutionRole.Arn
ProwlerTaskRoleARN:
Description: ARN of the ECS Prowler Task Role
Value: !GetAtt ProwlerTaskRole.Arn
ECSEventRoleARN:
Description: ARN of the Eventbridge Task Role
Value: !GetAtt ECSEventRole.Arn
+374
View File
@@ -0,0 +1,374 @@
AWSTemplateFormatVersion: 2010-09-09
Description: Create Prowler EC2 with UserData (Shell Scripts, & AWS CLI Profiles)
Metadata:
AWS::CloudFormation::Interface:
ParameterGroups:
- Label:
default: Prowler EC2 Instance Settings
Parameters:
- BuildNumber
- ProwlerEc2Name
- InstanceType
- KeyPair
- SubnetId
- VpcId
- Ec2Role
- LatestAmazonLinux2AmiId
- ProwlerCron
- Label:
default: S3 Settings
Parameters:
- ProwlerS3
- ProwlerS3Account
- Label:
default: CrossAccount Role
Parameters:
- AwsOrgId
- CrossAccountRole
Parameters:
BuildNumber:
Type: String
Description: Enter Build Number (increment with Updates for cfn-init)
AllowedPattern: ^\d*$
ConstraintDescription: Build Number must be a numeric string.
Default: 1
ProwlerEc2Name:
Type: String
Description: Enter Name for Prowler EC2 Instance to create
AllowedPattern: ^[\w\s_.\/=+-]{1,128}$
ConstraintDescription: Max 128 alphanumeric characters. Also special characters supported [whitespace, _, ., /, =, +, -]
Default: Prowler-EC2
InstanceType:
Description: Enter Instance Type
Type: String
Default: t2.micro
KeyPair:
Description: Choose a KeyPair
Type: AWS::EC2::KeyPair::KeyName
SubnetId:
Description: Choose Subnet
Type: AWS::EC2::Subnet::Id
VpcId:
Description: Choose VPC
Type: AWS::EC2::VPC::Id
Ec2Role:
Description: Enter Name for EC2 Instance Role to create and attach to Prowler EC2 Instance
Type: String
AllowedPattern: ^[\w+=,.@-]{1,64}$
ConstraintDescription: Max 64 alphanumeric characters. Also special characters supported [+, =, ., @, -]
Default: ProwlerEC2-Role
ProwlerCron:
Description: Enter cron schedule. Default, runs everyday at 1am. See https://crontab.guru/, for syntax help.
Type: String
Default: "0 1 * * *"
LatestAmazonLinux2AmiId:
Type: AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>
Description: Latest AMI ID for Amazon Linux 2 (via AWS Publis SSM Parameters. See https://tinyurl.com/aws-public-ssm-parameters.
Default: /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-ebs
ProwlerS3:
Type: String
Description: Enter S3 Bucket for Prowler Reports. prefix-awsaccount-awsregion
AllowedPattern: ^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$
ConstraintDescription: Max 63 characters. Can't start or end with dash. Can use numbers and lowercase letters.
Default: prowler-123456789012-us-east-1
ProwlerS3Account:
Type: String
Description: Enter AWS Account Number where Prowler S3 Bucket resides.
AllowedPattern: ^\d{12}$
ConstraintDescription: An AWS Account Number must be a 12 digit numeric string.
Default: 123456789012
AwsOrgId:
Type: String
Description: Enter AWS Organizations ID
AllowedPattern: ^o-[a-z0-9]{10,32}$
ConstraintDescription: The Org Id must be a 12 character string starting with o- and followed by 10 lower case alphanumeric characters.
Default: o-abcde12345
CrossAccountRole:
Type: String
Description: Enter CrossAccount Role Prowler will be using to assess AWS Accounts in the AWS Organization. (ProwlerCrossAccountRole)
AllowedPattern: ^[\w+=,.@-]{1,64}$
ConstraintDescription: Max 64 alphanumeric characters. Also special characters [+, =, ., @, -]
Default: ProwlerXA-Role
Resources:
ProwlerEc2:
Type: AWS::EC2::Instance
CreationPolicy:
ResourceSignal:
Timeout: PT5M
Properties:
KeyName: !Ref KeyPair
ImageId: !Ref LatestAmazonLinux2AmiId
IamInstanceProfile: !Ref ProwlerInstanceProfile
InstanceType: !Ref InstanceType
SubnetId: !Ref SubnetId
SecurityGroupIds:
- !Ref ProwlerSecurityGroup
BlockDeviceMappings:
- DeviceName: /dev/xvda
Ebs:
Encrypted: true
KmsKeyId: alias/aws/ebs
VolumeType: standard
DeleteOnTermination: true
VolumeSize: 8
Tags:
- Key: Name
Value: !Ref ProwlerEc2Name
- Key: App
Value: Prowler
UserData:
Fn::Base64:
!Sub |
#!/bin/bash
yum update -y aws-cfn-bootstrap
/opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource ProwlerEc2 --configsets onfirstboot --region ${AWS::Region}
yum -y update
/opt/aws/bin/cfn-signal -e $? --stack ${AWS::StackName} --resource ProwlerEc2 --region ${AWS::Region}
Metadata:
AWS::CloudFormation::Authentication:
S3AccessCreds:
type: S3
buckets:
- !Ref ProwlerS3
roleName:
Ref: ProwlerEc2Role
AWS::CloudFormation::Init:
configSets:
onfirstboot:
- build-number
- configure-cfn
- prowler-prereqs
- prowler-reports
- prowler-schedule
onupdate:
- build-number
- prowler-prereqs
- prowler-reports
- prowler-schedule
build-number:
commands:
show-build-number:
command: !Sub |
echo "BUILDNUMBER: ${BuildNumber}"
configure-cfn:
files:
/etc/cfn/hooks.d/cfn-auto-reloader.conf:
content: !Sub |
[cfn-auto-reloader-hook]
triggers=post.update
path=Resources.ProwlerEc2.Metadata.AWS::CloudFormation::Init
action=/opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource ProwlerEc2 --configsets onupdate --region ${AWS::Region}
runas=root
mode: "000400"
owner: root
group: root
/etc/cfn/cfn-hup.conf:
content: !Sub |
[main]
stack=${AWS::StackId}
region=${AWS::Region}
verbose=true
interval=5
mode: "000400"
owner: root
group: root
services:
sysvinit:
cfn-hup:
enabled: true
ensureRunning: true
files:
- /etc/cfn/cfn-hup.conf
- /etc/cfn/hooks.d/cfn-auto-reloader.conf
prowler-prereqs:
files:
/home/ec2-user/.awsvariables:
content: !Sub |
export S3=s3://${ProwlerS3}
export S3ACCOUNT=${ProwlerS3Account}
export ROLE=${CrossAccountRole}
mode: "000600"
owner: ec2-user
group: ec2-user
commands:
01-install-prowler-prereqs-yum:
command: |
sudo yum -y install openssl-devel bzip2-devel libffi-devel gcc
02-upgrade-python3.9:
command: |
cd /tmp && wget https://www.python.org/ftp/python/3.9.13/Python-3.9.13.tgz
tar zxf Python-3.9.13.tgz
cd Python-3.9.13/
./configure --enable-optimizations
sudo make altinstall
03-install-prowler:
command: |
cd ~
python3.9 -m pip install prowler-cloud
prowler-reports:
files:
/home/ec2-user/run-prowler-reports.sh:
source: !Sub https://${ProwlerS3}.s3.${AWS::Region}.amazonaws.com/run-prowler-reports.sh
mode: "000700"
owner: ec2-user
group: ec2-user
prowler-schedule:
files:
/home/ec2-user/mycron-prowler:
content: !Sub |
${ProwlerCron} bash -lc ./run-prowler-reports.sh > mycron-prowler.log
mode: "000600"
owner: ec2-user
group: ec2-user
commands:
01-create-prowler-cron-job:
command: |
sudo -u ec2-user crontab /home/ec2-user/mycron-prowler
ProwlerSecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupName: Prowler-EC2-RemoteAdministration
GroupDescription: Allow Remote Administration
Tags:
- Key: App
Value: Prowler
VpcId: !Ref VpcId
SecurityGroupEgress:
- Description: Allow HTTP Outbound
IpProtocol: tcp
FromPort: 80
ToPort: 80
CidrIp: 0.0.0.0/0
- Description: Allow HTTPS Outbound
IpProtocol: tcp
FromPort: 443
ToPort: 443
CidrIp: 0.0.0.0/0
Metadata:
cfn_nag:
rules_to_suppress:
- id: W5
reason: "Using http/https to Internet for updates."
- id: W28
reason: "Using a defined Security Group Name."
ProwlerInstanceProfile:
Type: AWS::IAM::InstanceProfile
Properties:
Roles:
- !Ref ProwlerEc2Role
ProwlerEc2Role:
Type: AWS::IAM::Role
Properties:
Description: Prowler EC2 Instance Role
RoleName: !Ref Ec2Role
Tags:
- Key: App
Value: Prowler
AssumeRolePolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Principal:
Service:
- ec2.amazonaws.com
Action:
- sts:AssumeRole
Policies:
- PolicyName: SSM-Agent
PolicyDocument:
Version: 2012-10-17
Statement:
- Sid: AllowSsmAgent
Effect: Allow
Resource: "*"
Action:
- ssm:UpdateInstanceInformation
- ssm:ListInstanceAssociations
- ssm:UpdateInstanceAssociationStatus
- ssm:PutConfigurePackageResult
- ssm:GetManifest
- ssm:PutComplianceItems
- ec2messages:AcknowledgeMessage
- ec2messages:DeleteMessage
- ec2messages:FailMessage
- ec2messages:GetEndpoint
- ec2messages:GetMessages
- ec2messages:SendReply
- PolicyName: SSM-Inventory
PolicyDocument:
Version: 2012-10-17
Statement:
- Sid: AllowPutInventory
Effect: Allow
Resource: "*"
Action:
- ssm:PutInventory
- Sid: AllowGatherInventory
Effect: Allow
Resource: !Sub arn:${AWS::Partition}:ssm:${AWS::Region}::document/AWS-GatherSoftwareInventory
Action:
- ssm:GetDocument
- ssm:DescribeDocument
- PolicyName: SSM-SessionManager
PolicyDocument:
Version: 2012-10-17
Statement:
- Sid: AllowSessionManager
Effect: Allow
Resource: "*"
Action:
- ssmmessages:CreateControlChannel
- ssmmessages:CreateDataChannel
- ssmmessages:OpenControlChannel
- ssmmessages:OpenDataChannel
- PolicyName: Prowler-S3-Reports
PolicyDocument:
Version: 2012-10-17
Statement:
- Sid: AllowGetPutListObject
Effect: Allow
Resource:
- !Sub arn:${AWS::Partition}:s3:::${ProwlerS3}
- !Sub arn:${AWS::Partition}:s3:::${ProwlerS3}/*
Action:
- s3:GetObject
- s3:PutObject
- s3:ListBucket
- s3:PutObjectAcl
- PolicyName: Prowler-CrossAccount-AssumeRole
PolicyDocument:
Version: 2012-10-17
Statement:
- Sid: AllowStsAssumeRole
Effect: Allow
Resource: !Sub arn:${AWS::Partition}:iam::*:role/${CrossAccountRole}
Action: sts:AssumeRole
Condition:
StringEquals:
aws:PrincipalOrgId: !Ref AwsOrgId
Metadata:
cfn_nag:
rules_to_suppress:
- id: W28
reason: "Using a defined Role Name."
- id: W11
reason: "Needed for SSM features."
Outputs:
ProwlerEc2Account:
Description: AWS Account Number where Prowler EC2 Instance resides.
Value: !Ref AWS::AccountId
ProwlerEc2Role:
Description: Instance Role given to the Prowler EC2 Instance (needed to grant sts:AssumeRole rights).
Value: !Ref ProwlerEc2Role
ProwlerS3:
Description: S3 Bucket for Prowler Reports
Value: !Ref ProwlerS3
+116
View File
@@ -0,0 +1,116 @@
AWSTemplateFormatVersion: 2010-09-09
Description: Create the Cross-Account IAM Prowler Role
Metadata:
AWS::CloudFormation::Interface:
ParameterGroups:
- Label:
default: EC2 Settings
Parameters:
- ProwlerEc2Account
- ProwlerEc2Role
- Label:
default: S3 Settings
Parameters:
- ProwlerS3
- Label:
default: CrossAccount Role
Parameters:
- ProwlerCrossAccountRole
Parameters:
ProwlerS3:
Type: String
Description: Enter S3 Bucket for Prowler Reports. prefix-awsaccount-awsregion
AllowedPattern: ^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$
Default: prowler-123456789012-us-east-1
ProwlerEc2Account:
Type: String
Description: Enter AWS Account Number where Prowler EC2 Instance will reside.
AllowedPattern: ^\d{12}$
ConstraintDescription: An AWS Account Number must be a 12 digit numeric string.
ProwlerEc2Role:
Type: String
Description: Enter Instance Role that will be given to the Prowler EC2 Instance (needed to grant sts:AssumeRole rights).
AllowedPattern: ^[\w+=,.@-]{1,64}$
ConstraintDescription: Max 64 alphanumeric characters. Also special characters supported [+, =, ., @, -]
Default: ProwlerEC2-Role
ProwlerCrossAccountRole:
Type: String
Description: Enter Name for CrossAccount Role to be created for Prowler to assess all Accounts in the AWS Organization.
AllowedPattern: ^[\w+=,.@-]{1,64}$
ConstraintDescription: Max 64 alphanumeric characters. Also special characters supported [+, =, ., @, -]
Default: ProwlerXA-Role
Resources:
ProwlerRole:
Type: AWS::IAM::Role
Properties:
Description: Provides Prowler EC2 instance permissions to assess security of Accounts in AWS Organization
RoleName: !Ref ProwlerCrossAccountRole
Tags:
- Key: App
Value: Prowler
AssumeRolePolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Principal:
AWS:
- !Sub arn:${AWS::Partition}:iam::${ProwlerEc2Account}:root
Action:
- sts:AssumeRole
Condition:
StringLike:
aws:PrincipalArn: !Sub arn:${AWS::Partition}:iam::${ProwlerEc2Account}:role/${ProwlerEc2Role}
ManagedPolicyArns:
- !Sub arn:${AWS::Partition}:iam::aws:policy/SecurityAudit
- !Sub arn:${AWS::Partition}:iam::aws:policy/job-function/ViewOnlyAccess
Policies:
- PolicyName: Prowler-Additions-Policy
PolicyDocument:
Version: 2012-10-17
Statement:
- Sid: AllowMoreReadForProwler
Effect: Allow
Resource: "*"
Action:
- ds:ListAuthorizedApplications
- ec2:GetEbsEncryptionByDefault
- ecr:Describe*
- elasticfilesystem:DescribeBackupPolicy
- glue:GetConnections
- glue:GetSecurityConfiguration
- glue:SearchTables
- lambda:GetFunction
- s3:GetAccountPublicAccessBlock
- shield:DescribeProtection
- shield:GetSubscriptionState
- ssm:GetDocument
- support:Describe*
- tag:GetTagKeys
- PolicyName: Prowler-S3-Reports
PolicyDocument:
Version: 2012-10-17
Statement:
- Sid: AllowGetPutListObject
Effect: Allow
Resource:
- !Sub arn:${AWS::Partition}:s3:::${ProwlerS3}
- !Sub arn:${AWS::Partition}:s3:::${ProwlerS3}/*
Action:
- s3:GetObject
- s3:PutObject
- s3:ListBucket
Metadata:
cfn_nag:
rules_to_suppress:
- id: W11
reason: "Prowler requires these rights to perform its Security Assessment."
- id: W28
reason: "Using a defined Role Name."
Outputs:
ProwlerCrossAccountRole:
Description: CrossAccount Role to be used by Prowler to assess AWS Accounts in the AWS Organization.
Value: !Ref ProwlerCrossAccountRole
+106
View File
@@ -0,0 +1,106 @@
AWSTemplateFormatVersion: 2010-09-09
Description: Create Prowler S3 Bucket for Prowler Reports
Parameters:
AwsOrgId:
Type: String
Description: >
Enter AWS Organizations ID.
This is used to restrict permissions to least privilege.
AllowedPattern: ^o-[a-z0-9]{10,32}$
ConstraintDescription: The Org Id must be a 12 character string starting with o- and followed by 10 lower case alphanumeric characters.
Default: o-abcde12345
S3Prefix:
Type: String
Description: >
Enter S3 Bucket Name Prefix (in lowercase).
Bucket will be named: prefix-awsaccount-awsregion (i.e., prowler-123456789012-us-east-1)
AllowedPattern: ^[a-z0-9][a-z0-9-]{1,33}[a-z0-9]$
ConstraintDescription: >
Max 35 characters, as "-awsaccount-awsregion" will be added, and max name is 63 characters.
Can't start or end with dash. Can use numbers and lowercase letters.
Default: prowler
Resources:
ProwlerS3:
Type: AWS::S3::Bucket
Properties:
BucketName: !Sub ${S3Prefix}-${AWS::AccountId}-${AWS::Region}
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm: "AES256"
AccessControl: Private
PublicAccessBlockConfiguration:
BlockPublicAcls: True
BlockPublicPolicy: True
IgnorePublicAcls: True
RestrictPublicBuckets: True
VersioningConfiguration:
Status: Enabled
Tags:
- Key: App
Value: Prowler
Metadata:
cfn_nag:
rules_to_suppress:
- id: W35
reason: "This S3 Bucket is only being used by the AWS Organization to download/upload prowler reports."
ProwlerS3BucketPolicy:
Type: AWS::S3::BucketPolicy
Properties:
Bucket: !Ref ProwlerS3
PolicyDocument:
Statement:
- Sid: AllowGetPutListObject
Effect: Allow
Principal: "*"
Action:
- s3:GetObject
- s3:PutObject
- s3:ListBucket
- s3:PutObjectAcl
Resource:
- !Sub arn:${AWS::Partition}:s3:::${ProwlerS3}
- !Sub arn:${AWS::Partition}:s3:::${ProwlerS3}/*
Condition:
StringEquals:
aws:PrincipalOrgId: !Ref AwsOrgId
- Sid: DenyNonSSLRequests
Effect: Deny
Action: s3:*
Resource:
- !Sub arn:${AWS::Partition}:s3:::${ProwlerS3}
- !Sub arn:${AWS::Partition}:s3:::${ProwlerS3}/*
Principal: "*"
Condition:
Bool:
aws:SecureTransport: false
- Sid: DenyIncorrectEncryptionHeader
Effect: Deny
Principal: "*"
Action: s3:PutObject
Resource:
- !Sub arn:${AWS::Partition}:s3:::${ProwlerS3}/*
# Allow uploads with No Encryption, as S3 Default Encryption still applies.
# If Encryption is set, only allow uploads with AES256.
Condition:
"Null":
s3:x-amz-server-side-encryption: false
StringNotEquals:
s3:x-amz-server-side-encryption: AES256
Metadata:
cfn_nag:
rules_to_suppress:
- id: F16
reason: "This S3 Bucket Policy has a condition that only allows access to the AWS Organization."
Outputs:
ProwlerS3:
Description: S3 Bucket for Prowler Reports
Value: !Ref ProwlerS3
ProwlerS3Account:
Description: AWS Account Number where Prowler S3 Bucket resides.
Value: !Ref AWS::AccountId
+151
View File
@@ -0,0 +1,151 @@
# Example Solution: Organizational Prowler Deployment
Deploys [Prowler](https://github.com/prowler-cloud/prowler) to assess all Accounts in an AWS Organization on a schedule, creates assessment reports in HTML, and stores them in an S3 bucket.
---
## Example Solution Goals
- Using minimal technologies, so solution can be more easily adopted, and further enhanced as needed.
- [Amazon EC2](https://aws.amazon.com/ec2/), to run Prowler
- [Amazon S3](https://aws.amazon.com/s3/), to store Prowler script & reports.
- [AWS CloudFormation](https://aws.amazon.com/cloudformation/), to provision the AWS resources.
- [AWS Systems Manager Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html), Optional, but recommended, to manage the Prowler EC2 instance, without having to allow inbound ssh.
- Staying cohesive with Prowler, for scripting, only leveraging:
- Bash Shell
- AWS CLI
- Adhering to the principle of least privilege.
- Supporting an AWS Multi-Account approach
- Runs Prowler against All accounts in the AWS Organization
- ***NOTE: If using this solution, you are responsible for making your own independent assessment of the solution and ensuring it complies with your company security and operational standards.***
---
## Components
1. [ProwlerS3.yaml](ProwlerS3.yaml)
- Creates Private S3 Bucket for Prowler script and reports.
- Enables [Amazon S3 Block Public Access](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html)
- Enables SSE-S3 with [Amazon S3 Default Encryption](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html)
- Versioning Enabled
- Bucket Policy limits API actions to Principals from the same AWS Organization.
1. [ProwlerRole.yaml](ProwlerRole.yaml)
- Creates Cross-Account Role for Prowler to assess accounts in AWS Organization
- Allows Role to be assumed by the Prowler EC2 instance role in the AWS account where Prowler EC2 resides (preferably the Audit/Security account).
- Role has [permissions](https://github.com/prowler-cloud/prowler#custom-iam-policy) needed for Prowler to assess accounts.
- Role has rights to Prowler S3 from Component #1.
1. [ProwlerEC2.yaml](ProwlerEC2.yaml)
- Creates Prowler EC2 instance
- Uses the Latest Amazon Linux 2 AMI
- Uses ```t2.micro``` Instance Type
- Encrypts Root Volume with AWS Managed Key "aws/ebs"
- Uses [cfn-init](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-init.html) for prepping the Prowler EC2
- Installs necessary [packages](https://github.com/prowler-cloud/prowler#requirements-and-installation) for Prowler
- Downloads [run-prowler-reports.sh](src/run-prowler-reports.sh) script from Prowler S3 from Component #1.
- Creates ```/home/ec2-user/.awsvariables```, to store CloudFormation data as variables to be used in script.
- Creates cron job for Prowler to run on a schedule.
- Creates Prowler Security Group
- Denies inbound access. If using ssh to manage Prowler, then update Security Group with pertinent rule.
- Allows outbound 80/443 for updates, and Amazon S3 communications -
- Creates Instance Role that is used for Prowler EC2
- Role has permissions for [Systems Manager Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html) communications, and [Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html)
- Role has rights to Prowler S3 from Component #1.
- Role has rights to Assume Cross-Account Role from Component #2.
1. [run-prowler-reports.sh](src/run-prowler-reports.sh)
- Script is documented accordingly.
- Script loops through all AWS Accounts in AWS Organization, and by default, Runs Prowler as follows:
- -R: used to specify Cross-Account role for Prowler to assume to run its assessment.
- -A: used to specify AWS Account number for Prowler to run assessment against.
- -g cislevel1: used to specify cislevel1 checks for Prowler to assess
```bash
./prowler/prowler -R "$ROLE" -A "$accountId" -g cislevel1 -M html
```
- NOTE: Script can be modified to run Prowler as desired.
- Script runs Prowler against 1 AWS Account at a time.
- Update PARALLEL_ACCOUNTS variable in script, to specify how many Accounts to assess with Prowler in parallel.
- If running against multiple AWS Accounts in parallel, monitor performance, and upgrade Instance Type as necessary.
```bash
PARALLEL_ACCOUNTS="1"
```
- In summary:
- Download latest version of [Prowler](https://github.com/prowler-cloud/prowler)
- Find AWS Master Account
- Lookup All Accounts in AWS Organization
- Run Prowler against All Accounts in AWS Organization
- Save Reports to reports prefix in S3 from Component #1
- Report Names: date+time-accountid-report.html
---
## Instructions
1. Deploy [ProwlerS3.yaml](ProwlerS3.yaml) in the Logging Account.
- Could be deployed to any account in the AWS Organizations, if desired.
- See [How to get AWS Organization ID](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_details.html#orgs_view_org)
- Take Note of CloudFormation Outputs, that will be needed in deploying the below CloudFormation templates.
1. Upload [run-prowler-reports.sh](src/run-prowler-reports.sh) to the root of the S3 Bucket created in Step #1.
1. Deploy [ProwlerRole.yaml](ProwlerRole.yaml) in the Master Account
- Use CloudFormation Stacks, to deploy to Master Account, as organizational StackSets don't apply to the Master Account.
- Use CloudFormation StackSet, to deploy to all Member Accounts. See [Create Stack Set with Service-Managed Permissions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-getting-started-create.html#stacksets-orgs-associate-stackset-with-org)
- Take Note of CloudFormation Outputs, that will be needed in deploying the below CloudFormation templates.
1. Deploy [ProwlerEC2.yaml](ProwlerEC2.yaml) in the Audit/Security Account
- Could be deployed to any account in the AWS Organizations, if desired.
1. Prowler will run against all Accounts in AWS Organization, per the schedule you provided, and set in a cron job for ```ec2-user```
---
## Post-Setup
### Run Prowler on a Schedule against all Accounts in AWS Organization
1. Prowler will run on the Schedule you provided.
1. Cron job for ```ec2-user``` is managing the schedule.
1. This solution implemented this automatically. Nothing for you to do.
### Ad hoc Run Prowler against all Accounts in AWS Organization
1. Connect to Prowler EC2 Instance
- If using Session Manager, then after login, switch to ```ec2-user```, via: ```sudo bash``` and ```su - ec2-user```
- If using SSH, then login as ```ec2-user```
1. Run Prowler Script
```bash
cd /home/ec2-user
./run-prowler-reports.sh
```
### Ad hoc Run Prowler Interactively
1. Connect to Prowler EC2 Instance
- If using Session Manager, then after login, switch to ```ec2-user```, via: ```sudo bash``` and ```su - ec2-user```
- If using SSH, then login as ```ec2-user```
1. See Cross-Account Role and S3 Bucket being used for Prowler
```bash
cd /home/ec2-user
cat .awsvariables
```
1. Run Prowler interactively. See [Usage Examples](https://github.com/prowler-cloud/prowler#usage)
```bash
cd /home/ec2-user
./prowler/prowler
```
### Upgrading Prowler to Latest Version
1. Connect to Prowler EC2 Instance
- If using Session Manager, then after login, switch to ```ec2-user```, via: ```sudo bash``` and ```su - ec2-user```
- If using SSH, then login as ```ec2-user```
1. Delete the existing version of Prowler, and download the latest version of Prowler
```bash
cd /home/ec2-user
rm -rf prowler
git clone https://github.com/prowler-cloud/prowler.git
```
@@ -0,0 +1,48 @@
# Organizational Prowler with Serverless
Language: [Korean](README_kr.md)
This project is created to apply prowler in a multi-account environment within AWS Organizations.
CloudWatch triggers CodeBuild every fixed time.
CodeBuild executes the script which clones the latest prowler from [here](https://github.com/prowler-cloud/prowler) and performs security assessment on all the accounts in AWS Organizations. The assessment reports are sent to S3 bucket in Log Archive Account.
For more information on how to use prowler, see [here](https://github.com/prowler-cloud/prowler#usage).
![Untitled](docs/images/prowler_org_architecture.png)
1. **Log Archive Account**
1. Deploy [ProwlerS3.yaml](templates/ProwlerS3.yaml) in CloudFormation console.
The template creates S3 bucket for reports and bucket policy that limits API actions to principals from its AWS Organizations.
- AwsOrgId : AWS Organizations' Organization ID
- S3Prefix : The prefix included in the bucket name
2. **Master Account**
1. Deploy [ProwlerRole.yaml](templates/ProwlerRole.yaml) stack to CloudFormation in a bid to create resources to master account itself.
(The template will be also deployed for other member accounts as a StackSet)
- ProwlerCodeBuildAccount : Audit Account ID where CodeBuild resides. (preferably Audit/Security account)
- ProwlerCodeBuildRole : Role name to use in CodeBuild service
- ProwlerCrossAccountRole : Role name to assume for Cross account
- ProwlerS3 : The S3 bucket name where reports will be put
1. Create **StackSet** with [ProwlerRole.yaml](templates/ProwlerRole.yaml) to deploy Role into member accounts in AWS Organizations.
- ProwlerCodeBuildAccount : Audit Account ID where CodeBuild resides. (preferably Audit/Security account)
- ProwlerCodeBuildRole : Role name to use in CodeBuild service
- ProwlerCrossAccountRole : Role name to assume for Cross account
- ProwlerS3 : The S3 bucket name where reports will be put
- Permission : Service-managed permissions
- Deploy target : Deploy to organization 선택, Enable, Delete stacks 선택
- Specify regions : Region to deploy
3. **Audit Account**
1. Go to S3 console, create a bucket, upload [run-prowler-reports.sh.zip](src/run-prowler-reports.sh.zip)
- bucket name : prowler-util-*[Account ID]*-*[region]*
![Untitled](docs/images/s3_screenshot.png)
1. Deploy [ProwlerCodeBuildStack.yaml](templates/ProwlerCodeBuildStack.yaml) which creates CloudWatch Rule to trigger CodeBuild every fixed time, allowing prowler to audit multi-accounts.
- AwsOrgId : AWS Organizations' Organization ID
- CodeBuildRole : Role name to use in CodeBuild service
- CodeBuildSourceS3 : Object location uploaded from i
- prowler-util-*[Account ID]*-*[region]/**run-prowler-reports.sh.zip**
- CrossAccountRole : Role name for cross account created in the process **2** above.
- ProwlerReportS3 : The S3 bucket name where reports will be put
- ProwlerReportS3Account : The account where the report S3 bucket resides.
1. If you'd like to change the scheduled time,
1. You can change the cron expression of ScheduleExpression within [ProwlerCodeBuildStack.yaml](templates/ProwlerCodeBuildStack.yaml).
2. Alternatively, you can make changes directly from Events > Rules > ProwlerExecuteRule > Actions > Edit in CloudWatch console.
@@ -0,0 +1,62 @@
# Organizational Prowler with Serverless
Language: [English](README.md)
이 문서는 AWS Organization 내의 multi account 환경에서 prowler 를 적용하기 위해 작성된 문서입니다.
일정 시간마다 CloudWatch는 CodeBuild 를 트리거합니다.
CodeBuild 는 최신의 [prowler](https://github.com/prowler-cloud/prowler) 소스를 클론받고,
Organization 내의 모든 Account 에 대해 security assessment 를 수행합니다.
prowler 의 자세한 사용방법은 [이 곳](https://github.com/prowler-cloud/prowler#usagee) 을 참고합니다.
![Untitled](docs/images/prowler_org_architecture.png)
1. **Log Archive Account**에 접속합니다.
1. 아래 템플릿을 CloudFormation console 에서 배포합니다. 이를 통해 prowler 의 security assessment report 가 저장되는 bucket 과 bucket policy 를 생성합니다.
[ProwlerS3.yaml](templates/ProwlerS3.yaml)
- AwsOrgId : AWS Organizations의 Organization ID
- S3Prefix : 생성될 버킷의 이름에 포함되는 prefix
2. **Master Account** 에 접속합니다.
1. 아래 템플릿을 이용하여 CloudFormation **Stack**을 생성합니다. StackSet은 Master account 에 적용되지 않으므로 Stack 으로도 배포가 필요합니다.
[ProwlerRole.yaml](templates/ProwlerRole.yaml)
- ProwlerCodeBuildAccount : CodeBuild 가 있는 Audit Account ID
- ProwlerCodeBuildRole : CodeBuild의 생성될 Role 이름
- ProwlerCrossAccountRole : Cross account 용 Assume할 Role 이름
- ProwlerS3 : report 가 저장될 S3 bucket 명
2. 아래 템플릿을 이용하여 CloudFormation **StackSet**을 생성하여, Organazation에 포함된 account 대상으로도 아래 템플릿을 배포합니다.
[ProwlerRole.yaml](templates/ProwlerRole.yaml)
- ProwlerCodeBuildAccount : CodeBuild 가 있는 Audit Account
- ProwlerCodeBuildRole : CodeBuild에서 사용할 Role 이름
- ProwlerCrossAccountRole : Cross account 용 Assume할 Role 이름
- ProwlerS3 : report 가 저장될 S3 bucket 명
- Permission : Service-managed permissions
- Deploy target : Deploy to organization 선택, Enable, Delete stacks 선택
- Specify regions : 배포할 대상 리전을 선택
3. **Audit Account**에 접속합니다.
1. **S3 console** 로 이동하여 버킷을 생성하고 아래 항목을 **업로드**한 후, 버킷명을 복사해둡니다.
[run-prowler-reports.sh.zip](src/run-prowler-reports.sh.zip)
- bucket name : prowler-util-*<Account ID>*-*<region>*
![Untitled](docs/images/s3_screenshot.png)
2. 아래 템플릿으로 **CloudFormation stack** 을 생성합니다. 이 템플릿은 CloudWatch Rule 을 생성하여 일정 시간마다 CodeBuild 를 실행하여 prowler 가 multi accounts 를 audit 할 수 있도록 합니다.
[ProwlerCodeBuildStack.yaml](templates/ProwlerCodeBuildStack.yaml)
- AwsOrgId : AWS Organizations의 Organization ID
- CodeBuildRole : CodeBuild의 서비스 Role 이름
- CodeBuildSourceS3 : a 에서 업로드한 object 위치
- prowler-util-*<Account ID>*-*<region>/***run-prowler-reports.sh.zip**
- CrossAccountRole : 2번에서 생성한 Cross Account 용 Role 이름
- ProwlerReportS3 : report 가 저장될 S3 bucket 명
- ProwlerReportS3Account : report 가 저장될 S3 bucket이 위치한 Account
3. 스케줄 된 시간을 변경하고 싶은 경우
1. [ProwlerCodeBuildStack.yaml](templates/ProwlerCodeBuildStack.yaml) 내에서 ScheduleExpression의 크론 표현식을 변경할 수 있습니다.
2. 또는 CloudWatch console 에서 Events > Rules > ProwlerExecuteRule > Actions > Edit 에서 직접 변경할 수 있습니다.
Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

@@ -0,0 +1,119 @@
#!/bin/bash -e
#
# Run Prowler against All AWS Accounts in an AWS Organization
# Change Directory (rest of the script, assumes your in the ec2-user home directory)
# cd /home/ec2-user || exit
# Show Prowler Version, and Download Prowler, if it doesn't already exist
if ! ./prowler/prowler -V 2>/dev/null; then
git clone https://github.com/prowler-cloud/prowler.git
./prowler/prowler -V
fi
# Source .awsvariables (to read in Environment Variables from CloudFormation Data)
# shellcheck disable=SC1091
# source .awsvariables
# Get Values from Environment Variables Created on EC2 Instance from CloudFormation Data
echo "S3: $S3"
echo "S3ACCOUNT: $S3ACCOUNT"
echo "ROLE: $ROLE"
echo "FORMAT: $FORMAT"
# CleanUp Last Ran Prowler Reports, as they are already stored in S3.
rm -rf prowler/output/*.html
# Function to unset AWS Profile Variables
unset_aws() {
unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN
}
unset_aws
# Find THIS Account AWS Number
CALLER_ARN=$(aws sts get-caller-identity --output text --query "Arn")
PARTITION=$(echo "$CALLER_ARN" | cut -d: -f2)
THISACCOUNT=$(echo "$CALLER_ARN" | cut -d: -f5)
echo "THISACCOUNT: $THISACCOUNT"
echo "PARTITION: $PARTITION"
# Function to Assume Role to THIS Account & Create Session
this_account_session() {
unset_aws
role_credentials=$(aws sts assume-role --role-arn arn:"$PARTITION":iam::"$THISACCOUNT":role/"$ROLE" --role-session-name ProwlerRun --output json)
AWS_ACCESS_KEY_ID=$(echo "$role_credentials" | jq -r .Credentials.AccessKeyId)
AWS_SECRET_ACCESS_KEY=$(echo "$role_credentials" | jq -r .Credentials.SecretAccessKey)
AWS_SESSION_TOKEN=$(echo "$role_credentials" | jq -r .Credentials.SessionToken)
echo "this_account_session done..."
export AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN
}
# Find AWS Master Account
this_account_session
AWSMASTER=$(aws organizations describe-organization --query Organization.MasterAccountId --output text)
echo "AWSMASTER: $AWSMASTER"
# Function to Assume Role to Master Account & Create Session
master_account_session() {
unset_aws
role_credentials=$(aws sts assume-role --role-arn arn:"$PARTITION":iam::"$AWSMASTER":role/"$ROLE" --role-session-name ProwlerRun --output json)
AWS_ACCESS_KEY_ID=$(echo "$role_credentials" | jq -r .Credentials.AccessKeyId)
AWS_SECRET_ACCESS_KEY=$(echo "$role_credentials" | jq -r .Credentials.SecretAccessKey)
AWS_SESSION_TOKEN=$(echo "$role_credentials" | jq -r .Credentials.SessionToken)
echo "master_account_session done..."
export AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN
}
# Lookup All Accounts in AWS Organization
master_account_session
ACCOUNTS_IN_ORGS=$(aws organizations list-accounts --query Accounts[*].Id --output text)
# Function to Assume Role to S3 Account & Create Session
s3_account_session() {
unset_aws
role_credentials=$(aws sts assume-role --role-arn arn:"$PARTITION":iam::"$S3ACCOUNT":role/"$ROLE" --role-session-name ProwlerRun --output json)
AWS_ACCESS_KEY_ID=$(echo "$role_credentials" | jq -r .Credentials.AccessKeyId)
AWS_SECRET_ACCESS_KEY=$(echo "$role_credentials" | jq -r .Credentials.SecretAccessKey)
AWS_SESSION_TOKEN=$(echo "$role_credentials" | jq -r .Credentials.SessionToken)
echo "s3_account_session done..."
export AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN
}
# Run Prowler against Accounts in AWS Organization
echo "AWS Accounts in Organization"
echo "$ACCOUNTS_IN_ORGS"
PARALLEL_ACCOUNTS="1"
for accountId in $ACCOUNTS_IN_ORGS; do
# shellcheck disable=SC2015
test "$(jobs | wc -l)" -ge $PARALLEL_ACCOUNTS && wait || true
{
START_TIME=$SECONDS
# Unset AWS Profile Variables
unset_aws
# Run Prowler
echo -e "Assessing AWS Account: $accountId, using Role: $ROLE on $(date)"
# remove -g cislevel for a full report and add other formats if needed
./prowler/prowler -R "$ROLE" -A "$accountId" -g cislevel1 -M $FORMAT -z
echo "Report stored locally at: prowler/output/ directory"
TOTAL_SEC=$((SECONDS - START_TIME))
echo -e "Completed AWS Account: $accountId, using Role: $ROLE on $(date)"
printf "Completed AWS Account: $accountId in %02dh:%02dm:%02ds" $((TOTAL_SEC / 3600)) $((TOTAL_SEC % 3600 / 60)) $((TOTAL_SEC % 60))
echo ""
} &
done
# Wait for All Prowler Processes to finish
wait
echo "Prowler Assessments Completed against All Accounts in the AWS Organization. Starting S3 copy operations..."
# Upload Prowler Report to S3
s3_account_session
aws s3 cp prowler/output/ "$S3/reports/" --recursive --include "*.html" --acl bucket-owner-full-control
echo "Assessment reports successfully copied to S3 bucket"
# Final Wait for All Prowler Processes to finish
wait
echo "Prowler Assessments Completed"
# Unset AWS Profile Variables
unset_aws
@@ -0,0 +1,214 @@
---
AWSTemplateFormatVersion: 2010-09-09
Description: Creates a CodeBuild project to audit an AWS account with Prowler and stores the html report in a S3 bucket.
Parameters:
AwsOrgId:
Type: String
Description: Enter AWS Organizations ID
AllowedPattern: ^o-[a-z0-9]{10,32}$
ConstraintDescription: The Org Id must be a 12 character string starting with o- and followed by 10 lower case alphanumeric characters.
Default: o-itdezkbz6h
CodeBuildRole:
Description: Enter Name for CodeBuild Role to create
Type: String
AllowedPattern: ^[\w+=,.@-]{1,64}$
ConstraintDescription: Max 64 alphanumeric characters. Also special characters supported [+, =, ., @, -]
Default: ProwlerCodeBuild-Role
CodeBuildSourceS3:
Type: String
Description: Enter like <bucket-name>/<path>/<object-name>.zip
ConstraintDescription: Max 63 characters. Can't start or end with dash. Can use numbers and lowercase letters.
Default: prowler-util-411267690458-ap-northeast-2/run-prowler-reports.sh.zip
ProwlerReportS3:
Type: String
Description: Enter S3 Bucket for Prowler Reports. prefix-awsaccount-awsregion
AllowedPattern: ^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$
ConstraintDescription: Max 63 characters. Can't start or end with dash. Can use numbers and lowercase letters.
Default: prowler-954896828174-ap-northeast-2
ProwlerReportS3Account:
Type: String
Description: Enter AWS Account Number where Prowler S3 Bucket resides.
AllowedPattern: ^\d{12}$
ConstraintDescription: An AWS Account Number must be a 12 digit numeric string.
Default: 954896828174
CrossAccountRole:
Type: String
Description: Enter CrossAccount Role Prowler will be using to assess AWS Accounts in the AWS Organization. (ProwlerCrossAccountRole)
AllowedPattern: ^[\w+=,.@-]{1,64}$
ConstraintDescription: Max 64 alphanumeric characters. Also special characters [+, =, ., @, -]
Default: ProwlerXA-CBRole
ProwlerReportFormat:
Type: String
Description: Enter Prowler Option like html, csv, json
Default: html
Resources:
ProwlerCodeBuildRole:
Type: AWS::IAM::Role
Properties:
Description: Prowler CodeBuild Role
RoleName: !Ref CodeBuildRole
Tags:
- Key: App
Value: Prowler
AssumeRolePolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Principal:
Service:
- codebuild.amazonaws.com
Action:
- sts:AssumeRole
Policies:
- PolicyName: Prowler-S3
PolicyDocument:
Version: 2012-10-17
Statement:
- Sid: AllowGetPutListObject
Effect: Allow
Resource:
- !Sub arn:${AWS::Partition}:s3:::${ProwlerReportS3}
- !Sub arn:${AWS::Partition}:s3:::${ProwlerReportS3}/*
Action:
- s3:GetObject
- s3:PutObject
- s3:ListBucket
- s3:PutObjectAcl
- Sid: AllowReadOnlyS3Access
Effect: Allow
Resource: "*"
Action:
- "s3:Get*"
- "s3:List*"
- PolicyName: Prowler-CrossAccount-AssumeRole
PolicyDocument:
Version: 2012-10-17
Statement:
- Sid: AllowStsAssumeRole
Effect: Allow
Resource: !Sub arn:${AWS::Partition}:iam::*:role/${CrossAccountRole}
Action: sts:AssumeRole
Condition:
StringEquals:
aws:PrincipalOrgId: !Ref AwsOrgId
- PolicyName: Prowler-CloudWatch
PolicyDocument:
Version: 2012-10-17
Statement:
- Sid: AllowCreateLogs
Effect: Allow
Resource: !Sub arn:${AWS::Partition}:logs:*:*:log-group:*
Action:
- logs:CreateLogGroup
- logs:CreateLogStream
- Sid: AllowPutevent
Effect: Allow
Resource: !Sub arn:${AWS::Partition}:logs:*:*:log-group:*:log-stream:*
Action:
- logs:PutLogEvents
ProwlerCodeBuild:
Type: AWS::CodeBuild::Project
Properties:
Artifacts:
Type: NO_ARTIFACTS
Source:
Type: S3
Location: !Ref CodeBuildSourceS3
BuildSpec: |
version: 0.2
phases:
install:
runtime-versions:
python: 3.8
commands:
- echo "Updating yum ..."
- yum -y update --skip-broken
- echo "Updating pip ..."
- python -m pip install --upgrade pip
- echo "Installing requirements ..."
- pip install "git+https://github.com/ibm/detect-secrets.git@master#egg=detect-secrets"
build:
commands:
- echo "Running Prowler with script"
- chmod +x run-prowler-reports.sh
- ./run-prowler-reports.sh
post_build:
commands:
- echo "Done!"
Environment:
# AWS CodeBuild free tier includes 100 build minutes of BUILD_GENERAL1_SMALL per month.
# BUILD_GENERAL1_SMALL: Use up to 3 GB memory and 2 vCPUs for builds. $0.005/minute.
# BUILD_GENERAL1_MEDIUM: Use up to 7 GB memory and 4 vCPUs for builds. $0.01/minute.
# BUILD_GENERAL1_LARGE: Use up to 15 GB memory and 8 vCPUs for builds. $0.02/minute.
# BUILD_GENERAL1_2XLARGE: Use up to 144 GB memory and 72 vCPUs for builds. $0.20/minute.
ComputeType: "BUILD_GENERAL1_SMALL"
Image: "aws/codebuild/amazonlinux2-x86_64-standard:3.0"
Type: "LINUX_CONTAINER"
EnvironmentVariables:
- Name: "S3"
Value: !Sub s3://${ProwlerReportS3}
Type: PLAINTEXT
- Name: "S3ACCOUNT"
Value: !Ref ProwlerReportS3Account
Type: PLAINTEXT
- Name: "ROLE"
Value: !Ref CrossAccountRole
Type: PLAINTEXT
- Name: "FORMAT"
Value: !Ref ProwlerReportFormat
Type: PLAINTEXT
Description: Run Prowler assessment
ServiceRole: !GetAtt ProwlerCodeBuildRole.Arn
TimeoutInMinutes: 300
ProwlerCWRuleRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Principal:
Service:
- events.amazonaws.com
Action:
- sts:AssumeRole
Description: ProwlerCWRuleRole
RoleName: ProwlerCWRule-Role
Policies:
- PolicyName: Rule-Events
PolicyDocument:
Version: 2012-10-17
Statement:
- Sid: AWSEventInvokeCodeBuild
Effect: Allow
Resource: "*"
Action:
- codebuild:StartBuild
ProwlerRule:
Type: AWS::Events::Rule
Properties:
Description: This rule will trigger CodeBuild to audit AWS Accounts in my Organization with Prowler
ScheduleExpression: cron(0 21 * * ? *)
RoleArn: !GetAtt ProwlerCWRuleRole.Arn
Name: ProwlerExecuteRule
State: ENABLED
Targets:
- Arn: !Sub ${ProwlerCodeBuild.Arn}
Id: Prowler-CodeBuild-Target
RoleArn: !GetAtt ProwlerCWRuleRole.Arn
Outputs:
ProwlerEc2Account:
Description: AWS Account Number where Prowler EC2 Instance resides.
Value: !Ref AWS::AccountId
ProwlerCodeBuildRole:
Description: Instance Role given to the Prowler EC2 Instance (needed to grant sts:AssumeRole rights).
Value: !Ref ProwlerCodeBuildRole
ProwlerReportS3:
Description: S3 Bucket for Prowler Reports
Value: !Ref ProwlerReportS3
@@ -0,0 +1,127 @@
AWSTemplateFormatVersion: 2010-09-09
Description: Create the Cross-Account IAM Prowler Role
Metadata:
AWS::CloudFormation::Interface:
ParameterGroups:
- Label:
default: CodeBuild Settings
Parameters:
- ProwlerCodeBuildAccount
- ProwlerCodeBuildRole
- Label:
default: S3 Settings
Parameters:
- ProwlerS3
- Label:
default: CrossAccount Role
Parameters:
- ProwlerCrossAccountRole
Parameters:
ProwlerS3:
Type: String
Description: Enter S3 Bucket for Prowler Reports. prefix-awsaccount-awsregion
AllowedPattern: ^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$
Default: prowler-954896828174-ap-northeast-2
ProwlerCodeBuildAccount:
Type: String
Description: Enter AWS Account Number where Prowler CodeBuild Instance will reside.
AllowedPattern: ^\d{12}$
ConstraintDescription: An AWS Account Number must be a 12 digit numeric string.
Default: 411267690458
ProwlerCodeBuildRole:
Type: String
Description: Enter Instance Role that will be given to the Prowler CodeBuild (needed to grant sts:AssumeRole rights).
AllowedPattern: ^[\w+=,.@-]{1,64}$
ConstraintDescription: Max 64 alphanumeric characters. Also special characters supported [+, =, ., @, -]
Default: ProwlerCodeBuild-Role
ProwlerCrossAccountRole:
Type: String
Description: Enter Name for CrossAccount Role to be created for Prowler to assess all Accounts in the AWS Organization.
AllowedPattern: ^[\w+=,.@-]{1,64}$
ConstraintDescription: Max 64 alphanumeric characters. Also special characters supported [+, =, ., @, -]
Default: ProwlerXA-CBRole
Resources:
ProwlerRole:
Type: AWS::IAM::Role
Properties:
Description: Provides Prowler CodeBuild permissions to assess security of Accounts in AWS Organization
RoleName: !Ref ProwlerCrossAccountRole
Tags:
- Key: App
Value: Prowler
AssumeRolePolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Principal:
AWS:
- !Sub arn:${AWS::Partition}:iam::${ProwlerCodeBuildAccount}:root
Action:
- sts:AssumeRole
Condition:
StringLike:
aws:PrincipalArn: !Sub arn:${AWS::Partition}:iam::${ProwlerCodeBuildAccount}:role/${ProwlerCodeBuildRole}
ManagedPolicyArns:
- !Sub arn:${AWS::Partition}:iam::aws:policy/SecurityAudit
- !Sub arn:${AWS::Partition}:iam::aws:policy/job-function/ViewOnlyAccess
Policies:
- PolicyName: Prowler-Additions-Policy
PolicyDocument:
Version: 2012-10-17
Statement:
- Sid: AllowMoreReadForProwler
Effect: Allow
Resource: "*"
Action:
- access-analyzer:List*
- apigateway:Get*
- apigatewayv2:Get*
- aws-marketplace:ViewSubscriptions
- dax:ListTables
- ds:ListAuthorizedApplications
- ds:DescribeRoles
- ec2:GetEbsEncryptionByDefault
- ecr:Describe*
- lambda:GetAccountSettings
- lambda:GetFunctionConfiguration
- lambda:GetLayerVersionPolicy
- lambda:GetPolicy
- opsworks-cm:Describe*
- opsworks:Describe*
- secretsmanager:ListSecretVersionIds
- sns:List*
- sqs:ListQueueTags
- states:ListActivities
- support:Describe*
- tag:GetTagKeys
- shield:GetSubscriptionState
- shield:DescribeProtection
- elasticfilesystem:DescribeBackupPolicy
- PolicyName: Prowler-S3-Reports
PolicyDocument:
Version: 2012-10-17
Statement:
- Sid: AllowGetPutListObject
Effect: Allow
Resource:
- !Sub arn:${AWS::Partition}:s3:::${ProwlerS3}
- !Sub arn:${AWS::Partition}:s3:::${ProwlerS3}/*
Action:
- s3:GetObject
- s3:PutObject
- s3:ListBucket
Metadata:
cfn_nag:
rules_to_suppress:
- id: W11
reason: "Prowler requires these rights to perform its Security Assessment."
- id: W28
reason: "Using a defined Role Name."
Outputs:
ProwlerCrossAccountRole:
Description: CrossAccount Role to be used by Prowler to assess AWS Accounts in the AWS Organization.
Value: !Ref ProwlerCrossAccountRole
@@ -0,0 +1,106 @@
AWSTemplateFormatVersion: 2010-09-09
Description: Create Prowler S3 Bucket for Prowler Reports
Parameters:
AwsOrgId:
Type: String
Description: >
Enter AWS Organizations ID.
This is used to restrict permissions to least privilege.
AllowedPattern: ^o-[a-z0-9]{10,32}$
ConstraintDescription: The Org Id must be a 12 character string starting with o- and followed by 10 lower case alphanumeric characters.
Default: o-abcde12345
S3Prefix:
Type: String
Description: >
Enter S3 Bucket Name Prefix (in lowercase).
Bucket will be named: prefix-awsaccount-awsregion (i.e., prowler-123456789012-us-east-1)
AllowedPattern: ^[a-z0-9][a-z0-9-]{1,33}[a-z0-9]$
ConstraintDescription: >
Max 35 characters, as "-awsaccount-awsregion" will be added, and max name is 63 characters.
Can't start or end with dash. Can use numbers and lowercase letters.
Default: prowler
Resources:
ProwlerS3:
Type: AWS::S3::Bucket
Properties:
BucketName: !Sub ${S3Prefix}-${AWS::AccountId}-${AWS::Region}
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm: "AES256"
AccessControl: Private
PublicAccessBlockConfiguration:
BlockPublicAcls: True
BlockPublicPolicy: True
IgnorePublicAcls: True
RestrictPublicBuckets: True
VersioningConfiguration:
Status: Enabled
Tags:
- Key: App
Value: Prowler
Metadata:
cfn_nag:
rules_to_suppress:
- id: W35
reason: "This S3 Bucket is only being used by the AWS Organization to download/upload prowler reports."
ProwlerS3BucketPolicy:
Type: AWS::S3::BucketPolicy
Properties:
Bucket: !Ref ProwlerS3
PolicyDocument:
Statement:
- Sid: AllowGetPutListObject
Effect: Allow
Principal: "*"
Action:
- s3:GetObject
- s3:PutObject
- s3:ListBucket
- s3:PutObjectAcl
Resource:
- !Sub arn:${AWS::Partition}:s3:::${ProwlerS3}
- !Sub arn:${AWS::Partition}:s3:::${ProwlerS3}/*
Condition:
StringEquals:
aws:PrincipalOrgId: !Ref AwsOrgId
- Sid: DenyNonSSLRequests
Effect: Deny
Action: s3:*
Resource:
- !Sub arn:${AWS::Partition}:s3:::${ProwlerS3}
- !Sub arn:${AWS::Partition}:s3:::${ProwlerS3}/*
Principal: "*"
Condition:
Bool:
aws:SecureTransport: false
- Sid: DenyIncorrectEncryptionHeader
Effect: Deny
Principal: "*"
Action: s3:PutObject
Resource:
- !Sub arn:${AWS::Partition}:s3:::${ProwlerS3}/*
# Allow uploads with No Encryption, as S3 Default Encryption still applies.
# If Encryption is set, only allow uploads with AES256.
Condition:
"Null":
s3:x-amz-server-side-encryption: false
StringNotEquals:
s3:x-amz-server-side-encryption: AES256
Metadata:
cfn_nag:
rules_to_suppress:
- id: F16
reason: "This S3 Bucket Policy has a condition that only allows access to the AWS Organization."
Outputs:
ProwlerS3:
Description: S3 Bucket for Prowler Reports
Value: !Ref ProwlerS3
ProwlerS3Account:
Description: AWS Account Number where Prowler S3 Bucket resides.
Value: !Ref AWS::AccountId
@@ -0,0 +1,115 @@
#!/bin/bash -e
#
# Run Prowler against All AWS Accounts in an AWS Organization
# Change Directory (rest of the script, assumes your in the ec2-user home directory)
cd /home/ec2-user || exit
# Show Prowler Version, and Download Prowler, if it doesn't already exist
if ! ./prowler/prowler -V 2>/dev/null; then
git clone https://github.com/prowler-cloud/prowler.git
./prowler/prowler -V
fi
# Source .awsvariables (to read in Environment Variables from CloudFormation Data)
# shellcheck disable=SC1091
source .awsvariables
# Get Values from Environment Variables Created on EC2 Instance from CloudFormation Data
echo "S3: $S3"
echo "S3ACCOUNT: $S3ACCOUNT"
echo "ROLE: $ROLE"
# CleanUp Last Ran Prowler Reports, as they are already stored in S3.
rm -rf prowler/output/*.html
# Function to unset AWS Profile Variables
unset_aws() {
unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN
}
unset_aws
# Find THIS Account AWS Number
CALLER_ARN=$(aws sts get-caller-identity --output text --query "Arn")
PARTITION=$(echo "$CALLER_ARN" | cut -d: -f2)
THISACCOUNT=$(echo "$CALLER_ARN" | cut -d: -f5)
echo "THISACCOUNT: $THISACCOUNT"
echo "PARTITION: $PARTITION"
# Function to Assume Role to THIS Account & Create Session
this_account_session() {
unset_aws
role_credentials=$(aws sts assume-role --role-arn arn:"$PARTITION":iam::"$THISACCOUNT":role/"$ROLE" --role-session-name ProwlerRun --output json)
AWS_ACCESS_KEY_ID=$(echo "$role_credentials" | jq -r .Credentials.AccessKeyId)
AWS_SECRET_ACCESS_KEY=$(echo "$role_credentials" | jq -r .Credentials.SecretAccessKey)
AWS_SESSION_TOKEN=$(echo "$role_credentials" | jq -r .Credentials.SessionToken)
export AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN
}
# Find AWS Master Account
this_account_session
AWSMASTER=$(aws organizations describe-organization --query Organization.MasterAccountId --output text)
echo "AWSMASTER: $AWSMASTER"
# Function to Assume Role to Master Account & Create Session
master_account_session() {
unset_aws
role_credentials=$(aws sts assume-role --role-arn arn:"$PARTITION":iam::"$AWSMASTER":role/"$ROLE" --role-session-name ProwlerRun --output json)
AWS_ACCESS_KEY_ID=$(echo "$role_credentials" | jq -r .Credentials.AccessKeyId)
AWS_SECRET_ACCESS_KEY=$(echo "$role_credentials" | jq -r .Credentials.SecretAccessKey)
AWS_SESSION_TOKEN=$(echo "$role_credentials" | jq -r .Credentials.SessionToken)
export AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN
}
# Lookup All Accounts in AWS Organization
master_account_session
ACCOUNTS_IN_ORGS=$(aws organizations list-accounts --query Accounts[*].Id --output text)
# Function to Assume Role to S3 Account & Create Session
s3_account_session() {
unset_aws
role_credentials=$(aws sts assume-role --role-arn arn:"$PARTITION":iam::"$S3ACCOUNT":role/"$ROLE" --role-session-name ProwlerRun --output json)
AWS_ACCESS_KEY_ID=$(echo "$role_credentials" | jq -r .Credentials.AccessKeyId)
AWS_SECRET_ACCESS_KEY=$(echo "$role_credentials" | jq -r .Credentials.SecretAccessKey)
AWS_SESSION_TOKEN=$(echo "$role_credentials" | jq -r .Credentials.SessionToken)
export AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN
}
# Run Prowler against Accounts in AWS Organization
echo "AWS Accounts in Organization"
echo "$ACCOUNTS_IN_ORGS"
PARALLEL_ACCOUNTS="1"
for accountId in $ACCOUNTS_IN_ORGS; do
# shellcheck disable=SC2015
test "$(jobs | wc -l)" -ge $PARALLEL_ACCOUNTS && wait || true
{
START_TIME=$SECONDS
# Unset AWS Profile Variables
unset_aws
# Run Prowler
echo -e "Assessing AWS Account: $accountId, using Role: $ROLE on $(date)"
# remove -g cislevel for a full report and add other formats if needed
./prowler/prowler.py --role arn:"$PARTITION":iam::"$accountId":role/"$ROLE" --compliance cis_1.5_aws -M html
echo "Report stored locally at: prowler/output/ directory"
TOTAL_SEC=$((SECONDS - START_TIME))
echo -e "Completed AWS Account: $accountId, using Role: $ROLE on $(date)"
printf "Completed AWS Account: $accountId in %02dh:%02dm:%02ds" $((TOTAL_SEC / 3600)) $((TOTAL_SEC % 3600 / 60)) $((TOTAL_SEC % 60))
echo ""
} &
done
# Wait for All Prowler Processes to finish
wait
echo "Prowler Assessments Completed against All Accounts in the AWS Organization. Starting S3 copy operations..."
# Upload Prowler Report to S3
s3_account_session
aws s3 cp prowler/output/ "$S3/reports/" --recursive --include "*.html" --acl bucket-owner-full-control
echo "Assessment reports successfully copied to S3 bucket"
# Final Wait for All Prowler Processes to finish
wait
echo "Prowler Assessments Completed"
# Unset AWS Profile Variables
unset_aws
@@ -0,0 +1,75 @@
---
AWSTemplateFormatVersion: '2010-09-09'
Description: Prowler Auditing Role - in Control Tower pick AWSControlTowerStackSetRole for IAM role and AWSControlTowerExecution for execution
Parameters:
AuditorAccountId:
Default: 987600001234
Description: AWS Account ID where the audit tooling executes
Type: Number
AuditRolePathName:
Default: '/audit/prowler/XA_AuditRole_Prowler'
Description: Path for role name in audit tooling account
Type: String
Resources:
XAAuditRole:
Type: "AWS::IAM::Role"
Properties: # /audit/prowler/XA_AuditRole_Prowler
RoleName: XA_AuditRole_Prowler
Path: "/audit/prowler/"
ManagedPolicyArns:
- arn:aws:iam::aws:policy/SecurityAudit
- arn:aws:iam::aws:policy/AWSOrganizationsReadOnlyAccess
- arn:aws:iam::aws:policy/IAMReadOnlyAccess
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: "Allow"
Principal:
AWS: # TODO: review permissions to see if this can be narrowed down - code build only perhaps
- !Sub "arn:aws:iam::${AuditorAccountId}:root"
Action:
- "sts:AssumeRole"
- Effect: "Allow"
Principal:
Service:
- "codebuild.amazonaws.com"
Action:
- "sts:AssumeRole"
# TODO: restrict to only AuditorAccount only
Policies:
- PolicyName: "ProwlerPolicyAdditions"
PolicyDocument:
Version: "2012-10-17"
Statement:
- Sid: "ProwlerPolicyAdditions"
Effect: "Allow"
Resource: "*"
Action:
- "acm:describecertificate"
- "acm:listcertificates"
- "apigateway:GET"
- "cloudtrail:GetEventSelectors"
- "ec2:GetEbsEncryptionByDefault"
- "es:describeelasticsearchdomainconfig"
- "guardduty:ListDetectors"
- "guardduty:GetDetector"
- "logs:DescribeLogGroups"
- "logs:DescribeMetricFilters"
- "s3:GetEncryptionConfiguration"
- "ses:getidentityverificationattributes"
- "sns:listsubscriptionsbytopic"
- "support:*"
- "trustedadvisor:Describe*"
Metadata:
cfn_nag:
rules_to_suppress:
- id: W28
reason: "the role name is intentionally static"
- id: W11
reason: "the policy grants read/view/audit access only, to all resources, by design"
- id: F3
reason: "Support does not allow or deny access to individual actions"
@@ -0,0 +1,411 @@
---
AWSTemplateFormatVersion: '2010-09-09'
Description: Prowler Auditing Tools Stack
Metadata:
AWS::CloudFormation::Interface:
ParameterGroups:
- Label:
default: "Organizations and Accounts"
Parameters:
- pOrgMasterAccounts
- pOrgExcludedAccounts
- pStandAloneAccounts
- Label:
default: "Check Group and Execution"
Parameters:
- pProwlerCheckGroup
- pAuditEveryXHours
- Label:
default: "Advanced"
Parameters:
- pTimeoutMinutes
- pAuditRolePathName
- pCustomProwlerRepo
- pCustomProwlerCloneArgs
ParameterLabels:
pOrgMasterAccounts:
default: "Organization Master Accounts"
pOrgExcludedAccounts:
default: "Excluded Organiztion Members"
pStandAloneAccounts:
default: "Stand-alone Accounts"
pProwlerCheckGroup:
default: "Prowler Check Group"
pAuditEveryXHours:
default: "Perform Audit every X hours"
pTimeoutMinutes:
default: "Permit Audit to run for X minutes"
pAuditRolePathName:
default: "Custom audit role path"
pCustomProwlerRepo:
default: "Custom git repo location for prowler"
pCustomProwlerCloneArgs:
default: "Custom arguments to git clone --depth 1"
Parameters:
pAuditEveryXHours:
Default: 24
Type: Number
Description: Number of hours between prowler audit runs.
MinValue: 2
MaxValue: 168
pTimeoutMinutes:
Default: 30
Type: Number
Description: Timeout for running prowler across the fleet
MinValue: 5
MaxValue: 480
pAuditRolePathName:
Default: '/audit/prowler/XA_AuditRole_Prowler'
Type: String
Description: Role path and name which prowler will assume in the target accounts (Audit_Exec_Role.yaml)
# TODO: Validation: begins with "/" and does NOT end with "/"
pOrgMasterAccounts:
Description: Comma Separated list of Organization Master Accounts, or 'none'
Default: 'none'
Type: String
MinLength: 4
AllowedPattern: ^(none|([0-9]{12}(,[0-9]{12})*))$
ConstraintDescription: comma separated list 12-digit account numbers, or 'none'
pOrgExcludedAccounts: # Comma Separated list of Org Member Accounts to EXCLUDE
Description: Comma Separated list of Skipped Organization Member Accounts, or 'none'
Default: 'none'
Type: String
MinLength: 4
AllowedPattern: ^(none|([0-9]{12}(,[0-9]{12})*))$
ConstraintDescription: comma separated list 12-digit account numbers, or 'none'
pStandAloneAccounts: # Comma Separated list of Stand-Alone Accounts
Description: Comma Separated list of Stand-alone Accounts, or 'none'
Default: 'none'
Type: String
MinLength: 4
AllowedPattern: ^(none|([0-9]{12}(,[0-9]{12})*))$
ConstraintDescription: comma separated list 12-digit account numbers, or 'none'
pProwlerCheckGroup:
Default: 'cislevel1'
Type: String
Description: Which group of checks should prowler run
AllowedValues:
- 'group1'
- 'group2'
- 'group3'
- 'group4'
- 'cislevel1'
- 'cislevel2'
- 'extras'
- 'forensics-ready'
- 'gdpr'
- 'hipaa'
- 'secrets'
- 'apigateway'
- 'rds'
pCustomProwlerRepo:
Type: String
Default: 'https://github.com/prowler-cloud/prowler.git'
MinLength: 10
pCustomProwlerCloneArgs:
Type: String
Default: '--branch master'
MinLength: 0
##### TODO
# pResultsBucket: # if specified, use an existing bucket for the data
# pEnableAthena:
# Default: false
# Type: Boolean
# Description: Set to true to enable creation of Athena/QuickSight resources
#### TODO
# Conditions:
# cUseAthena: False
Resources:
# S3 Bucket for Results, Config
ProwlerResults:
Type: "AWS::S3::Bucket"
Properties:
# BucketName: !Sub "audit-results-${AWS::AccountId}"
Tags:
- Key: "data-type"
Value: "it-audit:sensitive"
- Key: "data-public"
Value: "NO"
AccessControl: Private
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm: AES256
PublicAccessBlockConfiguration:
BlockPublicAcls: True
BlockPublicPolicy: True
IgnorePublicAcls: True
RestrictPublicBuckets: True
# LoggingConfiguration:
# TODO: Enable BucketLogging - requires more parameters
DeletionPolicy: "Retain"
Metadata:
cfn_nag:
rules_to_suppress:
- id: W35
reason: "Bucket logging requires additional configuration not yet supported by this template"
# Policy to allow assuming the XA_AuditRole_Prowler in target accounts
ProwlerAuditManagerRole:
Type: AWS::IAM::Role
Properties:
RoleName: AuditManagerRole_Prowler
AssumeRolePolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Principal:
Service: codebuild.amazonaws.com
Action:
- sts:AssumeRole
Path: /
Policies:
- PolicyName: AssumeRole-XA_AuditRole_Prowler
PolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Action:
- sts:AssumeRole
Resource:
- !Sub "arn:aws:iam::*:role${pAuditRolePathName}"
- Effect: Allow
Action:
- s3:PutObject
- s3:GetObject
- s3:GetObjectVersion
Resource:
- !Sub "${ProwlerResults.Arn}/*"
- Effect: Allow
Action:
- s3:ListBucket
- s3:HeadBucket
- s3:GetBucketLocation
- s3:GetBucketAcl
Resource:
- !Sub "${ProwlerResults.Arn}"
- Effect: Allow
Action:
- logs:CreateLogGroup
- logs:CreateLogStream
- logs:PutLogEvents
Resource:
- !Sub "arn:aws:logs:${AWS::Region}:${AWS::AccountId}:log-group:*"
- !Sub "${ProwlerResults.Arn}"
- Effect: Allow
Action:
- ssm:GetParameters
Resource:
- !Sub "arn:aws:ssm:us-east-1:${AWS::AccountId}:parameter/audit/prowler/config/*"
Metadata:
cfn_nag:
rules_to_suppress:
- id: W28
reason: "the role name is intentionally static"
- id: W11
reason: "not sure where the violation of w11 is"
## Code Build Job
ProwlerBuildProject:
Type: "AWS::CodeBuild::Project"
Properties:
Name: PerformProwlerAudit
Description: "Run Prowler audit on accounts in targeted organizations"
QueuedTimeoutInMinutes: 480
TimeoutInMinutes: !Ref pTimeoutMinutes
ServiceRole: !Ref ProwlerAuditManagerRole
EncryptionKey: !Sub "arn:aws:kms:us-east-1:${AWS::AccountId}:alias/aws/s3"
Environment:
Type: "LINUX_CONTAINER"
ComputeType: "BUILD_GENERAL1_MEDIUM"
PrivilegedMode: False
Image: "aws/codebuild/standard:2.0-1.12.0"
ImagePullCredentialsType: "CODEBUILD"
Artifacts: # s3://stack-prowlerresults-randomness/prowler/results/...
Name: "results"
Type: "S3"
Location: !Ref ProwlerResults
Path: "prowler"
NamespaceType: NONE
Packaging: NONE
OverrideArtifactName: False
EncryptionDisabled: False
LogsConfig: # S3/logs/pipeline/
CloudWatchLogs:
Status: ENABLED
GroupName: "audit/prowler"
StreamName: "codebuild_runs"
S3Logs:
Status: DISABLED
# Location: !Sub "${ProwlerResults.Arn}/codebuild_run_logs"
EncryptionDisabled: False
BadgeEnabled: False
Tags:
- Key: "data-type"
Value: "it-audit:sensitive"
- Key: "data-public"
Value: "NO"
Cache:
Type: "NO_CACHE"
Source:
Type: NO_SOURCE
BuildSpec: |
version: 0.2
env:
parameter-store:
PROWL_CHECK_GROUP: /audit/prowler/config/check_group
PROWL_MASTER_ACCOUNTS: /audit/prowler/config/orgmaster_accounts
PROWL_STANDALONE_ACCOUNTS: /audit/prowler/config/standalone_accounts
PROWL_SKIP_ACCOUNTS: /audit/prowler/config/skip_accounts
PROWL_AUDIT_ROLE: /audit/prowler/config/audit_role
PROWLER_REPO: /audit/prowler/config/gitrepo
PROWLER_CLONE_ARGS: /audit/prowler/config/gitcloneargs
phases:
install:
runtime-versions:
python: 3.7
commands:
- aws --version
- git clone --depth 1 $PROWLER_REPO $PROWLER_CLONE_ARGS
pre_build:
commands:
- env | grep PROWL_
- export OUTBASE=$(date -u +"out/diagnostics/%Y/%m/%d")
- export STAMP=$(date -u +"%Y%m%dT%H%M%SZ")
- mkdir -p $OUTBASE || true
- prowler/prowler -V
- aws sts get-caller-identity > ${OUTBASE}/${STAMP}-caller-id.json
build:
commands:
#### Run Prowler against this account, but don't fail the build
# - export PROWLER_ACCOUNT_ID=$(aws sts get-caller-identity | jq -r '.Account')
# - /bin/bash prowler/prowler -g cislevel1 -M csv -n -k > ${OUTBASE}/${STAMP}.${PROWLER_ACCOUNT_ID}.prowler.cislevel1.csv || /bin/true
# - /bin/bash prowler/prowler -g forensics-ready -M csv -n -k > ${OUTBASE}/${STAMP}.${PROWLER_ACCOUNT_ID}.prowler.forensics-ready.csv || /bin/true
#### Run Prowler targeting all accounts in the configured organizations
- test -f prowler/util/multi-account/config
- /bin/bash prowler/util/multi-account/megaprowler.sh out
finally:
- ps axuwww | grep -E 'parallel|sem|prowler'
post_build:
commands:
- echo "attempting to collect any prowler credential reports ..."
- find /tmp/ -name prowler\* | xargs -I % cp % ${OUTDIAG} || true
artifacts:
files:
- '**/*'
discard-paths: no
base-directory: out
ProwlerAuditTriggerRole:
Type: AWS::IAM::Role
Properties:
# RoleName: Let cloudformation create this
AssumeRolePolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Principal:
Service: events.amazonaws.com
Action:
- sts:AssumeRole
Path: /
Policies:
- PolicyName: AssumeRole-XA_AuditRole_Prowler
PolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Action:
- codebuild:StartBuild
Resource:
- !GetAtt ProwlerBuildProject.Arn
ProwlerAuditTrigger:
Type: AWS::Events::Rule
Properties:
Description: !Sub "Execute Prowler audit every ${pAuditEveryXHours} hours"
Name: "ScheduledProwler"
RoleArn: !GetAtt ProwlerAuditTriggerRole.Arn
## Other ways to define scheduling
# ScheduleExpression: "cron(MM HH ? * * *)"
# ScheduleExpression: "cron(45 15 ? * * *)"
# ScheduleExpression: !Sub "rate( ${pAuditEveryXHours} hours)"
ScheduleExpression: !Sub "rate(${pAuditEveryXHours} hours)"
State: ENABLED
Targets:
- Arn: !GetAtt ProwlerBuildProject.Arn
Id: 'ScheduledProwler'
RoleArn: !GetAtt ProwlerAuditTriggerRole.Arn
ProwlerConfigCheckGroup:
Type: AWS::SSM::Parameter
Properties:
Description: "Name of the prowler check group to use"
Name: "/audit/prowler/config/check_group"
Type: "String"
Value: !Ref pProwlerCheckGroup
ProwlerConfigMasterAccounts:
Type: AWS::SSM::Parameter
Properties:
Description: "List of organization master accounts"
Name: "/audit/prowler/config/orgmaster_accounts"
Type: "String"
Value: !Ref pOrgMasterAccounts
ProwlerConfigStandAloneAccounts:
Type: AWS::SSM::Parameter
Properties:
Description: "List of stand-alone accounts"
Name: "/audit/prowler/config/standalone_accounts"
Type: "String"
Value: !Ref pStandAloneAccounts
ProwlerConfigSkipAccounts:
Type: AWS::SSM::Parameter
Properties:
Description: "List of skipped organization member accounts"
Name: "/audit/prowler/config/skip_accounts"
Type: "String"
Value: !Ref pOrgExcludedAccounts
ProwlerConfigAuditRole:
Type: AWS::SSM::Parameter
Properties:
Description: "Role used to audit target accounts"
Name: "/audit/prowler/config/audit_role"
Type: "String"
Value: !Ref pAuditRolePathName
ProwlerConfigGitRepo:
Type: AWS::SSM::Parameter
Properties:
Description: "Git repository where prowler is gathered"
Name: "/audit/prowler/config/gitrepo"
Type: "String"
Value: !Ref pCustomProwlerRepo
ProwlerConfigGitCloneArgs:
Type: AWS::SSM::Parameter
Properties:
Description: "Git clone arguments"
Name: "/audit/prowler/config/gitcloneargs"
Type: "String"
Value: !Ref pCustomProwlerCloneArgs
# -- Conditional "cUseAthena"
# Athena
# QuickSight
# ???
Outputs:
ResultsBucket:
Description: S3 Bucket with Prowler Results, Logs, Configs
Value: !Ref ProwlerResults
@@ -0,0 +1,33 @@
#!/bin/bash
########### CODEBUILD CONFIGURATION ##################
# shellcheck disable=SC2034
## Collect environment parameters set by buildspec
CHECKGROUP=${PROWL_CHECK_GROUP}
if [ "none" == "${PROWL_MASTER_ACCOUNTS}" ]; then
ORG_MASTERS=""
else
ORG_MASTERS=$(echo "${PROWL_MASTER_ACCOUNTS}" | tr "," " ")
fi
if [ "none" == "${PROWL_STANDALONE_ACCOUNTS}" ]; then
STANDALONE_ACCOUNTS=""
else
STANDALONE_ACCOUNTS=$(echo "${PROWL_STANDALONE_ACCOUNTS}" | tr "," " ")
fi
if [ "none" == "${PROWL_SKIP_ACCOUNTS}" ]; then
SKIP_ACCOUNTS_REGEX='^$'
else
skip_inside=$(echo "${PROWL_SKIP_ACCOUNTS}" | tr "," "|")
# shellcheck disable=SC2116
SKIP_ACCOUNTS_REGEX=$(echo "(${skip_inside})" )
fi
AUDIT_ROLE=${PROWL_AUDIT_ROLE}
# Adjust if you clone prowler from somewhere other than the default location
PROWLER='prowler/prowler'
# Change this if you want to ensure it breaks in code build
CREDSOURCE='EcsContainer'
@@ -0,0 +1,202 @@
#!/bin/bash
BASEDIR=$(dirname "${0}")
# source the configuration data from "config" in this directory
if [[ -f "${BASEDIR}/config" ]]; then
# shellcheck disable=SC1090
. "${BASEDIR}/config"
else
echo "CONFIG file missing - ${BASEDIR}/config"
exit 255
fi
## Check Environment variables which are set by config
if [[ "${ORG_MASTERS}X" == "X" && "${STANDALONE_ACCOUNTS}X" == "X" ]]; then
echo "No audit targets specified. Failing."
exit 15
fi
if [[ -z $SKIP_ACCOUNTS_REGEX ]]; then
SKIP_ACCOUNTS_REGEX=""
fi
if [[ -z $CHECKGROUP ]]; then
echo "Missing check group from config file"
exit 255
fi
if [[ -z $AUDIT_ROLE ]]; then
echo "Missing audit role from config file"
exit 255
fi
## ========================================================================================
## Check Arguments
if [ $# -lt 1 ]; then
echo "NEED AN OUTPUT DIRECTORY"
exit 2
else
if [[ -d $1 && -w $1 ]]; then
OUTBASE=$1
else
echo "Output directory missing or write-protected"
exit 1
fi
fi
## Check Requirements
if [[ -x $(command -v aws) ]]; then
aws --version
else
echo "AWS CLI is not in PATH ... giving up"
exit 4
fi
if [[ -x $(command -v jq) ]]; then
jq --version
else
echo "JQ is not in PATH ... giving up"
exit 4
fi
# Ensure AWS Credentials are present in environment
if [[ -z $CREDSOURCE ]]; then
echo "No source for base credentials ... giving up"
exit 5
fi
if [[ -f ${PROWLER} && -x ${PROWLER} ]]; then
${PROWLER} -V
else
echo "Unable to execute prowler from ${PROWLER}"
exit 3
fi
## Preflight checks complete
DAYPATH=$(date -u +%Y/%m/%d)
STAMP=$(date -u +%Y%m%dT%H%M%SZ)
## Create output subdirs
OUTDATA="${OUTBASE}/data/${DAYPATH}"
OUTLOGS="${OUTBASE}/logs/${DAYPATH}"
mkdir -p "${OUTDATA}" "${OUTLOGS}"
if [[ -x $(command -v parallel) ]]; then
# Note: the "standard" codebuild container includes parallel
echo "Using GNU sem/parallel, with NCPU+4 jobs"
parallel --citation > /dev/null 2> /dev/null
PARALLEL_START="parallel --semaphore --fg --id p_${STAMP} --jobs +4 --env AWS_SHARED_CREDENTIALS_FILE"
PARALLEL_START_SUFFIX=''
PARALLEL_END="parallel --semaphore --wait --id p_${STAMP}"
else
echo "Consider installing GNU Parallel to avoid punishing your system"
PARALLEL_START=''
PARALLEL_START_SUFFIX=' &'
# shellcheck disable=SC2089
PARALLEL_END="echo 'WAITING BLINDLY FOR PROCESSES TO COMPLETE'; wait ; sleep 30 ; wait"
fi
echo "Execution Timestamp: ${STAMP}"
ALL_ACCOUNTS=""
# Create a temporary credential file
AWS_MASTERS_CREDENTIALS_FILE=$(mktemp -t prowler.masters-XXXXXX)
echo "Preparing Credentials ${AWS_MASTERS_CREDENTIALS_FILE} ( ${CREDSOURCE} )"
echo "# Master Credentials ${STAMP}" >> "${AWS_MASTERS_CREDENTIALS_FILE}"
echo "" >> "${AWS_MASTERS_CREDENTIALS_FILE}"
AWS_TARGETS_CREDENTIALS_FILE=$(mktemp -t prowler.targets-XXXXXX)
echo "Preparing Credentials ${AWS_TARGETS_CREDENTIALS_FILE} ( ${CREDSOURCE} )"
echo "# Target Credentials ${STAMP}" >> "${AWS_TARGETS_CREDENTIALS_FILE}"
echo "" >> "${AWS_TARGETS_CREDENTIALS_FILE}"
## Visit the Organization Master accounts & build a list of all member accounts
export AWS_SHARED_CREDENTIALS_FILE=$AWS_MASTERS_CREDENTIALS_FILE
for org in $ORG_MASTERS ; do
echo -n "Preparing organization $org "
# create credential profile
{
echo "[audit_${org}]"
echo "role_arn = arn:aws:iam::${org}:role${AUDIT_ROLE}"
echo "credential_source = ${CREDSOURCE}"
echo ""
} >> "${AWS_MASTERS_CREDENTIALS_FILE}"
# Get the Organization ID to use for output paths, collecting info, etc
org_id=$(aws --output json --profile "audit_${org}" organizations describe-organization | jq -r '.Organization.Id' )
echo "( $org_id )"
ORG_ID_LIST="${ORG_ID_LIST} ${org_id}"
# Build the list of all accounts in the organizations
aws --output json --profile "audit_${org}" organizations list-accounts > "${OUTLOGS}/${STAMP}-${org_id}-account-list.json"
# shellcheck disable=SC2002
ORG_ACCOUNTS=$( cat "${OUTLOGS}/${STAMP}-${org_id}-account-list.json" | jq -r '.Accounts[].Id' | tr "\n" " ")
ALL_ACCOUNTS="${ALL_ACCOUNTS} ${ORG_ACCOUNTS}"
# Add the Org's Accounts (including master) to the TARGETS_CREDENTIALS file
for target in $ORG_ACCOUNTS ; do
if echo "$target" | grep -qE "${SKIP_ACCOUNTS_REGEX}"; then
echo " skipping account ${target} ( ${org_id} )"
continue
fi
# echo " ${org_id}_${target}"
{
echo "[${org_id}_${target}]"
echo "role_arn = arn:aws:iam::${target}:role${AUDIT_ROLE}"
echo "credential_source = ${CREDSOURCE}"
echo ""
} >> "${AWS_TARGETS_CREDENTIALS_FILE}"
done
done
# Prepare credentials for standalone accounts
if [[ "" != "${STANDALONE_ACCOUNTS}" ]] ; then
# mkdir -p ${OUTBASE}/data/standalone/${DAYPATH} ${OUTBASE}/logs/standalone/${DAYPATH}
for target in $STANDALONE_ACCOUNTS ; do
echo "Preparing account ${target} ( standalone )"
{
echo "[standalone_${target}]"
echo "role_arn = arn:aws:iam::${target}:role${AUDIT_ROLE}"
echo "credential_source = ${CREDSOURCE}"
echo ""
} >> "${AWS_TARGETS_CREDENTIALS_FILE}"
done
ALL_ACCOUNTS="${ALL_ACCOUNTS} ${STANDALONE_ACCOUNTS}"
fi
# grep -E '^\[' $AWS_MASTERS_CREDENTIALS_FILE $AWS_TARGETS_CREDENTIALS_FILE
# Switch to Target Credential Set
export AWS_SHARED_CREDENTIALS_FILE=${AWS_TARGETS_CREDENTIALS_FILE}
## visit each target account
NUM_ACCOUNTS=$(grep -cE '^\[' "${AWS_TARGETS_CREDENTIALS_FILE}")
echo "Launching ${CHECKGROUP} audit of ${NUM_ACCOUNTS} accounts"
for member in $(grep -E '^\[' "${AWS_TARGETS_CREDENTIALS_FILE}" | tr -d '][') ; do
ORG_ID=$(echo "$member" | cut -d'_' -f1)
ACCOUNT_NUM=$(echo "$member" | cut -d'_' -f2)
# shellcheck disable=SC2086
${PARALLEL_START} "${PROWLER} -p ${member} -n -M csv -g ${CHECKGROUP} 2> ${OUTLOGS}/${STAMP}-${ORG_ID}-${ACCOUNT_NUM}-prowler-${CHECKGROUP}.log > ${OUTDATA}/${STAMP}-${ORG_ID}-${ACCOUNT_NUM}-prowler-${CHECKGROUP}.csv ; echo \"${ORG_ID}-${ACCOUNT_NUM}-prowler-${CHECKGROUP} finished\" " ${PARALLEL_START_SUFFIX}
done
echo -n "waiting for parallel threads to complete - " ; date
# shellcheck disable=SC2090
${PARALLEL_END}
echo "Completed ${CHECKGROUP} audit with stamp ${STAMP}"
# mkdir -p ${OUTBASE}/logs/debug/${DAYPATH}
# cp "$AWS_MASTERS_CREDENTIALS_FILE" "${OUTLOGS}/${STAMP}-master_creds.txt"
# cp "$AWS_TARGETS_CREDENTIALS_FILE" "${OUTLOGS}/${STAMP}-target_creds.txt"
rm "$AWS_MASTERS_CREDENTIALS_FILE" "$AWS_TARGETS_CREDENTIALS_FILE"
+212
View File
@@ -0,0 +1,212 @@
/*
© 2020 Amazon Web Services, Inc. or its affiliates. All Rights Reserved.
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non_exclusive, no_charge, royalty_free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non_exclusive, no_charge, royalty_free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross_claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third_party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON_INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third_party archives.
Copyright [2020] [© 2020 Amazon Web Services, Inc. or its affiliates. All Rights Reserved.]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE_2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
data "aws_iam_policy" "SecurityAudit" {
arn = "arn:aws:iam::aws:policy/SecurityAudit"
}
data "aws_caller_identity" "current" {
}
data "aws_region" "current" {
}
+53
View File
@@ -0,0 +1,53 @@
## Requirements
| Name | Version |
|------|---------|
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | ~> 3.54 |
## Providers
| Name | Version |
|------|---------|
| <a name="provider_aws"></a> [aws](#provider\_aws) | 3.55.0 |
## Modules
No modules.
## Resources
| Name | Type |
|------|------|
| [aws_cloudwatch_event_rule.prowler_check_scheduler_event](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_event_rule) | resource |
| [aws_cloudwatch_event_target.run_prowler_scan](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_event_target) | resource |
| [aws_codebuild_project.prowler_codebuild](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/codebuild_project) | resource |
| [aws_iam_policy.prowler_event_trigger_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |
| [aws_iam_policy.prowler_kickstarter_iam_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |
| [aws_iam_policy_attachment.prowler_event_trigger_policy_attach](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy_attachment) | resource |
| [aws_iam_policy_attachment.prowler_kickstarter_iam_policy_attach](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy_attachment) | resource |
| [aws_iam_role.prowler_event_trigger_role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |
| [aws_iam_role.prowler_kick_start_role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |
| [aws_s3_bucket.prowler_report_storage_bucket](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket) | resource |
| [aws_s3_bucket_policy.prowler_report_storage_bucket_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_policy) | resource |
| [aws_s3_bucket_public_access_block.prowler_report_storage_bucket_block_public](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_public_access_block) | resource |
| [aws_securityhub_account.securityhub_resource](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/securityhub_account) | resource |
| [aws_securityhub_product_subscription.security_hub_enable_prowler_findings](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/securityhub_product_subscription) | resource |
| [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source |
| [aws_iam_policy.SecurityAudit](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy) | data source |
| [aws_region.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/region) | data source |
## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| <a name="input_codebuild_timeout"></a> [codebuild\_timeout](#input\_codebuild\_timeout) | Codebuild timeout setting | `number` | `300` | no |
| <a name="input_enable_security_hub"></a> [enable\_security\_hub](#input\_enable\_security\_hub) | Enable AWS SecurityHub. | `bool` | `true` | no |
| <a name="input_enable_security_hub_prowler_subscription"></a> [enable\_security\_hub\_prowler\_subscription](#input\_enable\_security\_hub\_prowler\_subscription) | Enable a Prowler Subscription. | `bool` | `true` | no |
| <a name="input_prowler_cli_options"></a> [prowler\_cli\_options](#input\_prowler\_cli\_options) | Run Prowler With The Following Command | `string` | `"_q _M json_asff _S _f us_east_1"` | no |
| <a name="input_prowler_schedule"></a> [prowler\_schedule](#input\_prowler\_schedule) | Run Prowler based on cron schedule | `string` | `"cron(0 0 ? * * *)"` | no |
## Outputs
| Name | Description |
|------|-------------|
| <a name="output_account_id"></a> [account\_id](#output\_account\_id) | TODO Move these to outputs file |
+499
View File
@@ -0,0 +1,499 @@
/*
© 2020 Amazon Web Services, Inc. or its affiliates. All Rights Reserved.
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non_exclusive, no_charge, royalty_free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non_exclusive, no_charge, royalty_free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross_claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third_party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON_INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third_party archives.
Copyright [2020] [© 2020 Amazon Web Services, Inc. or its affiliates. All Rights Reserved.]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE_2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/*
Security Hub Import Commands
Run this to get state of SecurityHub
terraform import aws_securityhub_account.securityhubresource 123456789012
*/
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 3.54"
}
}
}
provider "aws" {
region = var.select_region
}
resource "aws_iam_role" "prowler_kick_start_role" {
name = "security_baseline_kickstarter_iam_role"
managed_policy_arns = ["${data.aws_iam_policy.SecurityAudit.arn}",
"arn:aws:iam::aws:policy/job-function/SupportUser",
"arn:aws:iam::aws:policy/job-function/ViewOnlyAccess"]
assume_role_policy = jsonencode({
Version = "2012-10-17"
Statement = [
{
Action="sts:AssumeRole"
Effect="Allow"
Sid = "CodeBuildProwler"
Principal = {Service="codebuild.amazonaws.com"}
}
]
})
force_detach_policies=true
}
resource "aws_iam_role" "prowler_event_trigger_role" {
name = "security_baseline_kickstarter_event_trigger_iam_role"
assume_role_policy = jsonencode({
Version = "2012-10-17"
Statement = [
{
Action="sts:AssumeRole"
Effect="Allow"
Sid = "TriggerCodeBuild"
Principal = {Service="events.amazonaws.com"}
}
]
})
}
resource "aws_iam_policy" "prowler_event_trigger_policy" {
depends_on = [aws_codebuild_project.prowler_codebuild]
name = "security_baseline_kickstarter_trigger_iam_policy"
path = "/"
description = "IAM Policy used to trigger the Prowler in AWS Codebuild"
policy = jsonencode({
Version = "2012-10-17"
Statement = [
{
Action = ["codebuild:StartBuild"],
Effect = "Allow"
Resource = aws_codebuild_project.prowler_codebuild.arn
}]
})
}
resource "aws_iam_policy_attachment" "prowler_event_trigger_policy_attach" {
depends_on = [aws_iam_policy.prowler_event_trigger_policy]
name = "prowler_event_trigger_policy_attach"
roles = toset([aws_iam_role.prowler_event_trigger_role.id])
policy_arn = aws_iam_policy.prowler_event_trigger_policy.arn
}
resource "aws_iam_policy" "prowler_kickstarter_iam_policy" {
name = "security_baseline_kickstarter_iam_policy"
path = "/"
description = "IAM Policy used to run prowler from codebuild"
# Terraform's "jsonencode" function converts a
# Terraform expression result to valid JSON syntax.
policy = jsonencode({
Version = "2012-10-17"
Statement = [
{
Action = [
"logs:PutLogEvents"
],
Effect = "Allow"
Resource = "arn:aws:logs:*:${data.aws_caller_identity.current.account_id}:log-group:*:log-stream:*"
},
{
Action = [
"logs:CreateLogStream",
"logs:CreateLogGroup"
],
Effect = "Allow"
Resource = "arn:aws:logs:*:${data.aws_caller_identity.current.account_id}:log-group:*"
},
{
Action = ["sts:AssumeRole"],
Effect = "Allow"
Resource = "arn:aws:iam::${data.aws_caller_identity.current.account_id}:role/${aws_iam_role.prowler_kick_start_role.name}"
},
{
Action = [
"ds:ListAuthorizedApplications",
"ec2:GetEbsEncryptionByDefault",
"ecr:Describe*",
"elasticfilesystem:DescribeBackupPolicy",
"glue:GetConnections",
"glue:GetSecurityConfiguration",
"glue:SearchTables",
"lambda:GetFunction",
"s3:GetAccountPublicAccessBlock",
"shield:DescribeProtection",
"shield:GetSubscriptionState",
"ssm:GetDocument",
"support:Describe*",
"tag:GetTagKeys"
]
Effect = "Allow"
Resource = "arn:aws:glue:${data.aws_region.current.name}:${data.aws_caller_identity.current.account_id}:catalog"
},
{
Action = [
"codebuild:CreateReportGroup",
"codebuild:CreateReport",
"codebuild:UpdateReport",
"codebuild:BatchPutTestCases",
"codebuild:BatchPutCodeCoverages"
]
Effect = "Allow"
Resource = "arn:aws:codebuild:${data.aws_region.current.name}:${data.aws_caller_identity.current.account_id}:report-group/*"
},
{
Action = [ "securityhub:BatchImportFindings"]
Effect = "Allow"
Resource = "*"
},
{
Action = [ "securityhub:GetFindings"]
Effect = "Allow"
Resource = "*"
},
{
"Action": "codebuild:StartBuild",
"Resource": "arn:aws:codebuild:${data.aws_region.current.name}:${data.aws_caller_identity.current.account_id}:project/*",
"Effect": "Allow"
},
{
"Action": ["s3:PutObject", "s3:GetObject", "s3:GetObjectVersion", "s3:GetBucketAcl", "s3:GetBucketLocation"],
"Resource": "arn:aws:s3:::prowler-kickstart-${data.aws_region.current.name}-${data.aws_caller_identity.current.account_id}-reports/*",
"Effect": "Allow"
},
]
})
}
resource "aws_iam_policy_attachment" "prowler_kickstarter_iam_policy_attach" {
depends_on = [aws_iam_policy.prowler_kickstarter_iam_policy]
name = "security_baseline_kickstarter_policy_attach"
roles = toset([aws_iam_role.prowler_kick_start_role.id])
policy_arn = aws_iam_policy.prowler_kickstarter_iam_policy.arn
}
resource "aws_s3_bucket" "prowler_report_storage_bucket" {
bucket = "prowler-kickstart-${data.aws_region.current.name}-${data.aws_caller_identity.current.account_id}-reports"
acl = "log-delivery-write"
versioning {
enabled = true
}
server_side_encryption_configuration {
rule {
apply_server_side_encryption_by_default {
sse_algorithm = "AES256"
}
}
}
}
resource "aws_s3_bucket_policy" "prowler_report_storage_bucket_policy" {
depends_on = [aws_s3_bucket.prowler_report_storage_bucket]
bucket = aws_s3_bucket.prowler_report_storage_bucket.id
policy = jsonencode({Version = "2012-10-17"
Id = "ProwlerBucketReportPolicy"
Statement = [
{
Sid = "S3ForceSSL"
Effect = "Deny"
Principal = "*"
Action = "s3:*"
Resource = ["${aws_s3_bucket.prowler_report_storage_bucket.arn}/*"]
Condition = {
Bool = {
"aws:SecureTransport" = "false"
}
}
},
{
Sid = "DenyUnEncryptedObjectUploads"
Effect = "Deny"
Principal = "*"
Action = "s3:*"
Resource = ["${aws_s3_bucket.prowler_report_storage_bucket.arn}/*"]
Condition = {
Null = {
"s3:x-amz-server-side-encryption" = "true"
}
}
}
]
})
}
resource "aws_s3_bucket_public_access_block" "prowler_report_storage_bucket_block_public" {
depends_on = [aws_s3_bucket.prowler_report_storage_bucket, aws_s3_bucket_policy.prowler_report_storage_bucket_policy]
bucket = aws_s3_bucket.prowler_report_storage_bucket.id
block_public_acls = true
block_public_policy = true
ignore_public_acls = true
restrict_public_buckets = true
}
resource "aws_codebuild_project" "prowler_codebuild" {
name = "security_baseline_kickstarter_codebuild"
description = "Run a Prowler Assessment with Prowler"
build_timeout = var.codebuild_timeout
service_role = aws_iam_role.prowler_kick_start_role.arn
artifacts {
type = "NO_ARTIFACTS"
}
environment {
compute_type = "BUILD_GENERAL1_SMALL"
image = "aws/codebuild/amazonlinux2-x86_64-standard:3.0"
type = "LINUX_CONTAINER"
environment_variable {
name = "BUCKET_REPORT"
value = "${aws_s3_bucket.prowler_report_storage_bucket.id}"
}
environment_variable {
name = "PROWLER_OPTIONS"
type = "PLAINTEXT"
value = var.prowler_cli_options
}
}
source {
type = "NO_SOURCE"
buildspec = "${file("prowler_build_spec.yml")}"
}
tags = {
Environment = "Prowler KickStarter"
}
}
resource "aws_securityhub_account" "securityhub_resource" {
}
resource "aws_securityhub_product_subscription" "security_hub_enable_prowler_findings" {
depends_on = [aws_securityhub_account.securityhub_resource]
//arn:aws:securityhub:<REGION>::product/prowler/prowler
product_arn = "arn:aws:securityhub:${data.aws_region.current.name}::product/prowler/prowler"
}
resource "aws_cloudwatch_event_rule" "prowler_check_scheduler_event" {
name = "security_baseline_kickstarter_event_cron"
description = "Run Prowler every night"
schedule_expression = var.prowler_schedule
}
resource "aws_cloudwatch_event_target" "run_prowler_scan" {
arn = aws_codebuild_project.prowler_codebuild.arn
rule = aws_cloudwatch_event_rule.prowler_check_scheduler_event.name
role_arn = aws_iam_role.prowler_event_trigger_role.arn
}
+209
View File
@@ -0,0 +1,209 @@
/*
© 2020 Amazon Web Services, Inc. or its affiliates. All Rights Reserved.
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non_exclusive, no_charge, royalty_free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non_exclusive, no_charge, royalty_free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross_claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third_party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON_INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third_party archives.
Copyright [2020] [© 2020 Amazon Web Services, Inc. or its affiliates. All Rights Reserved.]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE_2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
output "account_id" {
value = data.aws_caller_identity.current.account_id
}
@@ -0,0 +1,24 @@
version: 0.2
phases:
install:
runtime-versions:
python: 3.8
commands:
- echo "Installing Prowler and dependencies..."
- pip3 install detect-secrets
- yum -y install jq
- curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
- unzip awscliv2.zip
- ./aws/install
- git clone https://github.com/prowler-cloud/prowler
- cd prowler
build:
commands:
- echo "Running Prowler as ./prowler $PROWLER_OPTIONS"
- ./prowler $PROWLER_OPTIONS || true
post_build:
commands:
- echo "Scan Complete"
- aws s3 cp --sse AES256 output/ s3://$BUCKET_REPORT/ --recursive
- echo "Done!"
+93
View File
@@ -0,0 +1,93 @@
# Install Security Baseline Kickstarter with Prowler
## Introduction
The following demonstrates how to quickly install the resources necessary to perform a security baseline using Prowler. The speed is based on the prebuilt terraform module that can configure all the resources necessary to run Prowler with the findings being sent to AWS Security Hub.
## Install
Installing Prowler with Terraform is simple and can be completed in under 1 minute.
- Start AWS CloudShell
- Run the following commands to install Terraform and clone the Prowler git repo
```
git clone https://github.com/prowler-cloud/prowler.git
cd prowler
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/AmazonLinux/hashicorp.repo
sudo yum -y install terraform
cd util/terraform-kickstarter
```
- Issue a `terraform init`
- Issue a `terraform apply`
![Prowler Install](https://prowler-docs.s3.amazonaws.com/Prowler-Terraform-Install.gif)
- It is likely an error will return related to the SecurityHub subscription. This appears to be Terraform related and you can validate the configuration by navigating to the SecurityHub console. Click Integrations and search for Prowler. Take note of the green check where it says *Accepting findings*
![Prowler Subscription](https://prowler-docs.s3.amazonaws.com/Validate-Prowler-Subscription.gif)
Thats it! Install is now complete. The resources include a Cloudwatch event that will trigger the AWS Codebuild to run daily at 00:00 GMT. If you'd like to run an assessment after the deployment then simply navigate to the Codebuild console and start the job manually.
## Terraform Resources
## Requirements
| Name | Version |
|------|---------|
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | ~> 3.54 |
## Providers
| Name | Version |
|------|---------|
| <a name="provider_aws"></a> [aws](#provider\_aws) | 3.56.0 |
## Modules
No modules.
## Resources
| Name | Type |
|------|------|
| [aws_cloudwatch_event_rule.prowler_check_scheduler_event](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_event_rule) | resource |
| [aws_cloudwatch_event_target.run_prowler_scan](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_event_target) | resource |
| [aws_codebuild_project.prowler_codebuild](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/codebuild_project) | resource |
| [aws_iam_policy.prowler_event_trigger_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |
| [aws_iam_policy.prowler_kickstarter_iam_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |
| [aws_iam_policy_attachment.prowler_event_trigger_policy_attach](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy_attachment) | resource |
| [aws_iam_policy_attachment.prowler_kickstarter_iam_policy_attach](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy_attachment) | resource |
| [aws_iam_role.prowler_event_trigger_role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |
| [aws_iam_role.prowler_kick_start_role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |
| [aws_s3_bucket.prowler_report_storage_bucket](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket) | resource |
| [aws_s3_bucket_policy.prowler_report_storage_bucket_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_policy) | resource |
| [aws_s3_bucket_public_access_block.prowler_report_storage_bucket_block_public](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_public_access_block) | resource |
| [aws_securityhub_account.securityhub_resource](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/securityhub_account) | resource |
| [aws_securityhub_product_subscription.security_hub_enable_prowler_findings](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/securityhub_product_subscription) | resource |
| [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source |
| [aws_iam_policy.SecurityAudit](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy) | data source |
| [aws_region.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/region) | data source |
## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| <a name="input_codebuild_timeout"></a> [codebuild\_timeout](#input\_codebuild\_timeout) | Codebuild timeout setting | `number` | `300` | no |
| <a name="input_enable_security_hub"></a> [enable\_security\_hub](#input\_enable\_security\_hub) | Enable AWS SecurityHub. | `bool` | `true` | no |
| <a name="input_enable_security_hub_prowler_subscription"></a> [enable\_security\_hub\_prowler\_subscription](#input\_enable\_security\_hub\_prowler\_subscription) | Enable a Prowler Subscription. | `bool` | `true` | no |
| <a name="input_prowler_cli_options"></a> [prowler\_cli\_options](#input\_prowler\_cli\_options) | Run Prowler With The Following Command | `string` | `"-q -M json-asff -S -f us-east-1"` | no |
| <a name="input_prowler_schedule"></a> [prowler\_schedule](#input\_prowler\_schedule) | Run Prowler based on cron schedule | `string` | `"cron(0 0 ? * * *)"` | no |
| <a name="input_select_region"></a> [select\_region](#input\_select\_region) | Uses the following AWS Region. | `string` | `"us-east-1"` | no |
## Outputs
| Name | Description |
|------|-------------|
| <a name="output_account_id"></a> [account\_id](#output\_account\_id) | n/a |
## Kickoff Prowler Assessment From Install to Assessment Demo (Link to YouTube)
[![Prowler Install](https://img.youtube.com/vi/ShhzIArO8X0/0.jpg)](https://www.youtube.com/watch?v=ShhzIArO8X0 "Prowler Install")
@@ -0,0 +1,9 @@
#!/bin/bash
#AMZN-Linux Terraform Install Script
git clone https://github.com/singergs/prowler.git
git fetch
cd prowler
git checkout -t origin/terraform-kickstart
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/AmazonLinux/hashicorp.repo
sudo yum -y install terraform
+251
View File
@@ -0,0 +1,251 @@
/*
© 2020 Amazon Web Services, Inc. or its affiliates. All Rights Reserved.
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non_exclusive, no_charge, royalty_free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non_exclusive, no_charge, royalty_free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross_claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third_party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON_INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third_party archives.
Copyright [2020] [© 2020 Amazon Web Services, Inc. or its affiliates. All Rights Reserved.]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE_2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/*
Security Hub Import Commands
Run this to get state of SecurityHub
terraform import aws_securityhub_account.securityhubresource 123456789012
*/
variable "select_region" {
description = "Uses the following AWS Region."
type = string
default = "us-east-1"
}
variable "enable_security_hub" {
description = "Enable AWS SecurityHub."
type = bool
default = true
}
variable "enable_security_hub_prowler_subscription" {
description = "Enable a Prowler Subscription."
type = bool
default = true
}
variable "prowler_cli_options" {
description = "Run Prowler With The Following Command"
type = string
default = "-q -M json-asff -S -f us-east-1"
}
variable "prowler_schedule"{
description = "Run Prowler based on cron schedule"
default="cron(0 0 ? * * *)"
type=string
}
variable "codebuild_timeout" {
description = "Codebuild timeout setting"
default = 300
type=number
}
+115
View File
@@ -0,0 +1,115 @@
# Prowler integration with Wazuh (DRAFT)
## Table of Contents
- [Description](#description)
- [Features](#features)
- [Requirements](#requirements)
- [Integration steps](#integration-steps)
- [Troubleshooting](#troubleshooting)
- [Thanks](#thanks)
- [License](#license)
## Description
Prowler integration with WAZUH using a python wrapper. Due to the wrapper limitations, this integration can be considered as a proof of concept at this time.
## Features
Wazuh, using a wodle, runs Prowler every certain time and stores alerts (failed checks) using JSON output which Wazuh processes and sends to Elastic Search to be queried from Kibana.
## Requirements
1. Latest AWS-CLI client (`pip install awscli`). If you have it already installed, make sure you are using the latest version, upgrade it: `pip install awscli --upgrade`.
2. Also `jq` is needed (`pip install jq`).
Remember, you must have AWS-CLI credentials already configured in the same instance running Wazuh (run `aws configure` if needed). In this DRAFT I'm using `/root/.aws/credentials` file with [default] as AWS-CLI profile and access keys but you can use assume role configuration as well. For the moment instance profile is not supported in this wrapper.
It may work in previous versions of Wazuh, but this document and integration was tested on Wazuh 3.7.1. So to have a Wazuh running installation is obviously required.
## Integration steps
Add Prowler to Wazuh's integrations:
```
cd /var/ossec/integrations/
git clone https://github.com/toniblyx/prowler
```
Copy `prowler-wrapper.py` to integrations folder:
```
cp /var/ossec/integrations/prowler/integrations/prowler-wrapper.py /var/ossec/integrations/prowler-wrapper.py
```
Then make sure it is executable:
```
chmod +x /var/ossec/integrations/prowler-wrapper.py
```
Run Prowler wrapper manually to make sure it works fine, use `--debug 1` or `--debug 2`):
```
/var/ossec/integrations/prowler-wrapper.py --aws_profile default --aws_account_alias default --debug 2
```
Copy rules file to its location:
```
cp /var/ossec/integrations/prowler/integrations/prowler_rules.xml /var/ossec/etc/rules/prowler_rules.xml
```
Edit `/var/ossec/etc/ossec.conf` and add the following wodle configuration. Remember that here `timeout 21600 seconds` is 6 hours, just to allow Prowler runs completely in case of a large account. The interval recommended is 1d:
```xml
<wodle name="command">
<disabled>no</disabled>
<tag>aws-prowler: account1</tag>
<command>/var/ossec/integrations/prowler-wrapper.py --aws_profile default --aws_account_alias default</command>
<interval>1d</interval>
<ignore_output>no</ignore_output>
<run_on_start>no</run_on_start>
<timeout>21600</timeout>
</wodle>
```
To check multiple AWS accounts, add a wodle per account.
Now restart `wazuh-manager` and look at `/var/ossec/logs/alerts/alerts.json`, eventually you should see FAIL checks detected by Prowler, then you will find them using Kibana. Some Kibana search examples are:
```
data.integration:"prowler" and data.prowler.status:"Fail"
data.integration:"prowler" AND rule.level >= 5
data.integration:"prowler" AND rule.level : 7 or 9
```
Adjust the level range to what alerts you want to include, as alerts, Elastic Search only gets fail messages (7 and 9).
1 - pass
3 - info
5 - error
7 - fail: not scored
9 - fail: scored
## Troubleshooting
To make sure rules are working fine, run `/var/ossec/bin/ossec-logtest` and copy/paste this sample JSON:
```json
{"prowler":{"Timestamp":"2018-11-29T03:15:50Z","Region":"us-east-1","Profile":"default","Account Number”:”1234567890”,”Control":"[check34] Ensure a log metric filter and alarm exist for IAM policy changes (Scored)","Message":"No CloudWatch group found for CloudTrail events","Status":"Fail","Scored":"Scored","Level":"Level 1","Control ID":"3.4"}, "integration": "prowler"}
```
You must see 3 phases goin on.
To check if there is any error you can enable the debug mode of `modulesd` setting the `wazuh_modules.debug=0` variable to 2 in `/var/ossec/etc/internal_options.conf` file. Restart wazuh-manager and errors should appear in the `/var/ossec/logs/ossec.log` file.
## Thanks
To Jeremy Phillips <jeremy@uranusbytes.com>, who wrote the initial rules file and wrapper and helped me to understand how it works and debug it.
To [Marta Gomez](https://github.com/mgmacias95) and the [Wazuh](https://www.wazuh.com) team for their support to debug this integration and make it work properly. Their job on Wazuh and willingness to help is invaluable.
## License
All CIS based checks in the checks folder are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License.
The link to the license terms can be found at
<https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode>
Any other piece of code is licensed as Apache License 2.0 as specified in each file. You may obtain a copy of the License at
<http://www.apache.org/licenses/LICENSE-2.0>
NOTE: If you are interested in using Prowler for commercial purposes remember that due to the CC4.0 license “The distributors or partners that are interested and using Prowler would need to enroll as CIS SecureSuite Members to incorporate this product, which includes references to CIS resources, in their offering.". Information about CIS pricing for vendors here: <https://www.cisecurity.org/cis-securesuite/pricing-and-categories/product-vendor/>
**I'm not related anyhow with CIS organization, I just write and maintain Prowler to help companies over the world to make their cloud infrastructure more secure.**
If you want to contact me visit <https://blyx.com/contact>
+274
View File
@@ -0,0 +1,274 @@
#!/usr/bin/env python
#
# Authored by Jeremy Phillips <jeremy@uranusbytes.com>
# Copyright: Apache License 2.0
#
# Wrapper around prowler script to parse results and forward to Wazuh
# Prowler - https://github.com/toniblyx/prowler
#
# TODO: Add ability to disable different groups (EXTRA, etc...
# TODO: Allow to disable individual checks
# TODO: Remove all the commented out stuff
#
# Error Codes:
# 1 - Unknown
# 2 - SIGINT
# 3 - Error output from execution of Prowler
# 4 - Output row is invalid json
# 5 - Wazuh must be running
# 6 - Error sending to socket
import argparse
import json
import os
import re
import signal
import socket
import subprocess
import sys
from datetime import datetime
################################################################################
# Constants
################################################################################
WAZUH_PATH = open("/etc/ossec-init.conf").readline().split('"')[1]
DEBUG_LEVEL = 0 # Enable/disable debug mode
PATH_TO_PROWLER = "{0}/integrations/prowler".format(WAZUH_PATH) # No trailing slash
TEMPLATE_CHECK = """
{{
"integration": "prowler",
"prowler": {0}
}}
"""
TEMPLATE_MSG = "1:Wazuh-Prowler:{0}"
TEMPLATE_ERROR = """{{
"aws_account_id": {aws_account_id},
"aws_profile": "{aws_profile}",
"prowler_error": "{prowler_error}",
"prowler_version": "{prowler_version}",
"timestamp": "{timestamp}",
"status": "Error"
}}
"""
WAZUH_QUEUE = "{0}/queue/ossec/queue".format(WAZUH_PATH)
FIELD_REMAP = {
"Profile": "aws_profile",
"Control": "control",
"Account Number": "aws_account_id",
"Level": "level",
"Account Alias": "aws_account_alias",
"Timestamp": "timestamp",
"Region": "region",
"Control ID": "control_id",
"Status": "status",
"Scored": "scored",
"Message": "message",
}
CHECKS_FILES_TO_IGNORE = ["check_sample"]
################################################################################
# Functions
################################################################################
def _send_msg(msg):
try:
_json_msg = json.dumps(_reformat_msg(msg))
_debug("Sending Msg: {0}".format(_json_msg), 3)
_socket = socket.socket(socket.AF_UNIX, socket.SOCK_DGRAM)
_socket.connect(WAZUH_QUEUE)
_socket.send(TEMPLATE_MSG.format(_json_msg).encode())
_socket.close()
except socket.error as e:
if e.errno == 111:
print("ERROR: Wazuh must be running.")
sys.exit(5)
else:
print("ERROR: Error sending message to wazuh: {}".format(e))
sys.exit(6)
except Exception as e:
print("ERROR: Error sending message to wazuh: {}".format(e))
sys.exit(6)
return
def _handler(signal, frame):
print("ERROR: SIGINT received.")
sys.exit(12)
def _debug(msg, msg_level):
if DEBUG_LEVEL >= msg_level:
print("DEBUG-{level}: {debug_msg}".format(level=msg_level, debug_msg=msg))
def _get_script_arguments():
_parser = argparse.ArgumentParser(
usage="usage: %(prog)s [options]",
description="Wazuh wodle for evaluating AWS security configuration",
formatter_class=argparse.RawTextHelpFormatter,
)
_parser.add_argument(
"-c",
"--aws_account_id",
dest="aws_account_id",
help="AWS Account ID for logs",
required=False,
)
_parser.add_argument(
"-d", "--debug", action="store", dest="debug", default=0, help="Enable debug"
)
_parser.add_argument(
"-p",
"--aws_profile",
dest="aws_profile",
help="The name of credential profile to use",
default=None,
)
_parser.add_argument(
"-n",
"--aws_account_alias",
dest="aws_account_alias",
help="AWS Account ID Alias",
default="",
)
_parser.add_argument(
"-e",
"--skip_on_error",
action="store_false",
dest="skip_on_error",
help="If check output is invalid json, error out instead of skipping the check",
default=True,
)
return _parser.parse_args()
def _run_prowler(prowler_args):
_debug("Running prowler with args: {0}".format(prowler_args), 1)
_prowler_command = "{prowler}/prowler {args}".format(
prowler=PATH_TO_PROWLER, args=prowler_args
)
_debug("Running command: {0}".format(_prowler_command), 2)
_process = subprocess.Popen(_prowler_command, stdout=subprocess.PIPE, shell=True)
_output, _error = _process.communicate()
_debug("Raw prowler output: {0}".format(_output), 3)
_debug("Raw prowler error: {0}".format(_error), 3)
if _error is not None:
_debug("PROWLER ERROR: {0}".format(_error), 1)
exit(3)
return _output
def _get_prowler_version(options):
_debug("+++ Get Prowler Version", 1)
# Execute prowler, but only display the version and immediately exit
return _run_prowler("-p {0} -V".format(options.aws_profile)).rstrip()
def _get_prowler_results(options, prowler_check):
_debug("+++ Get Prowler Results - {check}".format(check=prowler_check), 1)
# Execute prowler with all checks
# -b = disable banner
# -p = credential profile
# -M = output json
return _run_prowler(
"-b -c {check} -p {aws_profile} -M json".format(
check=prowler_check, aws_profile=options.aws_profile
)
)
def _get_prowler_checks():
_prowler_checks = []
for _directory_path, _directories, _files in os.walk(
"{path}/checks".format(path=PATH_TO_PROWLER)
):
_debug("Checking in : {}".format(_directory_path), 3)
for _file in _files:
if _file in CHECKS_FILES_TO_IGNORE:
_debug("Ignoring check - {}".format(_directory_path, _file), 3)
elif re.match("check\d+", _file):
_prowler_checks.append(_file)
elif re.match("check_extra(\d+)", _file):
_prowler_checks.append(_file[6:])
else:
_debug("Unknown check file type- {}".format(_directory_path, _file), 3)
return _prowler_checks
def _send_prowler_results(prowler_results, _prowler_version, options):
_debug("+++ Send Prowler Results", 1)
for _check_result in prowler_results.splitlines():
# Empty row
if len(_check_result) < 1:
continue
# Something failed during prowler check
elif _check_result[:17] == "An error occurred":
_debug("ERROR MSG --- {0}".format(_check_result), 2)
_temp_msg = TEMPLATE_ERROR.format(
aws_account_id=options.aws_account_id,
aws_profile=options.aws_profile,
prowler_error=_check_result.replace('"', '"'),
prowler_version=_prowler_version,
timestamp=datetime.now().isoformat(),
)
_error_msg = json.loads(TEMPLATE_CHECK.format(_temp_msg))
_send_msg(_error_msg)
continue
try:
_debug("RESULT MSG --- {0}".format(_check_result), 2)
_check_result = json.loads(TEMPLATE_CHECK.format(_check_result))
except:
_debug(
"INVALID JSON --- {0}".format(TEMPLATE_CHECK.format(_check_result)), 1
)
if not options.skip_on_error:
exit(4)
_check_result["prowler"]["prowler_version"] = _prowler_version
_check_result["prowler"]["aws_account_alias"] = options.aws_account_alias
_send_msg(_check_result)
return True
def _reformat_msg(msg):
for field in FIELD_REMAP:
if field in msg["prowler"]:
msg["prowler"][FIELD_REMAP[field]] = msg["prowler"][field]
del msg["prowler"][field]
return msg
# Main
###############################################################################
def main(argv):
_debug("+++ Begin script", 1)
# Parse arguments
_options = _get_script_arguments()
if int(_options.debug) > 0:
global DEBUG_LEVEL
DEBUG_LEVEL = int(_options.debug)
_debug("+++ Debug mode on - Level: {debug}".format(debug=_options.debug), 1)
_prowler_version = _get_prowler_version(_options)
_prowler_checks = _get_prowler_checks()
for _check in _prowler_checks:
_prowler_results = _get_prowler_results(_options, _check)
_send_prowler_results(_prowler_results, _prowler_version, _options)
_debug("+++ Finished script", 1)
return
if __name__ == "__main__":
try:
_debug("Args: {args}".format(args=str(sys.argv)), 2)
signal.signal(signal.SIGINT, _handler)
main(sys.argv[1:])
sys.exit(0)
except Exception as e:
print("Unknown error: {}".format(e))
if DEBUG_LEVEL > 0:
raise
sys.exit(1)
+45
View File
@@ -0,0 +1,45 @@
<!--
Rules for parsing Prowler output
Authored by Jeremy Phillips <jeremy@uranusbytes.com>
Copyright: Apache License 2.0
ID: 110000-110009
Prowler - https://github.com/toniblyx/prowler
-->
<group name="local,amazon,prowler,">
<!-- Filter 1: Only prowler events -->
<rule id="110001" level="0">
<field name="integration">prowler</field>
<description>Prowler Check Result: $(prowler.status) - Control $(prowler.control_id)</description>
</rule>
<!-- Check Result: Pass -->
<rule id="110002" level="1">
<if_sid>110001</if_sid>
<field name="prowler.status">Pass</field>
<description>Prowler Check Result: $(prowler.status) - Control $(prowler.control_id)</description>
</rule>
<!-- Check Result: Info -->
<rule id="110003" level="3">
<if_sid>110001</if_sid>
<field name="prowler.status">Info</field>
<description>Prowler Check Result: $(prowler.status) - Control $(prowler.control_id)</description>
</rule>
<!-- Check Result: Error -->
<rule id="110004" level="5">
<if_sid>110001</if_sid>
<field name="prowler.status">Error</field>
<description>Prowler Check Result: $(prowler.status) - Control $(prowler.control_id)</description>
</rule>
<!-- Check Result: Fail, Scored -->
<rule id="110005" level="9">
<if_sid>110001</if_sid>
<field name="prowler.status">Fail</field>
<description>Prowler Check Result: $(prowler.status) - Control $(prowler.control_id)</description>
</rule>
<!-- Check Result: Fail, Not Scored -->
<rule id="110006" level="7">
<if_sid>110005</if_sid>
<field name="prowler.scored">Not Scored</field>
<description>Prowler Check Result: $(prowler.status) - Control $(prowler.control_id)</description>
</rule>
</group>
+2
View File
@@ -0,0 +1,2 @@
DASHBOARD_PORT = 11666
DASHBOARD_ARGS = {"debug": True, "port": DASHBOARD_PORT, "use_reloader": False}
+176
View File
@@ -0,0 +1,176 @@
# Importing Packages
import sys
import warnings
import click
import dash
import dash_bootstrap_components as dbc
from colorama import Fore, Style
from dash import dcc, html
from dash.dependencies import Input, Output
from dashboard.config import folder_path_overview
from prowler.config.config import orange_color
from prowler.lib.banner import print_banner
warnings.filterwarnings("ignore")
cli = sys.modules["flask.cli"]
print_banner(verbose=False)
print(
f"{Fore.GREEN}Loading all CSV files from the folder {folder_path_overview} ...\n{Style.RESET_ALL}"
)
cli.show_server_banner = lambda *x: click.echo(
f"{Fore.YELLOW}NOTE:{Style.RESET_ALL} If you are a {Fore.GREEN}{Style.BRIGHT}Prowler SaaS{Style.RESET_ALL} customer and you want to use your data from your S3 bucket,\nrun: `{orange_color}aws s3 cp s3://<your-bucket>/output/csv ./output --recursive{Style.RESET_ALL}`\nand then run `prowler dashboard` again to load the new files."
)
# Initialize the app - incorporate css
dashboard = dash.Dash(
__name__,
external_stylesheets=[dbc.themes.DARKLY],
use_pages=True,
suppress_callback_exceptions=True,
title="Prowler Dashboard",
)
# Logo
prowler_logo = html.Img(
src="https://prowler.com/wp-content/uploads/logo-dashboard.png", alt="Prowler Logo"
)
menu_icons = {
"overview": "/assets/images/icons/overview.svg",
"compliance": "/assets/images/icons/compliance.svg",
}
# Function to generate navigation links
def generate_nav_links(current_path):
nav_links = []
for page in dash.page_registry.values():
# Gets the icon URL based on the page name
icon_url = menu_icons.get(page["name"].lower())
is_active = (
" bg-prowler-stone-950 border-r-4 border-solid border-prowler-lime"
if current_path == page["relative_path"]
else ""
)
link_class = f"block hover:bg-prowler-stone-950 hover:border-r-4 hover:border-solid hover:border-prowler-lime{is_active}"
link_content = html.Span(
[
html.Img(src=icon_url, className="w-5"),
html.Span(page["name"], className="font-medium text-base leading-6"),
],
className="flex justify-center lg:justify-normal items-center gap-x-3 py-2 px-3",
)
nav_link = html.Li(
dcc.Link(link_content, href=page["relative_path"], className=link_class)
)
nav_links.append(nav_link)
return nav_links
def generate_help_menu():
help_links = [
{
"title": "Help",
"url": "https://github.com/prowler-cloud/prowler/issues",
"icon": "/assets/images/icons/help.png",
},
{
"title": "Docs",
"url": "https://docs.prowler.com",
"icon": "/assets/images/icons/docs.png",
},
]
link_class = "block hover:bg-prowler-stone-950 hover:border-r-4 hover:border-solid hover:border-prowler-lime"
menu_items = []
for link in help_links:
menu_item = html.Li(
html.A(
html.Span(
[
html.Img(src=link["icon"], className="w-5"),
html.Span(
link["title"], className="font-medium text-base leading-6"
),
],
className="flex items-center gap-x-3 py-2 px-3",
),
href=link["url"],
target="_blank",
className=link_class,
)
)
menu_items.append(menu_item)
return menu_items
# Layout
dashboard.layout = html.Div(
[
dcc.Location(id="url", refresh=False),
html.Link(rel="icon", href="assets/favicon.ico"),
# Placeholder for dynamic navigation bar
html.Div(
[
html.Div(
id="navigation-bar", className="bg-prowler-stone-900 min-w-36 z-10"
),
html.Div(
[
dash.page_container,
],
id="content_select",
className="bg-prowler-white w-full col-span-11 h-screen mx-auto overflow-y-scroll no-scrollbar px-10 py-7",
),
],
className="grid custom-grid 2xl:custom-grid-large h-screen",
),
],
className="h-screen mx-auto",
)
# Callback to update navigation bar
@dashboard.callback(Output("navigation-bar", "children"), [Input("url", "pathname")])
def update_nav_bar(pathname):
return html.Div(
[
html.Div([prowler_logo], className="mb-8 px-3"),
html.H6(
"Dashboards",
className="px-3 text-prowler-stone-500 text-sm opacity-90 font-regular mb-2",
),
html.Nav(
[html.Ul(generate_nav_links(pathname), className="")],
className="flex flex-col gap-y-6",
),
html.Nav(
[
html.A(
[
html.Span(
[
html.Img(src="assets/favicon.ico", className="w-5"),
"Subscribe to prowler SaaS",
],
className="flex items-center gap-x-3",
),
],
href="https://prowler.com/",
target="_blank",
className="block p-3 uppercase text-xs hover:bg-prowler-stone-950 hover:border-r-4 hover:border-solid hover:border-prowler-lime",
),
html.Ul(generate_help_menu(), className=""),
],
className="flex flex-col gap-y-6 mt-auto",
),
],
className="flex flex-col bg-prowler-stone-900 py-7 h-full",
)
Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

@@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="#FFF" aria-hidden="true" class="h-5 w-5" viewBox="0 0 24 24">
<path fill-rule="evenodd" d="M9 1.5H5.625c-1.036 0-1.875.84-1.875 1.875v17.25c0 1.035.84 1.875 1.875 1.875h12.75c1.035 0 1.875-.84 1.875-1.875V12.75A3.75 3.75 0 0 0 16.5 9h-1.875a1.875 1.875 0 0 1-1.875-1.875V5.25A3.75 3.75 0 0 0 9 1.5zm6.61 10.936a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 14.47a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25z" clip-rule="evenodd"/>
<path d="M12.971 1.816A5.23 5.23 0 0 1 14.25 5.25v1.875c0 .207.168.375.375.375H16.5a5.23 5.23 0 0 1 3.434 1.279 9.768 9.768 0 0 0-6.963-6.963z"/>
</svg>

After

Width:  |  Height:  |  Size: 650 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 734 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 441 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 934 B

@@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="#FFF" aria-hidden="true" class="h-5 w-5" viewBox="0 0 24 24">
<path fill-rule="evenodd" d="M2.25 13.5a8.25 8.25 0 0 1 8.25-8.25.75.75 0 0 1 .75.75v6.75H18a.75.75 0 0 1 .75.75 8.25 8.25 0 0 1-16.5 0z" clip-rule="evenodd"/>
<path fill-rule="evenodd" d="M12.75 3a.75.75 0 0 1 .75-.75 8.25 8.25 0 0 1 8.25 8.25.75.75 0 0 1-.75.75h-7.5a.75.75 0 0 1-.75-.75V3z" clip-rule="evenodd"/>
</svg>

After

Width:  |  Height:  |  Size: 435 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,23 @@
import warnings
from dashboard.common_methods import get_section_containers_format2
warnings.filterwarnings("ignore")
def get_table(data):
aux = data[
[
"REQUIREMENTS_ID",
"REQUIREMENTS_ATTRIBUTES_SECTION",
"CHECKID",
"STATUS",
"REGION",
"ACCOUNTID",
"RESOURCEID",
]
].copy()
return get_section_containers_format2(
aux, "REQUIREMENTS_ATTRIBUTES_SECTION", "REQUIREMENTS_ID"
)
@@ -0,0 +1,23 @@
import warnings
from dashboard.common_methods import get_section_containers_format1
warnings.filterwarnings("ignore")
def get_table(data):
aux = data[
[
"REQUIREMENTS_ID",
"REQUIREMENTS_ATTRIBUTES_SECTION",
"CHECKID",
"STATUS",
"REGION",
"ACCOUNTID",
"RESOURCEID",
]
].copy()
return get_section_containers_format1(
aux, "REQUIREMENTS_ATTRIBUTES_SECTION", "REQUIREMENTS_ID"
)
@@ -0,0 +1,23 @@
import warnings
from dashboard.common_methods import get_section_containers_format1
warnings.filterwarnings("ignore")
def get_table(data):
aux = data[
[
"REQUIREMENTS_ID",
"REQUIREMENTS_ATTRIBUTES_SECTION",
"CHECKID",
"STATUS",
"REGION",
"ACCOUNTID",
"RESOURCEID",
]
].copy()
return get_section_containers_format1(
aux, "REQUIREMENTS_ATTRIBUTES_SECTION", "REQUIREMENTS_ID"
)
@@ -0,0 +1,22 @@
import warnings
from dashboard.common_methods import get_section_containers_format2
warnings.filterwarnings("ignore")
def get_table(data):
aux = data[
[
"REQUIREMENTS_ATTRIBUTES_NAME",
"REQUIREMENTS_ATTRIBUTES_SECTION",
"CHECKID",
"STATUS",
"REGION",
"ACCOUNTID",
"RESOURCEID",
]
]
return get_section_containers_format2(
aux, "REQUIREMENTS_ATTRIBUTES_NAME", "REQUIREMENTS_ATTRIBUTES_SECTION"
)
@@ -0,0 +1,23 @@
import warnings
from dashboard.common_methods import get_section_containers_format2
warnings.filterwarnings("ignore")
def get_table(data):
aux = data[
[
"REQUIREMENTS_ATTRIBUTES_NAME",
"REQUIREMENTS_ATTRIBUTES_SECTION",
"CHECKID",
"STATUS",
"REGION",
"ACCOUNTID",
"RESOURCEID",
]
]
return get_section_containers_format2(
aux, "REQUIREMENTS_ATTRIBUTES_SECTION", "REQUIREMENTS_ATTRIBUTES_NAME"
)
+24
View File
@@ -0,0 +1,24 @@
import warnings
from dashboard.common_methods import get_section_containers_cis
warnings.filterwarnings("ignore")
def get_table(data):
aux = data[
[
"REQUIREMENTS_ID",
"REQUIREMENTS_DESCRIPTION",
"REQUIREMENTS_ATTRIBUTES_SECTION",
"CHECKID",
"STATUS",
"REGION",
"ACCOUNTID",
"RESOURCEID",
]
].copy()
return get_section_containers_cis(
aux, "REQUIREMENTS_ID", "REQUIREMENTS_ATTRIBUTES_SECTION"
)
+24
View File
@@ -0,0 +1,24 @@
import warnings
from dashboard.common_methods import get_section_containers_cis
warnings.filterwarnings("ignore")
def get_table(data):
aux = data[
[
"REQUIREMENTS_ID",
"REQUIREMENTS_DESCRIPTION",
"REQUIREMENTS_ATTRIBUTES_SECTION",
"CHECKID",
"STATUS",
"REGION",
"ACCOUNTID",
"RESOURCEID",
]
].copy()
return get_section_containers_cis(
aux, "REQUIREMENTS_ID", "REQUIREMENTS_ATTRIBUTES_SECTION"
)
@@ -0,0 +1,24 @@
import warnings
from dashboard.common_methods import get_section_containers_cis
warnings.filterwarnings("ignore")
def get_table(data):
aux = data[
[
"REQUIREMENTS_ID",
"REQUIREMENTS_DESCRIPTION",
"REQUIREMENTS_ATTRIBUTES_SECTION",
"CHECKID",
"STATUS",
"REGION",
"ACCOUNTID",
"RESOURCEID",
]
].copy()
return get_section_containers_cis(
aux, "REQUIREMENTS_ID", "REQUIREMENTS_ATTRIBUTES_SECTION"
)
+24
View File
@@ -0,0 +1,24 @@
import warnings
from dashboard.common_methods import get_section_containers_cis
warnings.filterwarnings("ignore")
def get_table(data):
aux = data[
[
"REQUIREMENTS_ID",
"REQUIREMENTS_DESCRIPTION",
"REQUIREMENTS_ATTRIBUTES_SECTION",
"CHECKID",
"STATUS",
"REGION",
"ACCOUNTID",
"RESOURCEID",
]
].copy()
return get_section_containers_cis(
aux, "REQUIREMENTS_ID", "REQUIREMENTS_ATTRIBUTES_SECTION"
)
+24
View File
@@ -0,0 +1,24 @@
import warnings
from dashboard.common_methods import get_section_containers_cis
warnings.filterwarnings("ignore")
def get_table(data):
aux = data[
[
"REQUIREMENTS_ID",
"REQUIREMENTS_DESCRIPTION",
"REQUIREMENTS_ATTRIBUTES_SECTION",
"CHECKID",
"STATUS",
"REGION",
"ACCOUNTID",
"RESOURCEID",
]
].copy()
return get_section_containers_cis(
aux, "REQUIREMENTS_ID", "REQUIREMENTS_ATTRIBUTES_SECTION"
)
+24
View File
@@ -0,0 +1,24 @@
import warnings
from dashboard.common_methods import get_section_containers_cis
warnings.filterwarnings("ignore")
def get_table(data):
aux = data[
[
"REQUIREMENTS_ID",
"REQUIREMENTS_DESCRIPTION",
"REQUIREMENTS_ATTRIBUTES_SECTION",
"CHECKID",
"STATUS",
"REGION",
"ACCOUNTID",
"RESOURCEID",
]
].copy()
return get_section_containers_cis(
aux, "REQUIREMENTS_ID", "REQUIREMENTS_ATTRIBUTES_SECTION"
)
+24
View File
@@ -0,0 +1,24 @@
import warnings
from dashboard.common_methods import get_section_containers_cis
warnings.filterwarnings("ignore")
def get_table(data):
aux = data[
[
"REQUIREMENTS_ID",
"REQUIREMENTS_DESCRIPTION",
"REQUIREMENTS_ATTRIBUTES_SECTION",
"CHECKID",
"STATUS",
"REGION",
"ACCOUNTID",
"RESOURCEID",
]
].copy()
return get_section_containers_cis(
aux, "REQUIREMENTS_ID", "REQUIREMENTS_ATTRIBUTES_SECTION"
)
+24
View File
@@ -0,0 +1,24 @@
import warnings
from dashboard.common_methods import get_section_containers_cis
warnings.filterwarnings("ignore")
def get_table(data):
aux = data[
[
"REQUIREMENTS_ID",
"REQUIREMENTS_DESCRIPTION",
"REQUIREMENTS_ATTRIBUTES_SECTION",
"CHECKID",
"STATUS",
"REGION",
"ACCOUNTID",
"RESOURCEID",
]
].copy()
return get_section_containers_cis(
aux, "REQUIREMENTS_ID", "REQUIREMENTS_ATTRIBUTES_SECTION"
)
+23
View File
@@ -0,0 +1,23 @@
import warnings
from dashboard.common_methods import get_section_containers_format1
warnings.filterwarnings("ignore")
def get_table(data):
aux = data[
[
"REQUIREMENTS_ID",
"REQUIREMENTS_ATTRIBUTES_SECTION",
"CHECKID",
"STATUS",
"REGION",
"ACCOUNTID",
"RESOURCEID",
]
].copy()
return get_section_containers_format1(
aux, "REQUIREMENTS_ATTRIBUTES_SECTION", "REQUIREMENTS_ID"
)
+29
View File
@@ -0,0 +1,29 @@
import warnings
from dashboard.common_methods import get_section_containers_ens
warnings.filterwarnings("ignore")
def get_table(data):
aux = data[
[
"REQUIREMENTS_ATTRIBUTES_MARCO",
"REQUIREMENTS_ATTRIBUTES_CATEGORIA",
"REQUIREMENTS_ATTRIBUTES_IDGRUPOCONTROL",
"REQUIREMENTS_ATTRIBUTES_TIPO",
"CHECKID",
"STATUS",
"REGION",
"ACCOUNTID",
"RESOURCEID",
]
]
return get_section_containers_ens(
aux,
"REQUIREMENTS_ATTRIBUTES_MARCO",
"REQUIREMENTS_ATTRIBUTES_CATEGORIA",
"REQUIREMENTS_ATTRIBUTES_IDGRUPOCONTROL",
"REQUIREMENTS_ATTRIBUTES_TIPO",
)
@@ -0,0 +1,24 @@
import warnings
from dashboard.common_methods import get_section_containers_format3
warnings.filterwarnings("ignore")
def get_table(data):
aux = data[
[
"REQUIREMENTS_ID",
"REQUIREMENTS_ATTRIBUTES_SECTION",
"REQUIREMENTS_DESCRIPTION",
"CHECKID",
"STATUS",
"REGION",
"ACCOUNTID",
"RESOURCEID",
]
].copy()
return get_section_containers_format3(
aux, "REQUIREMENTS_ATTRIBUTES_SECTION", "REQUIREMENTS_ID"
)
@@ -0,0 +1,24 @@
import warnings
from dashboard.common_methods import get_section_containers_format3
warnings.filterwarnings("ignore")
def get_table(data):
aux = data[
[
"REQUIREMENTS_ID",
"REQUIREMENTS_ATTRIBUTES_SECTION",
"REQUIREMENTS_DESCRIPTION",
"CHECKID",
"STATUS",
"REGION",
"ACCOUNTID",
"RESOURCEID",
]
].copy()
return get_section_containers_format3(
aux, "REQUIREMENTS_ATTRIBUTES_SECTION", "REQUIREMENTS_ID"
)

Some files were not shown because too many files have changed in this diff Show More