AWS EKS günlüklerini içeri aktarmak için Microsoft Sentinel'i Amazon Web Services'e bağlayın

AWS S3 kovalarında toplanan AWS EKS denetim günlüklerini Microsoft Sentinel'e içeri aktarmak için Amazon Web Services (AWS) S3 tabanlı Elastic Kubernetes Service (EKS) bağlayıcısını kullanın. AWS EKS denetim günlükleri, Kubernetes kümelerinizdeki API sunucusu isteklerinin, kimlik doğrulama kararlarının ve küme etkinliklerinin ayrıntılı kayıtlarıdır. Bu kayıtlar, isteğin alındığı saat, isteğin ayrıntıları, isteği yapan kullanıcı ve gerçekleştirilen eylem gibi bilgileri içerir. Bu günlük analizi, EKS kümelerinde çalışan kapsayıcılı uygulamaların güvenliğini ve uyumluluğunu korumak için gereklidir.

Bu bağlayıcı, bağlayıcı tarafından kullanılan AWS kaynaklarının oluşturulmasını kolaylaştırmak için AWS CloudFormation tabanlı bir ekleme betiği içerir.

Önemli

Genel bakış

Amazon Web Services S3 EKS veri bağlayıcısı aşağıdaki kullanım örneklerini sunar:

  • Kubernetes güvenlik izleme ve tehdit tespiti: AWS EKS denetim kayıtlarını analiz ederek Kubernetes kümelerinizdeki yetkisiz erişim, ayrıcalık artışı ve şüpheli API çağrıları gibi güvenlik tehditlerini tespit edip yanıt vermeye yardımcı olun. Bu günlükleri Microsoft Sentinel’e alarak, kapsayıcılaştırılmış iş yüklerinizi hedef alan kötü amaçlı etkinlikleri tespit etmek ve araştırmak için gelişmiş analizlerinden ve tehdit istihbaratından yararlanabilirsiniz.

  • Konteynerli ortamlar için uyum ve denetim: AWS EKS denetim günlükleri, konteynerli ortamlarda uyum raporlama ve denetim amaçları için kritik olan tüm API sunucu etkileşimlerinin ayrıntılı kayıtlarını sağlar. Bağlayıcı, kolay erişim ve analiz için bu denetim günlüklerinin Microsoft Sentinel içinde kullanılabilir olmasını sağlar ve kapsayıcı güvenliği için yasal gereksinimleri karşılamaya yardımcı olur.

  • DevSecOps ve küme yönetişimi: Geliştirici faaliyetlerini, kaynak erişim kalıplarını ve EKS kümelerindeki yapılandırma değişikliklerini izleyerek DevSecOps iş akışlarınızda doğru yönetişim ve güvenlik uygulamalarını garanti edin.

Bu makalede Amazon Web Services S3 EKS bağlayıcısının nasıl yapılandırılır açıklanmaktadır. Ayarlama işleminin iki bölümü vardır: AWS tarafı ve Microsoft Sentinel tarafı. Her bir tarafın işlemi, diğer taraf tarafından kullanılan bilgileri üretir. AWS kurulumu ile Microsoft Sentinel kurulumu arasında yapılandırma detaylarının değiş tokuşu güvenli iletişim yaratır.

Önkoşullar

  • Microsoft Sentinel çalışma alanında yazma izniniz olmalıdır.

  • Microsoft Sentinel'da Content Hub'dan Amazon Web Services çözümünü yükleyin. Çözümün önceki bir sürümünü zaten yüklediyseniz, bu bağlayıcıyı içeren en son sürüme sahip olduğunuzdan emin olmak için içerik hub'ında çözümü güncelleştirin. Daha fazla bilgi için bkz. kullanıma hazır Microsoft Sentinel içeriği bulma ve yönetme.

  • Denetim günlüğü etkinleştirilmiş mevcut bir AWS EKS kümeniz veya kurulum işlemi sırasında EKS kümenizde denetim günlüğünü etkinleştirebilmeniz gerekir.

  • Şu işlemleri yapmak için uygun AWS IAM izinlerine sahip olmanız gerekir:

    • IAM rolleri ve ilkeleri oluşturun
    • S3 demetleri oluşturma ve demet ilkelerini yapılandırma
    • SQS kuyrukları oluşturma ve kuyruk ilkelerini yapılandırma
    • CloudFormation yığınları oluşturma
    • EKS küme günlüğü ayarlarını yapılandırma
    • Kinesis Data Firehose teslimat akışları oluşturma
    • Lambda işlevleri oluşturma

