corrections

This commit is contained in:
Jan Helak 2024-10-31 11:44:14 +01:00
parent 14ef03f6dc
commit 7a9b41a5df
2 changed files with 47 additions and 5 deletions

View File

@ -0,0 +1,41 @@
#!/bin/bash
# Variables
KEY_NAME="uam-bwc-key"
INSTANCE_TYPE="t2.micro"
SECURITY_GROUP_NAME="uam-bwc-sg"
AMI_ID="ami-0ddc798b3f1a5117e"
REGION="us-east-1"
# Generate SSH key pair
aws ec2 create-key-pair --key-name $KEY_NAME --query 'KeyMaterial' --output text --region $REGION > ${KEY_NAME}.pem
chmod 400 ${KEY_NAME}.pem
# Create security group
SECURITY_GROUP_ID=$(aws ec2 create-security-group --group-name $SECURITY_GROUP_NAME --description "Security group for uam-bwc EC2 instance" --query 'GroupId' --output text --region $REGION)
# Add rules to security group
aws ec2 authorize-security-group-ingress --group-id $SECURITY_GROUP_ID --protocol tcp --port 22 --cidr 0.0.0.0/0 --region $REGION
aws ec2 authorize-security-group-ingress --group-id $SECURITY_GROUP_ID --protocol tcp --port 80 --cidr 0.0.0.0/0 --region $REGION
aws ec2 authorize-security-group-ingress --group-id $SECURITY_GROUP_ID --protocol tcp --port 443 --cidr 0.0.0.0/0 --region $REGION
# User data script
USER_DATA_SCRIPT=$(cat <<EOF
#!/bin/bash
yum install -y httpd
systemctl start httpd
curl -O https://inspector-agent.amazonaws.com/linux/latest/install
sudo bash install
EOF
)
# Provision EC2 instance
INSTANCE_ID=$(aws ec2 run-instances --image-id $AMI_ID --count 1 --instance-type $INSTANCE_TYPE --key-name $KEY_NAME --security-group-ids $SECURITY_GROUP_ID --user-data "$USER_DATA_SCRIPT" --query 'Instances[0].InstanceId' --output text --region $REGION)
# Wait for the instance to be in running state
aws ec2 wait instance-running --instance-ids $INSTANCE_ID --region $REGION
# Get the public IP of the instance
INSTANCE_PUBLIC_IP=$(aws ec2 describe-instances --instance-ids $INSTANCE_ID --query 'Reservations[0].Instances[0].PublicIpAddress' --output text --region $REGION)
echo "EC2 instance is running. Public IP: $INSTANCE_PUBLIC_IP"

View File

@ -61,12 +61,13 @@ Content-Security-Policy-Report-Only: default-src 'none'; form-action 'none'; fra
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 w użyciem skryptu [uam-bwc-ec2-httpd.sh](skrypty/uam-bwc-ec2-httpd.sh).
2. Zmodifikuj ustawienia Security Group tak, aby zezwolić na dostęp do maszyny wirtualnej EC2 tylko z wybranego adresu IP.
3. Dołącz do maszyny EC2 przestrzeń dyskową EBS.
4. Wykonaj snapshot dla przestrzeni dyskowej EBS.
5. Uruchom usługę AWS Inspector dla maszyny wirtualnej EC2.
1. Uruchom maszynę wirtualną EC2 w użyciem skryptu [create-ec2-for-inspector.sh](skrypty/create-ec2-for-inspector.sh).
2. Uruchom usługę AWS Inspector i przeskanuj maszynę wirtualną EC2.
3. Zmodifikuj ustawienia Security Group tak, aby zezwolić na dostęp do maszyny wirtualnej EC2 tylko z wybranego adresu IP.
4. Dołącz do maszyny EC2 przestrzeń dyskową EBS.
5. Wykonaj snapshot dla przestrzeni dyskowej EBS.
6. Usuń maszynę wirtualną EC2 i sprawdź czy dane z przestrzeni dyskowej EBS są dostępne.
7. Zapoznaj się z [CIS Benchmarks List](https://www.cisecurity.org/cis-benchmarks) oraz [AWS Inspector](https://aws.amazon.com/inspector/).
## S3
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.