Skip to content

Spardoks/cloud_security

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Домашнее задание к занятию «Безопасность в облачных провайдерах»

Описание заданий

https://github.com/netology-code/clopro-homeworks/blob/main/15.3.md

Используя конфигурации, выполненные в рамках предыдущих домашних заданий, нужно добавить возможность шифрования бакета.


Задание 1. Yandex Cloud

  1. С помощью ключа в KMS необходимо зашифровать содержимое бакета:
  • создать ключ в KMS;
  • с помощью ключа зашифровать содержимое бакета, созданного ранее.
  1. (Выполняется не в Terraform)* Создать статический сайт в Object Storage c собственным публичным адресом и сделать доступным по HTTPS:
  • создать сертификат;
  • создать статическую страницу в Object Storage и применить сертификат HTTPS;
  • в качестве результата предоставить скриншот на страницу с сертификатом в заголовке (замочек).

Полезные документы:


Задание 2*. AWS (задание со звёздочкой)

Это необязательное задание. Его выполнение не влияет на получение зачёта по домашней работе.

Что нужно сделать

  1. С помощью роли IAM записать файлы ЕС2 в S3-бакет:
  • создать роль в IAM для возможности записи в S3 бакет;
  • применить роль к ЕС2-инстансу;
  • с помощью bootstrap-скрипта записать в бакет файл веб-страницы.
  1. Организация шифрования содержимого S3-бакета:
  • используя конфигурации, выполненные в домашнем задании из предыдущего занятия, добавить к созданному ранее бакету S3 возможность шифрования Server-Side, используя общий ключ;
  • включить шифрование SSE-S3 бакету S3 для шифрования всех вновь добавляемых объектов в этот бакет.
  1. *Создание сертификата SSL и применение его к ALB:
  • создать сертификат с подтверждением по email;
  • сделать запись в Route53 на собственный поддомен, указав адрес LB;
  • применить к HTTPS-запросам на LB созданный ранее сертификат.

Resource Terraform:

Пример bootstrap-скрипта:

#!/bin/bash
yum install httpd -y
service httpd start
chkconfig httpd on
cd /var/www/html
echo "<html><h1>My cool web-server</h1></html>" > index.html
aws s3 mb s3://mysuperbacketname2021
aws s3 cp index.html s3://mysuperbacketname2021

Выполнение заданий

Выполнение задания 1

Нужно создать бакет с шифрованным содержимым. Для этого нужно помимо бакета создать ключ в KMS и связать его с бакетом

Готовим окружение

https://github.com/Spardoks/Terraform.-Yandex-Cloud
https://github.com/Spardoks/TerraformIntro
https://github.com/Spardoks/cloud_network_configuration
https://github.com/Spardoks/cloud_network_balancer
# Terraform v1.11.4
# debian 12
# sa-profile admin for folder

Разворачиваем инфраструктуру (src)

yc config profile activate sa-profile
export YC_TOKEN=$(yc iam create-token)
export YC_CLOUD_ID=$(yc config get cloud-id)
export YC_FOLDER_ID=$(yc config get folder-id)
cp .terraformrc ~/.terraformrc
cat > personal.auto.tfvars << EOF
token        = "${YC_TOKEN}"
cloud_id     = "${YC_CLOUD_ID}"
folder_id    = "${YC_FOLDER_ID}"
EOF
terraform init
terraform validate
terraform plan
terraform apply

infra_created

Проверяем шифрование

wget "https://storage.yandexcloud.net/spardoks/picture.jpg"
curl -I -X HEAD "https://storage.yandexcloud.net/spardoks/picture.jpg"

encription_info

Чистим всё

terraform destroy

About

cloud_testing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages