1. Zapoznaj się z bazą podatności [Common Vulnerabilities and Exposures](https://cve.mitre.org/) oraz NIST [National Vulnerability Database](https://nvd.nist.gov/)
2. Zapoznaj się z opisem [CVE od firmy Red Hat](https://www.redhat.com/en/topics/security/what-is-cve)
2. Zapoznaj się z Modelami Wspólnej Odpowiedzialności:
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/).
Budowę polityki CSP można rozpocząć od następującej:
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?
1. Przygotuj własny bucket S3 w regionie *us-east-1*. Użyj własnego klucza w celu zaszyfrowania danych. Prześlij do bucketu dowolny plik. Ustaw wersjonowanie plików. Wrzuć plik do bucketa z taką samą nazwą ale inną zawartością.
4. Zapoznaj się z opcją replikacji danych pomiędzy regionami AWS - [Cross-Region Replication](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html).
## VPC
1. Przygotuj nową sieć VPC w regionie *us-east-1* z następującymi elementami:
- CIDR VPC: *10.10.0.0/16*;
- Internet Gateway przyłączony do VPC;
- Public Subnet: *10.10.0.0/24*;
- Private Subnet *10.10.1.0/24*;
- Nat Gateway dla podsieci prywatnej;
- Routing Table dla podsieci publicznej z trasą do Internet Gateway;
- Routing Table dla podsieci prywatnej z trasą do Nat Gateway;
- ACL dla podsieci publicznej z zezwoleniem na ruch HTTP i SSH;
2. Przygotuj maszynę wirtualną EC2 w przygotowanym VPC w podsieci publicznej.
1. Przygotuj ALB w regionie *us-east-1* z dwoma instancjami EC2. Skonfiguruj ALB tak, aby przekierowywał ruch na EC2 na porcie 80. Wykorzystaj skrypty do przygotowania VPC oraz EC2: [create-vpc.sh](skrypty/create-vpc.sh) i [create-ec2-in-vpc.sh](skrypty/create-ec2-in-vpc.sh).
2. Wygeneruj self-signed certyfikat TLS za pomocą [tej strony](https://regery.com/en/security/ssl-tools/self-signed-certificate-generator). Dodaj listener dla ALB na porcie 443 z wykorzystaniem własnego certyfikatu TLS.
3. Zapoznaj się z możliwością hostowania strony za pomocą [CloudFront oraz S3](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/GettingStarted.SimpleDistribution.html#GettingStartedCreateBucket)
4. Zapoznaj się z [AWS Lambda @ Edge](https://aws.amazon.com/lambda/edge/) oraz [CloudFront Functions](https://aws.amazon.com/blogs/aws/introducing-cloudfront-functions-run-your-code-at-the-edge-with-low-latency-at-any-scale/).
1. Przygotuj nową maszynę EC2, do której dostęp będzie możliwy z konsoli AWS za pomocą usługi EC2 Connect. Wykorzystaj domyślne VPC oraz region *us-east-1*.
- *Uwaga! Ze względu na organiczenia środowiska laboratoryjnego, nie mamy możliwości wykonania wszystkich kroków jakie są przedstawione w tutorialu. Należy stosować się do poniższych wskazówek:*
- Przygotuj Security Groups dla usługi EC2 Instance Connect - [link](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-tutorial.html#eic-tut1-task2)
- Przygotuj nową EC2 z dostępem do usługi EC2 Instance Connect - [link](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-tutorial.html#eic-tut1-task3)
- Połącz się z maszyną za pomocą EC2 Instance Connect.
2. Po zalogowaniu się na EC2, próbuj przygotować nowy bucket S3 za pomocą polecenia `aws s3api create-bucket --bucket <nazwa-bucketa-s3> --region us-east-1`. Następnie nadaj Rolę *LabInstanceProfile* i spróbuj ponownie wykonać polecenie.