first semi functional v2

This commit is contained in:
Toni de la Fuente
2018-03-23 19:26:10 -04:00
parent a2806ad86b
commit da0f266944
86 changed files with 451 additions and 508 deletions

View File

@@ -1,7 +1,6 @@
CHECK_ID_check11="1.1,1.01" CHECK_ID_check11="1.1,1.01"
CHECK_TITLE_check11="Avoid the use of the root account (Scored)" CHECK_TITLE_check11="Avoid the use of the root account (Scored)"
CHECK_SCORED_check11="SCORED" CHECK_SCORED_check11="SCORED"
CHECK_TYPE_check11="LEVEL1"
CHECK_ALTERNATE_check101="check11" CHECK_ALTERNATE_check101="check11"
check11(){ check11(){

View File

@@ -1,7 +1,6 @@
CHECK_ID_check110="" CHECK_ID_check110="1.10"
CHECK_TITLE_check110="" CHECK_TITLE_check110="Ensure IAM password policy prevents password reuse: 24 or greater (Scored)"
CHECK_SCORED_check110="" CHECK_SCORED_check110="SCORED"
CHECK_TYPE_check110=""
CHECK_ALTERNATE_check110="check110" CHECK_ALTERNATE_check110="check110"
check110(){ check110(){

View File

@@ -1,7 +1,6 @@
CHECK_ID_check111="" CHECK_ID_check111="1.11"
CHECK_TITLE_check111="" CHECK_TITLE_check111="Ensure IAM password policy expires passwords within 90 days or less (Scored)"
CHECK_SCORED_check111="" CHECK_SCORED_check111="SCORED"
CHECK_TYPE_check111=""
CHECK_ALTERNATE_check111="check111" CHECK_ALTERNATE_check111="check111"
check111(){ check111(){

View File

@@ -1,7 +1,6 @@
CHECK_ID_check112="" CHECK_ID_check112="1.12"
CHECK_TITLE_check112="" CHECK_TITLE_check112="Ensure no root account access key exists (Scored)"
CHECK_SCORED_check112="" CHECK_SCORED_check112="SCORED"
CHECK_TYPE_check112=""
CHECK_ALTERNATE_check112="check112" CHECK_ALTERNATE_check112="check112"
check112(){ check112(){

View File

@@ -1,7 +1,6 @@
CHECK_ID_check113="" CHECK_ID_check113="1.13"
CHECK_TITLE_check113="" CHECK_TITLE_check113="Ensure MFA is enabled for the root account (Scored)"
CHECK_SCORED_check113="" CHECK_SCORED_check113="SCORED"
CHECK_TYPE_check113=""
CHECK_ALTERNATE_check113="check113" CHECK_ALTERNATE_check113="check113"
check113(){ check113(){

View File

@@ -1,7 +1,6 @@
CHECK_ID_check114="" CHECK_ID_check114="1.14"
CHECK_TITLE_check114="" CHECK_TITLE_check114="Ensure hardware MFA is enabled for the root account (Scored)"
CHECK_SCORED_check114="" CHECK_SCORED_check114="SCORED"
CHECK_TYPE_check114=""
CHECK_ALTERNATE_check114="check114" CHECK_ALTERNATE_check114="check114"
check114(){ check114(){

View File

@@ -1,7 +1,6 @@
CHECK_ID_check115="" CHECK_ID_check115="1.15"
CHECK_TITLE_check115="" CHECK_TITLE_check115="Ensure security questions are registered in the AWS account (Not Scored)"
CHECK_SCORED_check115="" CHECK_SCORED_check115="SCORED"
CHECK_TYPE_check115=""
CHECK_ALTERNATE_check115="check115" CHECK_ALTERNATE_check115="check115"
check115(){ check115(){

View File

@@ -1,7 +1,6 @@
CHECK_ID_check116="" CHECK_ID_check116="1.16"
CHECK_TITLE_check116="" CHECK_TITLE_check116="Ensure IAM policies are attached only to groups or roles (Scored)"
CHECK_SCORED_check116="" CHECK_SCORED_check116="SCORED"
CHECK_TYPE_check116=""
CHECK_ALTERNATE_check116="check116" CHECK_ALTERNATE_check116="check116"
check116(){ check116(){

View File

@@ -1,7 +1,6 @@
CHECK_ID_check117="" CHECK_ID_check117="1.17"
CHECK_TITLE_check117="" CHECK_TITLE_check117="Enable detailed billing (Scored)"
CHECK_SCORED_check117="" CHECK_SCORED_check117="SCORED"
CHECK_TYPE_check117=""
CHECK_ALTERNATE_check117="check117" CHECK_ALTERNATE_check117="check117"
check117(){ check117(){

View File

@@ -1,7 +1,6 @@
CHECK_ID_check118="" CHECK_ID_check118="1.18"
CHECK_TITLE_check118="" CHECK_TITLE_check118="Ensure IAM Master and IAM Manager roles are active (Scored)"
CHECK_SCORED_check118="" CHECK_SCORED_check118="SCORED"
CHECK_TYPE_check118=""
CHECK_ALTERNATE_check118="check118" CHECK_ALTERNATE_check118="check118"
check118(){ check118(){

View File

@@ -1,7 +1,6 @@
CHECK_ID_check119="" CHECK_ID_check119="1.19"
CHECK_TITLE_check119="" CHECK_TITLE_check119="Maintain current contact details (Scored)"
CHECK_SCORED_check119="" CHECK_SCORED_check119="SCORED"
CHECK_TYPE_check119=""
CHECK_ALTERNATE_check119="check119" CHECK_ALTERNATE_check119="check119"
check119(){ check119(){

View File

@@ -1,7 +1,6 @@
CHECK_ID_check12="1.2,1.02" CHECK_ID_check12="1.2,1.02"
CHECK_TITLE_check12="Ensure multi-factor authentication (MFA) is enabled for all IAM users that have a console password (Scored)" CHECK_TITLE_check12="Ensure multi-factor authentication (MFA) is enabled for all IAM users that have a console password (Scored)"
CHECK_SCORED_check12="SCORED" CHECK_SCORED_check12="SCORED"
CHECK_TYPE_check12="LEVEL1"
CHECK_ALTERNATE_check102="check12" CHECK_ALTERNATE_check102="check12"
check12(){ check12(){

View File

@@ -1,7 +1,6 @@
CHECK_ID_check120="" CHECK_ID_check120="1.20"
CHECK_TITLE_check120="" CHECK_TITLE_check120="Ensure security contact information is registered (Scored)"
CHECK_SCORED_check120="" CHECK_SCORED_check120="SCORED"
CHECK_TYPE_check120=""
CHECK_ALTERNATE_check120="check120" CHECK_ALTERNATE_check120="check120"
check120(){ check120(){

View File

@@ -1,7 +1,6 @@
CHECK_ID_check121="" CHECK_ID_check121="1.21"
CHECK_TITLE_check121="" CHECK_TITLE_check121="Ensure IAM instance roles are used for AWS resource access from instances (Not Scored)"
CHECK_SCORED_check121="" CHECK_SCORED_check121="NOT_SCORED"
CHECK_TYPE_check121=""
CHECK_ALTERNATE_check121="check121" CHECK_ALTERNATE_check121="check121"
check121(){ check121(){

View File

@@ -1,7 +1,6 @@
CHECK_ID_check122="" CHECK_ID_check122="1.22"
CHECK_TITLE_check122="" CHECK_TITLE_check122="Ensure a support role has been created to manage incidents with AWS Support (Scored)"
CHECK_SCORED_check122="" CHECK_SCORED_check122="SCORED"
CHECK_TYPE_check122=""
CHECK_ALTERNATE_check122="check122" CHECK_ALTERNATE_check122="check122"
check122(){ check122(){

View File

@@ -1,7 +1,6 @@
CHECK_ID_check123="" CHECK_ID_check123="1.23"
CHECK_TITLE_check123="" CHECK_TITLE_check123="Do not setup access keys during initial user setup for all IAM users that have a console password (Not Scored)"
CHECK_SCORED_check123="" CHECK_SCORED_check123="NOT_SCORED"
CHECK_TYPE_check123=""
CHECK_ALTERNATE_check123="check123" CHECK_ALTERNATE_check123="check123"
check123(){ check123(){

View File

@@ -1,7 +1,6 @@
CHECK_ID_check124="" CHECK_ID_check124="1.24"
CHECK_TITLE_check124="" CHECK_TITLE_check124="Ensure IAM policies that allow full \"*:*\" administrative privileges are not created (Scored)"
CHECK_SCORED_check124="" CHECK_SCORED_check124="SCORED"
CHECK_TYPE_check124=""
CHECK_ALTERNATE_check124="check124" CHECK_ALTERNATE_check124="check124"
check124(){ check124(){

View File

@@ -1,8 +1,7 @@
CHECK_ID_check13="" CHECK_ID_check13="1.3,1.03"
CHECK_TITLE_check13="" CHECK_TITLE_check13="Ensure credentials unused for 90 days or greater are disabled (Scored)"
CHECK_SCORED_check13="" CHECK_SCORED_check13="SCORED"
CHECK_TYPE_check13="" CHECK_ALTERNATE_check103="check13"
CHECK_ALTERNATE_check13="check13"
check13(){ check13(){
# "Ensure credentials unused for 90 days or greater are disabled (Scored)" # "Ensure credentials unused for 90 days or greater are disabled (Scored)"
@@ -11,8 +10,7 @@ check13(){
if [[ $COMMAND12_LIST_USERS_WITH_PASSWORD_ENABLED ]]; then if [[ $COMMAND12_LIST_USERS_WITH_PASSWORD_ENABLED ]]; then
COMMAND13=$( COMMAND13=$(
for i in $COMMAND12_LIST_USERS_WITH_PASSWORD_ENABLED; do for i in $COMMAND12_LIST_USERS_WITH_PASSWORD_ENABLED; do
cat $TEMP_REPORT_FILE|awk -F, '{ print $1,$5 }' |grep $i| awk '{ print $1 }'|tr ' cat $TEMP_REPORT_FILE|awk -F, '{ print $1,$5 }' |grep $i| awk '{ print $1 }'|tr '\n' ' ';
' ' ';
done) done)
# list of users that have used password # list of users that have used password
USERS_PASSWORD_USED=$($AWSCLI iam list-users --query "Users[?PasswordLastUsed].UserName" --output text $PROFILE_OPT --region $REGION) USERS_PASSWORD_USED=$($AWSCLI iam list-users --query "Users[?PasswordLastUsed].UserName" --output text $PROFILE_OPT --region $REGION)

View File

@@ -1,8 +1,7 @@
CHECK_ID_check14="" CHECK_ID_check14="1.4,1.04"
CHECK_TITLE_check14="" CHECK_TITLE_check14="Ensure access keys are rotated every 90 days or less (Scored)"
CHECK_SCORED_check14="" CHECK_SCORED_check14="SCORED"
CHECK_TYPE_check14="" CHECK_ALTERNATE_check104="check14"
CHECK_ALTERNATE_check14="check14"
check14(){ check14(){
# "Ensure access keys are rotated every 90 days or less (Scored)" # also checked by Security Monkey # "Ensure access keys are rotated every 90 days or less (Scored)" # also checked by Security Monkey

View File

@@ -1,8 +1,7 @@
CHECK_ID_check15="" CHECK_ID_check15="1.5,1.05"
CHECK_TITLE_check15="" CHECK_TITLE_check15="Ensure IAM password policy requires at least one uppercase letter (Scored)"
CHECK_SCORED_check15="" CHECK_SCORED_check15="SCORED"
CHECK_TYPE_check15="" CHECK_ALTERNATE_check105="check15"
CHECK_ALTERNATE_check15="check15"
check15(){ check15(){
# "Ensure IAM password policy requires at least one uppercase letter (Scored)" # "Ensure IAM password policy requires at least one uppercase letter (Scored)"

View File

@@ -1,8 +1,7 @@
CHECK_ID_check16="" CHECK_ID_check16="1.6,1.06"
CHECK_TITLE_check16="" CHECK_TITLE_check16="Ensure IAM password policy require at least one lowercase letter (Scored)"
CHECK_SCORED_check16="" CHECK_SCORED_check16="SCORED"
CHECK_TYPE_check16="" CHECK_ALTERNATE_check106="check16"
CHECK_ALTERNATE_check16="check16"
check16(){ check16(){
# "Ensure IAM password policy require at least one lowercase letter (Scored)" # "Ensure IAM password policy require at least one lowercase letter (Scored)"

View File

@@ -1,8 +1,7 @@
CHECK_ID_check17="" CHECK_ID_check17="1.7,1.07"
CHECK_TITLE_check17="" CHECK_TITLE_check17="Ensure IAM password policy require at least one symbol (Scored)"
CHECK_SCORED_check17="" CHECK_SCORED_check17="SCORED"
CHECK_TYPE_check17="" CHECK_ALTERNATE_check107="check17"
CHECK_ALTERNATE_check17="check17"
check17(){ check17(){
# "Ensure IAM password policy require at least one symbol (Scored)" # "Ensure IAM password policy require at least one symbol (Scored)"

View File

@@ -1,7 +1,6 @@
CHECK_ID_check18="" CHECK_ID_check18="1.8,1.08"
CHECK_TITLE_check18="" CHECK_TITLE_check18="Ensure IAM password policy require at least one number (Scored)"
CHECK_SCORED_check18="" CHECK_SCORED_check18="SCORED"
CHECK_TYPE_check18=""
CHECK_ALTERNATE_check18="check18" CHECK_ALTERNATE_check18="check18"
check18(){ check18(){

View File

@@ -1,8 +1,7 @@
CHECK_ID_check19="" CHECK_ID_check19="1.9,1.09"
CHECK_TITLE_check19="" CHECK_TITLE_check19="Ensure IAM password policy requires minimum length of 14 or greater (Scored)"
CHECK_SCORED_check19="" CHECK_SCORED_check19="SCORED"
CHECK_TYPE_check19="" CHECK_ALTERNATE_check109="check19"
CHECK_ALTERNATE_check19="check19"
check19(){ check19(){
# "Ensure IAM password policy requires minimum length of 14 or greater (Scored)" # "Ensure IAM password policy requires minimum length of 14 or greater (Scored)"

View File

@@ -1,8 +1,7 @@
CHECK_ID_check21="" CHECK_ID_check21="2.1,2.01"
CHECK_TITLE_check21="" CHECK_TITLE_check21="Ensure CloudTrail is enabled in all regions (Scored)"
CHECK_SCORED_check21="" CHECK_SCORED_check21="SCORED"
CHECK_TYPE_check21="" CHECK_ALTERNATE_check201="check21"
CHECK_ALTERNATE_check21="check21"
check21(){ check21(){
# "Ensure CloudTrail is enabled in all regions (Scored)" # "Ensure CloudTrail is enabled in all regions (Scored)"

View File

@@ -1,8 +1,7 @@
CHECK_ID_check22="" CHECK_ID_check22="2.2,2.02"
CHECK_TITLE_check22="" CHECK_TITLE_check22="Ensure CloudTrail log file validation is enabled (Scored)"
CHECK_SCORED_check22="" CHECK_SCORED_check22="SCORED"
CHECK_TYPE_check22="" CHECK_ALTERNATE_check202="check22"
CHECK_ALTERNATE_check22="check22"
check22(){ check22(){
# "Ensure CloudTrail log file validation is enabled (Scored)" # "Ensure CloudTrail log file validation is enabled (Scored)"

View File

@@ -1,8 +1,7 @@
CHECK_ID_check23="" CHECK_ID_check23="2.3,2.03"
CHECK_TITLE_check23="" CHECK_TITLE_check23="Ensure the S3 bucket CloudTrail logs to is not publicly accessible (Scored)"
CHECK_SCORED_check23="" CHECK_SCORED_check23="SCORED"
CHECK_TYPE_check23="" CHECK_ALTERNATE_check203="check23"
CHECK_ALTERNATE_check23="check23"
check23(){ check23(){
# "Ensure the S3 bucket CloudTrail logs to is not publicly accessible (Scored)" # "Ensure the S3 bucket CloudTrail logs to is not publicly accessible (Scored)"

View File

@@ -1,8 +1,7 @@
CHECK_ID_check24="" CHECK_ID_check24="2.4,2.04"
CHECK_TITLE_check24="" CHECK_TITLE_check24="Ensure CloudTrail trails are integrated with CloudWatch Logs (Scored)"
CHECK_SCORED_check24="" CHECK_SCORED_check24="SCORED"
CHECK_TYPE_check24="" CHECK_ALTERNATE_check204="check24"
CHECK_ALTERNATE_check24="check24"
check24(){ check24(){
# "Ensure CloudTrail trails are integrated with CloudWatch Logs (Scored)" # "Ensure CloudTrail trails are integrated with CloudWatch Logs (Scored)"

View File

@@ -1,8 +1,7 @@
CHECK_ID_check25="" CHECK_ID_check25="2.5,2.05"
CHECK_TITLE_check25="" CHECK_TITLE_check25="Ensure AWS Config is enabled in all regions (Scored)"
CHECK_SCORED_check25="" CHECK_SCORED_check25="SCORED"
CHECK_TYPE_check25="" CHECK_ALTERNATE_check205="check25"
CHECK_ALTERNATE_check25="check25"
check25(){ check25(){
# "Ensure AWS Config is enabled in all regions (Scored)" # "Ensure AWS Config is enabled in all regions (Scored)"

View File

@@ -1,8 +1,7 @@
CHECK_ID_check26="" CHECK_ID_check26="2.6,2.06"
CHECK_TITLE_check26="" CHECK_TITLE_check26="Ensure S3 bucket access logging is enabled on the CloudTrail S3 bucket (Scored)"
CHECK_SCORED_check26="" CHECK_SCORED_check26="SCORED"
CHECK_TYPE_check26="" CHECK_ALTERNATE_check206="check26"
CHECK_ALTERNATE_check26="check26"
check26(){ check26(){
# "Ensure S3 bucket access logging is enabled on the CloudTrail S3 bucket (Scored)" # "Ensure S3 bucket access logging is enabled on the CloudTrail S3 bucket (Scored)"

View File

@@ -1,8 +1,7 @@
CHECK_ID_check27="" CHECK_ID_check27="2.7,2.07"
CHECK_TITLE_check27="" CHECK_TITLE_check27="Ensure CloudTrail logs are encrypted at rest using KMS CMKs (Scored)"
CHECK_SCORED_check27="" CHECK_SCORED_check27="SCORED"
CHECK_TYPE_check27="" CHECK_ALTERNATE_check207="check27"
CHECK_ALTERNATE_check27="check27"
check27(){ check27(){
# "Ensure CloudTrail logs are encrypted at rest using KMS CMKs (Scored)" # "Ensure CloudTrail logs are encrypted at rest using KMS CMKs (Scored)"

View File

@@ -1,8 +1,7 @@
CHECK_ID_check28="" CHECK_ID_check28="2.8,2.08"
CHECK_TITLE_check28="" CHECK_TITLE_check28="Ensure rotation for customer created CMKs is enabled (Scored)"
CHECK_SCORED_check28="" CHECK_SCORED_check28="SCORED"
CHECK_TYPE_check28="" CHECK_ALTERNATE_check208="check28"
CHECK_ALTERNATE_check28="check28"
check28(){ check28(){
# "Ensure rotation for customer created CMKs is enabled (Scored)" # "Ensure rotation for customer created CMKs is enabled (Scored)"

View File

@@ -1,8 +1,7 @@
CHECK_ID_check31="" CHECK_ID_check31="3.1,3.01"
CHECK_TITLE_check31="" CHECK_TITLE_check31="Ensure a log metric filter and alarm exist for unauthorized API calls (Scored)"
CHECK_SCORED_check31="" CHECK_SCORED_check31="SCORED"
CHECK_TYPE_check31="" CHECK_ALTERNATE_check301="check31"
CHECK_ALTERNATE_check31="check31"
check31(){ check31(){
# "Ensure a log metric filter and alarm exist for unauthorized API calls (Scored)" # "Ensure a log metric filter and alarm exist for unauthorized API calls (Scored)"

View File

@@ -1,7 +1,6 @@
CHECK_ID_check310="" CHECK_ID_check310="3.10"
CHECK_TITLE_check310="" CHECK_TITLE_check310="Ensure a log metric filter and alarm exist for security group changes (Scored)"
CHECK_SCORED_check310="" CHECK_SCORED_check310="SCORED"
CHECK_TYPE_check310=""
CHECK_ALTERNATE_check310="check310" CHECK_ALTERNATE_check310="check310"
check310(){ check310(){

View File

@@ -1,7 +1,6 @@
CHECK_ID_check311="" CHECK_ID_check311="3.11"
CHECK_TITLE_check311="" CHECK_TITLE_check311="Ensure a log metric filter and alarm exist for changes to Network Access Control Lists (NACL) (Scored)"
CHECK_SCORED_check311="" CHECK_SCORED_check311="SCORED"
CHECK_TYPE_check311=""
CHECK_ALTERNATE_check311="check311" CHECK_ALTERNATE_check311="check311"
check311(){ check311(){

View File

@@ -1,7 +1,6 @@
CHECK_ID_check312="" CHECK_ID_check312="3.12"
CHECK_TITLE_check312="" CHECK_TITLE_check312="Ensure a log metric filter and alarm exist for changes to network gateways (Scored)"
CHECK_SCORED_check312="" CHECK_SCORED_check312="SCORED"
CHECK_TYPE_check312=""
CHECK_ALTERNATE_check312="check312" CHECK_ALTERNATE_check312="check312"
check312(){ check312(){

View File

@@ -1,7 +1,6 @@
CHECK_ID_check313="" CHECK_ID_check313="3.13"
CHECK_TITLE_check313="" CHECK_TITLE_check313="Ensure a log metric filter and alarm exist for route table changes (Scored)"
CHECK_SCORED_check313="" CHECK_SCORED_check313="SCORED"
CHECK_TYPE_check313=""
CHECK_ALTERNATE_check313="check313" CHECK_ALTERNATE_check313="check313"
check313(){ check313(){

View File

@@ -1,7 +1,6 @@
CHECK_ID_check314="" CHECK_ID_check314="3.14"
CHECK_TITLE_check314="" CHECK_TITLE_check314="Ensure a log metric filter and alarm exist for VPC changes (Scored)"
CHECK_SCORED_check314="" CHECK_SCORED_check314="SCORED"
CHECK_TYPE_check314=""
CHECK_ALTERNATE_check314="check314" CHECK_ALTERNATE_check314="check314"
check314(){ check314(){

View File

@@ -1,7 +1,6 @@
CHECK_ID_check315="" CHECK_ID_check315="3.15"
CHECK_TITLE_check315="" CHECK_TITLE_check315="Ensure appropriate subscribers to each SNS topic (Not Scored)"
CHECK_SCORED_check315="" CHECK_SCORED_check315="SCORED"
CHECK_TYPE_check315=""
CHECK_ALTERNATE_check315="check315" CHECK_ALTERNATE_check315="check315"
check315(){ check315(){

View File

@@ -1,8 +1,7 @@
CHECK_ID_check32="" CHECK_ID_check32="3.2,3.02"
CHECK_TITLE_check32="" CHECK_TITLE_check32="Ensure a log metric filter and alarm exist for Management Console sign-in without MFA (Scored)"
CHECK_SCORED_check32="" CHECK_SCORED_check32="SCORED"
CHECK_TYPE_check32="" CHECK_ALTERNATE_check302="check32"
CHECK_ALTERNATE_check32="check32"
check32(){ check32(){
# "Ensure a log metric filter and alarm exist for Management Console sign-in without MFA (Scored)" # "Ensure a log metric filter and alarm exist for Management Console sign-in without MFA (Scored)"

View File

@@ -1,8 +1,7 @@
CHECK_ID_check33="" CHECK_ID_check33="3.3,3.03"
CHECK_TITLE_check33="" CHECK_TITLE_check33="Ensure a log metric filter and alarm exist for usage of root account (Scored)"
CHECK_SCORED_check33="" CHECK_SCORED_check33="SCORED"
CHECK_TYPE_check33="" CHECK_ALTERNATE_check303="check33"
CHECK_ALTERNATE_check33="check33"
check33(){ check33(){
# "Ensure a log metric filter and alarm exist for usage of root account (Scored)" # "Ensure a log metric filter and alarm exist for usage of root account (Scored)"

View File

@@ -1,8 +1,7 @@
CHECK_ID_check34="" CHECK_ID_check34="3.4,3.04"
CHECK_TITLE_check34="" CHECK_TITLE_check34="Ensure a log metric filter and alarm exist for IAM policy changes (Scored)"
CHECK_SCORED_check34="" CHECK_SCORED_check34="SCORED"
CHECK_TYPE_check34="" CHECK_ALTERNATE_check304="check34"
CHECK_ALTERNATE_check34="check34"
check34(){ check34(){
# "Ensure a log metric filter and alarm exist for IAM policy changes (Scored)" # "Ensure a log metric filter and alarm exist for IAM policy changes (Scored)"

View File

@@ -1,8 +1,7 @@
CHECK_ID_check35="" CHECK_ID_check35="3.5,3.05"
CHECK_TITLE_check35="" CHECK_TITLE_check35="Ensure a log metric filter and alarm exist for CloudTrail configuration changes (Scored)"
CHECK_SCORED_check35="" CHECK_SCORED_check35="SCORED"
CHECK_TYPE_check35="" CHECK_ALTERNATE_check305="check35"
CHECK_ALTERNATE_check35="check35"
check35(){ check35(){
# "Ensure a log metric filter and alarm exist for CloudTrail configuration changes (Scored)" # "Ensure a log metric filter and alarm exist for CloudTrail configuration changes (Scored)"

View File

@@ -1,8 +1,7 @@
CHECK_ID_check36="" CHECK_ID_check36="3.6,3.06"
CHECK_TITLE_check36="" CHECK_TITLE_check36="Ensure a log metric filter and alarm exist for AWS Management Console authentication failures (Scored)"
CHECK_SCORED_check36="" CHECK_SCORED_check36="SCORED"
CHECK_TYPE_check36="" CHECK_ALTERNATE_check306="check36"
CHECK_ALTERNATE_check36="check36"
check36(){ check36(){
# "Ensure a log metric filter and alarm exist for AWS Management Console authentication failures (Scored)" # "Ensure a log metric filter and alarm exist for AWS Management Console authentication failures (Scored)"

View File

@@ -1,8 +1,7 @@
CHECK_ID_check37="" CHECK_ID_check37="3.7,3.07"
CHECK_TITLE_check37="" CHECK_TITLE_check37="Ensure a log metric filter and alarm exist for disabling or scheduled deletion of customer created CMKs (Scored)"
CHECK_SCORED_check37="" CHECK_SCORED_check37="SCORED"
CHECK_TYPE_check37="" CHECK_ALTERNATE_check307="check37"
CHECK_ALTERNATE_check37="check37"
check37(){ check37(){
# "Ensure a log metric filter and alarm exist for disabling or scheduled deletion of customer created CMKs (Scored)" # "Ensure a log metric filter and alarm exist for disabling or scheduled deletion of customer created CMKs (Scored)"

View File

@@ -1,8 +1,7 @@
CHECK_ID_check38="" CHECK_ID_check38="3.8,3.08"
CHECK_TITLE_check38="" CHECK_TITLE_check38="Ensure a log metric filter and alarm exist for S3 bucket policy changes (Scored)"
CHECK_SCORED_check38="" CHECK_SCORED_check38="SCORED"
CHECK_TYPE_check38="" CHECK_ALTERNATE_check308="check38"
CHECK_ALTERNATE_check38="check38"
check38(){ check38(){
# "Ensure a log metric filter and alarm exist for S3 bucket policy changes (Scored)" # "Ensure a log metric filter and alarm exist for S3 bucket policy changes (Scored)"

View File

@@ -1,8 +1,7 @@
CHECK_ID_check39="" CHECK_ID_check39="3.9,3.09"
CHECK_TITLE_check39="" CHECK_TITLE_check39="Ensure a log metric filter and alarm exist for AWS Config configuration changes (Scored)"
CHECK_SCORED_check39="" CHECK_SCORED_check39="SCORED"
CHECK_TYPE_check39="" CHECK_ALTERNATE_check309="check39"
CHECK_ALTERNATE_check39="check39"
check39(){ check39(){
# "Ensure a log metric filter and alarm exist for AWS Config configuration changes (Scored)" # "Ensure a log metric filter and alarm exist for AWS Config configuration changes (Scored)"

View File

@@ -1,8 +1,7 @@
CHECK_ID_check41="" CHECK_ID_check41="4.1,4.01"
CHECK_TITLE_check41="" CHECK_TITLE_check41="Ensure no security groups allow ingress from 0.0.0.0/0 to port 22 (Scored)"
CHECK_SCORED_check41="" CHECK_SCORED_check41="SCORED"
CHECK_TYPE_check41="" CHECK_ALTERNATE_check401="check41"
CHECK_ALTERNATE_check41="check41"
check41(){ check41(){
# "Ensure no security groups allow ingress from 0.0.0.0/0 to port 22 (Scored)" # "Ensure no security groups allow ingress from 0.0.0.0/0 to port 22 (Scored)"

View File

@@ -1,8 +1,7 @@
CHECK_ID_check42="" CHECK_ID_check42="4.2,4.02"
CHECK_TITLE_check42="" CHECK_TITLE_check42="Ensure no security groups allow ingress from 0.0.0.0/0 to port 3389 (Scored)"
CHECK_SCORED_check42="" CHECK_SCORED_check42="SCORED"
CHECK_TYPE_check42="" CHECK_ALTERNATE_check402="check42"
CHECK_ALTERNATE_check42="check42"
check42(){ check42(){
# "Ensure no security groups allow ingress from 0.0.0.0/0 to port 3389 (Scored)" # "Ensure no security groups allow ingress from 0.0.0.0/0 to port 3389 (Scored)"

View File

@@ -1,8 +1,7 @@
CHECK_ID_check43="" CHECK_ID_check43="4.3,4.03"
CHECK_TITLE_check43="" CHECK_TITLE_check43="Ensure VPC Flow Logging is Enabled in all VPCs (Scored)"
CHECK_SCORED_check43="" CHECK_SCORED_check43="SCORED"
CHECK_TYPE_check43="" CHECK_ALTERNATE_check403="check43"
CHECK_ALTERNATE_check43="check43"
check43(){ check43(){
# "Ensure VPC Flow Logging is Enabled in all VPCs (Scored)" # "Ensure VPC Flow Logging is Enabled in all VPCs (Scored)"

View File

@@ -1,8 +1,7 @@
CHECK_ID_check44="" CHECK_ID_check44="4.4,4.04"
CHECK_TITLE_check44="" CHECK_TITLE_check44="Ensure the default security group of every VPC restricts all traffic (Scored)"
CHECK_SCORED_check44="" CHECK_SCORED_check44="SCORED"
CHECK_TYPE_check44="" CHECK_ALTERNATE_check404="check44"
CHECK_ALTERNATE_check44="check44"
check44(){ check44(){
# "Ensure the default security group of every VPC restricts all traffic (Scored)" # "Ensure the default security group of every VPC restricts all traffic (Scored)"

View File

@@ -1,8 +1,7 @@
CHECK_ID_check45="" CHECK_ID_check45="4.5,4.05"
CHECK_TITLE_check45="" CHECK_TITLE_check45="Ensure routing tables for VPC peering are \"least access\" (Not Scored)"
CHECK_SCORED_check45="" CHECK_SCORED_check45="NOT_SCORED"
CHECK_TYPE_check45="" CHECK_ALTERNATE_check405="check45"
CHECK_ALTERNATE_check45="check45"
check45(){ check45(){
# "Ensure routing tables for VPC peering are \"least access\" (Not Scored)" # "Ensure routing tables for VPC peering are \"least access\" (Not Scored)"

View File

@@ -1,13 +1,13 @@
CHECK_ID_check_extra71="" CHECK_ID_extra71="7.1,7.01"
CHECK_TITLE_check_extra71="" CHECK_TITLE_extra71="Ensure users with AdministratorAccess policy have MFA tokens enabled (Not Scored) (Not part of CIS benchmark)"
CHECK_SCORED_check_extra71="" CHECK_SCORED_extra71="NOT_SCORED"
CHECK_TYPE_check_extra71="" CHECK_ALTERNATE_extra701="extra71"
CHECK_ALTERNATE_check_extra71="check_extra71" CHECK_ALTERNATE_check71="extra71"
CHECK_ALTERNATE_check701="extra71"
extra71(){ extra71(){
# "Ensure users with AdministratorAccess policy have MFA tokens enabled (Not Scored) (Not part of CIS benchmark)" # "Ensure users with AdministratorAccess policy have MFA tokens enabled (Not Scored) (Not part of CIS benchmark)"
textTitle "$ID71" "$TITLE71" "NOT_SCORED" "EXTRA" textTitle "$ID71" "$TITLE71" "NOT_SCORED" "EXTRA"
ADMIN_GROUPS='' ADMIN_GROUPS=''
AWS_GROUPS=$($AWSCLI $PROFILE_OPT iam list-groups --output text --query 'Groups[].GroupName') AWS_GROUPS=$($AWSCLI $PROFILE_OPT iam list-groups --output text --query 'Groups[].GroupName')
for grp in $AWS_GROUPS; do for grp in $AWS_GROUPS; do
@@ -33,5 +33,4 @@ extra71(){
textNotice "$grp group provides non-administrative access" textNotice "$grp group provides non-administrative access"
fi fi
done done
# set +x
} }

View File

@@ -1,8 +1,8 @@
CHECK_ID_check_extra710="" CHECK_ID_extra710="7.10"
CHECK_TITLE_check_extra710="" CHECK_TITLE_extra710="Check for internet facing EC2 Instances (Not Scored) (Not part of CIS benchmark)"
CHECK_SCORED_check_extra710="" CHECK_SCORED_extra710="NOT_SCORED"
CHECK_TYPE_check_extra710="" CHECK_ALTERNATE_extra710="extra710"
CHECK_ALTERNATE_check_extra710="check_extra710" CHECK_ALTERNATE_check710="extra710"
extra710(){ extra710(){
# "Check for internet facing EC2 Instances (Not Scored) (Not part of CIS benchmark)" # "Check for internet facing EC2 Instances (Not Scored) (Not part of CIS benchmark)"

View File

@@ -1,8 +1,8 @@
CHECK_ID_check_extra711="" CHECK_ID_extra711="7.11"
CHECK_TITLE_check_extra711="" CHECK_TITLE_extra711="Check for Publicly Accessible Redshift Clusters (Not Scored) (Not part of CIS benchmark)"
CHECK_SCORED_check_extra711="" CHECK_SCORED_extra711="NOT_SCORED"
CHECK_TYPE_check_extra711="" CHECK_ALTERNATE_extra711="extra711"
CHECK_ALTERNATE_check_extra711="check_extra711" CHECK_ALTERNATE_check711="extra711"
extra711(){ extra711(){
# "Check for Publicly Accessible Redshift Clusters (Not Scored) (Not part of CIS benchmark)" # "Check for Publicly Accessible Redshift Clusters (Not Scored) (Not part of CIS benchmark)"

View File

@@ -1,8 +1,8 @@
CHECK_ID_check_extra712="" CHECK_ID_extra712="7.12"
CHECK_TITLE_check_extra712="" CHECK_TITLE_extra712="Check if Amazon Macie is enabled (Not Scored) (Not part of CIS benchmark)"
CHECK_SCORED_check_extra712="" CHECK_SCORED_extra712="NOT_SCORED"
CHECK_TYPE_check_extra712="" CHECK_ALTERNATE_extra712="extra712"
CHECK_ALTERNATE_check_extra712="check_extra712" CHECK_ALTERNATE_check712="extra712"
extra712(){ extra712(){
# "Check if Amazon Macie is enabled (Not Scored) (Not part of CIS benchmark)" # "Check if Amazon Macie is enabled (Not Scored) (Not part of CIS benchmark)"

View File

@@ -1,8 +1,8 @@
CHECK_ID_check_extra713="" CHECK_ID_extra713="7.13"
CHECK_TITLE_check_extra713="" CHECK_TITLE_extra713="Check if GuardDuty is enabled (Not Scored) (Not part of CIS benchmark)"
CHECK_SCORED_check_extra713="" CHECK_SCORED_extra713="NOT_SCORED"
CHECK_TYPE_check_extra713="" CHECK_ALTERNATE_extra713="extra713"
CHECK_ALTERNATE_check_extra713="check_extra713" CHECK_ALTERNATE_check713="extra713"
extra713(){ extra713(){
# "Check if GuardDuty is enabled (Not Scored) (Not part of CIS benchmark)" # "Check if GuardDuty is enabled (Not Scored) (Not part of CIS benchmark)"

View File

@@ -1,8 +1,8 @@
CHECK_ID_check_extra714="" CHECK_ID_extra714="7.14"
CHECK_TITLE_check_extra714="" CHECK_TITLE_extra714="Check if CloudFront distributions have logging enabled (Not Scored) (Not part of CIS benchmark)"
CHECK_SCORED_check_extra714="" CHECK_SCORED_extra714="NOT_SCORED"
CHECK_TYPE_check_extra714="" CHECK_ALTERNATE_extra714="extra714"
CHECK_ALTERNATE_check_extra714="check_extra714" CHECK_ALTERNATE_check714="extra714"
extra714(){ extra714(){
# "Check if CloudFront distributions have logging enabled (Not Scored) (Not part of CIS benchmark)" # "Check if CloudFront distributions have logging enabled (Not Scored) (Not part of CIS benchmark)"

View File

@@ -1,11 +1,10 @@
CHECK_ID_check_extra715="" CHECK_ID_extra715="7.15"
CHECK_TITLE_check_extra715="" CHECK_TITLE_extra715="Check if Elasticsearch Service domains have logging enabled (Not Scored) (Not part of CIS benchmark)"
CHECK_SCORED_check_extra715="" CHECK_SCORED_extra715="NOT_SCORED"
CHECK_TYPE_check_extra715="" CHECK_ALTERNATE_extra715="extra715"
CHECK_ALTERNATE_check_extra715="check_extra715" CHECK_ALTERNATE_check715="extra715"
extra715(){ extra715(){
# "Check if Elasticsearch Service domains have logging enabled (Not Scored) (Not part of CIS benchmark)"
textTitle "$ID715" "$TITLE715" "NOT_SCORED" "EXTRA" textTitle "$ID715" "$TITLE715" "NOT_SCORED" "EXTRA"
for regx in $REGIONS; do for regx in $REGIONS; do
LIST_OF_DOMAINS=$($AWSCLI es list-domain-names $PROFILE_OPT --region $regx --query DomainNames --output text) LIST_OF_DOMAINS=$($AWSCLI es list-domain-names $PROFILE_OPT --region $regx --query DomainNames --output text)

View File

@@ -1,8 +1,8 @@
CHECK_ID_check_extra716="" CHECK_ID_extra716="7.16"
CHECK_TITLE_check_extra716="" CHECK_TITLE_extra716="Check if Elasticsearch Service domains allow open access (Not Scored) (Not part of CIS benchmark)"
CHECK_SCORED_check_extra716="" CHECK_SCORED_extra716="NOT_SCORED"
CHECK_TYPE_check_extra716="" CHECK_ALTERNATE_extra716="extra716"
CHECK_ALTERNATE_check_extra716="check_extra716" CHECK_ALTERNATE_check716="extra716"
extra716(){ extra716(){
# "Check if Elasticsearch Service domains allow open access (Not Scored) (Not part of CIS benchmark)" # "Check if Elasticsearch Service domains allow open access (Not Scored) (Not part of CIS benchmark)"

View File

@@ -1,8 +1,8 @@
CHECK_ID_check_extra717="" CHECK_ID_extra717="7.17"
CHECK_TITLE_check_extra717="" CHECK_TITLE_extra717="Check if Elastic Load Balancers have logging enabled (Not Scored) (Not part of CIS benchmark)"
CHECK_SCORED_check_extra717="" CHECK_SCORED_extra717="NOT_SCORED"
CHECK_TYPE_check_extra717="" CHECK_ALTERNATE_extra717="extra717"
CHECK_ALTERNATE_check_extra717="check_extra717" CHECK_ALTERNATE_check717="extra717"
extra717(){ extra717(){
# "Check if Elastic Load Balancers have logging enabled (Not Scored) (Not part of CIS benchmark)" # "Check if Elastic Load Balancers have logging enabled (Not Scored) (Not part of CIS benchmark)"

View File

@@ -1,8 +1,8 @@
CHECK_ID_check_extra718="" CHECK_ID_extra718="7.18"
CHECK_TITLE_check_extra718="" CHECK_TITLE_extra718="Check if S3 buckets have server access logging enabled (Not Scored) (Not part of CIS benchmark)"
CHECK_SCORED_check_extra718="" CHECK_SCORED_extra718="NOT_SCORED"
CHECK_TYPE_check_extra718="" CHECK_ALTERNATE_extra718="extra718"
CHECK_ALTERNATE_check_extra718="check_extra718" CHECK_ALTERNATE_check718="extra718"
extra718(){ extra718(){
# "Check if S3 buckets have server access logging enabled (Not Scored) (Not part of CIS benchmark)" # "Check if S3 buckets have server access logging enabled (Not Scored) (Not part of CIS benchmark)"

View File

@@ -1,8 +1,8 @@
CHECK_ID_check_extra719="" CHECK_ID_extra719="7.19"
CHECK_TITLE_check_extra719="" CHECK_TITLE_extra719="Check if Route53 hosted zones are logging queries to CloudWatch Logs (Not Scored) (Not part of CIS benchmark)"
CHECK_SCORED_check_extra719="" CHECK_SCORED_extra719="NOT_SCORED"
CHECK_TYPE_check_extra719="" CHECK_ALTERNATE_extra719="extra719"
CHECK_ALTERNATE_check_extra719="check_extra719" CHECK_ALTERNATE_check719="extra719"
extra719(){ extra719(){
# "Check if Route53 hosted zones are logging queries to CloudWatch Logs (Not Scored) (Not part of CIS benchmark)" # "Check if Route53 hosted zones are logging queries to CloudWatch Logs (Not Scored) (Not part of CIS benchmark)"

View File

@@ -1,8 +1,9 @@
CHECK_ID_check_extra72="" CHECK_ID_extra72="7.2,7.02"
CHECK_TITLE_check_extra72="" CHECK_TITLE_extra72="Ensure there are no EBS Snapshots set as Public (Not Scored) (Not part of CIS benchmark)"
CHECK_SCORED_check_extra72="" CHECK_SCORED_extra72="NOT_SCORED"
CHECK_TYPE_check_extra72="" CHECK_ALTERNATE_extra702="extra72"
CHECK_ALTERNATE_check_extra72="check_extra72" CHECK_ALTERNATE_check72="extra72"
CHECK_ALTERNATE_check702="extra72"
extra72(){ extra72(){
# "Ensure there are no EBS Snapshots set as Public (Not Scored) (Not part of CIS benchmark)" # "Ensure there are no EBS Snapshots set as Public (Not Scored) (Not part of CIS benchmark)"

View File

@@ -1,8 +1,8 @@
CHECK_ID_check_extra720="" CHECK_ID_extra720="7.20"
CHECK_TITLE_check_extra720="" CHECK_TITLE_extra720="Check if Lambda functions invoke API operations are being recorded by CloudTrail (Not Scored) (Not part of CIS benchmark)"
CHECK_SCORED_check_extra720="" CHECK_SCORED_extra720="NOT_SCORED"
CHECK_TYPE_check_extra720="" CHECK_ALTERNATE_extra720="extra720"
CHECK_ALTERNATE_check_extra720="check_extra720" CHECK_ALTERNATE_check720="extra720"
extra720(){ extra720(){
# "Check if Lambda functions invoke API operations are being recorded by CloudTrail (Not Scored) (Not part of CIS benchmark)" # "Check if Lambda functions invoke API operations are being recorded by CloudTrail (Not Scored) (Not part of CIS benchmark)"

View File

@@ -1,8 +1,8 @@
CHECK_ID_check_extra721="" CHECK_ID_extra721="7.21"
CHECK_TITLE_check_extra721="" CHECK_TITLE_extra721="Check if Redshift cluster has audit logging enabled (Not Scored) (Not part of CIS benchmark)"
CHECK_SCORED_check_extra721="" CHECK_SCORED_extra721="NOT_SCORED"
CHECK_TYPE_check_extra721="" CHECK_ALTERNATE_extra721="extra721"
CHECK_ALTERNATE_check_extra721="check_extra721" CHECK_ALTERNATE_check721="extra721"
extra721(){ extra721(){
# "Check if Redshift cluster has audit logging enabled (Not Scored) (Not part of CIS benchmark)" # "Check if Redshift cluster has audit logging enabled (Not Scored) (Not part of CIS benchmark)"

View File

@@ -1,8 +1,8 @@
CHECK_ID_check_extra722="" CHECK_ID_extra722="7.22"
CHECK_TITLE_check_extra722="" CHECK_TITLE_extra722="Check if API Gateway has logging enabled (Not Scored) (Not part of CIS benchmark)"
CHECK_SCORED_check_extra722="" CHECK_SCORED_extra722="NOT_SCORED"
CHECK_TYPE_check_extra722="" CHECK_ALTERNATE_check722="extra722"
CHECK_ALTERNATE_check_extra722="check_extra722" CHECK_ALTERNATE_extra722="extra722"
extra722(){ extra722(){
# "Check if API Gateway has logging enabled (Not Scored) (Not part of CIS benchmark)" # "Check if API Gateway has logging enabled (Not Scored) (Not part of CIS benchmark)"

View File

@@ -1,8 +1,8 @@
CHECK_ID_check_extra723="" CHECK_ID_extra723="7.23"
CHECK_TITLE_check_extra723="" CHECK_TITLE_extra723="Check if RDS Snapshots are public (Not Scored) (Not part of CIS benchmark)"
CHECK_SCORED_check_extra723="" CHECK_SCORED_extra723="NOT_SCORED"
CHECK_TYPE_check_extra723="" CHECK_ALTERNATE_check723="extra723"
CHECK_ALTERNATE_check_extra723="check_extra723" CHECK_ALTERNATE_extra723="extra723"
extra723(){ extra723(){
# "Check if RDS Snapshots are public (Not Scored) (Not part of CIS benchmark)" # "Check if RDS Snapshots are public (Not Scored) (Not part of CIS benchmark)"

View File

@@ -1,8 +1,9 @@
CHECK_ID_check_extra73="" CHECK_ID_extra73="7.3,7.03"
CHECK_TITLE_check_extra73="" CHECK_TITLE_extra73="Ensure there are no S3 buckets open to the Everyone or Any AWS user (Not Scored) (Not part of CIS benchmark)"
CHECK_SCORED_check_extra73="" CHECK_SCORED_extra73="NOT_SCORED"
CHECK_TYPE_check_extra73="" CHECK_ALTERNATE_extra703="extra73"
CHECK_ALTERNATE_check_extra73="check_extra73" CHECK_ALTERNATE_check73="extra73"
CHECK_ALTERNATE_check703="extra73"
extra73(){ extra73(){
# "Ensure there are no S3 buckets open to the Everyone or Any AWS user (Not Scored) (Not part of CIS benchmark)" # "Ensure there are no S3 buckets open to the Everyone or Any AWS user (Not Scored) (Not part of CIS benchmark)"

View File

@@ -1,8 +1,9 @@
CHECK_ID_check_extra74="" CHECK_ID_extra74="7.4,7.04"
CHECK_TITLE_check_extra74="" CHECK_TITLE_extra74="Ensure there are no Security Groups without ingress filtering being used (Not Scored) (Not part of CIS benchmark)"
CHECK_SCORED_check_extra74="" CHECK_SCORED_extra74="NOT_SCORED"
CHECK_TYPE_check_extra74="" CHECK_ALTERNATE_extra704="extra74"
CHECK_ALTERNATE_check_extra74="check_extra74" CHECK_ALTERNATE_check74="extra74"
CHECK_ALTERNATE_check704="extra74"
extra74(){ extra74(){
# "Ensure there are no Security Groups without ingress filtering being used (Not Scored) (Not part of CIS benchmark)" # "Ensure there are no Security Groups without ingress filtering being used (Not Scored) (Not part of CIS benchmark)"

View File

@@ -1,8 +1,9 @@
CHECK_ID_check_extra75="" CHECK_ID_extra75="7.5,7.05"
CHECK_TITLE_check_extra75="" CHECK_TITLE_extra75="Ensure there are no Security Groups not being used (Not Scored) (Not part of CIS benchmark)"
CHECK_SCORED_check_extra75="" CHECK_SCORED_extra75="NOT_SCORED"
CHECK_TYPE_check_extra75="" CHECK_ALTERNATE_extra705="extra75"
CHECK_ALTERNATE_check_extra75="check_extra75" CHECK_ALTERNATE_check75="extra75"
CHECK_ALTERNATE_check705="extra75"
extra75(){ extra75(){
# "Ensure there are no Security Groups not being used (Not Scored) (Not part of CIS benchmark)" # "Ensure there are no Security Groups not being used (Not Scored) (Not part of CIS benchmark)"

View File

@@ -1,8 +1,9 @@
CHECK_ID_check_extra76="" CHECK_ID_extra76="7.6,7.06"
CHECK_TITLE_check_extra76="" CHECK_TITLE_extra76="Ensure there are no EC2 AMIs set as Public (Not Scored) (Not part of CIS benchmark)"
CHECK_SCORED_check_extra76="" CHECK_SCORED_extra76="NOT_SCORED"
CHECK_TYPE_check_extra76="" CHECK_ALTERNATE_extra706="extra76"
CHECK_ALTERNATE_check_extra76="check_extra76" CHECK_ALTERNATE_check76="extra76"
CHECK_ALTERNATE_check706="extra76"
extra76(){ extra76(){
# "Ensure there are no EC2 AMIs set as Public (Not Scored) (Not part of CIS benchmark)" # "Ensure there are no EC2 AMIs set as Public (Not Scored) (Not part of CIS benchmark)"

View File

@@ -1,8 +1,9 @@
CHECK_ID_check_extra77="" CHECK_ID_extra77="7.7,7.07"
CHECK_TITLE_check_extra77="" CHECK_TITLE_extra77="Ensure there are no ECR repositories set as Public (Not Scored) (Not part of CIS benchmark)"
CHECK_SCORED_check_extra77="" CHECK_SCORED_extra77="NOT_SCORED"
CHECK_TYPE_check_extra77="" CHECK_ALTERNATE_extra707="extra77"
CHECK_ALTERNATE_check_extra77="check_extra77" CHECK_ALTERNATE_check77="extra77"
CHECK_ALTERNATE_check707="extra77"
extra77(){ extra77(){
# "Ensure there are no ECR repositories set as Public (Not Scored) (Not part of CIS benchmark)" # "Ensure there are no ECR repositories set as Public (Not Scored) (Not part of CIS benchmark)"

View File

@@ -1,8 +1,9 @@
CHECK_ID_check_extra78="" CHECK_ID_extra78="7.8,7.08"
CHECK_TITLE_check_extra78="" CHECK_TITLE_extra78="Ensure there are no Public Accessible RDS instances (Not Scored) (Not part of CIS benchmark)"
CHECK_SCORED_check_extra78="" CHECK_SCORED_extra78="NOT_SCORED"
CHECK_TYPE_check_extra78="" CHECK_ALTERNATE_extra708="extra78"
CHECK_ALTERNATE_check_extra78="check_extra78" CHECK_ALTERNATE_check78="extra78"
CHECK_ALTERNATE_check708="extra78"
extra78(){ extra78(){
# "Ensure there are no Public Accessible RDS instances (Not Scored) (Not part of CIS benchmark)" # "Ensure there are no Public Accessible RDS instances (Not Scored) (Not part of CIS benchmark)"

View File

@@ -1,8 +1,9 @@
CHECK_ID_check_extra79="" CHECK_ID_extra79="7.9,7.09"
CHECK_TITLE_check_extra79="" CHECK_TITLE_extra79="Check for internet facing Elastic Load Balancers (Not Scored) (Not part of CIS benchmark)"
CHECK_SCORED_check_extra79="" CHECK_SCORED_extra79="NOT_SCORED"
CHECK_TYPE_check_extra79="" CHECK_ALTERNATE_extra709="extra79"
CHECK_ALTERNATE_check_extra79="check_extra79" CHECK_ALTERNATE_check79="extra79"
CHECK_ALTERNATE_check709="extra79"
extra79(){ extra79(){
# "Check for internet facing Elastic Load Balancers (Not Scored) (Not part of CIS benchmark)" # "Check for internet facing Elastic Load Balancers (Not Scored) (Not part of CIS benchmark)"

6
groups/group0_init Normal file
View File

@@ -0,0 +1,6 @@
GROUP_ID[0]='init' # this group make easier to understand the array of groups
GROUP_NUMBER[0]='0.0'
GROUP_TITLE[0]='Init ****************************************************************'
GROUP_RUN_BY_DEFAULT[0]='N' # run it when execute_all is called
GROUP_CHECKS[0]=''

View File

@@ -1,5 +1,5 @@
GROUP_ID[1]="group1" GROUP_ID[1]='group1'
GROUP_NUMBER[1]="1.0" GROUP_NUMBER[1]='1.0'
GROUP_TITLE[1]="Identity and Access Management ****************************************" GROUP_TITLE[1]='Identity and Access Management ****************************************'
GROUP_RUN_BY_DEFAULT[1]="Y" # run it when execute_all is called GROUP_RUN_BY_DEFAULT[1]='Y' # run it when execute_all is called
GROUP_CHECKS[1]="check11,check12,check13,check14,check15,check16,check17,check18,check19,check110,check111,check112,check113,check114,check115,check116,check117,check118,check119,check120,check121,check122,check123,check124" GROUP_CHECKS[1]='check11,check12,check13,check14,check15,check16,check17,check18,check19,check110,check111,check112,check113,check114,check115,check116,check117,check118,check119,check120,check121,check122,check123,check124'

View File

@@ -1,5 +1,5 @@
GROUP_ID[2]="group2" GROUP_ID[2]='group2'
GROUP_NUMBER[2]="2.0" GROUP_NUMBER[2]='2.0'
GROUP_TITLE[2]="Logging ***************************************************************" GROUP_TITLE[2]='Logging ***************************************************************'
GROUP_RUN_BY_DEFAULT[2]="Y" # run it when execute_all is called GROUP_RUN_BY_DEFAULT[2]='Y' # run it when execute_all is called
GROUP_CHECKS[2]="check21,check22,check23,check24,check25,check26,check27,check28" GROUP_CHECKS[2]='check21,check22,check23,check24,check25,check26,check27,check28'

View File

@@ -1,5 +1,5 @@
GROUP_ID[3]="group3" GROUP_ID[3]='group3'
GROUP_NUMBER[3]="3.0" GROUP_NUMBER[3]='3.0'
GROUP_TITLE[3]="Monitoring ************************************************************" GROUP_TITLE[3]='Monitoring ************************************************************'
GROUP_RUN_BY_DEFAULT[3]="Y" # run it when execute_all is called GROUP_RUN_BY_DEFAULT[3]='Y' # run it when execute_all is called
GROUP_CHECKS[3]="check31,check32,check33,check34,check35,check36,check37,check38,check39,check310,check311,check312,check313,check314,check315" GROUP_CHECKS[3]='check31,check32,check33,check34,check35,check36,check37,check38,check39,check310,check311,check312,check313,check314,check315'

View File

@@ -1,5 +1,5 @@
GROUP_ID[5]="level1" GROUP_ID[5]='level1'
GROUP_NUMBER[5]="5.0" GROUP_NUMBER[5]='5.0'
GROUP_TITLE[5]="CIS Level 1 **********************************************************" GROUP_TITLE[5]='CIS Level 1 **********************************************************'
GROUP_RUN_BY_DEFAULT[5]="N" # run it when execute_all is called GROUP_RUN_BY_DEFAULT[5]='N' # run it when execute_all is called
GROUP_CHECKS[5]="check11,check12,check13,check14,check15,check16,check17,check18,check19,check110,check111,check112,check113,check115,check116,check117,check118,check119,check120,check122,check123,check124,check21,check23,check24,check25,check26,check31,check32,check33,check34,check35,check38,check312,check313,check314,check315,check41,check42" GROUP_CHECKS[5]='check11,check12,check13,check14,check15,check16,check17,check18,check19,check110,check111,check112,check113,check115,check116,check117,check118,check119,check120,check122,check123,check124,check21,check23,check24,check25,check26,check31,check32,check33,check34,check35,check38,check312,check313,check314,check315,check41,check42'

View File

@@ -1,5 +1,5 @@
GROUP_ID[6]="level2" GROUP_ID[6]='level2'
GROUP_NUMBER[6]="6.0" GROUP_NUMBER[6]='6.0'
GROUP_TITLE[6]="CIS Level 2 **********************************************************" GROUP_TITLE[6]='CIS Level 2 **********************************************************'
GROUP_RUN_BY_DEFAULT[6]="N" # run it when execute_all is called GROUP_RUN_BY_DEFAULT[6]='N' # run it when execute_all is called
GROUP_CHECKS[6]="check11,check12,check13,check14,check15,check16,check17,check18,check19,check110,check111,check112,check113,check114,check115,check116,check117,check118,check119,check120,check121,check122,check123,check124,check21,check22,check23,check24,check25,check26,check27,check28,check31,check32,check33,check34,check35,check36,check37,check38,check39,check310,check311,check312,check313,check314,check315,check41,check42,check43,check44,check45" GROUP_CHECKS[6]='check11,check12,check13,check14,check15,check16,check17,check18,check19,check110,check111,check112,check113,check114,check115,check116,check117,check118,check119,check120,check121,check122,check123,check124,check21,check22,check23,check24,check25,check26,check27,check28,check31,check32,check33,check34,check35,check36,check37,check38,check39,check310,check311,check312,check313,check314,check315,check41,check42,check43,check44,check45'

View File

@@ -1,5 +1,5 @@
GROUP_ID[7]="extras" GROUP_ID[7]='extras'
GROUP_NUMBER[7]="7.0" GROUP_NUMBER[7]='7.0'
GROUP_TITLE[7]="Extras ****************************************************************" GROUP_TITLE[7]='Extras ****************************************************************'
GROUP_RUN_BY_DEFAULT[7]="Y" # run it when execute_all is called GROUP_RUN_BY_DEFAULT[7]='Y' # run it when execute_all is called
GROUP_CHECKS[7]="extra71,extra72,extra73,extra74,extra75,extra76,extra77,extra78,extra79,extra710,extra711,extra712,extra713,extra714,extra715,extra716,extra717,extra718,extra719,extra720,extra721,extra722,extra723" GROUP_CHECKS[7]='extra71,extra72,extra73,extra74,extra75,extra76,extra77,extra78,extra79,extra710,extra711,extra712,extra713,extra714,extra715,extra716,extra717,extra718,extra719,extra720,extra721,extra722,extra723'

View File

@@ -1,5 +1,5 @@
GROUP_ID[8]="forensics-ready" GROUP_ID[8]='forensics-ready'
GROUP_NUMBER[8]="8.0" GROUP_NUMBER[8]='8.0'
GROUP_TITLE[8]="Forensics Readiness ***************************************************" GROUP_TITLE[8]='Forensics Readiness ***************************************************'
GROUP_RUN_BY_DEFAULT[8]="N" # run it when execute_all is called GROUP_RUN_BY_DEFAULT[8]='N' # run it when execute_all is called
GROUP_CHECKS[8]="check21,check22,check23,check24,check25,check26,check27,check43,extra712,extra713,extra714,extra715,extra717,extra718,extra719,extra720,extra721,extra722" GROUP_CHECKS[8]='check21,check22,check23,check24,check25,check26,check27,check43,extra712,extra713,extra714,extra715,extra717,extra718,extra719,extra720,extra721,extra722'

View File

@@ -1,5 +1,5 @@
GROUP_ID[9]="my-custom-group" GROUP_ID[9]='my-custom-group'
GROUP_NUMBER[9]="9.0" GROUP_NUMBER[9]='9.0'
GROUP_TITLE[9]="My Custom Group **********************************************" GROUP_TITLE[9]='My Custom Group **********************************************'
GROUP_RUN_BY_DEFAULT[9]="N" # run it when execute_all is called GROUP_RUN_BY_DEFAULT[9]='N' # run it when execute_all is called
GROUP_CHECKS[9]="checkNN,checkMM" GROUP_CHECKS[9]='checkNN,checkMM'

2
lll
View File

@@ -1,2 +0,0 @@
check11
check12

View File

@@ -136,42 +136,20 @@ REGIONS=$($AWSCLI ec2 describe-regions --query 'Regions[].RegionName' \
--region $REGION \ --region $REGION \
--region-names $FILTERREGION) --region-names $FILTERREGION)
callCheck(){ # Load all of the groups of checks inside groups folder named as "groupNumber*"
if [[ $CHECKNUMBER ]];then for group in $(ls groups/group[0-9]*|grep -v groupN_sample); do
execute_check $CHECKNUMBER
# case "$CHECKNUMBER" in
# check11|check101 ) execute_check check11;;
# check12|check102 ) execute_check check12;;
# * )
# textWarn "ERROR! Use a valid check name (i.e. check41 or extra71)\n";
# esac
cleanTemp
exit $EXITCODE
fi
}
# List only check tittles
if [[ $PRINTCHECKSONLY == "1" ]]; then
prowlerBanner
show_all_titles
exit $EXITCODE
fi
# Load all of the groups of checks inside groups folder named as "group*"
for group in $(ls groups/group*); do
. "$group" . "$group"
done done
# Load all of the checks inside checks folder named as "check*" # Load all of the checks inside checks folder named as "check*"
# this includes also extra checks since they are "check_extraNN" # this includes also extra checks since they are "check_extraNN"
for checks in $(ls checks/check*); do for checks in $(ls checks/check*|grep -v check_sample); do
. "$checks" . "$checks"
done done
# Function to show the title of the check # Function to show the title of the check
# using this way instead of arrays to keep bash3 (osx) and bash4(linux) compatibility # using this way instead of arrays to keep bash3 (osx) and bash4(linux) compatibility
show_check_title() { show_check_title() {
# This would just call textTitle
local check_id=CHECK_ID_$1 local check_id=CHECK_ID_$1
local check_title=CHECK_TITLE_$1 local check_title=CHECK_TITLE_$1
local check_scored=CHECK_SCORED_$1 local check_scored=CHECK_SCORED_$1
@@ -205,7 +183,7 @@ execute_check() {
show_check_title $1 show_check_title $1
$1 $1
else else
textWarn "ERROR! Use a valid check name (i.e. check41 or extra71)\n"; textWarn "ERROR! Use a valid check name (i.e. check41 or extra71)";
fi fi
fi fi
} }
@@ -231,7 +209,7 @@ execute_group_by_name() {
# Function to execute all checks in all groups # Function to execute all checks in all groups
execute_all() { execute_all() {
for i in ${#GROUP_TITLE[@]}; do for i in "${!GROUP_TITLE[@]}"; do
if [ "${GROUP_RUN_BY_DEFAULT[$i]}" == "Y" ]; then if [ "${GROUP_RUN_BY_DEFAULT[$i]}" == "Y" ]; then
execute_group $i execute_group $i
fi fi
@@ -240,16 +218,30 @@ execute_all() {
# Function to show the titles of everything # Function to show the titles of everything
show_all_titles() { show_all_titles() {
for i in ${#GROUP_TITLE[@]}; do for i in "${!GROUP_TITLE[@]}"; do
show_group_title $i show_group_title $i
# Display the title of the checks # Display the title of the checks
IFS=',' read -ra CHECKS <<< ${GROUP_CHECKS[$i]} IFS=',' read -ra CHECKS <<< ${GROUP_CHECKS[$i]}
for j in "${CHECKS[@]}"; do for j in "${GROUP_CHECKS[@]}"; do
show_check_title $j show_check_title $j
done done
done done
} }
# Execute single check if called with -c
if [[ $CHECKNUMBER ]];then
execute_check $CHECKNUMBER
cleanTemp
exit $EXITCODE
fi
# List only check tittles
if [[ $PRINTCHECKSONLY == "1" ]]; then
prowlerBanner
show_all_titles
exit $EXITCODE
fi
### All functions defined above ... run the workflow ### All functions defined above ... run the workflow
if [[ $MODE != "csv" ]]; then if [[ $MODE != "csv" ]]; then
prowlerBanner prowlerBanner
@@ -263,11 +255,5 @@ saveReport
execute_all execute_all
# if [[ ! $EXTRAS ]]; then
# textTitle "7" "$TITLE7" "NOT_SCORED" "SUPPORT"
# execute_group 7
# fi
cleanTemp cleanTemp
exit $EXITCODE exit $EXITCODE