Анализатор соответствия центра безопасности (SHCA) генерирует артефакты для поддержки аккредитации информационной системы Министерства обороны США по управлению рисками (RMF). Используя предоставленную Amazon Web Services документацию, сопоставляя элементы управления NIST800-53-Rev-5 с идентификаторами элементов управления безопасностью AWS Security Hub, SHCA запрашивает текущее соответствие среды у Security Hub и создает zip-файл, хранящийся в Amazon S3, содержащий отдельные артефакты в форматах CSV, JSON, OCSF предоставляет SecOps артефакты для импорта в инструмент RMF.
Центр безопасности со специальной публикацией NIST 800-53, редакция 5 стандарта безопасности и работающий не менее 24 часов для получения результатов.
** Для получения дополнительной информации о включении этого стандарта посетите раздел «Включение и отключение стандартов безопасности»).
Все результаты в Security Hub извлекаются и сохраняются в формате JSON.
Самые последние данные по каждому идентификатору элемента управления/ресурса в формате JSON записываются в файл CSV для лучшего анализа и читаемости.
Сводная информация обо всех элементах управления создается из файла CSV по следующей методике.
На этом этапе создается файл для каждого элемента управления NIST SP 800-53 на основе состояния этого элемента управления и сохраняется в двух папках:
Кроме того, на этом этапе извлекаются и включаются различные файлы из корзины S3. Папки и их содержимое:
Эти файлы предоставляют исчерпывающие данные о состоянии безопасности ресурсов AWS на основе автоматических проверок безопасности NIST SP 800-53 Security Hub.
Вот что вам нужно установить, чтобы использовать AWS CDK.
Проверка установки Python 3.7 или новее, pip, virtualenv и Node.js в Linux
node --version
Всем разработчикам AWS CDK, даже тем, кто работает с Python, Java или C#, необходим Node.js 14.15.0 или более поздней версии. Все поддерживаемые языки используют один и тот же бэкэнд, работающий на Node.js. Мы рекомендуем версию с активной долгосрочной поддержкой. У вашей организации могут быть другие рекомендации.
Другие предварительные требования зависят от языка, на котором вы разрабатываете приложения AWS CDK, и заключаются в следующем:
python3 --version
pip3 --version
virtualenv --version
wget --version
jq --version
npm install -g aws-cdk
Выполните следующую команду, чтобы проверить правильность установки и распечатать номер версии AWS CDK.
cdk --version
Файл cdk.json
сообщает набору инструментов CDK, как запускать приложение.
Этот проект настроен как стандартный проект Python. Процесс инициализации также создает виртуальную среду внутри этого проекта, хранящуюся в каталоге .venv
. Для создания virtualenv предполагается, что на вашем пути есть исполняемый файл python3
(или python
для Windows) с доступом к пакету venv
. Если по какой-либо причине автоматическое создание virtualenv не удалось, вы можете создать virtualenv вручную.
Чтобы вручную создать виртуальную среду в MacOS и Linux:
$ python3 -m venv .venv
После завершения процесса инициализации и создания виртуального окружения вы можете использовать следующий шаг для активации вашего виртуального окружения.
$ source .venv/bin/activate
Если вы используете платформу Windows, вы должны активировать virtualenv следующим образом:
% .venvScriptsactivate.bat
После активации virtualenv вы можете установить необходимые зависимости.
$ pip install -r requirements-deploy.txt
Загрузите AWS Lambda Layer для AWS SDK для Pandas (AWS Wrangler) и поместите его в следующую папку: дополнительную информацию см. в README.md.
bash update_aws_wrangler.sh
Для развертывания стеков с помощью AWS CDK необходимо, чтобы выделенные корзины Amazon S3 и другие контейнеры были доступны AWS CloudFormation во время развертывания. Их создание называется начальной загрузкой. Для загрузки выполните:
cdk bootstrap aws://ACCOUNT-NUMBER/REGION
На этом этапе вы можете синтезировать шаблон CloudFormation для этого кода.
$ cdk synth
Измените следующие значения в cdk.json
— «environment»: "shca"
— дайте этому описательное имя для развертывания SHCA. Это может быть любое значение и не влияет на функциональность. Это маркировка ресурсов SHCA в учетной записи AWS. - «vpc_cidr»: "10.30.0.0/24"
— устанавливает диапазон CIDR для небольшого VPC, созданного для запуска функций Lambda, чтобы не создавать [Lambda.3] Функции Lambda должны быть в поиске VPC. Выберите диапазон CIDR, который еще не используется в вашей среде. - «schedule_ Frequency_days»: 7
— этот параметр определяет, как часто вы хотите, чтобы SHCA создавала отчеты о соответствии. - «send_failure_notification_email»: true
или false
. Если true
, электронное письмо будет отправлено на адрес, указанный в параметре failure_notification_email
. — «failure_notification_email»: [email protected]
— на этот адрес электронной почты будут приходить уведомления в случае сбоя выполнения SHCA.
Отсюда у вас есть два варианта установки SHCA (CloudShell или CDK).
Если у вас нет доступа к ноутбуку или среде разработки, в которой вы можете установить указанные выше предварительные условия, для развертывания SHCA можно использовать службу CloudShell. Кроме того, используя временные учетные данные из AWS IAM Identity Center, мы можем использовать одну CloudShell в учетной записи для выполнения вызовов API CloudFormation и развертывания кода в любой учетной записи, к которой у вас есть доступ.
CloudShell одобрен DISA для использования в средах IL2–IL5, включая коммерческие регионы и регионы GovCloud. Проконсультируйтесь со специалистами по обеспечению соответствия требованиям вашей организации, чтобы убедиться, что CloudShell одобрен для использования при развертывании AWS в вашей организации.
Загрузите исходный код, например shca-main.zip, из основной ветки этого репозитория.
Перейдите к сервису CloudShell в учетной записи AWS, которую вы будете использовать в качестве среды развертывания. Перед выполнением развертывания убедитесь, что в CloudShell достаточно места. Если у вас закончится место, оно потерпит неудачу.
Загрузите исходный код в CloudShell. Разархивируйте файлы и перейдите в каталог shca-main
:
unzip shca-main.zip && cd shca-main
Вставьте временные учетные данные из AWS IAM Identity Center для учетной записи, в которой вы хотите развернуть SHCA . AWS CDK будет использовать эти временные учетные данные (теперь заданные как переменные среды) для развертывания кода в правильной целевой учетной записи, даже если вы используете CloudShell из другой учетной записи.
Запустите aws sts get-caller-identity
и убедитесь, что имя участника и номер счета соответствуют ожидаемым значениям.
Предоставьте разрешения на выполнение и запустите ./cloud_shell_deployment.sh
chmod +x cloud_shell_deployment.sh && ./cloud_shell_deployment.sh
Введите y
, когда CDK оба раза предложит вам в оболочке.
$ cdk deploy
cdk ls
выводит список всех стеков в приложенииcdk synth
генерирует синтезированный шаблон CloudFormationcdk deploy
разверните этот стек в своей учетной записи/регионе AWS по умолчанию.cdk diff
сравнить развернутый стек с текущим состояниемcdk docs
открыть документацию CDK После развертывания SHCA:
Перейдите к службе Step Functions/States Machines:
Выберите YOUR-ENVIRONMENT-NAME-State-Machine
Если вы только что развернули SHCA в первый раз, убедитесь, что конечный автомат успешно запущен, просмотрев выполнение. Если конечный автомат заработал успешно, перейдите к шагу 6 . В противном случае, чтобы запустить SHCA по требованию, выберите «Начать выполнение»:
Во всплывающем окне снова выберите «Начать выполнение». Оставьте все значения по умолчанию.
Прокрутите страницу вниз и дождитесь успешного завершения всех шагов. После завершения вы увидите сообщение «ExecutionSucceeded» внизу.
Перейдите в консоль Amazon S3, найдите и выберите корзину с именем «-resources-%YOUR_ACCOUNT_NUMBER%».
В этом сегменте перейдите к customer/compliance_scraper/.
Загрузите последнюю версию zip-файла артефактов.
Просмотрите файлы, содержащиеся в zip-архиве.
Для получения дополнительной информации см. ВКЛАД.
Этот проект распространяется по лицензии Apache-2.0.