AWS - CloudWatch Enum
Last updated
Last updated
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
CloudWatch verskaf monitering en operasionele data in die vorm van logs/metrieke/gebeurtenisse wat 'n geïntegreerde oorsig van AWS hulpbronne, toepassings en dienste bied. CloudWatch Log Gebeurtenis het 'n grootte beperking van 256KB op elke loglyn. Dit kan hoë resolusie alarms stel, logs en metrieke langs mekaar visualiseer, outomatiese aksies neem, probleme oplos, en insigte ontdek om toepassings te optimaliseer.
Jy kan byvoorbeeld logs van CloudTrail monitor. Gebeurtenisse wat gemonitor word:
Veranderinge aan Sekuriteitsgroepe en NACLs
Begin, Stop, herbegin en beëindig EC2 instansies
Veranderinge aan Sekuriteitsbeleide binne IAM en S3
Mislukte aanmeldpogings tot die AWS Bestuurskonsol
API-oproepe wat gelei het tot mislukte outorisasie
Filters om in cloudwatch te soek: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html
'n Namespace is 'n houer vir CloudWatch metrieke. Dit help om metrieke te kategoriseer en te isoleer, wat dit makliker maak om dit te bestuur en te analiseer.
Voorbeelde: AWS/EC2 vir EC2-verwante metrieke, AWS/RDS vir RDS metrieke.
Metrieke is datapunte wat oor tyd versamel word en die prestasie of benutting van AWS hulpbronne verteenwoordig. Metrieke kan van AWS dienste, pasgemaakte toepassings, of derdeparty integrasies versamel word.
Voorbeeld: CPUUtilization, NetworkIn, DiskReadOps.
Dimensies is sleutel-waarde pare wat deel is van metrieke. Dit help om 'n metriek uniek te identifiseer en bied addisionele konteks, met 30 die maksimum aantal dimensies wat aan 'n metriek gekoppel kan word. Dimensies laat ook toe om metrieke te filter en te aggregeer op grond van spesifieke eienskappe.
Voorbeeld: Vir EC2 instansies, dimensies kan InstanceId, InstanceType, en AvailabilityZone insluit.
Statistieke is wiskundige berekeninge wat op metriekdata uitgevoer word om dit oor tyd saam te vat. Algemene statistieke sluit Gemiddelde, Som, Minimum, Maksimum, en Steekproefgetal in.
Voorbeeld: Berekening van die gemiddelde CPU benutting oor 'n tydperk van een uur.
Eenhede is die meting tipe wat aan 'n metriek gekoppel is. Eenhede help om konteks en betekenis aan die metriekdata te bied. Algemene eenhede sluit Persent, Bytes, Sekondes, Telling in.
Voorbeeld: CPUUtilization kan in Persent gemeet word, terwyl NetworkIn in Bytes gemeet kan word.
CloudWatch Dashboards bied aanpasbare oorsigte van jou AWS CloudWatch metrieke. Dit is moontlik om dashboards te skep en te konfigureer om data te visualiseer en hulpbronne in 'n enkele oorsig te monitor, wat verskillende metrieke van verskeie AWS dienste kombineer.
Sleutel Kenmerke:
Widgets: Boublokke van dashboards, insluitend grafieke, teks, alarms, en meer.
Aanpassing: Uiterlik en inhoud kan aangepas word om spesifieke monitering behoeftes te pas.
Voorbeeld Gebruik Geval:
'n Enkele dashboard wat sleutelmetrieke vir jou hele AWS omgewing toon, insluitend EC2 instansies, RDS databasisse, en S3 emmers.
Metriek Strome in AWS CloudWatch stel jou in staat om CloudWatch metrieke voortdurend na 'n bestemming van jou keuse in byna regte tyd te stroom. Dit is veral nuttig vir gevorderde monitering, analise, en pasgemaakte dashboards wat gereedskap buite AWS gebruik.
Metriek Data binne Metriek Strome verwys na die werklike metings of datapunte wat gestroom word. Hierdie datapunte verteenwoordig verskillende metrieke soos CPU benutting, geheue gebruik, ens., vir AWS hulpbronne.
Voorbeeld Gebruik Geval:
Stuur regte tyd metrieke na 'n derdeparty moniteringsdiens vir gevorderde analise.
Argiveer metrieke in 'n Amazon S3 emmer vir langtermyn berging en nakoming.
CloudWatch Alarms monitor jou metrieke en voer aksies uit gebaseer op vooraf gedefinieerde drempels. Wanneer 'n metriek 'n drempel oorskry, kan die alarm een of meer aksies uitvoer soos om kennisgewings via SNS te stuur, 'n outo-skaal beleid te aktiveer, of 'n AWS Lambda funksie te laat loop.
Sleutel Komponente:
Drempel: Die waarde waarop die alarm geaktiveer word.
Evaluasieperiodes: Die aantal periodes waaroor data geëvalueer word.
Datapunte om Alarm: Die aantal periodes met 'n bereik drempel wat nodig is om die alarm te aktiveer.
Aksies: Wat gebeur wanneer 'n alarmtoestand geaktiveer word (bv. kennisgewing via SNS).
Voorbeeld Gebruik Geval:
Monitering van EC2 instansie CPU benutting en 'n kennisgewing via SNS stuur as dit 80% vir 5 agtereenvolgende minute oorskry.
Anomalie Detektors gebruik masjienleer om outomaties anomalieë in jou metrieke te detecteer. Jy kan anomalie detectie toepas op enige CloudWatch metriek om afwykings van normale patrone te identifiseer wat probleme kan aandui.
Sleutel Komponente:
Model Opleiding: CloudWatch gebruik historiese data om 'n model op te lei en te bepaal wat normale gedrag lyk.
Anomalie Detectie Band: 'n Visuele voorstelling van die verwagte reeks waardes vir 'n metriek.
Voorbeeld Gebruik Geval:
Detecteer ongewone CPU benutting patrone in 'n EC2 instansie wat 'n sekuriteitsbreuk of toepassingsprobleem kan aandui.
Inzicht Reëls stel jou in staat om tendense te identifiseer, pieke te detecteer, of ander patrone van belang in jou metriekdata te identifiseer deur kragtige wiskundige uitdrukkings te gebruik om die toestande te definieer waaronder aksies geneem moet word. Hierdie reëls kan jou help om anomalieë of ongewone gedrag in jou hulpbronprestasie en benutting te identifiseer.
Gemanagte Inzicht Reëls is vooraf-gekonfigureerde inzicht reëls wat deur AWS verskaf word. Hulle is ontwerp om spesifieke AWS dienste of algemene gebruiksgevalle te monitor en kan geaktiveer word sonder om gedetailleerde konfigurasie te benodig.
Voorbeeld Gebruik Geval:
Monitering van RDS Prestasie: Aktiveer 'n gemanagte inzicht reël vir Amazon RDS wat sleutelprestasie-indikators soos CPU benutting, geheue gebruik, en skyf I/O monitor. As enige van hierdie metrieke veilige operasionele drempels oorskry, kan die reël 'n waarskuwing of outomatiese mitigering aksie aktiveer.
Laat toe om logs van toepassings en stelsels van AWS dienste (insluitend CloudTrail) en van apps/stelsels (CloudWatch Agent kan op 'n gasheer geïnstalleer word) te aggregeer en te monitor. Logs kan onbepaald gestoor word (afhangende van die Log Groep instellings) en kan uitgevoer word.
Elemente:
Log Groep
'n versameling van log strome wat dieselfde retensie, monitering, en toegangbeheer instellings deel
Log Stroom
'n reeks van log gebeurtenisse wat die dieselfde bron deel
Subskripsie Filters
Definieer 'n filterpatroon wat gebeurtenisse in 'n spesifieke log groep pas, stuur dit na Kinesis Data Firehose stroom, Kinesis stroom, of 'n Lambda funksie
CloudWatch basies aggregeer data elke 5min (die gedetailleerde een doen dit elke 1 min). Na die aggregasie, kontroleer dit die drempels van die alarms in geval dit 'n moet aktiveer. In daardie geval kan CloudWatch voorberei wees om 'n gebeurtenis te stuur en sommige outomatiese aksies uit te voer (AWS lambda funksies, SNS onderwerpe, SQS rye, Kinesis Strome)
Jy kan agente binne jou masjiene/tenks installeer om outomaties die logs terug na CloudWatch te stuur.
Skep 'n rol en heg dit aan die instansie met toestemmings wat CloudWatch toelaat om data van die instansies te versamel benewens om met AWS stelsels bestuurder SSM te kommunikeer (CloudWatchAgentAdminPolicy & AmazonEC2RoleforSSM)
Laai en installeer die agent op die EC2 instansie (https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip). Jy kan dit van binne die EC2 aflaai of dit outomaties installeer deur AWS Stelsels Bestuurder deur die pakket AWS-ConfigureAWSPackage te kies.
Konfigureer en begin die CloudWatch Agent
'n log groep het baie strome. 'n stroom het baie gebeurtenisse. En binne elke stroom, is die gebeurtenisse gewaarborg om in volgorde te wees.
cloudwatch:DeleteAlarms
,cloudwatch:PutMetricAlarm
, cloudwatch:PutCompositeAlarm
'n Aanvaller met hierdie toestemmings kan 'n organisasie se monitering en waarskuwing infrastruktuur aansienlik ondermyn. Deur bestaande alarms te verwyder, kan 'n aanvaller belangrike waarskuwings deaktiveer wat administrateurs in kennis stel van kritieke prestasieprobleme, sekuriteitsbreuke of operasionele mislukkings. Verder, deur metrieksalarms te skep of te wysig, kan die aanvaller ook administrateurs mislei met vals waarskuwings of wettige alarms stilmaak, wat effektief kwaadwillige aktiwiteite verberg en tydige reaksies op werklike voorvalle voorkom.
Boonop, met die cloudwatch:PutCompositeAlarm
toestemming, sal 'n aanvaller in staat wees om 'n lus of siklus van saamgestelde alarms te skep, waar saamgestelde alarm A afhanklik is van saamgestelde alarm B, en saamgestelde alarm B ook afhanklik is van saamgestelde alarm A. In hierdie scenario is dit nie moontlik om enige saamgestelde alarm wat deel van die siklus is, te verwyder nie, omdat daar altyd steeds 'n saamgestelde alarm is wat afhanklik is van daardie alarm wat jy wil verwyder.
Die volgende voorbeeld wys hoe om 'n metriek alarm ondoeltreffend te maak:
Hierdie metriek alarm monitor die gemiddelde CPU benutting van 'n spesifieke EC2 instansie, evalueer die metriek elke 300 sekondes en vereis 6 evaluasieperiodes (30 minute in totaal). As die gemiddelde CPU benutting 60% oorskry vir ten minste 4 van hierdie periodes, sal die alarm geaktiveer word en 'n kennisgewing na die gespesifiseerde SNS onderwerp stuur.
Deur die Drempel aan te pas om meer as 99% te wees, die Periode op 10 sekondes in te stel, die Evaluasieperiodes op 8640 (aangesien 8640 periodes van 10 sekondes gelyk is aan 1 dag), en die Datapunte na Alarm ook op 8640, sal dit nodig wees dat die CPU benutting oor 99% moet wees elke 10 sekondes deur die hele 24-uur periode om 'n alarm te aktiveer.
Potensiële Impak: Gebrek aan kennisgewings vir kritieke gebeurtenisse, potensiële onopgemerkte probleme, vals waarskuwings, onderdruk werklike waarskuwings en potensieel gemiste opsporings van werklike voorvalle.
cloudwatch:DeleteAlarmActions
, cloudwatch:EnableAlarmActions
, cloudwatch:SetAlarmState
Deur alarm aksies te verwyder, kan die aanvaller kritieke waarskuwings en outomatiese reaksies voorkom wanneer 'n alarmtoestand bereik word, soos om administrateurs te kennisgewing of outo-skaalaktiwiteite te aktiveer. Om alarm aksies onvanpas in te skakel of weer in te skakel, kan ook lei tot onverwagte gedrag, hetsy deur voorheen gedeaktiveerde aksies te heraktiveer of deur te verander watter aksies geaktiveer word, wat potensieel verwarring en verkeerde rigting in voorvalreaksie kan veroorsaak.
Boonop kan 'n aanvaller met die toestemming alarmtoestande manipuleer, in staat om vals alarms te skep om administrateurs af te lei en te verwarr, of werklike alarms te stil om aanhoudende kwaadwillige aktiwiteite of kritieke stelselfoute te verberg.
As jy SetAlarmState
op 'n saamgestelde alarm gebruik, is dit nie gewaarborg dat die saamgestelde alarm na sy werklike toestand terugkeer nie. Dit keer terug na sy werklike toestand slegs wanneer enige van sy kind alarms toestand verander. Dit word ook herbeoordeel as jy sy konfigurasie opdateer.
Potensiële Impak: Gebrek aan kennisgewings vir kritieke gebeurtenisse, potensiële onopgemerkte probleme, vals waarskuwings, onderdruk werklike waarskuwings en moontlik gemiste opsporings van werklike voorvalle.
cloudwatch:DeleteAnomalyDetector
, cloudwatch:PutAnomalyDetector
'n Aanvaller sou in staat wees om die vermoë om ongebruiklike patrone of anomalië in metrieke data op te spoor en daarop te reageer, te benadeel. Deur bestaande anomaliemonitors te verwyder, kan 'n aanvaller kritieke waarskuwingmeganismes deaktiveer; en deur hulle te skep of te wysig, sou dit in staat wees om of verkeerd te konfigureer of vals positiewe te skep om die monitering te verwar of oorweldig.
Die volgende voorbeeld wys hoe om 'n metrieke anomalie-detektor ondoeltreffend te maak. Hierdie metrieke anomalie-detektor monitor die gemiddelde CPU-gebruik van 'n spesifieke EC2-instantie, en net deur die “ExcludedTimeRanges” parameter met die gewenste tydsbereik by te voeg, sal dit genoeg wees om te verseker dat die anomalie-detektor nie enige relevante data gedurende daardie tydperk analiseer of waarsku nie.
Potensiële Impak: Direkte effek op die opsporing van ongewone patrone of sekuriteitsbedreigings.
cloudwatch:DeleteDashboards
, cloudwatch:PutDashboard
'n Aanvaller sou in staat wees om die monitering en visualisering vermoëns van 'n organisasie te kompromitteer deur sy dashboards te skep, te wysig of te verwyder. Hierdie toestemmings kan benut word om kritieke sigbaarheid in die prestasie en gesondheid van stelsels te verwyder, dashboards te verander om verkeerde data te vertoon of kwaadwillige aktiwiteite te verberg.
Potensiële Impak: Verlies van moniteringssigbaarheid en misleidende inligting.
cloudwatch:DeleteInsightRules
, cloudwatch:PutInsightRule
,cloudwatch:PutManagedInsightRule
Insight-reëls word gebruik om anomalieë te detecteer, prestasie te optimaliseer en hulpbronne effektief te bestuur. Deur bestaande insight-reëls te verwyder, kan 'n aanvaller kritieke moniteringsvermoëns verwyder, wat die stelsel blind laat vir prestasieprobleme en sekuriteitsbedreigings. Boonop kan 'n aanvaller insight-reëls skep of wysig om misleidende data te genereer of kwaadwillige aktiwiteite te verberg, wat lei tot onakkurate diagnosering en onvanpaste reaksies van die operasiespan.
Potensiële Impak: Moeilikheid om prestasieprobleme en anomalië te detecteer en daarop te reageer, verkeerd ingeligte besluitneming en moontlik die verborge van kwaadwillige aktiwiteite of stelselfoute.
cloudwatch:DisableInsightRules
, cloudwatch:EnableInsightRules
Deur kritieke insigreëls te deaktiveer, kan 'n aanvaller die organisasie effektief blind maak vir sleutelprestasie- en sekuriteitsmetrieke. Omgekeerd, deur misleidende reëls in te skakel of te konfigureer, kan dit moontlik wees om valse data te genereer, geraas te skep, of kwaadwillige aktiwiteit te verberg.
Potensiële Impak: Verwarring onder die operasiespan, wat lei tot vertraagde reaksies op werklike probleme en onnodige aksies gebaseer op vals waarskuwings.
cloudwatch:DeleteMetricStream
, cloudwatch:PutMetricStream
, cloudwatch:PutMetricData
'n Aanvaller met die cloudwatch:DeleteMetricStream
, cloudwatch:PutMetricStream
regte sou in staat wees om metriekdata-strome te skep en te verwyder, wat die sekuriteit, monitering en data-integriteit in gevaar stel:
Skep kwaadwillige strome: Skep metriekstrome om sensitiewe data na ongeoorloofde bestemmings te stuur.
Hulpbron manipulasie: Die skep van nuwe metriekstrome met oormatige data kan baie geraas veroorsaak, wat onakkurate waarskuwings veroorsaak en werklike probleme verdoesel.
Monitering onderbreking: Deur metriekstrome te verwyder, sou aanvallers die deurlopende vloei van moniteringsdata onderbreek. Op hierdie manier sou hul kwaadwillige aktiwiteite effektief verborge wees.
Op soortgelyke wyse, met die cloudwatch:PutMetricData
toestemming, sou dit moontlik wees om data aan 'n metriekstroom toe te voeg. Dit kan lei tot 'n DoS as gevolg van die hoeveelheid onvanpaste data wat bygevoeg word, wat dit heeltemal nutteloos maak.
Voorbeeld van die toevoeging van data wat ooreenstem met 'n 70% CPU benutting oor 'n gegewe EC2 instance:
Potensiële Impak: Onderbreking in die vloei van moniteringsdata, wat die opsporing van anomalieë en voorvalle beïnvloed, hulpbronmanipulasie en koste wat toeneem as gevolg van die skep van oortollige metriekstrome.
cloudwatch:StopMetricStreams
, cloudwatch:StartMetricStreams
'n Aanvaller sou die vloei van die geaffekteerde metriekdata-strome beheer (elke datastroom as daar geen hulpbronbeperking is nie). Met die toestemming cloudwatch:StopMetricStreams
, kan aanvallers hul kwaadwillige aktiwiteite verberg deur kritieke metriekstrome te stop.
Potensiële Impak: Onderbreking in die vloei van moniteringsdata, wat die opsporing van anomalieë en voorvalle beïnvloed.
cloudwatch:TagResource
, cloudwatch:UntagResource
'n Aanvaller sal in staat wees om etikette by CloudWatch hulpbronne (huidiglik slegs alarms en Contributor Insights reëls) te voeg, te wysig of te verwyder. Dit kan jou organisasie se toegangbeheerbeleide op grond van etikette onderbreek.
Potensiële Impak: Ontwrichting van etiket-gebaseerde toegangbeheerbeleide.
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)