AWS Notes
4.74K subscribers
228 photos
30 videos
10 files
2.41K links
AWS Notes — Amazon Web Services Educational and Information Channel

Chat: https://t.me/aws_notes_chat

Contacts: @apple_rom, https://www.linkedin.com/in/roman-siewko/
Download Telegram
О дефолтных ключах шифрования (AWS managed keys)

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

Использовать их, действительно, наиболее просто. Однако если (а скорей когда) вам потребуется расшарить зашифрованное дефолтными ключами в другой аккаунт, то будет очень больно узнать, что придётся всё переделывать.

Как правило, в первую очередь речь заходит о базах данных, т.е. #RDS #Snapshot, где в конце концов вы таки прочитаете эти печальные слова:

You can't share a snapshot that has been encrypted using the default AWS KMS encryption key of the AWS account that shared the snapshot.

Дефолтные ключи шифрования можно использовать лишь внутри одного аккаунта. Их по доброте душевной итак уже сделал Амазон, за что, видимо, нужно быть благодарным (хотя у меня, вот, тогда не получилось). А для всех #cross_account операций нужны свои ключи - Customer managed keys - которые шарятся для использования в других аккаунтах.

===

Итого, совет. Если вы никогда не планируете и не будете использовать #multi_account_strategy (мои соболезнования), то #AWS_managed_keys - реально отличное решение, стильно-модно-безопасно.

В противном случае (который является рекомендуемым) - лучше сразу закладываться на свои ключи #Customer_managed_keys. С ними будет муторней и сложней, это правда. Но с ними можно всё.

