Проверяет права доступа AWS S3-бакетов: для каждого бакета показывает, публичен ли он, какие права выданы и список URL для доступа. Кроссплатформенный (Linux/macOS/Windows, Python 2.7/3), может запускаться как AWS Lambda-функция для регулярного аудита. Восстановлено из архива Software Heritage: оригинальный репозиторий был удалён автором с исходной площадки. Из-за перегрузки очереди приготовления полного git-бандла восстановлен только последний известный снимок файлов (без истории коммитов) и перенесён в наш Forgejo-миррор.
Инструмент проверки конфигурации безопасности AWS/Azure/GCP на соответствие CIS Benchmarks, GDPR, HIPAA, PCI-DSS, NIST. 500+ проверок: открытые …
Мультиоблачный инструмент аудита безопасности от NCC Group. Поддерживает AWS, Azure, GCP, Alibaba Cloud, Oracle Cloud. Анализирует …
Открытый фреймворк для эксплуатации AWS-окружений от Rhino Security Labs. Содержит 45+ модулей: перечисление IAM-прав, эскалация привилегий, …
Автоматизированный поиск уязвимостей в Kubernetes-кластерах от Aqua Security. Режимы: удалённое сканирование (снаружи), внутри пода (из скомпрометированного …
git clone https://git.toolsofthetrade.qzz.io/recovered/s3-inspector.git cd s3-inspector pip install boto3 python s3inspector.py

Инструмент для проверки разрешений на.bucket AWS S3.
Совместим с Linux, MacOS и Windows, Python 2.7 и 3. Может использоваться как функция AWS Lambda.
~/.aws/credentials или вставьте учетные данные при запуске скрипта[default]
aws_access_key_id = <your access key ID goes here>
aws_secret_access_key = <your secret_access_key goes here>
~/.aws/credentials следующего вида:[default]
aws_access_key_id = <your access key ID goes here>
aws_secret_access_key = <your secret_access_key goes here>
[my_profile_name]
aws_access_key_id = <your access key ID goes here>
aws_secret_access_key = <your secret_access_key goes here>
default при запросе:python s3inspector.py
Enter your AWS profile name [default]:
python s3inspector.py

Функция Lambda для выполнения аналогичной проверки, описанной выше.
Вместо IAM-пользователя нам необходима роль, которая разрешает выполнение Lambda, а также доступ только для чтения к bucket'ам S3 и возможность публикации в SNS. Сначала нам нужно создать конечную точку SNS.
- Перейдите в консоль SNS (https://console.aws.amazon.com/sns/v2/home) - Выберите в боковой панели 'Topics' ("Темы") - На экране тем нажмите 'Create New Topic' ("Создать новую тему") - В появившемся окне добавьте название и описание - Нажмите 'Create Topic' ("Создать тему") - Когда тема будет создана, перейдите в нее, нажав на ARN - Нажмите 'Create Subscription' ("Создать подписку") - В появившемся окне измените протокол на 'EMail' ("Электронная почта") - В поле 'Endpoint' ("Конечная точка") введите адрес электронной почты получателя отчетов - Нажмите 'Create subscription' ("Создать подписку") - Выберите подписку и нажмите 'Request confirmations' ("Запросить подтверждения") - В почтовом клиенте получателя подтвердите подписку по ссылке. - Скопируйте ARN созданной темы (можно посмотреть в 'Topic details' ("Детали темы")) и установите это значение в переменную SNS_RESOURCE_ARN в файле s3inspector.py.
Как только это будет сделано, мы можем создать функцию lambda
- Перейдите в консоль lambda (https://console.aws.amazon.com/lambda/home) - Нажмите 'Create Function' ("Создать функцию") - Нажмите 'Author from Scratch' ("Написать с нуля") - Задайте функции имя 's3inspector' (или имя файла, содержащего функцию) - Примените роль, созданную выше - Нажмите 'Create Function' ("Создать функцию") - На странице конфигурации - Измените Runtime ("Среду выполнения") на 'Python 2.7' - Измените Handler ("Обработчик") на 's3inspector.lambda_handler' - Скопируйте и вставьте содержимое файла функции lambda в экранный редактор и нажмите 'Save' ("Сохранить") - Увеличьте тайм-аут функции до подходящего значения для количества bucket'ов S3 в аккаунте (мы тестировали с 1 минутой и 128 Мб)
Теперь вы можете запустить функцию с пустым тестовым событием или настроить триггер для функции.