Alibaba Cloud hesaplarından veya RAM kullanıcılarından sızan AccessKey çiftleri ya da STS belirteçleri, cloud kaynaklarınızı ve iş süreçlerinizi riske atabilir. Kimlik bilgilerinizi güvence altına almak ve yetkisiz erişimi önlemek için bu uygulamaları takip edin.
Alibaba Cloud iki tür kimlik bilgisi kullanır: AccessKey çiftleri ve Security Token Service (STS) belirteçleri. Daha fazla bilgi için bkz. Kimlik Bilgileri.
Yaygın hatalar
AccessKey çiftlerini kod içinde sabit olarak belirtmek, depoya erişimi olan herkese bunları ifşa eder. Bu tür kodların açık kaynak platformlarda veya barındırma hizmetlerinde yayınlanması riski artırır.
AccessKey çiftlerini istemci tarafı koduna gömmek, saldırganların kodu tersine mühendislikle çözümleyerek anahtarları çıkarmasına olanak tanır.
Paylaşılan belgeler veya materyaller AccessKey çiftlerini açığa çıkarır.
Belgelerdeki örnek kodlar AccessKey çiftlerini ifşa eder.
API yanıtları, amaçlanan yönetim kapsamının ötesinde AccessKey çiftlerini açığa çıkarabilir.
Güvenlik çözümleri
Geliştirme sürecinde kimlik bilgilerinin iletilmesinden veya kod içinde sabit olarak belirtilmesinden kaçının.
Alibaba Cloud hesabınızın AccessKey çiftini kullanmayın
Bir Alibaba Cloud hesabı tüm kaynaklar üzerinde tam yetkilere sahiptir; bu nedenle sızan bir AccessKey çifti kritik riskler oluşturur. Bir Alibaba Cloud hesabının AccessKey çiftini doğrudan asla kullanmayın.
Kimlik bilgilerini kodda sabit olarak belirtmeyin
Kimlik bilgilerini ortam değişkenlerinde saklayın. Aşağıdaki örnekte ALIBABA_CLOUD_ACCESS_KEY_ID ve ALIBABA_CLOUD_ACCESS_KEY_SECRET kullanılmaktadır. Daha fazla bilgi için bkz. Linux, macOS ve Windows'ta ortam değişkenlerini yapılandırın.
Örnek kod:
public static com.aliyun.ecs20140526.Client createClient() throws Exception {
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
config.endpoint = "ecs.cn-shanghai.aliyuncs.com";
return new com.aliyun.ecs20140526.Client(config);
}
Kimlik bilgilerini yönetmek için KMS kullanın
Key Management Service (KMS) kimlik bilgilerinizi güvenli bir şekilde yönetir. Daha fazla bilgi için bkz. Gizli dizi yönetimi. KMS içindeki Secrets Manager, RAM gizli dizilerini zamanlanmış veya isteğe bağlı olarak döndürür. RAM gizli dizi eklentisi yüklendiğinde, uygulamanız geçerli AccessKey çiftini dinamik olarak alır. Daha fazla bilgi için bkz. RAM gizli dizilerini yönetin ve kullanın.
Bir örnek RAM rolü kullanın
Bir Elastic Compute Service (ECS) örneğine, esnek konteyner örneğine veya Container Service for Kubernetes (ACK) çalışan düğümüne bir örnek RAM rolü ekleyin. ECS meta veri sunucusu STS belirteçleri sağlayarak AccessKey çiftlerinin kodda sabit olarak belirtilmesine gerek kalmaz. Daha fazla bilgi için bkz. Örnek RAM rolleri, API işlemlerini kullanarak bir örnek RAM rolü kullanın ve Bir ECI pod'una RAM rolü atayın.
RRSA özelliğini kullanın
ACK içinde, bir çalışan düğüm birden çok hizmetten gelen pod'ları barındırabilir. Herhangi bir pod, ECS meta veri sunucusuna erişerek çalışan düğümün RAM rolü STS belirtecini alabilir ve bu durum izin sızıntısına neden olur. Service Accounts için RAM Rolleri (RRSA), OpenID Connect (OIDC) bilgilerini ortam değişkenlerine enjekte ederek pod düzeyinde erişim kontrolü sağlar. STS belirteçlerini almak için Alibaba Cloud Credentials aracını kullanın. Daha fazla bilgi için bkz. Pod düzeyinde erişim kontrolü için RRSA'yı kullanın.
Alibaba Cloud Credentials aracını kullanın
Alibaba Cloud Credentials aracı, kodda sabit kimlik bilgisi kullanımını ortadan kaldıran varsayılan bir kimlik bilgisi sağlayıcı zinciri sunar. Daha fazla bilgi için bkz. Kimlik bilgilerini yönetin.
Security Center ile AccessKey sızıntılarını tespit edin
Security Center, Alibaba Cloud hesaplarının ve RAM kullanıcılarının maruz kalan AccessKey çiftleri için GitHub'ı gerçek zamanlı olarak izler ve tespit edildiğinde uyarı verir. Sızıntı olaylarını derhal ele alın. Daha fazla bilgi için bkz. AccessKey çifti sızıntısı tespiti.
AccessKey çifti sızıntılarını ele alın
AccessKey çifti sızıntıları
-
Bir AccessKey çiftini devre dışı bırakın veya silin
Güvenliği ihlal edilmiş AccessKey çiftini hemen devre dışı bırakın veya silin ve yerine yenisini oluşturun. Daha fazla bilgi için bkz. Bir RAM kullanıcısının erişim anahtarını devre dışı bırakın ve Bir RAM kullanıcısının AccessKey'ini silin.
-
AccessKey çifti olaylarını sorgulayın
ActionTrail AccessKey çifti denetim özelliğini kullanarak erişilen hizmetler, IP adresleri ve kaynaklar dahil olmak üzere AccessKey çifti ayrıntılarını sorgulayın. Bu işlem, kullanımı izlemenize ve sızıntıları belirlemenize yardımcı olur.
STS belirteci sızıntıları
Bir STS belirteci 15 dakika ile 12 saat arasında geçerlidir. Bu süre içinde bile, sızan bir belirteç ciddi güvenlik riskleri oluşturur. Güvenliği ihlal edilmiş bir STS belirtecini geçersiz kılmak için:
RAM konsolu içinde oturum açın.
-
Tüm ilkeleri RAM rolünden ayırın.
Daha fazla bilgi için bkz. Bir RAM rolünden izinleri geri alın.
-
Alternatif olarak, RAM rolünü tamamen silin.
Daha fazla bilgi için bkz. Bir RAM rolünü silin.
Bu işlem, o role ait süresi dolmamış tüm STS belirteçlerini anında geçersiz kılar.
Rolü daha sonra tekrar kullanmak için aynı ad ve ilkelerle yeni bir rol oluşturun.
Başvurular
İlgili konular: