AWS - CloudWatch Enum
CloudWatch, AWS kaynaklarını, uygulamaları ve hizmetleri birleştirerek izleme ve işletme verilerini loglar/metriler/etkinlikler şeklinde toplar. CloudWatch Log Olaylarının her bir log satırında 256KB boyut sınırlaması vardır. Yüksek çözünürlüklü alarmlar ayarlayabilir, logları ve metrikleri yan yana görselleştirebilir, otomatik işlemler yapabilir, sorunları gidermeye yardımcı olabilir ve uygulamaları optimize etmek için içgörüler keşfedebilirsiniz.
Örneğin CloudTrail'den logları izleyebilirsiniz. İzlenen olaylar:
Güvenlik Grupları ve NACL'lerdeki Değişiklikler
EC2 örneklerinin Başlatılması, Durdurulması, Yeniden Başlatılması ve Sonlandırılması
IAM ve S3 içindeki Güvenlik Politikalarındaki Değişiklikler
AWS Yönetim Konsoluna Başarısız Giriş Denemeleri
Yetkilendirme başarısız olan API çağrıları
Cloudwatch'da arama yapmak için filtreler: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html
Ana kavramlar
Ad Alanları
Bir ad alanı, CloudWatch metrikleri için bir konteynerdir. Metrikleri kategorize etmeye ve izole etmeye yardımcı olarak, bunları yönetmeyi ve analiz etmeyi kolaylaştırır.
Örnekler: EC2 ile ilgili metrikler için AWS/EC2, RDS metrikleri için AWS/RDS.
Metrikler
Metrikler, zaman içinde toplanan performansı veya AWS kaynaklarının kullanımını temsil eden veri noktalarıdır. Metrikler, AWS hizmetlerinden, özel uygulamalardan veya üçüncü taraf entegrasyonlarından toplanabilir.
Örnek: CPUUtilization, NetworkIn, DiskReadOps.
Boyutlar
Boyutlar, metriklerin bir parçası olan anahtar-değer çiftleridir. Bir metriği benzersiz bir şekilde tanımlamaya ve ek bağlam sağlamaya yardımcı olurlar, bir metriğe en fazla 30 boyut eklenebilir. Boyutlar ayrıca belirli özelliklere göre metrikleri filtrelemeye ve toplamaya olanak tanır.
Örnek: EC2 örnekleri için boyutlar, InstanceId, InstanceType ve AvailabilityZone içerebilir.
İstatistikler
İstatistikler, metrik verileri üzerinde özetlemek için yapılan matematiksel hesaplamalardır. Ortalama, Toplam, Minimum, Maksimum ve Örnek Sayısı gibi yaygın istatistikler bulunmaktadır.
Örnek: Bir saatlik bir süre içinde ortalama CPU kullanımını hesaplama.
Birimler
Birimler, bir metrikle ilişkilendirilen ölçüm türüdür. Birimler, metrik verilerine bağlam ve anlam sağlamaya yardımcı olur. Yaygın birimler arasında Yüzde, Bayt, Saniye, Sayı bulunmaktadır.
Örnek: CPUUtilization yüzde cinsinden ölçülebilirken, NetworkIn bayt cinsinden ölçülebilir.
CloudWatch Özellikleri
Gösterge Tablosu
CloudWatch Gösterge Tabloları, AWS CloudWatch metriklerinizin özelleştirilebilir görünümlerini sağlar. Verileri görselleştirmek ve farklı AWS hizmetlerinden farklı metrikleri bir arada izlemek için gösterge tabloları oluşturabilir ve yapılandırabilirsiniz.
Ana Özellikler:
Araçlar: Grafikler, metin, alarmlar ve daha fazlasını içeren gösterge tablolarının yapı taşları.
Özelleştirme: Düzen ve içerik, belirli izleme ihtiyaçlarına uyacak şekilde özelleştirilebilir.
Örnek Kullanım Senaryosu:
EC2 örnekleri, RDS veritabanları ve S3 kovaları dahil olmak üzere tüm AWS ortamınız için temel metrikleri gösteren tek bir gösterge tablosu.
Metrik Akışı ve Metrik Verileri
AWS CloudWatch'da Metrik Akışları, CloudWatch metriklerini sürekli olarak gerçek zamanlı bir hedefe akıtmayı sağlar. Bu, AWS dışındaki araçlar kullanarak gelişmiş izleme, analiz ve özel gösterge tabloları için özellikle yararlıdır.
Metrik Akışları içindeki Metrik Verileri, akıtılan gerçek ölçümleri veya veri noktalarını temsil eder. Bu veri noktaları, AWS kaynakları için CPU kullanımı, bellek kullanımı vb. gibi çeşitli metrikleri temsil eder.
Örnek Kullanım Senaryosu:
Gerçek zamanlı metrikleri üçüncü taraf bir izleme servisine gönderme.
Uzun vadeli depolama ve uyumluluk için Amazon S3 kovasında metrikleri arşivleme.
Alarm
CloudWatch Alarmları, belirlenmiş eşiklere dayalı olarak metriklerinizi izler ve önceden tanımlanmış eşikleri aşan bir metrik olduğunda SNS aracılığıyla bildirim gönderme, otomatik ölçeklendirme politikasını tetikleme veya AWS Lambda işlevini çalıştırma gibi bir veya daha fazla eylem gerçekleştirebilir.
Ana Bileşenler:
Eşik: Alarmın tetiklendiği değer.
Değerlendirme Dönemleri: Verilerin değerlendirildiği dönem sayısı.
Alarma Giden Veri Noktaları: Alarmı tetiklemek için gereken eşik değerine ulaşılan dönem sayısı
Eylemler: Bir alarm durumu tetiklendiğinde ne olacağı (örneğin, SNS aracılığıyla bildirim gönderme).
Örnek Kullanım Senaryosu:
EC2 örneği CPU kullanımını izleme ve %80'in üzerine çıkarsa 5 dakika boyunca SNS aracılığıyla bildirim gönderme.
Anomali Algılayıcıları
Anomali Algılayıcıları, metriklerinizdeki anormallikleri otomatik olarak tespit etmek için makine öğrenimini kullanır. Herhangi bir CloudWatch metriğine anormallik algılama uygulayabilir ve normal desenlerden sapmaları belirleyebilir.
Ana Bileşenler:
Model Eğitimi: CloudWatch, normal davranışın nasıl olduğunu belirlemek için geçmiş verileri kullanır.
Anomali Algılama Bandı: Bir metrik için beklenen değer aralığının görsel temsili.
Örnek Kullanım Senaryosu:
Güvenlik ihlali veya uygulama sorunu gösterebilecek EC2 örneğindeki olağandışı CPU kullanımı desenlerini tespit etme.
İzleme Kuralları ve Yönetilen İzleme Kuralları
İzleme Kuralları, metrik verilerinizdeki trendleri, artışları veya diğer ilgi çekici desenleri tanımlamak için güçlü matematiksel ifadeler kullanarak koşulları tanımlamanıza olanak tanır. Bu kurallar, kaynak performansınızda ve kullanımınızda anormallikleri veya olağandışı davranışları tanımlamanıza yardımcı olabilir.
Yönetilen İzleme Kuralları, AWS tarafından sağlanan önceden yapılandırılmış izleme kurallarıdır. Bunlar belirli AWS hizmetlerini veya yaygın kullanım durumlarını izlemek için tasarlanmıştır ve ayrıntılı yapılandırmaya ihtiyaç duymadan etkinleştirilebilir.
Örnek Kullanım Senaryosu:
RDS Performansını İzleme: Amazon RDS için CPU kullanımı, bellek kullanımı ve disk G/Ç gibi temel performans göstergelerini izlemek için yönetilen bir izleme kuralı etkinleştirme. Bu metriklerden herhangi biri güvenli işletim eşiklerini aşarsa, kural bir uyarı veya otomatik müdahale eylemi tetikleyebilir.
CloudWatch Logları
Uygulamalardan ve sistemlerden logları toplamak ve izlemek için izin verir. AWS hizmetlerinden (CloudTrail dahil) ve uygulamalardan/sistemlerden logları toplayabilir (CloudWatch Ajanı bir ana bilgisayara kurulabilir). Loglar sınırsız süreyle (Günlük Grubu ayarlarına bağlı olarak) saklanabilir ve dışa aktarılabilir.
Öğeler:
Log Grubu | Aynı saklama, izleme ve erişim kontrolü ayarlarını paylaşan log akışlarının bir koleksiyonu |
Log Akışı | Aynı kaynağı paylaşan log olaylarının bir dizisi |
Abonelik Filtreleri | Belirli bir günlük grubundaki olayları eşleştiren bir filtre deseni tanımlar, bunları Kinesis Data Firehose akışına, Kinesis akışına veya bir Lambda işlevine gönderir |
### CloudWatch İzleme ve Olaylar |
CloudWatch temel olarak verileri her 5 dakikada bir toplar (detaylı olan bunu her 1 dakikada bir yapar). Toplama işleminden sonra, alarmların eşik değerlerini kontrol eder ve bir tanesini tetiklemesi gerekiyorsa bunu yapar. Bu durumda, CloudWatch bir olay göndermek ve bazı otomatik işlemler gerçekleştirmek için hazırlanabilir (AWS lambda fonksiyonları, SNS konuları, SQS kuyrukları, Kinesis Akışları)
Ajan Kurulumu
Makinelerin/konteynerlerin içine ajanlar kurarak günlükleri otomatik olarak CloudWatch'a geri gönderebilirsiniz.
Bir rol oluşturun ve CloudWatch'un örneklerden veri toplamasına izin veren izinlerle birlikte AWS sistem yöneticisi SSM ile etkileşime geçmesine izin veren bir rolü ekleyin (CloudWatchAgentAdminPolicy ve AmazonEC2RoleforSSM)
EC2 örneğine ajanı indirin ve kurun (https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip). EC2 içinden indirebilir veya AWS Sistem Yöneticisi'ni kullanarak AWS-ConfigureAWSPackage paketini seçerek otomatik olarak kurabilirsiniz.
CloudWatch Ajanını yapılandırın ve başlatın
Bir günlük grubunda birçok akış bulunur. Bir akışta birçok olay bulunur. Ve her akışın içindeki olayların sırayla olacağı garanti edilir.
Numaralandırma
Saldırı Sonrası / Atlatma
cloudwatch:DeleteAlarms
,cloudwatch:PutMetricAlarm
, cloudwatch:PutCompositeAlarm
cloudwatch:DeleteAlarms
,cloudwatch:PutMetricAlarm
, cloudwatch:PutCompositeAlarm
Bu izinlere sahip bir saldırgan, bir organizasyonun izleme ve uyarı altyapısını ciddi şekilde zayıflatabilir. Var olan alarmları silerek, saldırgan kritik performans sorunları, güvenlik ihlalleri veya operasyonel başarısızlıklar hakkında yöneticilere bildirimde bulunan önemli uyarıları devre dışı bırakabilir. Ayrıca, metrik alarmlar oluşturarak veya değiştirerek, saldırgan yöneticileri yanıltabilir ve meşru alarmları susturarak kötü niyetli faaliyetleri maskeleyebilir ve gerçek olaylara zamanında yanıt verilmesini engelleyebilir.
Ayrıca, cloudwatch:PutCompositeAlarm
izni ile bir saldırgan, bir döngü veya döngü oluşturabilir, burada bileşik alarm A, bileşik alarm B'ye bağlıdır ve bileşik alarm B de bileşik alarm A'ya bağlıdır. Bu senaryoda, döngünün bir parçası olan herhangi bir bileşik alarmı silemezsiniz çünkü silmek istediğiniz alarmdan hala bağımlı olan bir bileşik alarm her zaman vardır.
Aşağıdaki örnek, bir metrik alarmını etkisiz hale getirmenin nasıl yapılacağını göstermektedir:
Bu metrik alarm, belirli bir EC2 örneğinin ortalama CPU kullanımını izler, metriği her 300 saniyede bir değerlendirir ve 6 değerlendirme dönemi gerektirir (toplam 30 dakika). Ortalama CPU kullanımı en az 4 dönem boyunca %60'ın üzerine çıkarsa, alarm tetiklenir ve belirtilen SNS konusuna bir bildirim gönderilir.
Eşiği %99'dan fazla ayarlayarak, Dönemi 10 saniyeye, Değerlendirme Dönemlerini 8640'a (çünkü 8640 adet 10 saniyelik dönem 1 gün eder), ve Veri Noktalarını Alarmı da 8640'a ayarlayarak, alarmın tetiklenmesi için CPU kullanımının 24 saat boyunca her 10 saniyede bir %99'un üzerinde olması gerekecektir.
Potansiyel Etki: Kritik olaylar için bildirim eksikliği, potansiyel tespit edilmemiş sorunlar, yanlış uyarılar, gerçek olayların kaçırılması.
cloudwatch:DeleteAlarmActions
, cloudwatch:EnableAlarmActions
, cloudwatch:SetAlarmState
cloudwatch:DeleteAlarmActions
, cloudwatch:EnableAlarmActions
, cloudwatch:SetAlarmState
Alarm eylemlerini silerek saldırgan, bir alarm durumuna ulaşıldığında yöneticilere bildirim gönderme veya otomatik ölçeklendirme faaliyetlerini tetikleme gibi kritik uyarıları ve otomatik yanıtları engelleyebilir. Uygun olmayan şekilde alarm eylemlerini etkinleştirmek veya yeniden etkinleştirmek, önceki şekilde devre dışı bırakılmış eylemleri yeniden etkinleştirerek veya tetiklenen eylemleri değiştirerek beklenmedik davranışlara yol açabilir, bu da olay yanıtında karışıklığa ve yanlış yönlendirmeye neden olabilir.
Ayrıca, izni olan bir saldırgan alarm durumlarını manipüle edebilir, yöneticileri dikkatlerini dağıtmak ve karıştırmak için yanıltıcı yanlış alarmlar oluşturabilir veya devam eden kötü niyetli faaliyetleri veya kritik sistem arızalarını gizlemek için gerçek alarmları susturabilir.
Bir bileşik alarm üzerinde
SetAlarmState
kullanıyorsanız, bileşik alarmın gerçek durumuna geri dönmesi garanti edilmez. Bileşik alarm, yalnızca çocuk alarmlarından herhangi biri durum değiştirdiğinde gerçek durumuna geri döner. Ayrıca yapılandırmasını güncellediğinizde yeniden değerlendirilir.
Potansiyel Etki: Kritik olaylar için bildirim eksikliği, potansiyel olarak algılanmayan sorunlar, yanlış uyarılar, gerçek olayların kaçırılması.
cloudwatch:DeleteAnomalyDetector
, cloudwatch:PutAnomalyDetector
cloudwatch:DeleteAnomalyDetector
, cloudwatch:PutAnomalyDetector
Bir saldırgan, metrik verilerdeki olağandışı desenleri veya anormallikleri tespit etme ve yanıtlama yeteneğini tehlikeye atabilir. Varolan anormallik dedektörlerini silerek, saldırgan kritik uyarı mekanizmalarını devre dışı bırakabilir; ve bunları oluşturarak veya değiştirerek, ya yanlış yapılandırabilir ya da yanlış pozitifler oluşturarak izlemeyi dikkat dağıtmak veya aşırı yüklemek için kullanabilir.
Aşağıdaki örnek, bir metrik anormallik algılayıcısını etkisiz hale getirmenin nasıl yapılacağını göstermektedir. Bu metrik anormallik algılayıcı, belirli bir EC2 örneğinin ortalama CPU kullanımını izler ve istenen zaman aralığıyla "ExcludedTimeRanges" parametresini eklemek, anormallik algılayıcının o dönemde ilgili verileri analiz etmemesini veya uyarı vermemesini sağlamak için yeterlidir.
```json { "SingleMetricAnomalyDetector": { "Namespace": "AWS/EC2", "MetricName": "CPUUtilization", "Stat": "Average", "Dimensions": [ { "Name": "InstanceId", "Value": "i-0123456789abcdefg" } ] }, "Configuration": { "ExcludedTimeRanges": [ { "StartTime": "2023-01-01T00:00:00Z", "EndTime": "2053-01-01T23:59:59Z" } ], "Timezone": "Europe/Madrid" } } ``` **Potansiyel Etki**: Olağandışı desenlerin veya güvenlik tehditlerinin tespitinde doğrudan etkisi vardır.
cloudwatch:DeleteDashboards
, cloudwatch:PutDashboard
cloudwatch:DeleteDashboards
, cloudwatch:PutDashboard
Bir saldırgan, gözetim ve görselleştirme yeteneklerini kuruluşun panolarını oluşturarak, değiştirerek veya silecek şekilde tehlikeye atabilir. Bu izinler, sistemlerin performansı ve sağlığıyla ilgili kritik görünürlüğü kaldırmak, panoları yanlış verileri gösterecek şekilde değiştirmek veya kötü amaçlı faaliyetleri gizlemek için kullanılabilir.
Potansiyel Etki: İzleme görünürlüğünün kaybı ve yanıltıcı bilgiler.
cloudwatch:DeleteInsightRules
, cloudwatch:PutInsightRule
,cloudwatch:PutManagedInsightRule
cloudwatch:DeleteInsightRules
, cloudwatch:PutInsightRule
,cloudwatch:PutManagedInsightRule
Görüş kuralları, anormallikleri tespit etmek, performansı optimize etmek ve kaynakları etkili bir şekilde yönetmek için kullanılır. Mevcut görüş kurallarını silerek, bir saldırgan kritik izleme yeteneklerini kaldırabilir, sistem performans sorunları ve güvenlik tehditleri konusunda kör hale gelebilir. Ayrıca, bir saldırgan yanıltıcı veri oluşturmak veya gizli kötü niyetli faaliyetleri gizlemek için görüş kuralları oluşturabilir veya değiştirebilir, bu da yanlış teşhisler ve işletme ekibinden uygun olmayan yanıtlara yol açabilir.
Potansiyel Etki: Performans sorunlarını ve anormallikleri tespit etme ve yanıtlama zorluğu, yanlış bilgilendirilmiş karar verme ve potansiyel olarak kötü niyetli faaliyetleri veya sistem arızalarını gizleme.
cloudwatch:DisableInsightRules
, cloudwatch:EnableInsightRules
cloudwatch:DisableInsightRules
, cloudwatch:EnableInsightRules
Kritik görüş kurallarını devre dışı bırakarak, bir saldırgan kuruluşu önemli performans ve güvenlik metriklerinden habersiz bırakabilir. Aksine, yanıltıcı kuralları etkinleştirerek veya yapılandırarak, yanlış veri oluşturmak, gürültü oluşturmak veya kötü niyetli faaliyetleri gizlemek mümkün olabilir.
Potansiyel Etki: Operasyon ekibinde karışıklığa neden olarak gerçek sorunlara gecikmiş yanıtlar ve yanlış uyarılara dayalı gereksiz eylemler.
cloudwatch:DeleteMetricStream
, cloudwatch:PutMetricStream
, cloudwatch:PutMetricData
cloudwatch:DeleteMetricStream
, cloudwatch:PutMetricStream
, cloudwatch:PutMetricData
Bir saldırganın cloudwatch:DeleteMetricStream
, cloudwatch:PutMetricStream
izinleriyle metrik veri akışları oluşturup silerek güvenliği, izlemeyi ve veri bütünlüğünü tehlikeye atabilir:
Kötü niyetli akışlar oluşturma: Hassas verileri yetkisiz hedeflere göndermek için metrik akışları oluşturun.
Kaynak manipülasyonu: Aşırı veri içeren yeni metrik akışlarının oluşturulması yanlış uyarılara neden olabilir, gerçek sorunları maskeleyebilir.
İzleme kesintisi: Saldırganlar, metrik akışlarını silerek izleme verilerinin sürekli akışını bozabilir. Bu şekilde, kötü niyetli faaliyetleri etkili bir şekilde gizlenir.
Benzer şekilde, cloudwatch:PutMetricData
izni ile bir metrik akışına veri eklemek mümkün olacaktır. Bu, eklenen yanlış veri miktarından dolayı DoS'a yol açabilir ve tamamen işlevsiz hale getirebilir.
Örnek olarak, belirli bir EC2 örneğindeki CPU kullanımının %70'ine karşılık gelen veri eklemek:
Potansiyel Etki: İzleme verilerinin akışında kesinti, anormalliklerin ve olayların tespitini etkileyerek kaynak manipülasyonu ve aşırı metrik akışı oluşturulması nedeniyle maliyetlerin artması.
cloudwatch:StopMetricStreams
, cloudwatch:StartMetricStreams
cloudwatch:StopMetricStreams
, cloudwatch:StartMetricStreams
Saldırgan etkilenen metrik veri akışlarının akışını kontrol edebilir (kısıtlama olmadığı takdirde her veri akışı). cloudwatch:StopMetricStreams
izni ile saldırganlar kritik metrik akışlarını durdurarak kötü niyetli faaliyetlerini gizleyebilirler.
Potansiyel Etki: Anomalilerin ve olayların tespitini etkileyerek izleme verilerinin akışında kesinti oluşabilir.
cloudwatch:TagResource
, cloudwatch:UntagResource
cloudwatch:TagResource
, cloudwatch:UntagResource
Saldırgan, CloudWatch kaynaklarından (şu anda yalnızca alarmlar ve Katkıda Bulunan İncelemeler kuralları) etiket ekleyebilir, değiştirebilir veya kaldırabilir. Bu durum, kuruluşunuzun etiketlere dayalı erişim kontrol politikalarını bozabilir.
Potansiyel Etki: Etiket tabanlı erişim kontrol politikalarının bozulması.
Referanslar
Last updated