[정보보안] AWS에서의 Security group 개념
전통적인 웹 애플리케이션 구조 : 3-Tier
- Web Server
- Application Server
- Database Server : Master와 Slave로 이중화 , 중요하므로 Tapes에서 백업을 해준다.
- LB (Load balance): Traffic을 분배해줌
방화벽
- Exterior Firewall : 첫단에서 방화벽 동작
- Backend Firewall : Application Server 이전에 한번더 방화벽이 동작한다.
AWS의 Web Hosting 구조
- 마찬가지로 3-Tier의 구조를 갖는다.
- Avaliablilty Zone - 가용영역 (지역별)이 구성되어 있음. ->중단없는 서비스를 이어나가기 위해 한곳에서 장애가 생겼을때 해결
- SLB : Software Load Balance
- Exteroior의 Firewall가 각각의 Web Server의 instance로 옮겨졌음.
- Backedn Firewall가 각각의 App Server instance로 옮겨졌음.
- 특별하게 Firewall이라는 장치를 사용할 필요가 없고, 각각의 인스턴스에 Security Group을 사용하여 방화벽 기능을 사용한다.
-전통적인 웹호스팅 모델과 달리 Firewall이 없다. 대신에 각각의 EC2 Host가 local Firewall을 갖는데, 이 local firewall기능을 수행하는 것이 Security Group이다. Security Group은 프로토콜, 포트, IP range를 설정하여 방화벽과 같은 기능을 해준다.
Security Group : Instance Level에서 제공
- EC2 인스턴스에 들어오고 나가는 것을 필터링 해준다.
- NACLs(Network Access Control list) : subnet level에서 제공한다
- inboud, outbound 룰을 지정해서 방화벽 기능을 수행한다.
- Allow rules만 저장하고, 그 외는 Deny한다. 예를들면, 아래와 같이 Inboud규칙을 정한다.
Example
예를들어 Web Server를 EC2로, DB Server를 RDS로 구축한다고 하였을때 Security Group 을 다음과 같이 구성하였다.
Web Server - public subnet / Security group : WebServerSG
DB Server - private subnet / Security group : DBServerSG
1. WebServerSG
Inbound
- 일반적으로 들어오는건 가능하게 해둠.
- 관리목적으로 22번 포트를 열어둠.
Outbound
- DB를 접근하는 Traffic - DBserverSG로 나가는 것을 허용 / mysql 3306
- 인터넷으로 나가는 부분 80, 443 (ex) api 사용, 소프트웨어 업데이트등 사용해야할 부분이 있으니깐.
참고할점 : outboud 80,443로 보내는 부분은 응답을 받는 Inbound받는 규칙이 없음.
=> respond는 정책에 상관없이 받아진다!
2. DBServerSG
Inbound
- webserver에서 오는걸 받아들임
- 관리목적으로 내 Pc에서 22번포트로 들어오는걸 허용한다.
Outbound
- 포트번호 80, 443 인터넷으로 나가는것을 허용한다.
실습과정
AWS Security group 지정하여 EC2 인스턴스 생성방법
1. AWS Key Pair생성 인증방식 2. Security Group 생성 3. EC2 생성 - Amazon Linux 2 AMI, SSD 사용 (Cent OS 호환되는 Linux) - t2.micro사용 -그대로 변경없이 진행 - 변경없이 진행 - 크기 30G이하이..
zeroco.tistory.com