AWS - CloudWatch Enum
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
CloudWatch inakusanya ufuatiliaji na operesheni data katika mfumo wa logs/metrics/events ikitoa mtazamo wa pamoja wa rasilimali za AWS, programu na huduma. CloudWatch Log Event ina kikomo cha ukubwa wa 256KB kwa kila mstari wa log. Inaweza kuweka alarms za azimio la juu, kuonyesha logs na metrics kwa pamoja, kuchukua hatua za kiotomatiki, kutatua matatizo, na kugundua maarifa ili kuboresha programu.
Unaweza kufuatilia kwa mfano logs kutoka CloudTrail. Matukio yanayofuatiliwa:
Mabadiliko ya Vikundi vya Usalama na NACLs
Kuanzisha, Kusitisha, kuanzisha upya na kumaliza EC2 instances
Mabadiliko ya Sera za Usalama ndani ya IAM na S3
Jaribio la kuingia lililoshindwa kwenye AWS Management Console
API calls ambazo zilisababisha mamlaka kushindwa
Filters za kutafuta katika cloudwatch: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html
Namespace ni kontena la metrics za CloudWatch. Inasaidia kuainisha na kutenga metrics, na kufanya iwe rahisi kuzisimamia na kuzichambua.
Mifano: AWS/EC2 kwa metrics zinazohusiana na EC2, AWS/RDS kwa metrics za RDS.
Metrics ni data points zinazokusanywa kwa muda zinazoakisi utendaji au matumizi ya rasilimali za AWS. Metrics zinaweza kukusanywa kutoka kwa huduma za AWS, programu za kawaida, au ushirikiano wa wahusika wa tatu.
Mfano: CPUUtilization, NetworkIn, DiskReadOps.
Dimensions ni jozi za ufunguo-thamani ambazo ni sehemu ya metrics. Zinasaidia kutambua kipekee metric na kutoa muktadha wa ziada, ikiwa 30 ndiyo idadi kubwa zaidi ya dimensions zinazoweza kuunganishwa na metric. Dimensions pia huruhusu kuchuja na kujumlisha metrics kulingana na sifa maalum.
Mfano: Kwa EC2 instances, dimensions zinaweza kujumuisha InstanceId, InstanceType, na AvailabilityZone.
Statistics ni hesabu za kimaandishi zinazofanywa kwenye data ya metric ili kuifupisha kwa muda. Takwimu za kawaida ni pamoja na Average, Sum, Minimum, Maximum, na SampleCount.
Mfano: Kuandika wastani wa matumizi ya CPU kwa kipindi cha saa moja.
Units ni aina ya kipimo inayohusishwa na metric. Units husaidia kutoa muktadha na maana kwa data ya metric. Units za kawaida ni pamoja na Percent, Bytes, Seconds, Count.
Mfano: CPUUtilization inaweza kupimwa kwa Percent, wakati NetworkIn inaweza kupimwa kwa Bytes.
Dashboards za CloudWatch zinatoa mitazamo inayoweza kubadilishwa ya metrics zako za AWS CloudWatch. Inawezekana kuunda na kuunda dashboards ili kuonyesha data na kufuatilia rasilimali katika mtazamo mmoja, ikichanganya metrics tofauti kutoka kwa huduma mbalimbali za AWS.
Vipengele Muhimu:
Widgets: Vifaa vya kujenga dashboards, ikiwa ni pamoja na grafu, maandiko, alarms, na zaidi.
Customization: Mpangilio na maudhui yanaweza kubadilishwa ili kufaa mahitaji maalum ya ufuatiliaji.
Mfano wa Matumizi:
Dashboard moja ikionyesha metrics muhimu za mazingira yako yote ya AWS, ikiwa ni pamoja na EC2 instances, RDS databases, na S3 buckets.
Metric Streams katika AWS CloudWatch zinakuwezesha kuendelea kutiririsha metrics za CloudWatch kwa mahali unayochagua kwa karibu wakati halisi. Hii ni muhimu hasa kwa ufuatiliaji wa hali ya juu, uchambuzi, na dashboards za kawaida kutumia zana za nje ya AWS.
Data ya Metric ndani ya Metric Streams inahusu vipimo halisi au data points zinazotiririshwa. Data hizi zinaakisi metrics mbalimbali kama matumizi ya CPU, matumizi ya kumbukumbu, n.k., kwa rasilimali za AWS.
Mfano wa Matumizi:
Kutuma metrics za wakati halisi kwa huduma ya ufuatiliaji ya wahusika wa tatu kwa uchambuzi wa hali ya juu.
Kuhifadhi metrics katika Amazon S3 bucket kwa uhifadhi wa muda mrefu na kufuata sheria.
Alarms za CloudWatch zinafuatilia metrics zako na kufanya hatua kulingana na vigezo vilivyowekwa awali. Wakati metric inavunja kigezo, alarm inaweza kufanya hatua moja au zaidi kama kutuma arifa kupitia SNS, kuanzisha sera ya auto-scaling, au kuendesha kazi ya AWS Lambda.
Vipengele Muhimu:
Kigezo: Thamani ambayo alarm inasababisha.
Muda wa Tathmini: Idadi ya muda ambayo data inatathminiwa.
Data points za Alarm: Idadi ya muda ambapo kigezo kimefikiwa kinahitajika kuanzisha alarm
Hatua: Nini kinatokea wakati hali ya alarm inasababisha (kwa mfano, arifu kupitia SNS).
Mfano wa Matumizi:
Kufuatilia matumizi ya CPU ya EC2 instance na kutuma arifa kupitia SNS ikiwa inazidi 80% kwa dakika 5 mfululizo.
Anomaly Detectors hutumia kujifunza kwa mashine kugundua kiotomatiki anomalies katika metrics zako. Unaweza kutumia ugunduzi wa anomalies kwa metric yoyote ya CloudWatch ili kubaini tofauti kutoka kwa mifumo ya kawaida ambayo inaweza kuashiria matatizo.
Vipengele Muhimu:
Kujifunza kwa Mfano: CloudWatch hutumia data ya kihistoria kufundisha mfano na kuanzisha ni nini tabia ya kawaida inaonekana.
Bendi ya Ugunduzi wa Anomaly: Uwakilishi wa kuona wa anuwai inayotarajiwa ya thamani kwa metric.
Mfano wa Matumizi:
Kugundua mifumo isiyo ya kawaida ya matumizi ya CPU katika EC2 instance ambayo inaweza kuashiria uvunjaji wa usalama au tatizo la programu.
Insight Rules zinakuwezesha kubaini mwenendo, kugundua spikes, au mifumo mingine ya kupendeza katika data yako ya metric kwa kutumia mifumo ya kimaandishi yenye nguvu kufafanua masharti ambayo hatua zinapaswa kuchukuliwa. Kanuni hizi zinaweza kusaidia kubaini anomalies au tabia zisizo za kawaida katika utendaji na matumizi ya rasilimali zako.
Managed Insight Rules ni kanuni za uelewa zilizowekwa awali zinazotolewa na AWS. Zimeundwa kufuatilia huduma maalum za AWS au matumizi ya kawaida na zinaweza kuwezeshwa bila kuhitaji usanidi wa kina.
Mfano wa Matumizi:
Kufuatilia Utendaji wa RDS: Weka kanuni ya uelewa iliyosimamiwa kwa Amazon RDS inayofuatilia viashiria muhimu vya utendaji kama matumizi ya CPU, matumizi ya kumbukumbu, na disk I/O. Ikiwa yoyote ya metrics hizi itazidi vigezo salama vya operesheni, kanuni inaweza kuanzisha arifa au hatua za kupunguza kiotomatiki.
Inaruhusu kujumlisha na kufuatilia logs kutoka kwa programu na mifumo kutoka huduma za AWS (ikiwemo CloudTrail) na kutoka kwa apps/mifumo (CloudWatch Agent inaweza kusakinishwa kwenye mwenyeji). Logs zinaweza kuhifadhiwa milele (kulingana na mipangilio ya Log Group) na zinaweza kusafirishwa.
Vipengele:
Log Group | A collection of log streams that share the same retention, monitoring, and access control settings |
Log Stream | A sequence of log events that share the same source |
Subscription Filters | Define a filter pattern that matches events in a particular log group, send them to Kinesis Data Firehose stream, Kinesis stream, or a Lambda function |
CloudWatch misingi inakusanya data kila dakika 5 (ile ya kina inafanya hivyo kila dakika 1). Baada ya kujumlisha, in angalia vigezo vya alarms ikiwa inahitaji kuanzisha moja. Katika hali hiyo, CloudWatch inaweza kuwa tayari kutuma tukio na kufanya hatua za kiotomatiki (AWS lambda functions, SNS topics, SQS queues, Kinesis Streams)
Unaweza kusakinisha mawakala ndani ya mashine zako/containers ili kutuma logs kiotomatiki nyuma kwa CloudWatch.
Unda role na unganishi kwa instance yenye ruhusa zinazoruhusu CloudWatch kukusanya data kutoka kwa instances pamoja na kuingiliana na AWS systems manager SSM (CloudWatchAgentAdminPolicy & AmazonEC2RoleforSSM)
Pakua na sakinisha agent kwenye EC2 instance (https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip). Unaweza kuipakua kutoka ndani ya EC2 au kuisakinisha kiotomatiki kwa kutumia AWS System Manager ukichagua kifurushi cha AWS-ConfigureAWSPackage
Sanidi na anzisha CloudWatch Agent
Kikundi cha log kina streams nyingi. Stream ina matukio mengi. Na ndani ya kila stream, matukio yanahakikishwa kuwa katika mpangilio.
cloudwatch:DeleteAlarms
,cloudwatch:PutMetricAlarm
, cloudwatch:PutCompositeAlarm
Mshambuliaji mwenye ruhusa hizi anaweza kudhoofisha kwa kiasi kikubwa miundombinu ya ufuatiliaji na arifa ya shirika. Kwa kufuta alama zilizopo, mshambuliaji anaweza kuzima arifa muhimu zinazowajulisha wasimamizi kuhusu matatizo makubwa ya utendaji, uvunjaji wa usalama, au kushindwa kwa operesheni. Zaidi ya hayo, kwa kuunda au kubadilisha alama za metriki, mshambuliaji anaweza pia kuwachanganya wasimamizi kwa arifa za uongo au kimya cha alama halali, kwa ufanisi kuficha shughuli mbaya na kuzuia majibu ya haraka kwa matukio halisi.
Zaidi ya hayo, kwa ruhusa ya cloudwatch:PutCompositeAlarm
, mshambuliaji angeweza kuunda mzunguko au mzunguko wa alama za composite, ambapo alama ya composite A inategemea alama ya composite B, na alama ya composite B pia inategemea alama ya composite A. Katika hali hii, haiwezekani kufuta alama yoyote ya composite ambayo ni sehemu ya mzunguko kwa sababu daima kuna alama ya composite inayotegemea alama hiyo unayotaka kufuta.
The following example shows how to make a metric alarm ineffective:
Alarm hii ya metric inafuatilia matumizi ya wastani ya CPU ya EC2 instance maalum, inakadiria metric kila sekunde 300 na inahitaji vipindi 6 vya tathmini (dakika 30 jumla). Ikiwa matumizi ya wastani ya CPU yanapita 60% kwa angalau 4 ya vipindi hivi, alarm itasababisha na kutuma arifa kwa mada ya SNS iliyoainishwa.
Kwa kubadilisha Kiwango kuwa zaidi ya 99%, kuweka Kipindi kuwa sekunde 10, Vipindi vya Tathmini kuwa 8640 (kwa sababu vipindi 8640 vya sekunde 10 vinatosha siku 1), na Datapoints kwa Alarm kuwa 8640 pia, itahitajika kwa matumizi ya CPU kuwa zaidi ya 99% kila sekunde 10 katika kipindi chote cha masaa 24 ili kusababisha alarm.
Madhara Yanayoweza Kutokea: Ukosefu wa arifa za matukio muhimu, masuala yanayoweza kukosa kugundulika, arifa za uongo, kuzuiya arifa halisi na kukosa kugundua matukio halisi.
cloudwatch:DeleteAlarmActions
, cloudwatch:EnableAlarmActions
, cloudwatch:SetAlarmState
Kwa kufuta hatua za alarm, mshambuliaji anaweza kuzuia arifa muhimu na majibu ya kiotomatiki kutokea wakati hali ya alarm inafikiwa, kama vile kuwajulisha wasimamizi au kuanzisha shughuli za auto-scaling. Kuwezesha au kuanzisha tena hatua za alarm kwa njia isiyo sahihi kunaweza pia kusababisha tabia zisizotarajiwa, ama kwa kuanzisha tena hatua zilizokuwa zimezimwa awali au kwa kubadilisha hatua zinazozinduliwa, ambayo inaweza kusababisha mkanganyiko na upotoshaji katika majibu ya matukio.
Zaidi ya hayo, mshambuliaji mwenye ruhusa anaweza kubadilisha hali za alarm, akiwa na uwezo wa kuunda arifa za uongo ili kuwachanganya wasimamizi, au kuzima arifa halisi ili kuficha shughuli mbaya zinazendelea au kushindwa kwa mifumo muhimu.
Ikiwa unatumia SetAlarmState
kwenye alarm ya pamoja, alarm ya pamoja haihakikishiwi kurudi kwenye hali yake halisi. Inarudi kwenye hali yake halisi tu mara yoyote mojawapo ya alarm zake za watoto zinapobadilisha hali. Pia inarejelewa ikiwa unasasisha usanidi wake.
Madhara Yanayoweza Kutokea: Ukosefu wa arifa za matukio muhimu, masuala yanayoweza kutokugundulika, arifa za uwongo, kuzuiya arifa halisi na huenda kukosa kugundua matukio halisi.
cloudwatch:DeleteAnomalyDetector
, cloudwatch:PutAnomalyDetector
Mshambuliaji angeweza kuathiri uwezo wa kugundua na kujibu kwa mifumo isiyo ya kawaida au anomalies katika data ya metriki. Kwa kufuta waandishi wa anomalies waliopo, mshambuliaji angeweza kuzima mitambo muhimu ya arifa; na kwa kuunda au kubadilisha, ingeweza ama kuharibu usanidi au kuunda positives za uwongo ili kuhamasisha au kuzidi uwezo wa ufuatiliaji.
Mfano ufuatao unaonyesha jinsi ya kufanya kipimo cha kugundua anomali kisifanye kazi. Kipimo hiki cha kugundua anomali kinachunguza matumizi ya wastani ya CPU ya mfano maalum wa EC2, na kwa kuongeza tu parameter ya “ExcludedTimeRanges” na kipindi kinachotakiwa, itakuwa ya kutosha kuhakikisha kwamba kipimo cha kugundua anomali hakichambui au kuonya kuhusu data yoyote muhimu wakati huo.
Madhara Yanayoweza Kutokea: Athari ya moja kwa moja katika kugundua mifumo isiyo ya kawaida au vitisho vya usalama.
cloudwatch:DeleteDashboards
, cloudwatch:PutDashboard
Mshambuliaji angeweza kuathiri uwezo wa ufuatiliaji na uonyeshaji wa shirika kwa kuunda, kubadilisha au kufuta dashibodi zake. Ruhusa hizi zinaweza kutumika kuondoa mwonekano muhimu katika utendaji na afya ya mifumo, kubadilisha dashibodi kuonyesha data zisizo sahihi au kuficha shughuli mbaya.
Madhara Yanayoweza Kutokea: Kupoteza ufuatiliaji wa mwonekano na taarifa za kupotosha.
cloudwatch:DeleteInsightRules
, cloudwatch:PutInsightRule
,cloudwatch:PutManagedInsightRule
Sheria za mwonekano zinatumika kugundua anomali, kuboresha utendaji, na kusimamia rasilimali kwa ufanisi. Kwa kufuta sheria za mwonekano zilizopo, mshambuliaji anaweza kuondoa uwezo muhimu wa ufuatiliaji, na kuacha mfumo ukiwa kipofu kwa matatizo ya utendaji na vitisho vya usalama. Zaidi ya hayo, mshambuliaji anaweza kuunda au kubadilisha sheria za mwonekano ili kuzalisha data za kupotosha au kuficha shughuli mbaya, na kusababisha uchambuzi usio sahihi na majibu yasiyofaa kutoka kwa timu ya operesheni.
Madhara Yanayoweza Kutokea: Ugumu wa kugundua na kujibu matatizo ya utendaji na tofauti, kufanya maamuzi yasiyo sahihi na kwa uwezekano kuficha shughuli mbaya au kushindwa kwa mfumo.
cloudwatch:DisableInsightRules
, cloudwatch:EnableInsightRules
Kwa kuzima sheria muhimu za ufahamu, mshambuliaji anaweza kwa ufanisi kuipofusha shirika kuhusu viashiria muhimu vya utendaji na usalama. Kinyume chake, kwa kuwezesha au kuunda sheria za kupotosha, inaweza kuwa inawezekana kuzalisha data za uwongo, kuunda kelele, au kuficha shughuli mbaya.
Madhara Yanayoweza Kutokea: Machafuko kati ya timu ya operesheni, yanayosababisha kuchelewesha majibu kwa masuala halisi na hatua zisizo za lazima kulingana na arifa za uongo.
cloudwatch:DeleteMetricStream
, cloudwatch:PutMetricStream
, cloudwatch:PutMetricData
Mshambuliaji mwenye ruhusa za cloudwatch:DeleteMetricStream
, cloudwatch:PutMetricStream
angeweza kuunda na kufuta mitiririko ya data za metriki, akihatarisha usalama, ufuatiliaji na uaminifu wa data:
Unda mitiririko ya uharibifu: Unda mitiririko ya metriki kutuma data nyeti kwa maeneo yasiyoidhinishwa.
Manipulering ya rasilimali: Uundaji wa mitiririko mipya ya metriki yenye data nyingi unaweza kuzalisha kelele nyingi, kusababisha arifa zisizo sahihi, kuficha masuala halisi.
Kuvuruga ufuatiliaji: Kufuta mitiririko ya metriki, washambuliaji wangevuruga mtiririko wa data ya ufuatiliaji. Kwa njia hii, shughuli zao za uharibifu zingefichwa kwa ufanisi.
Vivyo hivyo, kwa ruhusa ya cloudwatch:PutMetricData
, ingekuwa inawezekana kuongeza data kwenye mitiririko ya metriki. Hii inaweza kusababisha DoS kutokana na kiasi cha data isiyo sahihi iliyoongezwa, na kuifanya kuwa isiyo na maana kabisa.
Mfano wa kuongeza data inayohusiana na 70% ya matumizi ya CPU juu ya mfano fulani wa EC2:
Madhara Yanayoweza Kutokea: Kuingiliwa kwa mtiririko wa data za ufuatiliaji, kuathiri ugunduzi wa anomali na matukio, upotoshaji wa rasilimali na kuongezeka kwa gharama kutokana na uundaji wa mtiririko wa metriki nyingi kupita kiasi.
cloudwatch:StopMetricStreams
, cloudwatch:StartMetricStreams
Mshambuliaji angeweza kudhibiti mtiririko wa data za metriki zilizoathiriwa (kila mtiririko wa data ikiwa hakuna kikomo cha rasilimali). Kwa ruhusa cloudwatch:StopMetricStreams
, washambuliaji wangeweza kuficha shughuli zao mbaya kwa kusitisha mtiririko wa metriki muhimu.
Madhara Yanayoweza Kutokea: Kuingiliwa kwa mtiririko wa data za ufuatiliaji, kuathiri ugunduzi wa anomali na matukio.
cloudwatch:TagResource
, cloudwatch:UntagResource
Mshambuliaji angeweza kuongeza, kubadilisha, au kuondoa lebo kutoka kwa rasilimali za CloudWatch (kwa sasa ni alama tu na sheria za Contributor Insights). Hii inaweza kuingilia sera za udhibiti wa ufikiaji wa shirika lako kulingana na lebo.
Madhara Yanayoweza Kutokea: Kuingiliwa kwa sera za udhibiti wa ufikiaji kulingana na lebo.
Jifunze & fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Jifunze & fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)