#KMS #security #encryption
[​​](https://telegra.ph/file/290e2643259353e214332.png)KMS pricing for CMK

Обычно все знают, что стоимость одного KMS ключа - 1 доллар в месяц. Также те, кто следуют рекомендациям лучших ключеводов, включают ротацию CMK (Custom Managed Keys) ключей каждый год. И потом, для старых проектов, они могут обнаружить занимательную математику в биллинге за #KMS.

А всё потому, что мелкий текст обычно не читается:

For a CMK with key material generated by KMS, if you opt-in to have the CMK automatically rotated each year, each newly rotated version will raise the cost of the CMK by $1/month.

А это значит, что через год это будет 2, потом 3, 4 и т.д. долларов в месяц за каждый ключ.

Это потому, что все предыдущие ротируемые ключи сохраняются для возможности расшифровать старое по этому алиасу (т.е. старое не "перешифровывается", а просто всё новое шифруется уже новым ключём). И за них нужно платить.

Бэушное по цене нового, короче.

#стоимость #price #pricing
Ошибок и их причин при работе с S3 могут быть кучи. Упомяну ещё одну. Сообщение:

An error occurred (AccessDenied) when calling the GetObject operation: Access Denied

Может быть получено даже если у вас (юзера/роли) есть все нужные IAM права (вы перепровели два раза), а в бакете прописаны нужные Bucket Policy (вы перепроверили три и более раз).

Гляньте, подумайте, вспомните, посмотрите и проверьте — возможно бакет зашифрован с помощью ключа KMS, а не дефолтного AES 256 (S3-SSE). И если да, то наверняка в этом причина.

https://aws.amazon.com/premiumsupport/knowledge-center/decrypt-kms-encrypted-objects-s3/

Для получения из шифрованного бакета (шифрованного файла в нём) требуются права на kms:decrypt. А также разрешение использования ключа шифрования для вашего аккаунта.

При загрузке из шифрованного S3 бакета, в процессе выполнения s3:GetObject вы должны иметь право расшифровать полученное (kms:decrypt), иначе получате ошибку. И без намёков, что проблема не в правах на S3 (Bucket Policy), а что проблема в отсутствии прав IAM.

Так что будьте бдительны и помните сто первый тип ошибки загрузки с S3 — отсутствие прав на расшифровку kms:decrypt.

#S3 #IAM #KMS
​​Если есть строгие правила at-rest шифрования всего используемого, то для Amazon ECR можно использовать свои KMS-ключи (customer master keys):

https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html

Если не включать KMS (см. картинку) — шифрование всё равно будет, но лишь серверное (как SSE-S3).

Если включить KMS, но не поставить вторую галку, то будут использоваться дефолтные ключи Амазона (AWS-managed).

Если все галки — нужно будет указать свой ключ для KMS CMK.

Последний вариант добавит пару копеек к стоимости за использование KMS запросов, однако позволит пользоваться ECR из других аккаунтов.

Иначе, если при этом нужно шарить докер-образы из ECR в разные аккаунты — не включайте KMS encryption. Т.е. "средний вариант" (первая галка без второй) — лучше не использовать совсем.

#ECR #KMS
​​Amazon S3 Bucket Keys:

https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html

Бакетные ключи предназначены для уменьшения стоимости работы с шифрованными при помощи KMS ключей объектами. Каждый такой объект - это обращение в апишку KMS, что стоит денег. Теперь можно создать бакетный ключ, который будет получать временный ключ от KMS, используя его для шифрованных объектов, тем самым уменьшая ценник при миллионах обращений в KMS-шифрованный бакет.

#S3 #KMS
AWS KMS с поддержкой мультирегиональности:

https://aws.amazon.com/blogs/security/encrypt-global-data-client-side-with-aws-kms-multi-region-keys/

Теперь можно использовать один ключ для разных регионов, что очень круто как для Disaster Recovery сценариев, так и просто для упрощения всей системы шифрования.

Весьма важное изменение, что было реализовано в рамках реализации активно начавшейся в прошлом году "мультирегиональности всего".

Документация:

https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html

#KMS
Reduce encryption costs by using S3 Bucket Keys on existing objects:

https://aws.amazon.com/blogs/storage/reduce-encryption-costs-by-using-amazon-s3-bucket-keys-on-existing-objects/

In this blog, we’ve walked through the steps to implement S3 Bucket Keys for objects with different KMS keys within same bucket. By doing so, we were able to significantly reduce request traffic from S3 to KMS, decreasing KMS costs by 80 percent.

#S3 #KMS
​​🔐 Взлом RSA 2048 с помощью квантовых компьютеров ⁉️

🇨🇳 22 декабря 2022-го года было опубликовано исследование китайских учёных, где говорится о возможности взлома RSA 2048 с применением квантовых компьютеров, доступных уже сейчас, а не лет через 10, как до этого предполагалось.

🔑 С помощью предложенного алгоритма удалось вычислить 2048-битный ключ на компьютере с 372 кубитами, в то время, как ранее для такого предполагалось, что потребуется 4000-8000+ кубитов, из чего и делалось предположение NIST, что такая технологическая возможность будет достигнута лишь к тридцатым годам.

📌 Известный гуру по безопасности Bruce Schneier
написал в своём блоге, что к этому нужно относиться очень серьёзно:

https://www.schneier.com/blog/archives/2023/01/breaking-rsa-with-a-quantum-computer.html

📚 Roger Grimes, автор книги Cryptography Apocalypse: Preparing for the Day When Quantum Computing Breaks Today's Crypto, нагнетает ещё больше в своей заметке «Has the Quantum Break Just Happened?»:

https://community.spiceworks.com/topic/2472644-has-the-quantum-break-just-happened

💻 Где говорится, что 432 кубита ломают RSA 2048, в то время как IBM уже в этом году грозится выпустить 1000-кубитный компьютер. В частности про этот прогноз было на слайдах re:Invent 2020 — Building post-quantum cryptography for the cloud.

Он также отмечает, что данное исследование делает уязвимым все Lattice-based алгоритмы, которые были совсем недавно приняты NIST в качестве защиты для Post Quantum эпохи шифрования.

🔒 Со своей стороны отмечу, что уже доступный в AWS KMS алгоритм BIKE, который попал в NIST PQC Round 4, принадлежит к Code-based типу алгоритмов и потому не попадает под этот вектор атаки. Если, конечно, всё это подтвердится (исследование будет доказано). 😀

🔺Но даже если и не подтвердится, то, всё равно — тема обеспечения безопасности во "внезапно" наступившей эпохе квантовых компьютеров — резко возрастёт, когда все осознают, что чуть меньше, чем всё, базирующееся на привычном ассиметричном шифровании (HTTPS, WiFi, Auth etc), может быть взломано.

🎄 С новым квантовым годом! 😁

#security #KMS