Amazon Web Services S3 EKS bağlayıcısını etkinleştirme ve yapılandırma

Bağlayıcıyı etkinleştirmek ve yapılandırmak için aşağıdaki görevleri tamamlayın:

  • AWS ortamınızda:

    Microsoft Sentinel'daki Amazon Web Services S3 EKS bağlayıcı sayfası, aşağıdaki AWS görevlerini otomatik hale getiren indirilebilir AWS CloudFormation yığın şablonları sağlar:

    • AWS EKS kümenizi CloudWatch Günlüklerine denetim günlükleri gönderecek şekilde yapılandırın.

    • CloudWatch'taki günlükleri dönüştürüp S3'e iletmek için bir Kinesis Data Firehose dağıtım akışı oluşturun.

    • İşlenen denetim günlüklerini depolamak için bir S3 kovası oluşturun.

    • S3'te yeni günlük dosyaları oluşturulduğunda bildirim sağlamak için bir Basit Kuyruk Hizmeti (SQS) kuyruğu oluşturun.

    • OpenID Connect (OIDC) aracılığıyla AWS'de kullanıcıların kimliğini doğrulamak için bir web kimliği sağlayıcısı oluşturun.

    • AWS kaynaklarınıza erişmek için OIDC web kimliği sağlayıcısı tarafından kimliği doğrulanmış kullanıcılara izin vermek için varsayılan bir rol oluşturun.

    • Üstlenilen role uygun kaynaklara (S3 bucket'ı, SQS) erişim izni vermek için uygun IAM izin ilkelerini ekleyin.

    • EKS denetim günlüklerini Microsoft Sentinel tarafından beklenen biçime dönüştürmek için bir Lambda işlevi oluşturun.

  • Microsoft Sentinel'de:

    • Microsoft Sentinel portalında, SQS kuyruğunu yoklayan ve S3 kovasından günlük verilerini alan günlük toplayıcıları ekleyerek Amazon Web Services S3 EKS Bağlayıcısı'nı yapılandırın. Daha fazla bilgi için bkz. Günlük toplayıcıları ekleme.

AWS ortamını ayarlama

Ekleme işlemini basitleştirmek için Microsoft Sentinel'deki Amazon Web Services S3 EKS bağlayıcısı sayfasında AWS CloudFormation hizmetiyle kullanılmak üzere indirilebilir şablonlar sağlanır. CloudFormation hizmeti, AWS'de otomatik olarak kaynak yığınları oluşturmak için bu şablonları kullanır. Bu yığınlar, kimlik bilgileri, izinler ve ilkelerle birlikte bu makalede açıklanan kaynakları içerir.

Not

Otomatik kurulum işlemini kullanın. Özel durumlar için el ile kurulum yönergelerine bakın.

Şablon dosyalarını hazırlama

AWS ortamını ayarlayan betiği çalıştırmak için aşağıdaki adımları kullanın:

  1. Azure portal, Microsoft Sentinel gezinti menüsünde Yapılandırma'yı genişletin ve Veri bağlayıcıları'nı seçin.

    Defender portalında, hızlı başlatma menüsünde Yapılandırma Microsoft Sentinel > genişletin ve Veri bağlayıcıları'nı seçin.

  2. Veri bağlayıcıları listesinden Amazon Web Services S3 EKS'yi seçin.

    Bağlayıcıyı görmüyorsanız, Microsoft Sentinel'da İçerik yönetimi altındaki İçerik hub'ından Amazon Web Services çözümünü yükleyin veya çözümü en son sürüme güncelleştirin.

  3. Bağlayıcının ayrıntılar bölmesinde Bağlayıcı sayfasını aç'ı seçin.

    AWS S3 EKS bağlayıcısını gösteren veri bağlayıcıları galerisinin ekran görüntüsü.

  4. Yapılandırma bölümünde, 1. AWS CloudFormation Deployment altında, AWS CloudFormation Stacks bağlantısını seçin. Bu eylem, AWS konsolunu yeni bir tarayıcı sekmesinde açar.

  5. Microsoft Sentinel açık olduğu portalın sekmesine dönün. OIDC web kimliği sağlayıcısını oluşturan şablonu indirmek için Şablon 1: OpenID Connect kimlik doğrulama dağıtımı altında İndir'i seçin. Şablon, belirlenen indirmeler klasörünüze JSON dosyası olarak indirilir.

    Not

    Önceki bir AWS bağlayıcısı kurulumundan bir OIDC web kimliği sağlayıcınız zaten varsa bu adımı atlayın.

  6. Diğer AWS kaynaklarını oluşturan şablonu indirmek için Şablon 2: AWS EKS kaynakları dağıtımı altında İndir'i seçin. Şablon, belirlenen indirmeler klasörünüze JSON dosyası olarak indirilir.

    AWS S3 EKS bağlayıcı yapılandırma sayfasının ekran görüntüsü.

AWS CloudFormation yığınları oluşturma

Yığın oluşturmak için AWS CloudFormation sayfasının açık olduğu AWS Konsolu tarayıcı sekmesine dönün.

AWS'de henüz oturum açmadıysanız şimdi oturum açın. AWS CloudFormation sayfasına yönlendirilirsiniz.

OIDC web kimliği sağlayıcısını oluşturma

Önemli

Önceki bir AWS bağlayıcısı kurulumundan OIDC web kimliği sağlayıcınız zaten varsa bu adımı atlayın ve Kalan AWS kaynaklarını oluşturma bölümüne geçin.
Bulut için Microsoft Defender için ayarlanmış bir OIDC Connect sağlayıcınız varsa, Microsoft Sentinel mevcut sağlayıcınıza hedef kitle olarak ekleyin (Ticari: api://1462b192-27f7-4cb9-8523-0f4ecb54b47e, Kamu:api://d4230588-5f84-4281-a9c7-2c15194b28f7). Microsoft Sentinel için yeni bir OIDC sağlayıcısı oluşturmayı denemeyin.

Yeni bir yığın oluşturmak için AWS Konsolu sayfasındaki yönergeleri izleyin.

  1. Bir şablon belirtin ve şablon dosyasını karşıya yükleyin.

  2. Dosya seç'i seçin ve indirdiğiniz Şablon 1: OpenID connect kimlik doğrulaması deployment.json dosyasını bulun.

  3. Yığın için bir ad seçin.

  4. İşlemin geri kalanında ilerleyin ve yığını oluşturun.

Kalan AWS kaynaklarını oluşturma

  1. AWS CloudFormation yığınları sayfasına dönün ve yeni bir yığın oluşturun.

  2. Dosya seç'i seçin ve indirdiğiniz Şablon 2: AWS EKS kaynakları deployment.json dosyasını bulun.

  3. Yığın için bir ad seçin.

  4. İstendiğinde aşağıdaki parametreleri girin:

    • EKSClusterName: Mevcut EKS kümenizin adını girin.
    • Microsoft Sentinel Çalışma Alanı Kimliği: Çalışma Alanı Kimliğinizi bulmak için:
      • Azure portal, Microsoft Sentinel gezinti menüsünde Yapılandırma'yı genişletin ve Ayarlar'ı seçin. Workspace ayarları sekmesini seçin ve Log Analytics workspace sayfasında Workspace ID'yi bulun.
      • Defender portalının hızlı başlat menüsünde Sistem'i genişletin ve Ayarlar'ı seçin. Microsoft Sentinel'ı seçin ve ardından altında [WORKSPACE_NAME] seçin. Yeni bir tarayıcı sekmesinde açılan Log Analytics çalışma alanı sayfasında Çalışma Alanı Kimliğini bulun.
    • BucketName: EKS denetim günlüklerinin depolandığı S3 demetine benzersiz bir ad girin.
    • SentinelSQSQueueName: SQS kuyruğu için bir ad girin (varsayılan: MicrosoftSentinelEKSSqs).
    • AwsRoleName: IAM rolü için bir ad girin ("OIDC_" ile başlamalıdır, varsayılan: OIDC_MicrosoftSentinelRoleEKS).
  5. İşlemin geri kalanında ilerleyin ve yığını oluşturun.

  6. Yığın oluşturma işlemi tamamlandıktan sonra CloudFormation yığınının Outputs bölümüne gidin ve aşağıdaki değerleri not edin:

    • SentinelRoleArn: Microsoft Sentinel erişim için oluşturulan IAM rolünün ARN'i.
    • SentinelSQSQueueURL: SQS kuyruğunun URL'si.
    • Step1EnableEKSAuditLogging: EKS denetim günlüğünü etkinleştirmek için AWS CLI komutu.
    • Step2CreateSubscriptionFilter: CloudWatch Logs abonelik filtresini oluşturmak için AWS CLI komutu.

EKS denetim günlüğünü etkinleştirme ve günlük akışını yapılandırma

CloudFormation yığınlarını oluşturduktan sonra EKS kümenizde denetim günlüğünü etkinleştirin ve günlük akışını yapılandırın:

  1. EKS kümenizde denetim günlüğü zaten etkin değilse, CloudFormation yığınından Step1EnableEKSAuditLogging çıkışında sağlanan komutu çalıştırın.

  2. Denetim günlüklerinin CloudWatch Günlükleri'nde görünmeye başlaması için yaklaşık beş dakika bekleyin.

  3. Denetim günlüklerini CloudWatch'tan Kinesis Data Firehose teslim akışına aktaran bir abonelik filtresi oluşturmak için Step2CreateSubscriptionFilter çıkışında sağlanan komutu çalıştırın.

  4. Lambda fonksiyonu, EKS denetim günlüklerini otomatik olarak Microsoft Sentinel’in beklediği biçime dönüştürür ve bunları S3’e aktarır; burada içeri alma için SQS bildirimlerini tetikler.

Günlük toplayıcıları ekleme

Kaynak yığınlarını oluşturduğunuzda ve EKS denetim günlüğünü yapılandırdığınızda, Microsoft Sentinel'daki veri bağlayıcısı sayfasında açılan tarayıcı sekmesine dönün ve yapılandırma işleminin ikinci bölümüne başlayın.

  1. Yapılandırma bölümünde, 2. Yeni toplayıcıları bağlayın başlığı altında, Yeni toplayıcı ekle seçeneğini belirleyin.

    AWS EKS bağlayıcı yapılandırmasının ikinci bölümünün ekran görüntüsü.

  2. Oluşturduğunuz IAM rolüne ait rol ARN’sini girin. CloudFormation yığınınızın SentinelRoleArn çıkışındaki değeri kullanın (örneğin, arn:aws:iam::{AWS_ACCOUNT_ID}:role/OIDC_MicrosoftSentinelRoleEKS).

  3. Oluşturduğunuz SQS kuyruğu URL'sini girin. CloudFormation yığınınızın SentinelSQSQueueURL çıkışındaki değeri kullanın (örneğin, https://sqs.{AWS_REGION}.amazonaws.com/{AWS_ACCOUNT_ID}/MicrosoftSentinelEKSSqs).

  4. Toplayıcıyı eklemek için Bağlan seçeneğini seçin. Bu eylem, günlükleri almak ve bunları Log Analytics çalışma alanınızdaki özel AWSEKSLogs_CL tablosuna aktarmak için Azure İzleyici Aracısı adına bir veri toplama kuralı oluşturur.

    EKS günlükleri için yeni toplayıcı ekleme ekran görüntüsü.

Veri alımını doğrulama

EKS denetim günlüğü verilerinin Microsoft Sentinel çalışma alanınıza alındığını doğrulamak için aşağıdaki adımları kullanın.

  1. Bağlayıcıyı ayarladıktan sonra Günlükler sayfasına (veya Defender portalındaki Gelişmiş tehdit avcılığı sayfasına) gidin ve aşağıdaki sorguyu çalıştırın. Herhangi bir sonuç alırsanız bağlayıcı düzgün çalışıyor olur.

    AWSEKSLogs_CL
    | take 10
    
  2. EKS denetim verilerinizi keşfetmek için daha özel sorgular da çalıştırabilirsiniz.

    // View recent EKS audit events by verb (API action)
    AWSEKSLogs_CL
    | where TimeGenerated > ago(1h)
    | summarize count() by Verb
    | order by count_ desc
    
    // Monitor authentication decisions
    AWSEKSLogs_CL
    | where TimeGenerated > ago(24h)
    | where AuthDecision != ""
    | summarize count() by AuthDecision, User
    | order by count_ desc
    
    // Track failed requests (non-200 response codes)
    AWSEKSLogs_CL
    | where TimeGenerated > ago(24h)
    | where ResponseCode != 200
    | project TimeGenerated, User, Verb, ObjectRef, ResponseCode, SourceIPs
    | order by TimeGenerated desc
    

Şema referansı

EKS denetim günlükleri aşağıdaki şemayla AWSEKSLogs_CL tablosuna alınıyor:

Sütun Tür Açıklama
TimeGenerated Tarih ve saat Denetim olayının oluşturulduğu saat
AwsAccountId dize EKS kümesinin bulunduğu AWS hesap kimliği
Bölge dize EKS kümesinin bulunduğu AWS bölgesi
Küme Adı dize EKS kümesinin adı
Fiil dize API isteğiyle ilişkili HTTP fiili (GET, POST, PUT, DELETE vb.)
Kullanıcı dize İsteği yapan kullanıcı hakkında bilgi
Kaynak IP'ler Dinamik İsteğin kaynaklandığı kaynak IP adresleri dizisi
UserAgent dize İstekte bulunan istemcinin kullanıcı aracısı dizesi
ObjectRef dize Erişilmekte olan Kubernetes nesnesine başvuru
Yanıt Kodu Int API isteği için HTTP yanıt kodu
Aşama dize İstek işleme aşaması (RequestReceived, ResponseStarted, ResponseComplete, Panic)
AuthDecision dize API sunucusu tarafından yapılan yetkilendirme kararı
RawEvent Dinamik Gelişmiş analiz için tam ham denetim olayı verileri

Sorun giderme

Yaygın sorunlar ve çözümler

Aşağıdaki yaygın sorunlar ve çözümler, konnektör kurulum sorunlarını çözmenize yardımcı olabilir.

  • AWSEKSLogs_CL tablosunda veri görüntülenmez:

    • Kümenizde EKS denetim günlüğünün etkinleştirildiğini doğrulayın.
    • CloudWatch Günlükleri abonelik filtresinin doğru yapılandırıldığını denetleyin.
    • Lambda işlevinin günlükleri hatasız işlediğinden emin olun. Lambda işlev günlükleri için CloudWatch Günlükleri'ne bakın.
    • S3 klasörü bildirimlerinin SQS iletilerini tetikleyecek şekilde doğru yapılandırıldığını doğrulayın.
  • CloudFormation yığını oluşturma işlemi başarısız oluyor:

    • Gerekli tüm kaynakları oluşturmak için yeterli IAM izinlerine sahip olduğunuzdan emin olun.
    • Sağladığınız EKS kümesi adının hesabınızda mevcut olup olmadığını denetleyin.
    • S3 bucket adının küresel olarak benzersiz olduğunu doğrulayın.
  • Kimlik doğrulama hataları:

    • OIDC web kimliği sağlayıcısının doğru yapılandırıldığını doğrulayın.
    • IAM rol izinlerinin S3 ve SQS kaynaklarına erişmek için yeterli olduğundan emin olun.
    • CloudFormation şablonunda kullanılan çalışma alanı kimliğinin Microsoft Sentinel çalışma alanınızla aynı olup olmadığını denetleyin.

Gelişmiş izleme

Henüz yapmadıysanız, bağlayıcıların veri almadığını veya başka sorunlarla karşılaştığını öğrenebilmeniz için veri bağlayıcısı sistem durumunu izlemeyi uygulayın. Daha fazla bilgi için bkz. Veri bağlayıcılarınızın durumunu izleme.