SK shieldus Rookies/최종 프로젝트 - 취약점 진단

[AWS] 인프라 - 네트워크, EC2 구축 | Ubuntu, Windows 서버 접속

su. 2024. 2. 29. 11:29

 

[AWS 네트워크 구축]

AWS 클라우드 아키텍처

 

1. VPC 생성

이름: vpc-final4

IPv4 CIDR 블록: 10.10.0.0/16

 

2. 인터넷 게이트웨이 생성

이름: final4-igw

 

3. VPC에 서브넷 생성

• public-subnet-final4-a

가용영역: ap-northeast-2a

IPv4 서브넷 CIDR 블록: 10.10.1.0/24

 

• private-subnet-final4-a

가용영역: ap-northeast-2a

IPv4 서브넷 CIDR 블록:  10.10.10.0/24

 

4. 라우팅 테이블 생성

• final4-public-a

public-subnet 연결

0.0.0.0/0 인터넷게이트웨이 라우팅 정책 추가

 

• final4-private-a

private-subnet 연결

 

5. Public Subnet에 NAT 게이트웨이 생성

이름: final4-nat

연결 유형: 퍼블릭

"탄력적 IP 할당" 버튼 클릭하여 생성 후 선택

NAT Gateway의 기능
내부 서버에 직접적으로 접근할 수 없도록 보안을 강화
Inbound: EC2의 퍼블릭 IP 주소로 들어온 요청은 NAT GW를 거쳐 EC2의 프라이빗 IP로 전달된다.
Outbound: EC2에서 외부로 나가는 트래픽의 출발지 IP 주소가 NAT GW의 EIP로 변경된다.

 

 

[AWS EC2 구축]

1. Bastion EC2

EC2 name : final4-bastion
AMI : Amazon Linux 2023 AMI
인스턴스 유형 : t2.micro
VPC : vpc-final4
Subnet : public-subnet-final4-a
퍼블릭 IP 자동 할당 : 활성화
보안그룹 : final4_public_sg | 0.0.0.0/0 SSH 22 port
스토리지 : 기본 8G
KeyPair : ~.ppk
기본 사용자 이름 : ec2-user

 

2. Private EC2

EC2 name : final4-private-backend
AMI : Ubuntu Server 22.04 LTS
인스턴스 유형 : t2.micro
VPC : vpc-final4
subnet : private-subnet-final4-a
퍼블릭 IP 자동 할당 : 비활성화
보안그룹 : final4_private_backend_sg | 0.0.0.0/0 SSH 22 port | 0.0.0.0/0 TCP 5000 port | 0.0.0.0/0 mysql 3306 port
스토리지 : 기본 30G
KeyPair : ~.ppk

기본 사용자 이름 : ubuntu

 

3. Public EC2

EC2 name : final4-public-frontend
AMI : Microsoft Windows Server 2019 Base
인스턴스 유형 : t2.micro
VPC : vpc-final4
subnet : public-subnet-final4-a
퍼블릭 IP 자동 할당 : 활성화
보안그룹 : final4_public_frontend_sg | 0.0.0.0/0 SSH 22 port | 0.0.0.0/0 HTTP 80 port | 0.0.0.0/0 RDP 3389 port
스토리지 : 60G
KeyPair : ~.ppk
기본 사용자 이름 : Administrator

 

 

[AWS EC2 인스턴스 서버 접속]

• Bastion EC2 (AWS Linux) 연결 / Private Backend EC2 (Ubuntu) 접속:

1) PuTTYgen으로 .ppk를 .pem으로 변환

2) FileZilla에서 Bastion 서버 연결 후 .pem 키를 Bastion 서버로 전송

 

3) PuTTY로 Bastion 서버 연결

Connection>SSH>Auth>Credentials

 > Private key file for authentication에 .ppk 키 등록

Session

 > HostName (or IP address) : Bastion 퍼블릭 IP | Port : 22 (ssh 기본설정)

세션 이름 설정 후 "Save" , Open

이후에는 저장한 세션을 클릭, "Load"한 뒤 바로 Open하여 연결 가능하다.

 

4) Bastion 서버에 올린 "/home/ec2-user" 디렉터리 내 "~.pem" 키를 권한 600(rw-)또는 400(r--)으로 설정 :

     chmod 600 [키페어 이름].pem
5) final4-private-backend EC2 연결 명령어:

     ssh -i [키페어 이름].pem [사용자이름ubuntu]@[Private EC2 - 프라이빗IP]

Backend EC2 (Ubuntu) 연결 완료

 

• Public Frontend EC2 (Windows) 접속:

1) 기본 접속정보 확인

EC2 > 인스턴스 >  연결 > final4-public-frontend EC2 우클릭 > 연결

 

 

RDP 클라이언트 > 암호 가져오기 > .pem 키 파일 업로드 > 암호 해독

** 아래 정보 확인

Public IP

사용자 이름: Administrator

암호: 해독된 암호 복사

 

2) 원격 데스크톱 연결

시작 > "원격 데스크톱 연결" 또는 "mstsc" 검색 (또는 [Window + R키] + "mstsc" 입력) 

1. 컴퓨터: 접속하려는 final4-public-frontend EC2 서버의 퍼블릭 IP

2. 연결

3. 사용자 자격 증명 입력

 - 사용자 이름: Administrator

 - 암호: 해독된 암호 붙여넣기

원격 컴퓨터의 ID를 확인할 수 없다는 인증서 오류 > "예" 선택

 

Frontend EC2 (Windows) 연결 완료