SAG / ARCHITECTURE NOTE
수집기 SSRF 방어: 고객이 등록한 URL을 왜 그대로 요청하면 안 되는가?
사용자 제공 주소가 내부 서비스나 허용하지 않은 네트워크로 요청을 유도하지 못하게 하는 통제입니다. 정상처럼 보이는 주소도 리디렉션이나 이름 해석 후 내부 주소에 닿을 수 있습니다. 분석 편의성을 위해 네트워크 경계를 열면 테넌트 전체의 신뢰가 흔들립니다.
SSRF 방어란 무엇인가?
사용자 제공 주소가 내부 서비스나 허용하지 않은 네트워크로 요청을 유도하지 못하게 하는 통제입니다. 이 노트는 SSRF 방어를 기능 이름보다 입력·변환·출력의 책임으로 읽습니다. 분석 결과를 신뢰하려면 어떤 자료가 들어왔고, 무엇을 확인했으며, 어디까지 결론을 낼 수 있는지 이어져야 합니다.
왜 이 기술이 필요한가?
정상처럼 보이는 주소도 리디렉션이나 이름 해석 후 내부 주소에 닿을 수 있습니다. 분석 편의성을 위해 네트워크 경계를 열면 테넌트 전체의 신뢰가 흔들립니다.
설계 원리와 데이터 흐름
URL 정규화, 허용 프로토콜·호스트, 리디렉션 목적지와 내부 주소 차단을 각 요청 단계에서 점검합니다. 한 번의 문자열 검사만으로 정책을 완료했다고 볼 수 없습니다.
등록 URL → 네트워크 경계 검증 → 허용된 HTTP 요청
각 단계는 앞 단계의 성공을 다음 단계의 성과로 바꿔 부르지 않아야 합니다. 자료의 식별자와 기간, 검증 상태를 이어서 기록하면 누락과 오류가 생긴 위치를 찾고 다시 확인할 범위를 정할 수 있습니다.
SAG 아키텍처와의 연결
SAG의 도메인 등록과 수집은 허용된 출처를 기준으로 구성됩니다. 추가 수집 어댑터를 설계할 때도 동일한 네트워크 경계를 유지하는 것이 이 글의 확장 가이드입니다.
SAG의 운영 가치는 이 관계를 페이지와 질문, 비교 결과와 개선 작업으로 연결하는 데 있습니다. 고객은 숫자만 읽는 대신 보강할 대상과 판단 근거를 함께 검토할 수 있습니다. 추가 적용이 필요한 패턴은 해당 문단의 범위를 기준으로 읽어야 합니다.
설명용 예제와 판단 기준
설명용으로 외부 제품 주소가 내부 관리 주소로 리디렉션한다면 외부 주소의 최초 검증만 통과시켜서는 안 됩니다. 다음 목적지도 검증하거나 요청을 중단해야 합니다.
위 예제는 구조와 계산을 설명하기 위한 자료이며 특정 고객사의 실측 성과가 아닙니다. 실제 보고서에는 선택한 기간·대상·관측 조건과 원문 기록이 연결돼야 같은 판단을 다시 확인할 수 있습니다.
실무 검증 체크리스트
| 흐름 단계 | 확인할 항목 |
|---|---|
| 등록 URL | 리디렉션마다 목적지 재검증 |
| 네트워크 경계 검증 | 내부·루프백 주소 차단 확인 |
| 허용된 HTTP 요청 | 타임아웃과 응답 크기 제한 |
정상 입력뿐 아니라 비어 있는 자료, 중복 자료와 조건이 다른 자료에서도 같은 의미를 유지하는지 확인하세요. 검증 항목을 작업 완료 기준에 연결하면 기능 설명과 실제 운영의 차이를 줄일 수 있습니다.
한계와 적용 시 주의점
차단 정책은 실제 호스팅 네트워크와 DNS 환경에 맞춰 검증해야 합니다. 이 노트는 보호 설계 기준이며 모든 환경의 보안 인증을 의미하지 않습니다.
연구와 공식 문서
- OWASP SSRF 예방 가이드 — 사용자 입력이 만드는 서버 요청의 신뢰 경계를 검토하는 자료입니다.
외부 자료는 위 설계 주제의 배경이며 SAG의 모든 구현이나 고객 성과를 인증하는 자료가 아닙니다. 이 노트의 적용 해석과 설명용 예제는 SAG 운영 구조를 기준으로 정리했습니다. 자료 확인: 2026-10-06.
이어 읽기와 기능 확인
이 기술을 이어서 읽는 방법
HTML ZIP·사이트맵 → 정규화 → 페이지 버전 → 근거 기록을 따라갑니다.
SAG / KNOWLEDGE LINKS
