Зачем нужно шифрование в облаке?

Облачное шифрование кодирует ваши данные по мере их передачи в облачные приложения / платформы и хранилища авторизованным пользователям по всему миру и обратно. Благодаря облачному шифрованию вы получаете следующие преимущества:

  • Надежная и сквозная защита данных в облаке и из облака
  • Предотвращение кражи, кражи или повреждения данных
  • Предотвращение доступа других облачных «арендаторов» к вашим данным
  • Удовлетворение требований заказчиков или нормативных требований к безопасности данных
  • Дополнительная защита от внешних угроз

HTTPS - это стандартный способ безопасного взаимодействия клиента ‹-› с сервером (также известный как Data in Transit), однако вам также нужна дополнительная защита для вашего хранилища данных.

Шифрование данных в состоянии покоя

Данные зашифрованы, когда они находятся на устройстве хранения, например томе AWS EC2 EBS. Это гарантирует, что даже если неавторизованный пользователь скопирует зашифрованный контент, он будет отображаться как бесполезные данные. С помощью шифрования AWS EBS вы можете зашифровать как загрузочные тома, так и тома данных.

Когда вы создаете зашифрованный том EBS и присоединяете его к поддерживаемому типу экземпляра, шифруются следующие типы данных:

  • Данные в состоянии покоя внутри тома
  • Все данные перемещаются между томом и экземпляром
  • Все снимки, созданные с тома
  • Все тома, созданные из этих снимков

EBS шифрует ваш том с помощью ключа данных, используя стандартный алгоритм AES-256. Ваш ключ данных хранится на диске с вашими зашифрованными данными, но не раньше, чем EBS зашифрует его с помощью вашего ключа KMS. Ваш ключ данных никогда не отображается на диске в виде открытого текста.

Пожалуйста, включите шифрование тома EBS

Убедитесь, что ваш том EBS зашифрован. Однажды ваша компания поблагодарит вас за то, что вы привыкли шифровать свои тома EBS. Если вы не делаете этого сегодня, вернитесь и обсудите это со своим менеджером, как DevOps Engineer, это ваша ответственность, и, пожалуйста, поступайте правильно. Если вы менеджер, поговорите со своей командой и хотя бы начните разговор.

Лямбда-функции для идентификации незашифрованных томов EBS

Несмотря на то, что у вас есть 100% IAC (инфраструктура как код) и полностью автоматизировано создание инфраструктуры, сканирование среды на предмет наличия незашифрованных томов EBS - это хорошая привычка. Потому что кто-то мог случайно создать незашифрованный том EBS для целей тестирования и забыть его удалить, или, возможно, какой-то неправильный код был зафиксирован в репозитории инфраструктуры и развернут. Вы не можете предсказать, но вы можете быть подготовлены.

Я хотел бы поделиться функцией AWS Lambda, которую я использовал для периодического сканирования моей среды AWS:

import json
import boto3
# Client for EC2 service
ec2_resource = boto3.resource('ec2')
# Get all EBS volumes
volume_iterator = ec2_resource.volumes.all()
def lambda_handler(event, context):
    # Gather all the EBS volume IDs
    volume_list = []
    for volume in volume_iterator:
        volume_list.append(volume.id)
    
    ebs_not_encrypted = {}
    for volume_id in volume_list:
        encrypted = ec2_resource.Volume(volume_id).encrypted
        if not encrypted:
             ebs_not_encrypted[volume_id] = encrypted
    print(ebs_not_encrypted)
    
    return {
        'statusCode': 200,
        'body': ebs_not_encrypted
    }

Результат тестового запуска:

Примечание. В случае большого количества томов EBS вы можете отключить функцию в зависимости от региона AWS и запустить ее в нерабочее время.

Надеюсь, эта статья поможет и сделает вашу облачную среду AWS немного более безопасной.

Больше контента на plainenglish.io