01 Run describe-clusters command (OSX/Linux/UNIX) using custom query filters to list the identifiers (names) of all Redshift clusters currently available in the selected region:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
aws redshift describe-clusters
--region us-east-1
--output table
--query 'Clusters[*].ClusterIdentifier'
02 The command output should return a table with the requested cluster names:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
----------------------
| DescribeClusters |
+--------------------+
| cc-cluster |
| ccd-cluster |
| ccx-cluster |
+--------------------+
03 Run again describe-clusters command (OSX/Linux/UNIX) using the name of cluster that you want to examine as identifier and the necessary query filters to expose the parameter group name associated with the cluster:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
aws redshift describe-clusters
--region us-east-1
--cluster-identifier cc-cluster
--query 'Clusters[*].ClusterParameterGroups[*].ParameterGroupName[]'
04 The command output should return the parameter group identifier requested:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
[
"cc-cluster-redshift-param-group"
]
05 Run describe-cluster-parameters command (OSX/Linux/UNIX) using the name of the Redshift cluster parameter group returned at the previous step to list its parameters metadata:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
aws redshift describe-cluster-parameters
--region us-east-1
--parameter-group-name cc-cluster-redshift-param-group
06 The command output should return information about each parameter available within the selected parameter group:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
[
"Parameters": [
...
{
"Description": "This parameter applies a ... ",
"DataType": "string",
"IsModifiable": true,
"Source": "engine-default",
"ParameterValue": "default",
"ParameterName": "query_group",
"ApplyType": "static"
},
{
"Description": "require ssl for all database connections",
"DataType": "boolean",
"IsModifiable": true,
"AllowedValues": "true,false",
"Source": "user",
"ParameterValue": "false",
"ParameterName": "require_ssl",
"ApplyType": "static"
},
{
"Description": "Sets the schema search order for ... ",
"DataType": "string",
"IsModifiable": true,
"Source": "engine-default",
"ParameterValue": "$user, public",
"ParameterName": "search_path",
"ApplyType": "static"
}
...
]
}
If the require_ssl parameter, identified in the command output by the key pair
"ParameterName" : "require_ssl", has the value set to
false, (i.e
"ParameterValue" : "false" key pair), the Amazon Redshift cluster associated with the selected parameter group is not using SSL to secure the connection between the client and the cluster, therefore your data in transit is not secured.
07 Repeat steps no. 3 - 6 to verify the parameter group configuration for other Redshift clusters provisioned in the current region.
08 Change the AWS region by updating the --region
command parameter value and repeat steps no. 1 - 7 to perform the audit process for other regions.