전통적인 웹 애플리케이션 구조 : 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 인터넷으로 나가는것을 허용한다.
실습과정
'Backend > 정보보안' 카테고리의 다른 글
[정보보안] 방화벽(Firewall)의 3가지 유형과 특징 (2) | 2022.03.29 |
---|---|
[정보보안] Authentication중 Biometrics & Smartcard (0) | 2022.03.28 |
[정보보안] Authentication중 password (0) | 2022.03.28 |
[정보보안] 암호화 해쉬함수 설계시 고려 사항 (0) | 2022.03.25 |
[정보보안] 보안에서 Hash function이란? (0) | 2022.03.25 |