AWS - KMS Enum
Last updated
Last updated
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
AWS Anahtar Yönetim Servisi (AWS KMS), kullanıcıların müşteri anahtarlarını oluşturmasını ve yönetmesini kolaylaştıran bir yönetilen hizmet olarak sunulmaktadır. Bu müşteri anahtarları, kullanıcı verilerinin şifrelenmesinde kritik bir rol oynamaktadır. AWS KMS'nin dikkat çekici bir özelliği, müşteri anahtarlarının çoğunlukla donanım güvenlik modülleri (HSM'ler) tarafından güvence altına alınmasıdır, bu da şifreleme anahtarlarının korunmasını artırır.
KMS, simetrik kriptografi kullanır. Bu, verileri dinlenme halinde şifrelemek için kullanılır (örneğin, bir S3 içinde). Eğer verileri iletim sırasında şifrelemeniz gerekiyorsa, TLS gibi bir şey kullanmalısınız.
KMS, bölgeye özgü bir hizmettir.
Amazon'daki yöneticiler anahtarlarınıza erişemez. Anahtarlarınızı kurtaramazlar ve anahtarlarınızın şifrelenmesine yardımcı olamazlar. AWS, yalnızca işletim sistemini ve altında yatan uygulamayı yönetir; anahtarlarımızı yönetmek ve bu anahtarların nasıl kullanılacağını yönetmek bizim sorumluluğumuzdur.
Müşteri Anahtarları (CMK): Boyutu 4KB'ye kadar olan verileri şifreleyebilir. Genellikle DEK'leri (Veri Şifreleme Anahtarları) oluşturmak, şifrelemek ve şifre çözmek için kullanılır. Daha sonra DEK'ler verileri şifrelemek için kullanılır.
Bir müşteri anahtarının (CMK) AWS KMS'deki anahtarın mantıksal bir temsilidir. Anahtarın tanımlayıcıları ve diğer meta verilerin yanı sıra, oluşturulma tarihi, açıklama ve anahtar durumu gibi bilgileri içerir; CMK, verileri şifrelemek ve şifre çözmek için kullanılan anahtar materyalini içerir. Bir CMK oluşturduğunuzda, varsayılan olarak AWS KMS, o CMK için anahtar materyalini oluşturur. Ancak, anahtar materyali olmadan bir CMK oluşturmayı seçebilir ve ardından kendi anahtar materyalinizi o CMK'ye içe aktarabilirsiniz.
İki tür anahtar vardır:
AWS yönetilen CMK'ler: Diğer hizmetler tarafından verileri şifrelemek için kullanılır. Oluşturulduğu bölgede, onu oluşturan hizmet tarafından kullanılır. Bu hizmette şifrelemeyi ilk kez uyguladığınızda oluşturulurlar. Her 3 yılda bir döner ve değiştirilmesi mümkün değildir.
Müşteri yönetici CMK'ler: Esneklik, döngü, yapılandırılabilir erişim ve anahtar politikası. Anahtarları etkinleştirme ve devre dışı bırakma.
Zarf Şifrelemesi, Anahtar Yönetim Servisi (KMS) bağlamında: verileri veri anahtarı ile şifrelemek ve ardından veri anahtarını anahtar ile şifrelemek için iki katmanlı hiyerarşi sistemi.
Bunlar, KMS'de bir anahtarı kimin kullanabileceğini ve erişebileceğini tanımlar.
Varsayılan olarak:
KMS anahtarına erişimi yönetmek için KMS anahtarını sahip olan AWS hesabının IAM'ine erişim verir.
Diğer AWS kaynak politikalarından farklı olarak, bir AWS KMS anahtar politikası, hesabın herhangi bir ilkesine otomatik olarak izin vermez. Hesap yöneticilerine izin vermek için, anahtar politikasının bu izni sağlayan açık bir ifade içermesi gerekir, bu şekilde.
Hesaba izin vermeden ("AWS": "arn:aws:iam::111122223333:root"
) IAM izinleri çalışmaz.
Anahtar politikasına ek olarak, KMS anahtarına erişim sağlamak için IAM politikalarını kullanmasına izin verir.
Bu izin olmadan, anahtara erişimi sağlayan IAM politikaları etkisizdir, ancak anahtara erişimi reddeden IAM politikaları hala etkilidir.
Anahtarın yönetilemez hale gelme riskini hesap yöneticilerine, silinemez olan hesap kök kullanıcısı da dahil olmak üzere, erişim kontrol izni vererek azaltır.
Varsayılan politika örneği:
Eğer hesaba izin verilmişse ("arn:aws:iam::111122223333:root"
), hesaptan bir temel KMS anahtarını kullanmak için IAM izinlerine ihtiyaç duyacaktır. Ancak, eğer bir rolün ARN'si Anahtar Politikasında özel olarak izin verilmişse, o rol IAM izinlerine ihtiyaç duymaz.
Varsayılan olarak anahtar yöneticisi:
KMS'yi yönetme erişimine sahiptir ancak verileri şifreleme veya şifre çözme yetkisi yoktur.
Sadece IAM kullanıcıları ve rolleri Anahtar Yöneticileri listesine eklenebilir (gruplar değil).
Harici bir CMK kullanılıyorsa, Anahtar Yöneticileri anahtar malzemesini içe aktarma iznine sahiptir.
Aynı anahtar yerinde ne kadar uzun süre kalırsa, o anahtar ile o kadar çok veri şifrelenir ve eğer o anahtar ihlal edilirse, o zaman veri için patlama alanı o kadar genişler. Ayrıca, anahtar aktif kaldıkça, ihlal edilme olasılığı artar.
KMS, müşteri anahtarlarını her 365 günde bir döndürür (veya istediğiniz zaman süreci manuel olarak gerçekleştirebilirsiniz) ve AWS tarafından yönetilen anahtarlar her 3 yılda bir döndürülür ve bu sefer değiştirilemez.
Eski anahtarlar, döngüden önce şifrelenmiş verileri çözmek için saklanır.
Bir ihlal durumunda, anahtarın döndürülmesi tehdidi ortadan kaldırmaz çünkü ihlal edilen anahtar ile şifrelenmiş tüm veriler çözülebilir. Ancak, yeni veriler yeni anahtar ile şifrelenecektir.
Eğer CMK devre dışı veya silinme beklemede durumdaysa, KMS anahtar döngüsü gerçekleştirmeyecektir ta ki CMK yeniden etkinleştirilene veya silme iptal edilene kadar.
Yeni bir CMK oluşturulması gerekir, ardından yeni bir CMK-ID oluşturulur, bu nedenle uygulamanızı yeni CMK-ID'yi referans almak için güncellemeniz gerekecektir.
Bu süreci kolaylaştırmak için bir anahtar kimliğine atıfta bulunmak için takma adlar kullanabilirsiniz ve ardından sadece takma adın atıfta bulunduğu anahtarı güncelleyebilirsiniz.
Eski dosyaları şifrelemek için eski anahtarları saklamanız gerekir.
Kendi yerel anahtar altyapınızdan anahtarları içe aktarabilirsiniz.
KMS, tüm hizmetlerden alınan şifreleme/şifre çözme taleplerinin sayısına göre fiyatlandırılır.
KMS, CloudTrail ile tam denetim ve uyum entegrasyonuna sahiptir; burada KMS üzerinde gerçekleştirilen tüm değişiklikleri denetleyebilirsiniz.
KMS politikası ile aşağıdakileri yapabilirsiniz:
Veri anahtarlarını kimlerin oluşturabileceğini ve hangi hizmetlerin bu anahtarlara erişim iznine sahip olduğunu sınırlamak
Sistem erişimini yalnızca şifreleme, yalnızca şifre çözme veya her ikisi için sınırlamak
Sistemlerin bölgeler arasında anahtarlara erişimini sağlamak için tanımlamak (ancak bu önerilmez çünkü KMS'yi barındıran bölgede bir arıza, diğer bölgelerdeki sistemlerin kullanılabilirliğini etkiler).
Bölgeler arasında anahtarları senkronize edemez veya taşıyamaz/kopyalayamazsınız; yalnızca bölge arasında erişimi sağlamak için kurallar tanımlayabilirsiniz.
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Eğitim AWS Kırmızı Ekip Uzmanı (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Ekip Uzmanı (GRTE)