Translated ['src/banners/hacktricks-training.md', 'src/pentesting-ci-cd/

This commit is contained in:
Translator
2025-01-02 01:49:00 +00:00
parent 210c27fffb
commit 5630d68e4e
226 changed files with 2238 additions and 2256 deletions

View File

@@ -6,9 +6,9 @@
Amazon Elastic Beanstalk надає спрощену платформу для **розгортання, управління та масштабування веб-додатків і сервісів**. Він підтримує різноманітні мови програмування та фреймворки, такі як Java, .NET, PHP, Node.js, Python, Ruby та Go, а також контейнери Docker. Сервіс сумісний з широко використовуваними серверами, включаючи Apache, Nginx, Passenger та IIS.
Elastic Beanstalk надає простий і гнучкий спосіб **розгортання ваших додатків у хмарі AWS**, без необхідності турбуватися про підлягаючу інфраструктуру. Він **автоматично** обробляє деталі **постачання** потужностей, **балансування навантаження**, **масштабування** та **моніторингу** стану додатка, дозволяючи вам зосередитися на написанні та розгортанні вашого коду.
Elastic Beanstalk надає простий і гнучкий спосіб **розгортання ваших додатків у хмарі AWS**, без необхідності турбуватися про підлягаючу інфраструктуру. Він **автоматично** обробляє деталі забезпечення потужності **provisioning**, балансування навантаження, **scaling** та моніторингу здоров'я додатків, дозволяючи вам зосередитися на написанні та розгортанні вашого коду.
Інфраструктура, створена Elastic Beanstalk, управляється **групами автоматичного масштабування** в **EC2** (з балансувальником навантаження). Це означає, що в кінці дня, якщо ви **компрометуєте хост**, вам слід знати про EC2:
Інфраструктура, створена Elastic Beanstalk, управляється **Autoscaling** Groups в **EC2** (з балансувальником навантаження). Це означає, що в кінці дня, якщо ви **компрометуєте хост**, вам слід знати про EC2:
{{#ref}}
aws-ec2-ebs-elb-ssm-vpc-and-vpn-enum/
@@ -20,33 +20,33 @@ aws-ec2-ebs-elb-ssm-vpc-and-vpn-enum/
aws-eks-enum.md
{{#endref}}
### Додаток і середовища
### Додаток та середовища
У AWS Elastic Beanstalk поняття "додаток" і "середовище" виконують різні функції та мають різні ролі в процесі розгортання.
У AWS Elastic Beanstalk концепції "додатка" та "середовища" виконують різні функції та мають різні ролі в процесі розгортання.
#### Додаток
- Додаток в Elastic Beanstalk є **логічним контейнером для вихідного коду вашого додатка, середовищ і конфігурацій**. Він об'єднує різні версії вашого коду додатка та дозволяє вам управляти ними як єдиним цілим.
- Коли ви створюєте додаток, ви надаєте ім'я та **опис, але на цьому етапі ресурси не постачаються**. Це просто спосіб організувати та управляти вашим кодом і пов'язаними ресурсами.
- Додаток в Elastic Beanstalk є **логічним контейнером для вихідного коду вашого додатка, середовищ та конфігурацій**. Він об'єднує різні версії коду вашого додатка та дозволяє вам керувати ними як єдиним цілим.
- Коли ви створюєте додаток, ви надаєте ім'я та **опис, але на цьому етапі ресурси не забезпечуються**. Це просто спосіб організувати та керувати вашим кодом та супутніми ресурсами.
- Ви можете мати **кілька версій додатка** в межах одного додатка. Кожна версія відповідає конкретному випуску вашого коду, який може бути розгорнутий в одному або кількох середовищах.
#### Середовище
- Середовище є **постаченою інстанцією вашого додатка**, що працює на інфраструктурі AWS. Це **місце, де ваш код додатка розгортається та виконується**. Elastic Beanstalk постачає необхідні ресурси (наприклад, інстанції EC2, балансувальники навантаження, групи автоматичного масштабування, бази даних) на основі конфігурації середовища.
- Середовище є **забезпеченою інстанцією вашого додатка**, що працює на інфраструктурі AWS. Це **місце, де ваш код додатка розгортається та виконується**. Elastic Beanstalk забезпечує необхідні ресурси (наприклад, EC2 інстанції, балансувальники навантаження, групи автоматичного масштабування, бази даних) на основі конфігурації середовища.
- **Кожне середовище виконує одну версію вашого додатка**, і ви можете мати кілька середовищ для різних цілей, таких як розробка, тестування, стадіювання та виробництво.
- Коли ви створюєте середовище, ви вибираєте платформу (наприклад, Java, .NET, Node.js тощо) та тип середовища (наприклад, веб-сервер або робітник). Ви також можете налаштувати конфігурацію середовища, щоб контролювати різні аспекти інфраструктури та налаштувань додатка.
### 2 типи середовищ
1. **Середовище веб-сервера**: Воно призначене для **хостингу та обслуговування веб-додатків і API**. Ці додатки зазвичай обробляють вхідні HTTP/HTTPS запити. Середовище веб-сервера постачає ресурси, такі як **інстанції EC2, балансувальники навантаження та групи автоматичного масштабування**, щоб обробляти вхідний трафік, управляти потужностями та забезпечувати високу доступність додатка.
2. **Середовище робітника**: Воно призначене для обробки **фонових завдань**, які часто є трудомісткими або ресурсомісткими операціями, що не вимагають негайних відповідей клієнтам. Середовище робітника постачає ресурси, такі як **інстанції EC2 та групи автоматичного масштабування**, але **не має балансувальника навантаження**, оскільки не обробляє HTTP/HTTPS запити безпосередньо. Натомість воно споживає завдання з **черги Amazon Simple Queue Service (SQS)**, яка діє як буфер між середовищем робітника та завданнями, які воно обробляє.
1. **Середовище веб-сервера**: Воно призначене для **хостингу та обслуговування веб-додатків і API**. Ці додатки зазвичай обробляють вхідні HTTP/HTTPS запити. Середовище веб-сервера забезпечує ресурси, такі як **EC2 інстанції, балансувальники навантаження та групи автоматичного масштабування**, щоб обробляти вхідний трафік, управляти потужністю та забезпечувати високу доступність додатка.
2. **Середовище робітника**: Воно призначене для обробки **фонових завдань**, які часто є трудомісткими або ресурсомісткими операціями, що не вимагають негайних відповідей клієнтам. Середовище робітника забезпечує ресурси, такі як **EC2 інстанції та групи автоматичного масштабування**, але **не має балансувальника навантаження**, оскільки не обробляє HTTP/HTTPS запити безпосередньо. Натомість воно споживає завдання з **Amazon Simple Queue Service (SQS) черги**, яка діє як буфер між середовищем робітника та завданнями, які воно обробляє.
### Безпека
При створенні додатка в Beanstalk є 3 дуже важливі параметри безпеки для вибору:
- **EC2 ключова пара**: Це буде **SSH ключ**, який зможе отримати доступ до інстанцій EC2, що виконують додаток.
- **IAM профіль інстанції**: Це **профіль інстанції**, який матимуть інстанції (**привілеї IAM**).
- **EC2 ключова пара**: Це буде **SSH ключ**, який зможе отримати доступ до EC2 інстанцій, що виконують додаток.
- **IAM профіль інстанції**: Це **профіль інстанції**, який матимуть інстанції (**IAM привілеї**).
- Автоматично згенерована роль називається **`aws-elasticbeanstalk-ec2-role`** і має деякі цікаві доступи до всіх ECS, всіх SQS, DynamoDB elasticbeanstalk та elasticbeanstalk S3, використовуючи керовані політики AWS: [AWSElasticBeanstalkWebTier](https://us-east-1.console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSElasticBeanstalkWebTier), [AWSElasticBeanstalkMulticontainerDocker](https://us-east-1.console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSElasticBeanstalkMulticontainerDocker), [AWSElasticBeanstalkWorkerTier](https://us-east-1.console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSElasticBeanstalkWorkerTier).
- **Роль служби**: Це **роль, яку використовуватиме служба AWS** для виконання всіх необхідних дій. Наскільки мені відомо, звичайний користувач AWS не може отримати доступ до цієї ролі.
- Ця роль, згенерована AWS, називається **`aws-elasticbeanstalk-service-role`** і використовує керовані політики AWS [AWSElasticBeanstalkEnhancedHealth](https://us-east-1.console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/service-role/AWSElasticBeanstalkEnhancedHealth) та [AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy](https://us-east-1.console.aws.amazon.com/iamv2/home?region=us-east-1#/roles/details/aws-elasticbeanstalk-service-role?section=permissions)
@@ -64,7 +64,7 @@ aws-eks-enum.md
> [!WARNING]
> Якщо ви отримаєте **доступ на читання** до бакету, ви зможете **читати вихідний код** і навіть знайти **чутливі облікові дані** в ньому.
>
> Якщо ви отримаєте **доступ на запис** до бакету, ви зможете **модифікувати вихідний код**, щоб **компрометувати** **IAM роль**, яку використовує додаток наступного разу, коли він буде виконаний.
> Якщо ви отримаєте **доступ на запис** до бакету, ви зможете **змінити вихідний код**, щоб **компрометувати** **IAM роль**, яку використовує додаток наступного разу, коли він буде виконаний.
### Перерахування
```bash