MySQL şifre rotasyonu: Diğer kullanıcı şifrelerini değiştirmek için tek bir kullanıcının kullanılması

Aug 16 2020

Şu anda AWS Aurora / MySQL tabanlı bir uygulama için bir parola rotasyon stratejisi oluşturmaya çalışıyorum.

Planım böyle bir strateji kullanmaktı ...

  • AWS SSM şifreli parametrelerinde depolanan uygulama kullanıcı adları / parolaları.
  • Uygulama sunucularının yalnızca kimlik bilgilerini SSM'den alma erişimi vardır. Çevre ile kısıtlı (hazırlık, üretim vb.)
  • Lambda, MySQL'deki parolaları değiştirmek ve yeni değerleri SSM'de depolamak için düzenli aralıklarla çalışacak şekilde yapılandırıldı. Lambda'nın bir parola kullanmak yerine AWS IAM rollerini kullanarak veritabanıyla kimlik doğrulaması yapması.

Son kısım, emin olmadığım kısım. Bu yapılandırma, lambda rolünün / kullanıcısının diğer tüm uygulama kullanıcılarının parolalarını değiştirme iznine sahip olmasını gerektirir.

Güvenlik açısından bunu yapmanın makul bir yolu bu mu? Lambda mysql kullanıcısı parola yerine bir IAM rolü kullanacağından, bunun kullanımını yalnızca yetkili rollere sınırlamalıdır.

Alternatif, lambda'nın oturum açması için özel bir db kullanıcısına sahip olmamak, bunun yerine lambda işlevinin her bir kullanıcının kimlik bilgilerini SSM'den alması ve ardından her kullanıcının parolasını değiştirmek için oturum açması olabilir.

Her iki durumda da lambda'nın her kullanıcıya erişmesi gerekecektir.

MySQL'deki "lambda_user" erişimine dikkatlice erişebileceğimi varsayarsak, bir kullanıcının diğer kullanıcıların şifrelerini değiştirme yetkisine sahip olmasıyla ilgili başka göze çarpan sorunlar var mı?

Ayrıca, sadece açıklığa kavuşturmak için, bunlar uygulama kullanıcılarıdır, bu kimlik bilgilerini kullanacak normal insan tipi kullanıcılar değil.

Yanıtlar

1 ConorMancone Aug 16 2020 at 17:39

Bu, tam olarak ana hatlarıyla belirlediğiniz nedenlerle, bunu yapmanın en iyi uygulama yoludur. Lambda'nın kimlik bilgileri yerine kimlik doğrulama için bir rol kullanmasını sağlayarak, sakladığınız sırların sayısını en aza indirirsiniz, bu kesinlikle iyi bir şeydir. Dikkat çekmeye değer yalnızca 2 nokta var:

  1. Artık, yalnızca bunun için özel amaçlı bir Lambda'nın sağlanmasını ve devreye alınmasını otomatikleştirmek için CloudFormation'ı kullanabilirsiniz. Sonuç olarak, bunu nispeten kolaylıkla yapabilirsiniz. Kişisel olarak CloudFormation'ın büyük bir hayranı değilim ama yine de burada kullanırım.

  2. Metadata V2 uç noktalarına geçiş, altyapınızda bulunan SSRF'nin yanı sıra diğer izinsiz giriş türlerinden ek güvenlik sağlayabilir, ancak bu, bu kullanım durumunda pek alakalı olmayacaktır.