GCP - Logging Enum

Support HackTricks

Basic Information

Huduma hii inaruhusu watumiaji kuhifadhi, kutafuta, kuchambua, kufuatilia, na kutoa taarifa kuhusu data za logi na matukio kutoka GCP.

Cloud Logging imeunganishwa kikamilifu na huduma nyingine za GCP, ikitoa hifadhi ya kati ya logi kutoka kwa rasilimali zako zote za GCP. In kusanya logi kiotomatiki kutoka kwa huduma mbalimbali za GCP kama App Engine, Compute Engine, na Cloud Functions. Unaweza pia kutumia Cloud Logging kwa programu zinazofanya kazi kwenye tovuti au katika mawingu mengine kwa kutumia wakala wa Cloud Logging au API.

Key Features:

  • Kusatisha Data za Logi: Kuunganisha data za logi kutoka vyanzo mbalimbali, ikitoa mtazamo wa jumla wa programu na miundombinu yako.

  • Usimamizi wa Logi kwa Wakati Halisi: Kupeleka logi kwa wakati halisi kwa uchambuzi wa haraka na majibu.

  • Uchambuzi wa Data wenye Nguvu: Tumia uwezo wa kuchuja na kutafuta wa kisasa ili kuchambua kiasi kikubwa cha data za logi haraka.

  • Ushirikiano na BigQuery: Export logi kwenda BigQuery kwa uchambuzi wa kina na kuuliza.

  • Metriki Zinazotegemea Logi: Unda metriki maalum kutoka kwa data zako za logi kwa ajili ya kufuatilia na kutoa taarifa.

Logs flow

Kimsingi, sinks na metriki zinazotegemea logi zitatoa maelekezo kuhusu wapi logi inapaswa kuhifadhiwa.

Configurations Supported by GCP Logging

Cloud Logging inaweza kubadilishwa kwa urahisi ili kukidhi mahitaji mbalimbali ya uendeshaji:

  1. Log Buckets (Hifadhi za logi kwenye wavuti): Mwelekeo wa kuunda buckets katika Cloud Logging ili kudhibiti uhifadhi wa logi, ikitoa udhibiti juu ya muda gani entries zako za logi zinapaswa kuhifadhiwa.

  • Kwa kawaida, buckets _Default na _Required zinaundwa (moja inarekodi kile nyingine haifanyi).

  • _Required ni:

```bash
LOG_ID("cloudaudit.googleapis.com/activity") OR LOG_ID("externalaudit.googleapis.com/activity") OR LOG_ID("cloudaudit.googleapis.com/system_event") OR LOG_ID("externalaudit.googleapis.com/system_event") OR LOG_ID("cloudaudit.googleapis.com/access_transparency") OR LOG_ID("externalaudit.googleapis.com/access_transparency")
```
  • Muda wa uhifadhi wa data umewekwa kwa kila ndoo na lazima uwe angalau siku 1. Hata hivyo, muda wa uhifadhi wa _Required ni siku 400 na hauwezi kubadilishwa.

  • Kumbuka kwamba Ndoo za Kumbukumbu hazionekani katika Hifadhi ya Wingu.

  1. Mifereji ya Kumbukumbu (Log router katika wavuti): Unda mifereji ili kuhamasisha entries za kumbukumbu kwa maeneo mbalimbali kama Pub/Sub, BigQuery, au Hifadhi ya Wingu kulingana na kichujio.

  • Kwa kawaida mifereji kwa ndoo _Default na _Required huundwa:

_Required logging.googleapis.com/projects//locations/global/buckets/_Required LOG_ID("cloudaudit.googleapis.com/activity") AU LOG_ID("externalaudit.googleapis.com/activity") AU LOG_ID("cloudaudit.googleapis.com/system_event") AU LOG_ID("externalaudit.googleapis.com/system_event") AU LOG_ID("cloudaudit.googleapis.com/access_transparency") AU LOG_ID("externalaudit.googleapis.com/access_transparency") _Default logging.googleapis.com/projects//locations/global/buckets/_Default SIO LOG_ID("cloudaudit.googleapis.com/activity") NA SIO LOG_ID("externalaudit.googleapis.com/activity") NA SIO LOG_ID("cloudaudit.googleapis.com/system_event") NA SIO LOG_ID("externalaudit.googleapis.com/system_event") NA SIO LOG_ID("cloudaudit.googleapis.com/access_transparency") NA SIO LOG_ID("externalaudit.googleapis.com/access_transparency")

