AWS S3 bağlayıcısı sorunlarını giderme
Amazon Web Services (AWS) S3 bağlayıcısı, AWS S3 demetlerinde toplanan AWS hizmet günlüklerini Microsoft Sentinel'e almanızı sağlar. Şu anda desteklediğimiz günlük türleri AWS CloudTrail, VPC Akış Günlükleri ve AWS GuardDuty'dır.
Bu makalede, sorunları çözmek için gereken adımları bulabilmeniz için AWS S3 bağlayıcısında oluşan sorunların nedenini nasıl hızla belirleyebileceğiniz açıklanır.
AWS hizmet günlüğü verilerini almak için Microsoft Sentinel'i Amazon Web Services'e bağlamayı öğrenin.
Microsoft Sentinel, Amazon Web Services S3 bağlayıcısından veya veri türlerinden birinden veri almaz
AWS S3 bağlayıcısının (veya veri türlerinden birinin) günlükleri, bağlayıcı bağlandıktan sonra Microsoft Sentinel çalışma alanında 30 dakikadan uzun süre görünmez.
Bir neden ve çözüm aramadan önce şu noktaları gözden geçirin:
- Verilerin çalışma alanına alınması, bağlayıcının bağlandığı andan itibaren yaklaşık 20-30 dakika sürebilir.
- Bağlayıcının bağlantı durumu bir toplama kuralının mevcut olduğunu gösterir ancak verilerin alındığını göstermez. Amazon Web Services S3 bağlayıcısının durumu yeşilse, veri türlerinden biri için bir toplama kuralı vardır ancak yine de veri yoktur.
Sorununuzun nedenini belirleme
Bu bölümde şu nedenleri ele alacağız:
- AWS S3 bağlayıcısı izin ilkeleri düzgün ayarlanmadı.
- Veriler AWS'deki S3 demetine alınmıyor.
- AWS bulutundaki Amazon Simple Queue Service (SQS), S3 demetinden bildirim almıyor.
- AWS bulutundaki SQS/S3'ten veriler okunamıyor. GuardDuty günlüklerinde sorun yanlış KMS izinlerinden kaynaklanır.
Neden 1: AWS S3 bağlayıcısı izin ilkeleri düzgün ayarlanmadı
Bu sorun AWS ortamındaki yanlış izinlerden kaynaklanır.
İzin ilkeleri oluşturma
AWS S3 veri bağlayıcısını dağıtmanız için izin ilkeleri gereklidir. Gerekli izinleri gözden geçirin ve ilgili izinleri ayarlayın.
Neden 2: İlgili veriler S3 demetinde yok
İlgili günlükler S3 demetinde yok.
Çözüm: Gerekirse günlükleri arayın ve günlükleri dışarı aktarın
- AWS'de S3 demetini açın, gerekli günlüklere göre ilgili klasörü arayın ve klasörün içinde günlük dosyası olup olmadığını denetleyin.
- Veriler yoksa AWS yapılandırmasıyla ilgili bir sorun vardır. Bu durumda, bir AWS hizmetini günlükleri S3 demetine dışarı aktaracak şekilde yapılandırmanız gerekir.
Neden 3: S3 verileri SQS'ye ulaşmadı
Veriler S3'ten SQS'ye başarıyla aktarılamıyor.
Çözüm: Verilerin geldiğini doğrulayın ve olay bildirimlerini yapılandırın
- AWS'de ilgili SQS'yi açın.
- İzleme sekmesinde Gönderilen İleti Sayısı pencere öğesinde trafiği görmeniz gerekir. SQS’de trafik yoksa AWS yapılandırmasında sorun var demektir.
- SQS için olay bildirimleri tanımının doğru veri filtreleri (ön ek ve sonek) içerdiğinden emin olun.
- Olay bildirimlerini görmek için, S3 demetinde Özellikler sekmesini seçin ve ardından Olay bildirimleri bölümünü bulun.
- Bu bölümü göremiyorsanız oluşturun.
- SQS’nin S3 klasöründen verileri almak için ilgili ilkelere sahip olduğundan emin olun. SQS, Erişim ilkesi sekmesinde bu ilkeyi içermelidir.
Neden 4: SQS verileri okumadı
SQS, S3 verilerini başarıyla okumadı.
Çözüm: SQS'nin verileri okuduğunu doğrulayın
AWS'de ilgili SQS'yi açın.
İzleme sekmesindeki Silinen İleti Sayısı ve Alınan İleti Sayısı pencere öğelerinde trafiği görmeniz gerekir.
Verilerde tek bir ani artış yeterli değildir. Yeterli veri (birkaç ani artış) olana kadar bekleyin ve ardından sorunları denetleyin.
Pencere öğelerinden en az biri boşsa şu sorguyu çalıştırarak sistem durumu günlüklerini denetleyin:
SentinelHealth | where TimeGenerated > ago(1d) | where SentinelResourceKind in ('AmazonWebServicesCloudTrail', 'AmazonWebServicesS3') | where OperationName == 'Data fetch failure summary' | mv-expand TypeOfFailureDuringHour = ExtendedProperties["FailureSummary"] | extend StatusCode = TypeOfFailureDuringHour["StatusCode"] | extend StatusMessage = TypeOfFailureDuringHour["StatusMessage"] | project SentinelResourceKind, SentinelResourceName, StatusCode, StatusMessage, SentinelResourceId, TypeOfFailureDuringHour, ExtendedProperties
Sistem durumu özelliğinin etkinleştirildiğinden emin olun:
SentinelHealth | take 20
Sistem durumu özelliği etkinleştirilmediyse, etkinleştirin.
AWS S3 bağlayıcısından (veya veri türlerinden birinden) alınan veriler Microsoft Sentinel'de 30 dakikadan uzun bir gecikmeyle görülür
Bu sorun genellikle Microsoft S3 klasöründeki dosyaları okuyamazsa ortaya çıkar. Microsoft, şifrelenmiş veya yanlış biçimde oldukları için dosyaları okuyamıyor. Böyle durumlarda işlemin birçok kez yeniden denenmesi sonunda alım gecikmesine yol açar.
Sorununuzun nedenini belirleme
Bu bölümde şu nedenleri ele alacağız:
- Günlük şifrelemesi doğru ayarlanmadı
- Olay bildirimleri doğru tanımlanmadı
- Sistem durumu hataları veya sistem durumu devre dışı
Neden 1: Günlük şifrelemesi doğru ayarlanmadı
Günlükler Anahtar Yönetimi Hizmeti (KMS) tarafından tamamen veya kısmen şifreleniyorsa, Microsoft Sentinel'in bu KMS'nin dosyaların şifresini çözme izni olmayabilir.
Çözüm: Günlük şifrelemeyi denetleme
Microsoft Sentinel'in bu KMS'nin dosyaların şifresini çözme izni olduğundan emin olun. GuardDuty ve CloudTrail günlükleri için gerekli KMS izinlerini gözden geçirin.
Neden 2: Olay bildirimleri doğru yapılandırılmadı
Bir Amazon S3 olay bildirimi yapılandırırken, Amazon S3'ün bildirimi hangi desteklenen olay türlerine göndereceğini belirtmeniz gerekir. Amazon S3 demetinizde belirtmediğiniz bir olay türü varsa, Amazon S3 bildirimi göndermez.
Çözüm: Olay bildirimlerinin düzgün tanımlandığını doğrulayın
S3'ten SQS'ye olay bildirimlerinin düzgün tanımlandığını doğrulamak için şunları denetleyin:
- Bildirim, demeti içeren ana klasörden değil günlükleri içeren belirli bir klasörden tanımlanmış.
- Bildirim .gz soneki ile tanımlanır. Örnek:
Neden 3: Sistem durumu hataları veya sistem durumu devre dışı
Sistem durumu günlüklerinde hatalar olabilir veya sistem durumu özelliği etkinleştirilmemiş olabilir.
Çözüm: Sistem durumu günlüklerinde hata olmadığını doğrulayın ve sistem durumunu etkinleştirin
Şu sorguyu çalıştırarak sistem durumu günlüklerinde hata olmadığını doğrulayın:
SentinelHealth | where TimeGenerated between (ago(startTime)..ago(endTime)) | where SentinelResourceKind == "AmazonWebServicesS3" | where Status != "Success" | distinct TimeGenerated, OperationName, SentinelResourceName, Status, Description
Sistem durumu özelliğinin etkinleştirildiğinden emin olun:
SentinelHealth | take 20
Sistem durumu özelliği etkinleştirilmediyse, etkinleştirin.
Sonraki adımlar
Bu makalede, AWS S3 bağlayıcısıyla ilgili nedenleri hızla belirlemeyi ve yaygın sorunları çözmeyi öğrendiniz.
Geri bildirimleri, önerileri, özellik isteklerini, hata raporlarını veya iyileştirmeleri ve eklemeleri memnuniyetle karşılıyoruz. Microsoft Sentinel GitHub deposuna giderek bir sorun veya çatal oluşturun ve katkıyı karşıya yükleyin.