소개
보고용 애플리케이션은 다른 PostgreSQL 데이터베이스에서 합성 상점 주문을 읽습니다. 현재 External Probe도 이 데이터베이스에 도달할 수 있습니다. 불필요한 연결 경로를 닫으면서 보고 페이지를 유지해야 합니다.
이 Challenge는 독립 환경에서 시작합니다. Guided Lab에서 익힌 연결 시험, 경로 확인, 순서 있는 Gateway 규칙을 다른 주소 지도와 데이터베이스 포트에 적용하세요.
보고용 데이터베이스 보호하기
현재 상황
Order Page에서 보고 애플리케이션의 주문, 네트워크 지도, 실시간 연결 결과를 볼 수 있습니다. Report Client는 정상 애플리케이션 노드이며 External Probe는 불필요한 클라이언트입니다. Gateway가 전달 트래픽을 제어합니다. 컨테이너는 별도의 네트워크 네임스페이스를 가지며 하나의 인스턴스 커널을 공유합니다.
작업 범위
작동 중인 Gateway의 LAB_FORWARD 체인만 변경하세요. 경로, 주소, 자격 증명, 데이터베이스 설정, 애플리케이션 코드, 서비스는 바꾸지 마세요. 상위 FORWARD 체인은 이미 연결되어 있으며 일치하지 않는 트래픽을 거부합니다. 규칙은 이번 실습 세션 동안 유지되면 됩니다. 재부팅 후 영구 보존은 범위 밖입니다.
| 출발지 | 목적지 | 필요한 결과 |
|---|---|---|
Report Client 172.29.10.40 |
데이터베이스 172.29.20.15:5544 |
실제 PostgreSQL 조회 허용 |
External Probe 172.29.10.50 |
데이터베이스 172.29.20.15:5544 |
새 TCP 연결 차단 |
| 두 클라이언트 | 공개 상태 172.29.20.15:8001 |
허용 |
클라이언트의 다음 홉은 172.29.10.254이며 데이터베이스는 172.29.20.254를 통해 응답합니다. 고정 연결 정보는 사용자 shopapp, 비밀번호 training-only, 데이터베이스 shop, 테이블 orders, 열 id와 item입니다. tcp-probe ADDRESS PORT, ip route get ADDRESS, psql, curl은 배운 대로 사용할 수 있습니다. 보고용 애플리케이션도 같은 자격 증명을 사용합니다.
규칙 참고: -A는 끝에 추가, -s는 출발지, -d는 목적지, -p tcp는 프로토콜, --dport는 목적지 포트, -j는 동작을 지정합니다. -F CHAIN은 해당 체인만 비우고 -nvL CHAIN은 숫자 규칙과 카운터를 표시합니다. 응답에는 연결 추적이 필요합니다. 광범위한 거부가 좁은 허용 앞에 있으면 거부가 우선합니다.
목표
보고용 데이터베이스는 정상 클라이언트를 허용하고 External Probe의 새 TCP 연결을 거부해야 합니다. 보고 페이지와 공개 상태 서비스는 계속 작동해야 하며 데이터베이스와 자격 증명은 변경하지 않아야 합니다.
통과 기준
- Report Client가 고정 자격 증명으로
5544의 PostgreSQL을 통해 실제 행을 읽습니다. - External Probe는 해당 포트에 새 TCP 연결을 설정할 수 없습니다.
- External Probe는
8001에서 계속PUBLIC STATUS OK를 받고 보고 주문도 로드됩니다. - 변경 후 Order Page에서 만든
practice-2주문이 있으며 상품은Green tea입니다. 보고서나 스크린샷은 필요하지 않습니다.
힌트
예외에는 어떤 출발지를 사용하나요?
브라우저나 Gateway 주소가 아니라 실제 데이터베이스 연결을 여는 클라이언트를 사용하세요. 지도와 ip route get으로 출발지를 알 수 있습니다.
정상 트래픽이 왜 멈췄나요?
처음 일치한 규칙, 목적지 포트, 응답 처리를 비교하세요. 포트는 Guided Lab과 다릅니다. 오타가 나면 실습 체인을 다시 구성할 수 있습니다.
인증 오류가 차단을 증명하나요?
비밀번호 거부는 PostgreSQL에 도달했다는 뜻입니다. 금지 경로는 TCP 시험으로, 허용 경로는 실제 쿼리로 확인하세요. 공개 상태는 별도로 시험하세요.
요약
다른 클라이언트와 포트에 게이트웨이 필터링을 적용하고 데이터베이스 기반 보고와 공개 상태를 유지했습니다. 실제 허용·거부 시험이 결과를 증명합니다. 허용된 상태의 게이트웨이, 중단된 데이터베이스, 잘못된 비밀번호로는 목표를 달성할 수 없습니다.



