[0]
브라우저로 웹은 잘 되는데 (http://)
EC2에서 curl하면 timeout / 응답 없음
-
[1]
Architecture
EC2 on Public Subnet
IGW 연결 정상
SG는 정상
NACL을 보안 강화 한다고 직접 수정
-
[2]
NACL 설정 (문제 있는 상태)
# Inbound
ALLOW TCP 80
ALLOW TCP 443
DENY ALL
# Outbound
ALLOW TCP 80
ALLOW TCP 443
DENY ALL
-> 이 상태에서 웹 접속은 되는 것처럼 보인다
-
[3]
왜 브라우저 웹은 되는 것처럼 보이냐?
외부 사용자 -> EC2(웹 접속) 의 경우
Client: 203.0.113.10:52341
EC2: 10.0.1.10:80
curl은 아주 정직해서
curl http://example.com
- TCP 연결
- 응답 못 받으면 바로 timeout
브라우저는
- 재시도
- keep-alive
- 캐시
- CDN 중계
덕분에 초기 HTML 만 어찌어찌 보일 수 있음
하지만 내부적으로는 깨진 연결
-
[4]
EC2 -> 외부로 curl 할때 실제 패킷 흐름
curl https://google.com
google.com:443 -> EC2:10.0.1.10:49152
여기서 Inbound NACL에 TCP 1024-65535 허용x
응답 패킷 차단 -> curl 타임아웃
-
[5]
정답 설정
-> 수신, 응답 모두 Ephemeral Port 허용 체크
# NACL INBOUND
ALLOW TCP 80
ALLOW TCP 443
ALLOW TCP 1024-65535 ← 응답용 (중요)
DENY ALL
# NACL OUTBOUND
ALLOW TCP 80
ALLOW TCP 443
ALLOW TCP 1024-65535 ← 응답용 (중요)
DENY ALL
'[2] 250909~ 클라우드 > [b] 12월 : Terraform + Ansible' 카테고리의 다른 글
| [13] 보안 케이스 테스트 : NAT GATEWAY와 NACL 설정 (0) | 2025.12.26 |
|---|---|
| [12] 보안 케이스 테스트 : apt / yum 안되는 NACL 패턴 (0) | 2025.12.26 |
| [10] NACL 보안 케이스 테스트 : SSH (0) | 2025.12.26 |
| [9] RT, SG, ACL (0) | 2025.12.22 |
| [8] EC2 생성 및 pem키 로그인 (0) | 2025.12.20 |