AWS - Federation Abuse
Last updated
Last updated
SAML hakkında bilgi için lütfen şuraya bakın:
SAML aracılığıyla Kimlik Federasyonu yapılandırmak için sadece bir ad ve SAML yapılandırmasını içeren metadata XML sağlamanız gerekmektedir (uç noktalar, genel anahtarla sertifika).
Bir github eylemini Kimlik sağlayıcı olarak eklemek için:
Sağlayıcı türü için OpenID Connect seçin.
Sağlayıcı URL'si için https://token.actions.githubusercontent.com
girin.
Sağlayıcının parmak izini almak için Thumbprint Al düğmesine tıklayın.
Hedef Kitle için sts.amazonaws.com
girin.
Github eyleminin ihtiyaç duyduğu izinler ve sağlayıcıya güvenen bir güven politikası ile bir yeni rol oluşturun, örneğin:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::0123456789:oidc-provider/token.actions.githubusercontent.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "token.actions.githubusercontent.com:sub": [ "repo:ORG_OR_USER_NAME/REPOSITORY:pull_request", "repo:ORG_OR_USER_NAME/REPOSITORY:ref:refs/heads/main" ], "token.actions.githubusercontent.com:aud": "sts.amazonaws.com" } } } ] }
Bu bölümde, OpenID Connect (OIDC) protokolünün Amazon Elastic Kubernetes Service (EKS) üzerindeki kötüye kullanımını ele alacağız. OIDC, kimlik doğrulama ve yetkilendirme için kullanılan bir protokoldür. EKS, OIDC'yi kullanarak Kubernetes kümesine kimlik doğrulama sağlar.
Kullanıcı, EKS kümesine erişmek için bir istek gönderir.
EKS, kullanıcıya bir kimlik sağlamak için OIDC sağlayıcısına yönlendirir.
Kullanıcı, OIDC sağlayıcısına kimlik bilgilerini sağlar.
OIDC sağlayıcısı, kullanıcının kimliğini doğrular ve bir JWT (JSON Web Token) döndürür.
Kullanıcı, JWT'yi EKS'ye sunar.
EKS, JWT'yi doğrular ve kullanıcıya erişim izni verir.
Kimlik Doğrulama Token'ının Çalınması: Bir saldırgan, kullanıcının kimlik doğrulama token'ını ele geçirerek EKS kümesine yetkisiz erişim elde edebilir. Bu, saldırganın EKS kümesinde istenmeyen eylemler gerçekleştirmesine olanak tanır.
Kimlik Doğrulama Token'ının Sızdırılması: Bir saldırgan, kimlik doğrulama token'ını başka bir kullanıcıya sızdırarak yetkisiz erişim sağlayabilir. Bu, saldırganın başka bir kullanıcının kimliğiyle EKS kümesine erişmesine olanak tanır.
Kimlik Doğrulama Token'ının Sahtelenmesi: Bir saldırgan, geçerli bir kimlik doğrulama token'ı oluşturarak EKS kümesine yetkisiz erişim sağlayabilir. Bu, saldırganın kimlik doğrulama sürecini atlayarak EKS kümesine erişmesine olanak tanır.
Güçlü Kimlik Doğrulama Politikaları: EKS kümesinde güçlü kimlik doğrulama politikaları uygulayarak kimlik doğrulama token'ının kötüye kullanımını önleyebilirsiniz. Örneğin, çok faktörlü kimlik doğrulama (MFA) kullanabilirsiniz.
Kimlik Doğrulama Token'ının Süresini Kısaltma: Kimlik doğrulama token'ının süresini kısaltarak saldırganların token'ı uzun süre boyunca kullanmasını engelleyebilirsiniz. Token süresini kısaltmak için geçerli bir süre belirleyebilirsiniz.
Kimlik Doğrulama Token'ının Revize Edilmesi: Kimlik doğrulama token'ının revize edilmesi, token'ın geçerliliğini ve bütünlüğünü sağlamak için kullanılabilir. Token'ın revize edilmesi, saldırganların token'ı sahtelemesini zorlaştırır.
Bu önlemleri uygulayarak EKS kümesinde OIDC kötüye kullanımını önleyebilir ve güvenliği artırabilirsiniz.
OIDC sağlayıcıları, bir EKS kümesindeki OIDC URL'sini yeni bir Açık Kimlik Kimlik sağlayıcısı olarak ayarlayarak kolayca oluşturulabilir. Bu genellikle yaygın bir varsayılan politikadır:
Bu politika, yalnızca 20C159CDF6F2349B68846BEC03BE031B
kimlik numarasına sahip EKS kümesinin rolü üstlenebileceğini doğru bir şekilde belirtmektedir. Ancak, hangi hizmet hesabının rolü üstlenebileceğini belirtmediği için, herhangi bir web kimlik belirtimi olan hizmet hesabı rolü üstlenebilecektir.
Rolü üstlenebilecek hangi hizmet hesabının belirtilmesi için, hizmet hesabı adının belirtildiği bir koşul belirtilmesi gerekmektedir, örneğin: