config stuff

This commit is contained in:
carnal0wnage
2017-06-23 08:56:07 -04:00
parent a64c878b7f
commit 98bb1004a4
5 changed files with 84 additions and 0 deletions

1
config/__init__.py Normal file
View File

@@ -0,0 +1 @@

BIN
config/__init__.pyc Normal file

Binary file not shown.

33
config/config.py Normal file
View File

@@ -0,0 +1,33 @@
'''
Config Library
'''
import boto3
import botocore
import pprint
pp = pprint.PrettyPrinter(indent=5, width=80)
#from http://docs.aws.amazon.com/general/latest/gr/rande.html
regions = ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'ca-central-1', 'eu-central-1', 'eu-west-1', 'eu-west-2', 'ap-northeast-1', 'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2', ]
def describe_configuration_recorders(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, region):
response = []
try:
client = boto3.client("config", aws_access_key_id=AWS_ACCESS_KEY_ID, aws_secret_access_key=AWS_SECRET_ACCESS_KEY,region_name=region)
response = client.describe_configuration_recorders()
except botocore.exceptions.ClientError as e:
if e.response['Error']['Code'] == 'InvalidClientTokenId':
sys.exit("The AWS KEY IS INVALID. Exiting")
elif e.response['Error']['Code'] == 'AccessDenied':
print('%s : does not have config access. Did you check first?' % AWS_ACCESS_KEY_ID)
pass
elif e.response['Error']['Code'] == 'AccessDeniedException':
print('%s : does not have config access. Did you check first?' % AWS_ACCESS_KEY_ID)
pass
else:
print "Unexpected error: %s" % e
return response

BIN
config/config.pyc Normal file

Binary file not shown.

View File

@@ -0,0 +1,50 @@
'''
list config and other logging info
port of https://gist.github.com/cktricky/f19e8d55ea5dcb1fdade6ede588c6576
'''
from config.config import *
#from http://docs.aws.amazon.com/general/latest/gr/rande.html
regions = ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'ca-central-1', 'eu-central-1', 'eu-west-1', 'eu-west-2', 'ap-northeast-1', 'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2', ]
def print_section_header_and_footer(text, end=False):
print("-" * 50)
print(text)
print("-" * 50)
if end:
print("\n\n")
def print_config_text(text):
print("#" * len(text))
print_section_header_and_footer("BEGINNING OF CONFIG SERVICE REVIEW")
for region in regions:
response = describe_configuration_recorders(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, region)
config_service_text = "Config Service Recorders"
print_config_text(config_service_text)
print(config_service_text)
print("Region:" + region)
print_config_text(config_service_text)
print response
print len(response['ConfigurationRecorders'])
if len(response['ConfigurationRecorders']) <= 0:
print("NO CONFIGURATION DETECTED")
else:
for group in response['ConfigurationRecorders']:
pp.pprint(group['recordingGroup'])
print_section_header_and_footer("END OF CONFIG SERVICE REVIEW", True)