Translated ['src/pentesting-cloud/aws-security/aws-basic-information/REA

This commit is contained in:
Translator
2025-02-11 17:18:35 +00:00
parent 18b60b9450
commit 2d28a17ce3
27 changed files with 248 additions and 240 deletions

View File

@@ -4,7 +4,7 @@
## **CloudTrail**
AWS CloudTrail **реєструє та моніторить активність у вашому середовищі AWS**. Він захоплює детальні **журнали подій**, включаючи хто, що, коли і звідки, для всіх взаємодій з ресурсами AWS. Це забезпечує слід змін і дій, допомагаючи в аналізі безпеки, аудиті відповідності та відстеженні змін ресурсів. CloudTrail є важливим для розуміння поведінки користувачів і ресурсів, покращення безпекових позицій і забезпечення відповідності регуляторним вимогам.
AWS CloudTrail **реєструє та моніторить активність у вашому середовищі AWS**. Він захоплює детальні **журнали подій**, включаючи, хто що зробив, коли і звідки, для всіх взаємодій з ресурсами AWS. Це забезпечує слід змін і дій, допомагаючи в аналізі безпеки, аудиті відповідності та відстеженні змін ресурсів. CloudTrail є важливим для розуміння поведінки користувачів і ресурсів, покращення безпеки та забезпечення відповідності регуляторним вимогам.
Кожна зафіксована подія містить:
@@ -22,9 +22,9 @@ AWS CloudTrail **реєструє та моніторить активність
Події записуються в новий файл журналу **приблизно кожні 5 хвилин у файлі JSON**, вони зберігаються CloudTrail, а в кінцевому підсумку файли журналів **доставляються в S3 приблизно через 15 хвилин**.\
Журнали CloudTrail можуть бути **агреговані між обліковими записами та регіонами.**\
CloudTrail дозволяє використовувати **цілісність файлів журналів, щоб мати можливість перевірити, що ваші файли журналів залишилися незмінними** з моменту їх доставки вам. Він створює SHA-256 хеш журналів у файлі дайджесту. SHA-256 хеш нових журналів створюється щогодини.\
При створенні Trail селектори подій дозволять вам вказати, які події реєструвати: управлінські, дані або події аналітики.
При створенні Trail селектори подій дозволять вам вказати, які події слід реєструвати: управлінські, дані або події аналітики.
Журнали зберігаються в кошику S3. За замовчуванням використовується шифрування на стороні сервера (SSE-S3), тому AWS розшифрує вміст для людей, які мають до нього доступ, але для додаткової безпеки ви можете використовувати SSE з KMS і своїми ключами.
Журнали зберігаються в кошику S3. За замовчуванням використовується шифрування на стороні сервера (SSE-S3), тому AWS розшифрує вміст для людей, які мають до нього доступ, але для додаткової безпеки ви можете використовувати SSE з KMS та вашими власними ключами.
Журнали зберігаються в **кошику S3 з таким форматом імені**:
@@ -48,7 +48,7 @@ CloudTrail дозволяє використовувати **цілісніст
- Застосуйте дозволи до цільового кошика S3, дозволяючи доступ між обліковими записами для CloudTrail і дозволяючи кожному обліковому запису AWS, який потребує доступу
- Створіть новий Trail в інших облікових записах AWS і виберіть використання створеного кошика на етапі 1
Однак, навіть якщо ви можете зберігати всі журнали в одному кошику S3, ви не можете агрегувати журнали CloudTrail з кількох облікових записів у журнали CloudWatch, що належать до одного облікового запису AWS.
Однак, навіть якщо ви можете зберігати всі журнали в одному кошику S3, ви не можете агрегувати журнали CloudTrail з кількох облікових записів у журнали CloudWatch, що належать одному обліковому запису AWS.
> [!CAUTION]
> Пам'ятайте, що обліковий запис може мати **різні Trails** з CloudTrail **увімкненими**, зберігаючи однакові (або різні) журнали в різних кошиках.
@@ -83,7 +83,7 @@ aws cloudtrail validate-logs --trail-arn <trailARN> --start-time <start-time> [-
### Інсайти
**CloudTrail Insights** автоматично **аналізує** події управління записами з трас CloudTrail і **сповіщає** вас про **незвичайну активність**. Наприклад, якщо є збільшення подій `TerminateInstance`, яке відрізняється від встановлених базових значень, ви побачите це як подію Insight. Ці події роблять **знаходження та реагування на незвичайну API-активність легшими** ніж будь-коли.
**CloudTrail Insights** автоматично **аналізує** події управління записами з трас CloudTrail і **сповіщає** вас про **незвичайну активність**. Наприклад, якщо є збільшення подій `TerminateInstance`, яке відрізняється від встановлених базових значень, ви побачите це як подію Insight. Ці події роблять **знаходження та реагування на незвичайну API активність легшими** ніж будь-коли.
Інсайти зберігаються в тому ж бакеті, що й логи CloudTrail: `BucketName/AWSLogs/AccountID/CloudTrail-Insight`
@@ -94,12 +94,12 @@ aws cloudtrail validate-logs --trail-arn <trailARN> --start-time <start-time> [-
| Зупинити несанкціонований доступ | <ul><li><p>Використовуйте політики IAM та політики бакетів S3</p><ul><li>команда безпеки —> адміністраторський доступ</li><li>аудитори —> доступ лише для читання</li></ul></li><li>Використовуйте SSE-S3/SSE-KMS для шифрування логів</li></ul> |
| Запобігти видаленню файлів логів | <ul><li>Обмежити доступ до видалення за допомогою IAM та політик бакетів</li><li>Налаштувати S3 MFA видалення</li><li>Перевірити за допомогою валідації файлів логів</li></ul> |
## Консультант з доступу
## Консультант доступу
AWS Access Advisor покладається на останні 400 днів логів AWS **CloudTrail для збору своїх інсайтів**. CloudTrail фіксує історію викликів API AWS та пов'язаних подій, що відбулися в обліковому записі AWS. Консультант з доступу використовує ці дані, щоб **показати, коли сервіси востаннє використовувалися**. Аналізуючи логи CloudTrail, Консультант з доступу може визначити, які сервіси AWS використовував IAM-користувач або роль і коли цей доступ відбувався. Це допомагає адміністраторам AWS приймати обґрунтовані рішення щодо **удосконалення дозволів**, оскільки вони можуть виявити сервіси, які не використовувалися протягом тривалого часу, і потенційно зменшити надто широкі дозволи на основі реальних патернів використання.
AWS Access Advisor спирається на останні 400 днів логів AWS **CloudTrail для збору своїх інсайтів**. CloudTrail фіксує історію викликів API AWS та пов'язаних подій, що відбулися в обліковому записі AWS. Консультант доступу використовує ці дані, щоб **показати, коли сервіси востаннє використовувалися**. Аналізуючи логи CloudTrail, Консультант доступу може визначити, які сервіси AWS використовував користувач або роль IAM і коли цей доступ відбувався. Це допомагає адміністраторам AWS приймати обґрунтовані рішення щодо **удосконалення дозволів**, оскільки вони можуть виявити сервіси, які не використовувалися протягом тривалого часу, і потенційно зменшити надто широкі дозволи на основі реальних патернів використання.
> [!TIP]
> Отже, Консультант з доступу інформує про **необхідні дозволи, які надаються користувачам**, щоб адміністратор міг їх видалити
> Тому Консультант доступу інформує про **необхідні дозволи, які надаються користувачам**, щоб адміністратор міг їх видалити
<figure><img src="../../../../images/image (78).png" alt=""><figcaption></figcaption></figure>
@@ -150,19 +150,19 @@ https://book.hacktricks.wiki/en/pentesting-web/formula-csv-doc-latex-ghostscript
Honeytokens створюються для **виявлення ексфільтрації чутливої інформації**. У випадку з AWS, це **ключі AWS, використання яких контролюється**, якщо щось викликає дію з цим ключем, то хтось, напевно, вкрали цей ключ.
Однак Honeytokens, такі як ті, що створені [**Canarytokens**](https://canarytokens.org/generate)**,** [**SpaceCrab**](https://bitbucket.org/asecurityteam/spacecrab/issues?status=new&status=open)**,** [**SpaceSiren**](https://github.com/spacesiren/spacesiren), або використовують впізнаване ім'я облікового запису, або використовують один і той же ідентифікатор облікового запису AWS для всіх своїх клієнтів. Тому, якщо ви зможете отримати ім'я облікового запису та/або ідентифікатор облікового запису без того, щоб Cloudtrail створив будь-який журнал, **ви зможете дізнатися, чи є ключ honeytoken чи ні**.
Однак Honeytokens, такі як ті, що створені [**Canarytokens**](https://canarytokens.org/generate)**,** [**SpaceCrab**](https://bitbucket.org/asecurityteam/spacecrab/issues?status=new&status=open)**,** [**SpaceSiren**](https://github.com/spacesiren/spacesiren), або використовують впізнаване ім'я облікового запису, або використовують один і той же ідентифікатор облікового запису AWS для всіх своїх клієнтів. Тому, якщо ви можете отримати ім'я облікового запису та/або ідентифікатор облікового запису без того, щоб Cloudtrail створив будь-який журнал, **ви могли б дізнатися, чи є ключ honeytoken чи ні**.
[**Pacu**](https://github.com/RhinoSecurityLabs/pacu/blob/79cd7d58f7bff5693c6ae73b30a8455df6136cca/pacu/modules/iam__detect_honeytokens/main.py#L57) має деякі правила для виявлення, чи належить ключ до [**Canarytokens**](https://canarytokens.org/generate)**,** [**SpaceCrab**](https://bitbucket.org/asecurityteam/spacecrab/issues?status=new&status=open)**,** [**SpaceSiren**](https://github.com/spacesiren/spacesiren)**:**
[**Pacu**](https://github.com/RhinoSecurityLabs/pacu/blob/79cd7d58f7bff5693c6ae73b30a8455df6136cca/pacu/modules/iam__detect_honeytokens/main.py#L57) має деякі правила для виявлення, чи належить ключ [**Canarytokens**](https://canarytokens.org/generate)**,** [**SpaceCrab**](https://bitbucket.org/asecurityteam/spacecrab/issues?status=new&status=open)**,** [**SpaceSiren**](https://github.com/spacesiren/spacesiren)**:**
- Якщо **`canarytokens.org`** з'являється в назві ролі або ідентифікатор облікового запису **`534261010715`** з'являється в повідомленні про помилку.
- Тестуючи їх нещодавно, вони використовують обліковий запис **`717712589309`** і все ще мають рядок **`canarytokens.com`** в назві.
- Якщо **`SpaceCrab`** з'являється в назві ролі в повідомленні про помилку.
- **SpaceSiren** використовує **uuid** для генерації імен користувачів: `[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}`
- **SpaceSiren** використовує **uuids** для генерації імен користувачів: `[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}`
- Якщо **ім'я виглядає як випадково згенероване**, є висока ймовірність, що це HoneyToken.
#### Отримати ідентифікатор облікового запису з ідентифікатора ключа
Ви можете отримати **ідентифікатор облікового запису** з **закодованого** всередині **ключа доступу**, як [**пояснено тут**](https://medium.com/@TalBeerySec/a-short-note-on-aws-key-id-f88cc4317489) і перевірити ідентифікатор облікового запису зі своїм списком облікових записів Honeytokens AWS:
Ви можете отримати **ідентифікатор облікового запису** з **закодованого** всередині **ключа доступу**, як [**пояснено тут**](https://medium.com/@TalBeerySec/a-short-note-on-aws-key-id-f88cc4317489) і перевірити ідентифікатор облікового запису зі своїм списком Honeytokens AWS облікових записів:
```python
import base64
import binascii
@@ -183,22 +183,22 @@ print("account id:" + "{:012d}".format(AWSAccount_from_AWSKeyID("ASIAQNZGKIQY56J
```
Перевірте більше інформації в [**оригінальному дослідженні**](https://medium.com/@TalBeerySec/a-short-note-on-aws-key-id-f88cc4317489).
#### Не генерувати журнал
#### Не генерувати лог
Найефективніша техніка для цього насправді є простою. Просто використайте ключ, який ви щойно знайшли, щоб отримати доступ до якоїсь служби у вашому власному обліковому записі зловмисника. Це змусить **CloudTrail згенерувати журнал у ВАШОМУ ВЛАСНОМУ обліковому записі AWS, а не у жертви**.
Найефективніша техніка для цього насправді є простою. Просто використайте ключ, який ви щойно знайшли, щоб отримати доступ до якоїсь служби у вашому власному обліковому записі атакуючого. Це змусить **CloudTrail згенерувати лог у ВАШОМУ ВЛАСНОМУ обліковому записі AWS, а не у жертви**.
Справа в тому, що вихід покаже вам помилку, що вказує на ідентифікатор облікового запису та ім'я облікового запису, тому **ви зможете побачити, чи це Honeytoken**.
#### Служби AWS без журналів
#### Служби AWS без логів
У минулому існували деякі **служби AWS, які не надсилають журнали до CloudTrail** (знайдіть [список тут](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-unsupported-aws-services.html)). Деякі з цих служб **відповідатимуть** з **помилкою**, що містить **ARN ключової ролі**, якщо хтось несанкціонований (ключ Honeytoken) намагатиметься отримати до них доступ.
У минулому існували деякі **служби AWS, які не надсилають логи до CloudTrail** (знайдіть [список тут](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-unsupported-aws-services.html)). Деякі з цих служб **відповідатимуть** з **помилкою**, що містить **ARN ключової ролі**, якщо хтось несанкціонований (ключ Honeytoken) намагатиметься отримати до них доступ.
Таким чином, **зловмисник може отримати ARN ключа, не викликавши жодного журналу**. У ARN зловмисник може побачити **ідентифікатор облікового запису AWS та ім'я**, легко дізнатися ідентифікатор облікового запису та імена компаній HoneyToken, тому таким чином зловмисник може визначити, чи є токен HoneyToken.
Таким чином, **зловмисник може отримати ARN ключа, не викликавши жодного логу**. У ARN зловмисник може побачити **ідентифікатор облікового запису AWS та ім'я**, легко дізнатися ідентифікатор облікових записів компаній HoneyToken, тому таким чином зловмисник може визначити, чи є токен HoneyToken.
![](<../../../../images/image (93).png>)
> [!CAUTION]
> Зверніть увагу, що всі публічні API, виявлені як такі, що не створюють журнали CloudTrail, тепер виправлені, тому, можливо, вам потрібно знайти свої власні...
> Зверніть увагу, що всі публічні API, виявлені як такі, що не створюють логи CloudTrail, тепер виправлені, тому, можливо, вам потрібно знайти свої власні...
>
> Для отримання додаткової інформації перегляньте [**оригінальне дослідження**](https://rhinosecuritylabs.com/aws/aws-iam-enumeration-2-0-bypassing-cloudtrail-logging/).
@@ -236,7 +236,7 @@ aws cloudtrail put-event-selectors --trail-name <trail_name> --event-selectors '
# Remove all selectors (stop Insights)
aws cloudtrail put-event-selectors --trail-name <trail_name> --event-selectors '[]' --region <region>
```
У першому прикладі одиничний селектор події надається у вигляді масиву JSON з єдиним об'єктом. `"ReadWriteType": "ReadOnly"` вказує на те, що **селектор подій повинен захоплювати лише події тільки для читання** (тому CloudTrail insights **не буде перевіряти події запису**, наприклад).
У першому прикладі одиничний селектор події надається у вигляді масиву JSON з одним об'єктом. `"ReadWriteType": "ReadOnly"` вказує на те, що **селектор подій повинен захоплювати лише події тільки для читання** (тому CloudTrail insights **не буде перевіряти події запису**, наприклад).
Ви можете налаштувати селектор подій відповідно до ваших конкретних вимог.
@@ -256,7 +256,7 @@ aws s3api put-bucket-lifecycle --bucket <bucket_name> --lifecycle-configuration
#### Ransomware S3
Ви можете **згенерувати асиметричний ключ** і змусити **CloudTrail зашифрувати дані** цим ключем і **видалити приватний ключ**, щоб вміст CloudTrail не можна було відновити.\
Це в основному **S3-KMS ransomware**, пояснене в:
Це, по суті, **S3-KMS ransomware**, пояснене в:
{{#ref}}
../../aws-post-exploitation/aws-s3-post-exploitation.md

View File

@@ -6,7 +6,7 @@
**CloudWatch** **збирає** моніторингові та операційні **дані** у формі журналів/метрик/подій, надаючи **уніфікований огляд ресурсів AWS**, додатків та сервісів.\
Подія журналу CloudWatch має **обмеження розміру 256KB на кожен рядок журналу**.\
Він може встановлювати **алерти з високою роздільною здатністю**, візуалізувати **журнали** та **метрики** поруч, виконувати автоматизовані дії, усувати проблеми та виявляти інсайти для оптимізації додатків.
Він може встановлювати **сигнали високої роздільної здатності**, візуалізувати **журнали** та **метрики** поряд, виконувати автоматизовані дії, усувати проблеми та виявляти інсайти для оптимізації додатків.
Ви можете моніторити, наприклад, журнали з CloudTrail. Події, які моніторяться:
@@ -39,9 +39,9 @@
### Статистика
Статистика - це математичні обчислення, виконані над даними метрик для їх узагальнення з часом. Загальні статистики включають Середнє, Суму, Мінімум, Максимум та Кількість зразків.
Статистика - це математичні обчислення, виконані над даними метрик для їх узагальнення з часом. Загальні статистичні показники включають Середнє, Суму, Мінімум, Максимум та Кількість зразків.
- **Приклад**: Обчислення середнього використання CPU за період в одну годину.
- **Приклад**: Обчислення середнього використання ЦП за період в одну годину.
### Одиниці
@@ -51,44 +51,44 @@
## Функції CloudWatch
### Панель
### Панель приладів
**Панелі CloudWatch** надають настроювані **перегляди ваших метрик AWS CloudWatch**. Можна створювати та налаштовувати панелі для візуалізації даних і моніторингу ресурсів в одному огляді, поєднуючи різні метрики з різних сервісів AWS.
**Панелі приладів CloudWatch** надають настроювані **огляди ваших метрик AWS CloudWatch**. Можна створювати та налаштовувати панелі для візуалізації даних та моніторингу ресурсів в одному огляді, поєднуючи різні метрики з різних сервісів AWS.
**Ключові функції**:
- **Віджети**: Будівельні блоки панелей, включаючи графіки, текст, алерти та інше.
- **Віджети**: Будівельні блоки панелей, включаючи графіки, текст, сигнали та інше.
- **Налаштування**: Макет і вміст можуть бути налаштовані відповідно до конкретних потреб моніторингу.
**Приклад використання**:
- Одна панель, що показує ключові метрики для вашого всього середовища AWS, включаючи EC2 інстанси, бази даних RDS та S3 контейнери.
- Одна панель, що показує ключові метрики для вашого всього середовища AWS, включаючи EC2 інстанси, бази даних RDS та кошики S3.
### Потік метрик та дані метрик
**Потоки метрик** в AWS CloudWatch дозволяють вам безперервно передавати метрики CloudWatch до обраного вами місця призначення в майже реальному часі. Це особливо корисно для розширеного моніторингу, аналітики та користувацьких панелей, використовуючи інструменти поза AWS.
**Дані метрик** всередині Потоків метрик відносяться до фактичних вимірювань або даних, які передаються. Ці дані представляють різні метрики, такі як використання CPU, використання пам'яті тощо, для ресурсів AWS.
**Дані метрик** всередині Потоків метрик відносяться до фактичних вимірювань або даних, які передаються. Ці дані представляють різні метрики, такі як використання ЦП, використання пам'яті тощо, для ресурсів AWS.
**Приклад використання**:
- Надсилання реальних метрик до стороннього сервісу моніторингу для розширеного аналізу.
- Архівування метрик у контейнері Amazon S3 для довгострокового зберігання та відповідності.
- Архівування метрик у кошику Amazon S3 для довгострокового зберігання та відповідності.
### Алерт
### Сигнал
**Алерти CloudWatch** моніторять ваші метрики та виконують дії на основі попередньо визначених порогів. Коли метрика перевищує поріг, алерт може виконати одну або кілька дій, таких як надсилання сповіщень через SNS, активація політики автоматичного масштабування або виконання функції AWS Lambda.
**Сигнали CloudWatch** моніторять ваші метрики та виконують дії на основі попередньо визначених порогів. Коли метрика перевищує поріг, сигнал може виконати одну або кілька дій, таких як надсилання сповіщень через SNS, активація політики автоматичного масштабування або виконання функції AWS Lambda.
**Ключові компоненти**:
- **Поріг**: Значення, при якому спрацьовує алерт.
- **Поріг**: Значення, при якому сигнал спрацьовує.
- **Періоди оцінки**: Кількість періодів, протягом яких дані оцінюються.
- **Дані для алерту**: Кількість періодів з досягнутим порогом, необхідна для активації алерту.
- **Дії**: Що відбувається, коли спрацьовує стан алерту (наприклад, сповіщення через SNS).
- **Дані для сигналу**: Кількість періодів з досягнутим порогом, необхідна для активації сигналу.
- **Дії**: Що відбувається, коли стан сигналу спрацьовує (наприклад, сповіщення через SNS).
**Приклад використання**:
- Моніторинг використання CPU EC2 інстанса та надсилання сповіщення через SNS, якщо воно перевищує 80% протягом 5 послідовних хвилин.
- Моніторинг використання ЦП EC2 інстанса та надсилання сповіщення через SNS, якщо воно перевищує 80% протягом 5 послідовних хвилин.
### Виявлення аномалій
@@ -101,21 +101,21 @@
**Приклад використання**:
- Виявлення незвичних патернів використання CPU в EC2 інстансі, які можуть вказувати на порушення безпеки або проблему з додатком.
- Виявлення незвичайних патернів використання ЦП в EC2 інстансі, які можуть вказувати на порушення безпеки або проблему з додатком.
### Правила інсайту та керовані правила інсайту
**Правила інсайту** дозволяють вам виявляти тенденції, виявляти сплески або інші патерни інтересу у ваших даних метрик, використовуючи **потужні математичні вирази** для визначення умов, за яких повинні бути вжиті дії. Ці правила можуть допомогти вам виявити аномалії або незвичну поведінку у продуктивності та використанні ваших ресурсів.
**Правила інсайту** дозволяють вам виявляти тенденції, виявляти сплески або інші патерни інтересу у ваших даних метрик, використовуючи **потужні математичні вирази** для визначення умов, за яких повинні бути вжиті дії. Ці правила можуть допомогти вам виявити аномалії або незвичайну поведінку у продуктивності та використанні ваших ресурсів.
**Керовані правила інсайту** - це попередньо налаштовані **правила інсайту, надані AWS**. Вони призначені для моніторингу конкретних сервісів AWS або загальних випадків використання та можуть бути активовані без необхідності детальної конфігурації.
**Приклад використання**:
- Моніторинг продуктивності RDS: Увімкніть кероване правило інсайту для Amazon RDS, яке моніторить ключові показники продуктивності, такі як використання CPU, використання пам'яті та диск I/O. Якщо будь-яка з цих метрик перевищує безпечні операційні пороги, правило може активувати сповіщення або автоматизовану дію пом'якшення.
- Моніторинг продуктивності RDS: Увімкніть кероване правило інсайту для Amazon RDS, яке моніторить ключові показники продуктивності, такі як використання ЦП, використання пам'яті та диск I/O. Якщо будь-яка з цих метрик перевищує безпечні операційні пороги, правило може активувати сповіщення або автоматизовану дію пом'якшення.
### Журнали CloudWatch <a href="#cloudwatch-logs" id="cloudwatch-logs"></a>
Дозволяє **агрегувати та моніторити журнали з додатків** та систем з **сервісів AWS** (включаючи CloudTrail) та **з додатків/систем** (**CloudWatch Agent** може бути встановлений на хост). Журнали можуть **зберігатися безстроково** (залежно від налаштувань групи журналів) і можуть бути експортовані.
Дозволяє **агрегувати та моніторити журнали з додатків** та систем з **сервісів AWS** (включаючи CloudTrail) та **з додатків/систем** (**CloudWatch Agent** може бути встановлений на хост). Журнали можуть бути **збережені безстроково** (залежно від налаштувань групи журналів) і можуть бути експортовані.
**Елементи**:
| Термін | Визначення |
@@ -126,14 +126,14 @@
### Моніторинг та події CloudWatch
CloudWatch **базовий** агрегує дані **кожні 5 хвилин** ( **детальний** - **кожну 1 хвилину**). Після агрегації він **перевіряє пороги алертів**, щоб визначити, чи потрібно активувати один.\
CloudWatch **базовий** агрегує дані **кожні 5 хвилин** ( **детальний** робить це **кожну 1 хвилину**). Після агрегації він **перевіряє пороги сигналів** на випадок, якщо потрібно активувати один.\
У цьому випадку CloudWatch може бути готовий надіслати подію та виконати деякі автоматичні дії (функції AWS lambda, теми SNS, черги SQS, потоки Kinesis)
### Встановлення агента
Ви можете встановити агентів всередині своїх машин/контейнерів, щоб автоматично надсилати журнали назад до CloudWatch.
- **Створіть** **роль** та **прикріпіть** її до **інстанса** з дозволами, що дозволяють CloudWatch збирати дані з інстансів, а також взаємодіяти з AWS Systems Manager SSM (CloudWatchAgentAdminPolicy & AmazonEC2RoleforSSM)
- **Створіть** **роль** та **прикріпіть** її до **інстансу** з дозволами, що дозволяють CloudWatch збирати дані з інстансів, крім взаємодії з AWS Systems Manager SSM (CloudWatchAgentAdminPolicy & AmazonEC2RoleforSSM)
- **Завантажте** та **встановіть** **агент** на EC2 інстанс ([https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip](https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip)). Ви можете завантажити його зсередини EC2 або встановити автоматично, використовуючи AWS Systems Manager, вибравши пакет AWS-ConfigureAWSPackage
- **Налаштуйте** та **запустіть** CloudWatch Agent
@@ -216,9 +216,9 @@ aws events list-event-buses
### **`cloudwatch:DeleteAlarms`,`cloudwatch:PutMetricAlarm` , `cloudwatch:PutCompositeAlarm`**
Зловмисник з цими дозволами може суттєво підірвати інфраструктуру моніторингу та сповіщення організації. Видаляючи існуючі тривоги, зловмисник може вимкнути критично важливі сповіщення, які повідомляють адміністраторів про критичні проблеми з продуктивністю, порушення безпеки або збої в роботі. Крім того, створюючи або модифікуючи метрики тривог, зловмисник також може вводити адміністраторів в оману хибними сповіщеннями або заглушати законні тривоги, ефективно маскуючи злочинні дії та запобігаючи своєчасним реакціям на реальні інциденти.
Зловмисник з цими правами може суттєво підірвати моніторинг та систему сповіщень організації. Видаляючи існуючі тривоги, зловмисник може вимкнути критично важливі сповіщення, які інформують адміністраторів про серйозні проблеми з продуктивністю, порушення безпеки або збої в роботі. Крім того, створюючи або змінюючи метрики тривог, зловмисник також може вводити адміністраторів в оману хибними сповіщеннями або заглушати законні тривоги, ефективно маскуючи злочинні дії та запобігаючи своєчасним реакціям на реальні інциденти.
Крім того, з дозволом **`cloudwatch:PutCompositeAlarm`** зловмисник зможе створити цикл складних тривог, де складна тривога A залежить від складної тривоги B, а складна тривога B також залежить від складної тривоги A. У цьому сценарії неможливо видалити будь-яку складну тривогу, яка є частиною циклу, оскільки завжди залишається складна тривога, яка залежить від тієї тривоги, яку ви хочете видалити.
Крім того, з правом **`cloudwatch:PutCompositeAlarm`** зловмисник зможе створити цикл або петлю складних тривог, де складна тривога A залежить від складної тривоги B, а складна тривога B також залежить від складної тривоги A. У цьому сценарії неможливо видалити будь-яку складну тривогу, яка є частиною циклу, оскільки завжди залишається складна тривога, яка залежить від тієї тривоги, яку ви хочете видалити.
```bash
aws cloudwatch put-metric-alarm --cli-input-json <value> | --alarm-name <value> --comparison-operator <value> --evaluation-periods <value> [--datapoints-to-alarm <value>] [--threshold <value>] [--alarm-description <value>] [--alarm-actions <value>] [--metric-name <value>] [--namespace <value>] [--statistic <value>] [--dimensions <value>] [--period <value>]
aws cloudwatch delete-alarms --alarm-names <value>
@@ -281,7 +281,7 @@ aws cloudwatch put-composite-alarm --alarm-name <value> --alarm-rule <value> [--
**Потенційний вплив**: Відсутність сповіщень про критичні події, потенційні непомічені проблеми, хибні сповіщення, придушення справжніх сповіщень і потенційно пропущені виявлення реальних інцидентів.
### **`cloudwatch:DeleteAlarmActions`, `cloudwatch:EnableAlarmActions` , `cloudwatch:SetAlarmState`**
### **`cloudwatch:DeleteAlarmActions`, `cloudwatch:EnableAlarmActions`, `cloudwatch:SetAlarmState`**
Видаляючи дії сповіщення, зловмисник може запобігти спрацьовуванню критичних сповіщень і автоматизованих відповідей, коли досягається стан тривоги, наприклад, сповіщення адміністраторів або ініціювання автоматичного масштабування. Неправильне увімкнення або повторне увімкнення дій сповіщення також може призвести до несподіваних поведінок, або шляхом повторної активації раніше вимкнених дій, або шляхом зміни того, які дії спрацьовують, що може викликати плутанину і неправильне реагування на інциденти.
@@ -302,7 +302,7 @@ aws cloudwatch set-alarm-state --alarm-name <value> --state-value <OK | ALARM |
aws cloudwatch delete-anomaly-detector [--cli-input-json <value> | --namespace <value> --metric-name <value> --dimensions <value> --stat <value>]
aws cloudwatch put-anomaly-detector [--cli-input-json <value> | --namespace <value> --metric-name <value> --dimensions <value> --stat <value> --configuration <value> --metric-characteristics <value>]
```
Наступний приклад показує, як зробити детектор аномалій метрики неефективним. Цей детектор аномалій метрики моніторить середнє використання ЦП конкретного EC2 екземпляра, і просто додавши параметр “ExcludedTimeRanges” з бажаним часовим діапазоном, буде достатньо, щоб забезпечити, що детектор аномалій не аналізує або не сповіщає про жодні релевантні дані протягом цього періоду.
Наступний приклад показує, як зробити детектор аномалій метрики неефективним. Цей детектор аномалій метрики моніторить середнє використання ЦП конкретного EC2 екземпляра, і просто додавши параметр “ExcludedTimeRanges” з бажаним часовим діапазоном, буде достатньо, щоб забезпечити, що детектор аномалій не аналізує або не сповіщає про будь-які релевантні дані протягом цього періоду.
{{#tabs }}
{{#tab name="Original Metric Anomaly Detector" }}
@@ -355,7 +355,7 @@ aws cloudwatch put-anomaly-detector [--cli-input-json <value> | --namespace <val
### **`cloudwatch:DeleteDashboards`, `cloudwatch:PutDashboard`**
Зловмисник зможе скомпрометувати можливості моніторингу та візуалізації організації, створюючи, модифікуючи або видаляючи її інформаційні панелі. Ці дозволи можуть бути використані для видалення критичної видимості продуктивності та стану систем, зміни інформаційних панелей для відображення неправильних даних або приховування злочинних дій.
Зловмисник зможе скомпрометувати можливості моніторингу та візуалізації організації, створюючи, модифікуючи або видаляючи її інформаційні панелі. Ці дозволи можуть бути використані для видалення критичної видимості продуктивності та стану систем, зміни інформаційних панелей для відображення некоректних даних або приховування шкідливих дій.
```bash
aws cloudwatch delete-dashboards --dashboard-names <value>
aws cloudwatch put-dashboard --dashboard-name <value> --dashboard-body <value>
@@ -364,7 +364,7 @@ aws cloudwatch put-dashboard --dashboard-name <value> --dashboard-body <value>
### **`cloudwatch:DeleteInsightRules`, `cloudwatch:PutInsightRule` ,`cloudwatch:PutManagedInsightRule`**
Правила інсайту використовуються для виявлення аномалій, оптимізації продуктивності та ефективного управління ресурсами. Видаляючи існуючі правила інсайту, зловмисник може усунути критичні можливості моніторингу, залишаючи систему сліпою до проблем з продуктивністю та загроз безпеці. Крім того, зловмисник може створювати або змінювати правила інсайту, щоб генерувати оманливі дані або приховувати злочинні дії, що призводить до неправильних діагностик і неналежних реакцій з боку операційної команди.
Правила інсайту використовуються для виявлення аномалій, оптимізації продуктивності та ефективного управління ресурсами. Видаляючи існуючі правила інсайту, зловмисник може усунути критично важливі можливості моніторингу, залишаючи систему сліпою до проблем з продуктивністю та загроз безпеці. Крім того, зловмисник може створювати або змінювати правила інсайту, щоб генерувати оманливі дані або приховувати злочинні дії, що призводить до неправильних діагностик і неналежних реакцій з боку операційної команди.
```bash
aws cloudwatch delete-insight-rules --rule-names <value>
aws cloudwatch put-insight-rule --rule-name <value> --rule-definition <value> [--rule-state <value>]
@@ -385,7 +385,7 @@ aws cloudwatch enable-insight-rules --rule-names <value>
Зловмисник з правами **`cloudwatch:DeleteMetricStream`** , **`cloudwatch:PutMetricStream`** зможе створювати та видаляти потоки даних метрик, що компрометує безпеку, моніторинг та цілісність даних:
- **Створення шкідливих потоків**: Створення потоків метрик для відправки чутливих даних до несанкціонованих місць призначення.
- **Створення шкідливих потоків**: Створення потоків метрик для відправки чутливих даних до несанкціонованих місць.
- **Маніпуляція ресурсами**: Створення нових потоків метрик з надмірними даними може створити багато шуму, викликаючи неправильні сповіщення, маскуючи справжні проблеми.
- **Порушення моніторингу**: Видаляючи потоки метрик, зловмисники порушать безперервний потік моніторингових даних. Таким чином, їхні шкідливі дії будуть ефективно приховані.