AWS - CloudWatch Enum
CloudWatch
CloudWatch sakuplja nadzorne i operativne podatke u obliku logova/metričkih podataka/događaja pružajući ujedinjeni prikaz AWS resursa, aplikacija i usluga. CloudWatch Log događaji imaju ograničenje veličine od 256KB po svakoj liniji loga. Može postaviti alarme visoke rezolucije, vizualizovati logove i metrike jedno pored drugog, preduzimati automatske akcije, rešavati probleme i otkrivati uvide radi optimizacije aplikacija.
Možete pratiti na primer logove iz CloudTrail-a. Događaji koji se prate:
Promene u Sigurnosnim grupama i NACL-ima
Pokretanje, zaustavljanje, ponovno pokretanje i gašenje EC2 instanci
Promene u Sigurnosnim politikama unutar IAM-a i S3
Neuspešni pokušaji prijave u AWS Management konzolu
API pozivi koji su rezultirali neuspešnom autorizacijom
Filteri za pretragu u cloudwatch-u: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html
Ključni koncepti
Namespace-ovi
Namespace je kontejner za CloudWatch metrike. Pomaže u kategorizaciji i izolaciji metrika, čineći ih lakšim za upravljanje i analizu.
Primeri: AWS/EC2 za metrike vezane za EC2, AWS/RDS za RDS metrike.
Metrike
Metrike su podaci prikupljeni tokom vremena koji predstavljaju performanse ili iskorišćenost AWS resursa. Metrike se mogu prikupljati iz AWS usluga, prilagođenih aplikacija ili integracija trećih strana.
Primer: CPUUtilization, NetworkIn, DiskReadOps.
Dimenzije
Dimenzije su parovi ključ-vrednost koji su deo metrika. Pomažu u jedinstvenom identifikovanju metrike i pružaju dodatni kontekst, pri čemu je 30 najveći broj dimenzija koje mogu biti povezane sa metrikom. Dimenzije takođe omogućavaju filtriranje i agregiranje metrika na osnovu specifičnih atributa.
Primer: Za EC2 instance, dimenzije mogu uključivati InstanceId, InstanceType i AvailabilityZone.
Statistike
Statistike su matematički proračuni izvršeni nad metričkim podacima radi sumiranja tokom vremena. Uobičajene statistike uključuju Prosek, Zbir, Minimum, Maksimum i Broj uzoraka.
Primer: Računanje prosečne iskorišćenosti CPU-a tokom perioda od jednog sata.
Jedinice
Jedinice su tip merenja povezan sa metrikom. Jedinice pomažu u pružanju konteksta i značenja podataka metrike. Uobičajene jedinice uključuju Procenat, Bajtovi, Sekunde, Broj.
Primer: CPUUtilization može biti meren u Procentima, dok NetworkIn može biti meren u Bajtovima.
CloudWatch Funkcionalnosti
Tabla
CloudWatch Table pruža prilagodljive prikaze vaših AWS CloudWatch metrika. Moguće je kreirati i konfigurisati table za vizualizaciju podataka i nadgledanje resursa u jednom prikazu, kombinujući različite metrike iz različitih AWS usluga.
Ključne Funkcionalnosti:
Vidžeti: Građevinski blokovi tabli, uključujući grafikone, tekst, alarme i više.
Prilagođavanje: Izgled i sadržaj mogu biti prilagođeni da odgovaraju specifičnim potrebama nadgledanja.
Primer Upotrebe:
Jedna tabla koja prikazuje ključne metrike za ceo vaš AWS okruženje, uključujući EC2 instance, RDS baze podataka i S3 kante.
Tok Metrike i Metrički Podaci
Tok Metrike u AWS CloudWatch-u omogućava vam kontinuirano strujanje CloudWatch metrika do odredišta po vašem izboru u gotovo realnom vremenu. Ovo je posebno korisno za napredno nadgledanje, analitiku i prilagođene table koristeći alate van AWS-a.
Metrički Podaci unutar Toka Metrike odnose se na stvarna merenja ili podatke koji se strujaju. Ovi podaci predstavljaju različite metrike poput iskorišćenja CPU-a, iskorišćenja memorije, itd., za AWS resurse.
Primer Upotrebe:
Slanje metrika u realnom vremenu trećoj monitoring usluzi za naprednu analizu.
Arhiviranje metrika u Amazon S3 kantu za dugoročno skladištenje i usklađenost.
Alarm
CloudWatch Alarmi prate vaše metrike i vrše akcije na osnovu unapred definisanih pragova. Kada metrika pređe prag, alarm može izvršiti jednu ili više akcija kao što su slanje obaveštenja putem SNS-a, pokretanje politike automatskog skaliranja ili pokretanje AWS Lambda funkcije.
Ključni Komponenti:
Prag: Vrednost na kojoj alarm reaguje.
Periodi Evaluacije: Broj perioda tokom kojih se podaci procenjuju.
Podaci do Alarma: Broj perioda sa dostignutim pragom potrebnih da bi se alarm aktivirao.
Akcije: Šta se dešava kada je stanje alarma aktivirano (npr. obaveštavanje putem SNS-a).
Primer Upotrebe:
Nadgledanje iskorišćenja CPU-a EC2 instance i slanje obaveštenja putem SNS-a ako pređe 80% tokom 5 uzastopnih minuta.
Detektori Anomalija
Detektori Anomalija koriste mašinsko učenje za automatsko otkrivanje anomalija u vašim metrikama. Možete primeniti detekciju anomalija na bilo koju CloudWatch metriku kako biste identifikovali odstupanja od normalnih obrazaca koji bi mogli ukazivati na probleme.
Ključne Komponente:
Obuka Modela: CloudWatch koristi istorijske podatke za obuku modela i utvrđivanje kako normalno ponašanje izgleda.
Opseg Detekcije Anomalija: Vizuelna reprezentacija očekivanog opsega vrednosti za metriku.
Primer Upotrebe:
Otkrivanje neobičnih obrazaca iskorišćenja CPU-a u EC2 instanci koji bi mogli ukazivati na sigurnosni prekršaj ili problem sa aplikacijom.
Pravila Uvida i Upravljana Pravila Uvida
Pravila Uvida vam omogućavaju da identifikujete trendove, detektujete skokove ili druge obrasce od interesa u vašim metričkim podacima koristeći moćne matematičke izraze za definisanje uslova pod kojima bi trebale biti preduzete akcije. Ova pravila vam mogu pomoći da identifikujete anomalije ili neobična ponašanja u performansama i iskorišćenju resursa.
Upravljana Pravila Uvida su prekonfigurisana pravila uvida koja pruža AWS. Namenski su dizajnirana za nadgledanje specifičnih AWS usluga ili uobičajenih slučajeva upotrebe i mogu se omogućiti bez potrebe za detaljnom konfiguracijom.
Primer Upotrebe:
Nadgledanje Performansi RDS-a: Omogućite upravljano pravilo uvida za Amazon RDS koje nadgleda ključne pokazatelje performansi kao što su iskorišćenje CPU-a, iskorišćenje memorije i disk I/O. Ako neki od ovih metrika pređe sigurne operativne pragove, pravilo može pokrenuti upozorenje ili automatsku akciju za ublažavanje.
CloudWatch Logovi
Omogućava agregiranje i nadgledanje logova iz aplikacija i sistema iz AWS usluga (uključujući CloudTrail) i iz aplikacija/sistema (CloudWatch Agent može biti instaliran na hostu). Logovi mogu biti čuvani neograničeno (u zavisnosti od postavki Grupe Logova) i mogu biti izvezeni.
Elementi:
Grupa Logova | Kolekcija log streamova koji dele iste postavke zadržavanja, nadgledanja i kontrole pristupa |
Log Stream | Sekvenca log događaja koji dele isti izvor |
Filteri Pretplate | Definišu filter uzorka koji se poklapa sa događajima u određenoj grupi logova, šalju ih na Kinesis Data Firehose stream, Kinesis stream ili Lambda funkciju |
### Praćenje i događaji CloudWatch |
CloudWatch osnovno agregira podatke svakih 5 minuta (detaljno radi to svakih 1 minut). Nakon agregacije, proverava pragove alarma u slučaju potrebe za pokretanjem jednog. U tom slučaju, CloudWatch može biti pripremljen da pošalje događaj i izvrši neke automatske akcije (AWS lambda funkcije, SNS teme, SQS redove, Kinesis tokove)
Instalacija agenta
Možete instalirati agente unutar vaših mašina/kontejnera kako bi automatski slali logove nazad u CloudWatch.
Napravite ulogu i dodelite je instanci sa dozvolama koje omogućavaju CloudWatch-u da prikuplja podatke sa instanci, pored interakcije sa AWS sistem menadžerom SSM (CloudWatchAgentAdminPolicy & AmazonEC2RoleforSSM)
Preuzmite i instalirajte agenta na EC2 instancu (https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip). Možete ga preuzeti unutar EC2 ili instalirati automatski koristeći AWS System Manager birajući paket AWS-ConfigureAWSPackage
Konfigurišite i pokrenite CloudWatch agenta
Grupa logova ima mnogo tokova. Tok ima mnogo događaja. I unutar svakog toka, događaji su garantovano poredani.
Enumeracija
Post-Eksploatacija / Zaobilaženje
cloudwatch:DeleteAlarms
,cloudwatch:PutMetricAlarm
, cloudwatch:PutCompositeAlarm
cloudwatch:DeleteAlarms
,cloudwatch:PutMetricAlarm
, cloudwatch:PutCompositeAlarm
Napadač sa ovim dozvolama može značajno oslabiti nadzornu i upozoravajuću infrastrukturu organizacije. Brisanjem postojećih alarma, napadač može onemogućiti ključna upozorenja koja obaveštavaju administratore o kritičnim problemima performansi, sigurnosnim prekršajima ili operativnim neuspesima. Osim toga, kreiranjem ili modifikovanjem metričkih alarma, napadač takođe može zavarati administratore lažnim upozorenjima ili ućutkati legitimne alarme, efikasno prikrivajući zlonamerne aktivnosti i sprečavajući pravovremene odgovore na stvarne incidente.
Pored toga, sa dozvolom cloudwatch:PutCompositeAlarm
, napadač bi mogao kreirati petlju ili ciklus kompozitnih alarma, gde kompozitni alarm A zavisi od kompozitnog alarma B, a kompozitni alarm B takođe zavisi od kompozitnog alarma A. U ovom scenariju, nije moguće obrisati bilo koji kompozitni alarm koji je deo ciklusa jer uvek postoji još jedan kompozitni alarm koji zavisi od tog alarma koji želite da obrišete.
Potencijalni uticaj: Nedostatak obaveštenja o kritičnim događajima, potencijalni neotkriveni problemi, lažna upozorenja, suzbijanje pravih upozorenja i potencijalno propuštanje otkrivanja stvarnih incidenata.
cloudwatch:DeleteAlarmActions
, cloudwatch:EnableAlarmActions
, cloudwatch:SetAlarmState
cloudwatch:DeleteAlarmActions
, cloudwatch:EnableAlarmActions
, cloudwatch:SetAlarmState
Brisanjem akcija alarma, napadač može sprečiti kritična upozorenja i automatske odgovore da se aktiviraju kada se dostigne stanje alarma, kao što je obaveštavanje administratora ili pokretanje aktivnosti automatskog skaliranja. Nepravilno omogućavanje ili ponovno omogućavanje akcija alarma takođe može dovesti do neočekivanih ponašanja, bilo ponovnim aktiviranjem prethodno onemogućenih akcija ili izmenom koje akcije se pokreću, potencijalno uzrokujući zabunu i pogrešno usmeravanje u odgovoru na incidente.
Pored toga, napadač sa dozvolom može manipulisati stanjima alarma, mogući stvaranje lažnih alarma radi ometanja i zbunjivanja administratora, ili utišavanje pravih alarma radi skrivanja trenutnih zlonamernih aktivnosti ili kritičnih sistemskih kvarova.
Ako koristite
SetAlarmState
na kompozitnom alarmu, kompozitni alarm nije garantovan da će se vratiti u svoje stvarno stanje. Vraća se u svoje stvarno stanje samo kada se bilo koji od njegovih dečijih alarma promeni. Takođe se ponovo procenjuje ako ažurirate njegovu konfiguraciju.
Potencijalni uticaj: Nedostatak obaveštenja o kritičnim događajima, potencijalno nedetektovani problemi, lažna upozorenja, suzbijanje pravih upozorenja i potencijalno propuštanje otkrivanja stvarnih incidenata.
cloudwatch:DeleteAnomalyDetector
, cloudwatch:PutAnomalyDetector
cloudwatch:DeleteAnomalyDetector
, cloudwatch:PutAnomalyDetector
Napadač bi mogao da ugrozi sposobnost detekcije i odgovora na neobične obrasce ili anomalije u metričkim podacima. Brisanjem postojećih detektora anomalija, napadač bi mogao da onemogući kritične mehanizme upozoravanja; a kreiranjem ili modifikovanjem istih, mogao bi ili da pogrešno konfiguriše ili stvori lažne pozitivne rezultate kako bi ometali ili preplavili nadgledanje.
Primer u nastavku pokazuje kako učiniti detektor anomalija u metrikama neefikasnim. Ovaj detektor anomalija u metrikama prati prosečnu iskorišćenost CPU-a određene EC2 instance, i samo dodavanjem parametra "ExcludedTimeRanges" sa željenim vremenskim opsegom, bilo bi dovoljno osigurati da detektor anomalija ne analizira ili ne upozorava na bilo kakve relevantne podatke tokom tog perioda.
**Potencijalni uticaj**: Direktan efekat u otkrivanju neobičnih obrazaca ili sigurnosnih pretnji.
cloudwatch:DeleteDashboards
, cloudwatch:PutDashboard
cloudwatch:DeleteDashboards
, cloudwatch:PutDashboard
Napadač bi mogao da ugrozi mogućnosti praćenja i vizualizacije organizacije tako što bi kreirao, modifikovao ili brisao njene kontrolne table. Ova dozvola može biti iskorišćena da se ukloni kritična vidljivost u performansama i zdravlju sistema, izmeni kontrolne table da prikažu netačne podatke ili sakriju zlonamerne aktivnosti.
Potencijalni uticaj: Gubitak vidljivosti nad praćenjem i pogrešne informacije.
cloudwatch:DeleteInsightRules
, cloudwatch:PutInsightRule
,cloudwatch:PutManagedInsightRule
cloudwatch:DeleteInsightRules
, cloudwatch:PutInsightRule
,cloudwatch:PutManagedInsightRule
Pravila uvida se koriste za otkrivanje anomalija, optimizaciju performansi i efikasno upravljanje resursima. Brisanjem postojećih pravila uvida, napadač bi mogao ukloniti ključne mogućnosti praćenja, ostavljajući sistem slepim za probleme performansi i sigurnosne pretnje. Dodatno, napadač bi mogao kreirati ili modifikovati pravila uvida kako bi generisao pogrešne podatke ili sakrio zlonamerne aktivnosti, što dovodi do netačne dijagnostike i neadekvatnih odgovora od strane operativnog tima.
Potencijalni uticaj: Teškoće u otkrivanju i reagovanju na probleme performansi i anomalije, dezinformisano donošenje odluka i potencijalno skrivanje zlonamernih aktivnosti ili sistemskih kvarova.
cloudwatch:DisableInsightRules
, cloudwatch:EnableInsightRules
cloudwatch:DisableInsightRules
, cloudwatch:EnableInsightRules
Onemogućavanjem ključnih pravila za uvid, napadač bi efikasno mogao oslepiti organizaciju za ključne performanse i sigurnosne metrike. Obrnuto, omogućavanjem ili konfigurisanjem obmanjujućih pravila, moguće je generisati lažne podatke, stvarati buku ili sakriti zlonamerne aktivnosti.
Potencijalni uticaj: Konfuzija među operativnim timom, što dovodi do kašnjenja u reagovanju na stvarne probleme i nepotrebnih akcija zasnovanih na lažnim upozorenjima.
cloudwatch:DeleteMetricStream
, cloudwatch:PutMetricStream
, cloudwatch:PutMetricData
cloudwatch:DeleteMetricStream
, cloudwatch:PutMetricStream
, cloudwatch:PutMetricData
Napadač sa dozvolama cloudwatch:DeleteMetricStream
, cloudwatch:PutMetricStream
bi mogao da kreira i obriše tokove metričkih podataka, ugrožavajući bezbednost, praćenje i celovitost podataka:
Kreiranje zlonamernih tokova: Kreiranje metričkih tokova radi slanja osetljivih podataka neovlašćenim odredištima.
Manipulacija resursima: Kreiranje novih metričkih tokova sa prekomernim podacima može proizvesti mnogo buke, uzrokujući netačna upozorenja, maskiranje pravih problema.
Poremećaj praćenja: Brisanjem metričkih tokova, napadači bi poremetili kontinuirani tok podataka za praćenje. Na ovaj način, njihove zlonamerne aktivnosti bi bile efikasno sakrivene.
Slično, sa dozvolom cloudwatch:PutMetricData
, bilo bi moguće dodati podatke u metrički tok. Ovo bi moglo dovesti do DoS napada zbog velike količine nepravilnih podataka dodatih, čineći ga potpuno beskorisnim.
Primer dodavanja podataka koji odgovaraju 70% iskorišćenja CPU-a na određenoj EC2 instanci:
Potencijalni uticaj: Prekid u protoku podataka za praćenje, utičući na otkrivanje anomalija i incidenata, manipulaciju resursima i povećanje troškova zbog kreiranja prekomernih tokova metrika.
cloudwatch:StopMetricStreams
, cloudwatch:StartMetricStreams
cloudwatch:StopMetricStreams
, cloudwatch:StartMetricStreams
Napadač bi kontrolisao protok pogođenih tokova podataka metrika (svaki tok podataka ako nema ograničenja resursa). Sa dozvolom cloudwatch:StopMetricStreams
, napadači bi mogli sakriti svoje zlonamerne aktivnosti zaustavljanjem kritičnih tokova metrika.
Potencijalni uticaj: Prekid u protoku podataka za praćenje, utičući na otkrivanje anomalija i incidenata.
cloudwatch:TagResource
, cloudwatch:UntagResource
cloudwatch:TagResource
, cloudwatch:UntagResource
Napadač bi mogao da dodaje, menja ili uklanja oznake sa CloudWatch resursa (trenutno samo alarma i pravila Contributor Insights). Ovo bi moglo da poremeti politike kontrole pristupa vaše organizacije zasnovane na oznakama.
Potencijalni uticaj: Poremećaj politika kontrole pristupa zasnovanih na oznakama.
Reference
Last updated