* **Kichujio cha Kutengwa:** Inawezekana kuweka **kutengwa ili kuzuia entries maalum za kumbukumbu** zisichukuliwe, kuokoa gharama, na kupunguza kelele zisizohitajika.
3. **Metriki za Kumbukumbu:** Sanidi **metriki za kawaida** kulingana na maudhui ya kumbukumbu, kuruhusu arifa na ufuatiliaji kulingana na data ya kumbukumbu.
4. **Maoni ya Kumbukumbu:** Maoni ya kumbukumbu yanatoa udhibiti wa hali ya juu na **wa kina juu ya nani ana ufikiaji** wa kumbukumbu ndani ya ndoo zako za kumbukumbu.
* Cloud Logging **hujenga kiotomatiki maoni ya `_AllLogs` kwa kila ndoo**, ambayo inaonyesha kumbukumbu zote. Cloud Logging pia huunda maoni kwa ndoo ya `_Default` inayoitwa `_Default`. Maoni ya `_Default` kwa ndoo ya `_Default` yanaonyesha kumbukumbu zote isipokuwa kumbukumbu za ukaguzi wa Ufikiaji wa Data. Maoni ya `_AllLogs` na `_Default` hayawezi kubadilishwa.

Inawezekana kuruhusu kiongozi **kutumia tu maoni maalum ya Kumbukumbu** kwa sera ya IAM kama: 

<div data-gb-custom-block data-tag="code" data-overflow='wrap'>

```json
{
"bindings": [
{
"members": [
"user:username@gmail.com"
],
"role": "roles/logging.viewAccessor",
"condition": {
"title": "Bucket reader condition example",
"description": "Grants logging.viewAccessor role to user username@gmail.com for the VIEW_ID log view.",
"expression":
"resource.name == \"projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/VIEW_ID\""
}
}
],
"etag": "BwWd_6eERR4=",
"version": 3
}

Default Logs

Kwa kawaida Admin Write shughuli (pia inaitwa Admin Activity audit logs) ndizo zinazorekodiwa (andika metadata au taarifa za usanidi) na haziwezi kuzuiliwa.

Kisha, mtumiaji anaweza kuwezesha Data Access audit logs, hizi ni Admin Read, Data Write na Data Write.

Unaweza kupata maelezo zaidi kuhusu kila aina ya log katika nyaraka: https://cloud.google.com/iam/docs/audit-logging

Hata hivyo, kumbuka kwamba hii inamaanisha kwamba kwa kawaida GetIamPolicy vitendo na vitendo vingine vya kusoma havirekodiwi. Hivyo, kwa kawaida mshambuliaji anayejaribu kuhesabu mazingira hatakamatwa ikiwa sysadmin hakuweka usanidi wa kuzalisha log zaidi.

Ili kuwezesha log zaidi katika console, sysadmin anahitaji kwenda https://console.cloud.google.com/iam-admin/audit na kuziwezesha. Kuna chaguzi 2 tofauti:

  • Default Configuration: Inawezekana kuunda usanidi wa kawaida na kurekodi log zote za Admin Read na/au Data Read na/au Data Write na hata kuongeza wakuu walioondolewa:

  • Select the services: Au tu chagua huduma unazotaka kuzalisha log na aina ya log na mkuu aliyeondolewa kwa huduma hiyo maalum.

Pia kumbuka kwamba kwa kawaida log hizo pekee ndizo zinazozalishwa kwa sababu kuzalisha log zaidi kutongeza gharama.

Enumeration

Zana ya amri gcloud ni sehemu muhimu ya mfumo wa GCP, ikikuruhusu kusimamia rasilimali na huduma zako. Hapa kuna jinsi unavyoweza kutumia gcloud kusimamia usanidi wako wa log na kufikia log.

# List buckets
gcloud logging buckets list
gcloud logging buckets describe <bucket-name> --location <location>

# List log entries: only logs that contain log entries are listed.
gcloud logging logs list

# Get log metrics
gcloud logging metrics list
gcloud logging metrics describe <metric-name>

# Get log sinks
gcloud logging sinks list
gcloud logging sinks describe <sink-name>

# Get log views
gcloud logging views list --bucket <bucket> --location global
gcloud logging views describe --bucket <bucket> --location global <view-id> # view-id is usually the same as the bucket name

# Get log links
gcloud logging links list --bucket _Default --location global
gcloud logging links describe <link-id> --bucket _Default --location global

Mfano wa kuangalia kumbukumbu za cloudresourcemanager (ile inayotumika kuangalia ruhusa): https://console.cloud.google.com/logs/query;query=protoPayload.serviceName%3D%22cloudresourcemanager.googleapis.com%22;summaryFields=:false:32:beginning;cursorTimestamp=2024-01-20T00:07:14.482809Z;startTime=2024-01-01T11:12:26.062Z;endTime=2024-02-02T17:12:26.062Z?authuser=2&project=digital-bonfire-410512

Hakuna kumbukumbu za testIamPermissions:

Baada ya Kutekeleza

GCP - Logging Post Exploitation

Kudumu

GCP - Logging Persistence

Marejeo

Support HackTricks

Last updated