new materials for ec2 and ebs added

This commit is contained in:
Jan Helak 2024-10-18 14:01:36 +02:00
parent fe6f4ba732
commit e2cd1a379f
8 changed files with 126 additions and 4 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.DS_Store

BIN
notatki/03_owasp_http.pdf (Stored with Git LFS)

Binary file not shown.

BIN
notatki/04_certyfikaty_tls.pdf (Stored with Git LFS) Normal file

Binary file not shown.

BIN
notatki/05_ec2_ebs.pdf (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -49,6 +49,13 @@ backgroundImage: url('img/hero-background.svg')
---
# Nagłówek HSTP - Strict-Transport-Security (HSTS)
- [Strict-Transport-Security](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security) - wymusza korzystanie z protokołu HTTPS
- pozwala na określenie czasu, przez jaki przeglądarka będzie wymuszała korzystanie z HTTPS;
- próby wejścia za pomocą HTTP są automatycznie przekierowywane na HTTPS;
---
# Plik *robots.txt*
- [robots.txt](https://developers.google.com/search/docs/advanced/robots/intro) - plik tekstowy, który określa, które zasoby mogą być indeksowane przez boty
- Jest dostępny w postaci pliku tekstowego pod adresem `https://[domain address]/robots.txt`

View File

@ -0,0 +1,53 @@
---
marp: true
theme: gaia
backgroundColor: #fff
backgroundImage: url('img/hero-background.svg')
---
# </br></br></br>:shield: Certyfikaty TLS :shield:
---
# HTTPS - HyperText Transfer Protocol Secure
- [HTTPS](https://en.wikipedia.org/wiki/HTTPS) - wersja protokołu HTTP wykorzystująca szyfrowanie
- wykorzystuje protokół [TLS](https://en.wikipedia.org/wiki/Transport_Layer_Security) - Transport Layer Security
- wymaga certyfikatu TLS oraz klucza prywatnego
- certyfikat może być wystawiony przez [CA](https://en.wikipedia.org/wiki/Certificate_authority) - Certificate Authority lub samodzielnie
- wykorzystuje szyfrowanie symetryczne oraz asymetryczne
- zabezpiecza przez atakami typu *Man in The Middle*
---
# TLS - Transport Layer Security
- na początku połączenia odbywa się proces [TLS Handshake](https://en.wikipedia.org/wiki/Transport_Layer_Security#TLS_handshake)
- w trakcie procesu następuje:
- weryfikacja certyfikatu
- ustalenie algorytmów szyfrowania
- wymiana kluczy
- podczas wymiany danych, pakiety TCP są zaszyfrowane
---
# Certyfikat TLS
- certyfikat zawiera:
- klucz publiczny
- dane o właścicielu
- dane o CA
- datę ważności
- można go uzyskać samodzielnie lub za pośrednictwem CA
- może być pozyskany za darmo lub za opłatą
- opcja bezpłatna: [Let's Encrypt](https://letsencrypt.org/)
---
# Let's Encrypt
- [Let's Encrypt](https://letsencrypt.org/) - organizacja non-profit wystawiająca bezpłatnie certyfikaty TLS
- certyfikaty ważne są przez 90 dni
- aby pozyskać lub odnowić certyfikat, należy udowodnić, że jesteśmy właścicielem domeny, poprzez:
- dodanie określonego pliku do serwera
- dodanie rekordu DNS
- proces pozyskania oraz odnowienia certyfikatu może być zautomatyzowany poprzez narzędzie [Certbot](https://certbot.eff.org/)

42
notatki/md/05_ec2_ebs.md Normal file
View File

@ -0,0 +1,42 @@
---
marp: true
theme: gaia
backgroundColor: #fff
backgroundImage: url('img/hero-background.svg')
---
# </br></br></br>:shield: AWS EC2 :shield:
# :shield: AWS EBS :shield:
---
# EC2 - Elastic Compute Cloud
- [EC2](https://aws.amazon.com/ec2/) - lub inaczej Maszyna Wirtualna - jedna z najbardziej popularnych usług AWS
- AWS oferuje EC2 przystosowane do konkretnych zastosowań (np. obliczenia, grafika, uczenie maszynowe) - [rodzaje instancji](https://aws.amazon.com/ec2/instance-types/)
- Każda instancja składa się m.in. z obrazu AMI (Amazon Machine Image) oraz przestrzeni dyskowej EBS (Elastic Block Store)
- EC2 są skalowalne - można zmieniać moc obliczeniową i zasoby w zależności od potrzeb
---
# EC2 - Bezpieczeństwo
- Dostęp do instancji EC2 można zabezpieczyć poprzez:
- klucze SSH / hasła RDP
- ustawienia Security Groups
- konfigurację VPC (Virtual Private Cloud)
- ustawienia IAM (Identity and Access Management)
- konsolę AWS
- Aktualizacja systemu operacyjnego oraz zainstalowanego oprogramowania
- narzędzia zewnętrzne, np. [AWS Inspector](https://aws.amazon.com/inspector/)
---
# EBS - Elastic Block Store
- [EBS](https://aws.amazon.com/ebs/) - przestrzeń dyskowa dla instancji EC2
- EBS może być przystosowany do konkretnych zastosowań (np. IOPS, Throughput) - [rodzaje EBS](https://aws.amazon.com/ebs/volume-types/)
- EBS jest niezależny od instancji EC2
- EBS może być szyfrowany oraz podlegać ręcznym kopiom zapasowym lub w sposób automatyczny [AWS Backup](https://aws.amazon.com/backup/)
---
# Deklaracja dostępności (SLA) usług EC2 i EBS
- [AWS EC2 SLA](https://aws.amazon.com/ec2/sla/)
- [AWS EBS SLA](https://aws.amazon.com/ebs/sla/)

View File

@ -16,7 +16,7 @@
1. Zapoznaj się z konsolą AWS;
2. Przygotuj maszynę wirtualną EC2:
- region: *eu-central-1*;
- region: *us-east-1*;
- rodzaj obrazu: *Ubuntu Server 24.04 LTS*;
- rodzaj instancja: *t2.micro*;
- typ sieci: *domyślne VPC*;
@ -42,4 +42,17 @@
- [robots.txt](https://en.wikipedia.org/wiki/Robots.txt)
Sprawdź jakie nagłówki i zawartość pliku robots.txt są dostępne różnych stronach internetowych.
3. Za pomocą dodatków do przeglądarki WWW, np. [ModHeader](https://modheader.com/) spróbuj zbudować politykę CSP dla wybranej strony internetowej, np. [https://wmi.amu.edu.pl/](https://wmi.amu.edu.pl/)
4. Sprawdź co oznacza wartość `no-cache` w nagłówku `Cache-Control`.
4. Sprawdź co oznacza wartość `no-cache` w nagłówku `Cache-Control`.
## Certyfikaty TLS
1. Przygotuj certyfikat TLS za pomocą narzędzia [Let's Encrypt](https://letsencrypt.org/) dla serwera Apache na maszynie wirtualnej EC2.
2. Zapoznaj się z wartością certyfikatu TLS dla dowolnej strony obsługującej HTTPS, np. [Sejmu RP](https://www.sejm.gov.pl/) .
3. Przygotuj prywatny certifikat TLS za pomocą narzędzia [OpenSSL](https://www.openssl.org/). W jaki sposób taki certyfikat może być autoryzowany przez przeglądarkę WWW bądź system operacyjny?
## EC2 i EBS
1. Uruchom maszynę wirtualną EC2 z przestrzenią dyskową EBS. Wykorzystaj skrypt [skrypt instalacyjny](skrypty/uam-bwc-ec2-ebs.sh) do instalacji serwera Apache.
2. Zmodifikuj ustawienia Security Group tak, aby zezwolić na dostęp do maszyny wirtualnej EC2 tylko z wybranego adresu IP.
3. Zmodifikuj rozmiar przestrzeni dyskowej EBS na maszynie wirtualnej EC2.
4. Wykonaj kopię zapasową EB2 ręcznie.
5. Wykorzystaj usługę AWS Backup do automatycznej kopii zapasowej maszyny wirtualnej EC2.