Admin / Backoffice 서비스 Nginx 설정¶
Admin / Backoffice 서비스(관리자 페이지, 운영 콘솔, 내부 툴 등)를 제공하기 위한 Nginx 설정 기준 정의함. 일반 Web 서비스와 달리 보안 및 접근 통제가 중요한 Admin 서비스 특성을 반영함.
1. 적용 대상¶
- 관리자 페이지
- 운영 콘솔
- 내부 관리 도구
- 백오피스(Web 기반)
2. Admin 서비스 특성¶
Admin 서비스는 다음과 같은 특성을 가짐.
- 일반 사용자 대상 아님
- 접근 사용자 수 적음
- 기능 영향 범위 큼
- 보안 사고 시 피해 규모 큼
- 성능보다 접근 통제와 안정성이 중요함
3. 서비스별 필수 설정¶
3.1 요청 크기 제한¶
관리 기능 특성상 파일 업로드가 포함될 수 있음.
client_max_body_size 50m;
- 이미지 업로드, CSV 업로드 등 고려함
- 대용량 업로드는 별도 서비스 분리 권장함
3.2 Timeout 정책¶
Admin 요청은 Web보다 다소 여유 있으나
Git/SVN 수준의 장시간 연결은 필요하지 않음.
proxy_connect_timeout 10s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
- 관리 작업 중 과도한 대기 방지 목적
3.3 프록시 헤더 전달¶
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
- 관리자 활동 로그 정확성 확보 목적
4. 접근 제어 기본 원칙¶
Admin 서비스는 접근 제어가 필수임.
- 사내망 / VPN 전용 접근 권장함
- IP allowlist 또는 인증 정책 병행 권장함
- 접근 제어 세부 정책은 보안 문서에서 정의함
본 문서에서는 접근 제어 방식의 존재 원칙만 정의함.
5. 권장 server 설정 예시¶
server {
listen 443 ssl;
server_name admin.example.com;
client_max_body_size 50m;
location / {
proxy_pass http://ADMIN_BACKEND_UPSTREAM;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 10s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
}
}
6. 운영 점검 항목¶
- 외부 접근 로그 주기적 점검 필요함
- 관리자 계정 로그인 실패 빈도 모니터링 필요함
- 업로드 기능 사용 시 파일 크기 및 유형 점검 필요함
7. Admin 트래픽 특성 및 rate / connection limit 적용 기준¶
7.1 Admin 트래픽 특성¶
- 요청 빈도 낮음
- 연결 수 적음
- 사용자 행동 기반 트래픽
- 자동화 트래픽 거의 없음
7.2 rate / connection limit 적용 원칙¶
- rate limit은 완화된 값으로 적용
- connection limit은 낮은 값으로도 충분함
- 과도한 제한은 관리자 작업 방해 가능성 있음
7.3 일반적인 권장 수치 예시 (참고)¶
limit_conn conn_limit 5;
limit_req zone=req_limit burst=10 nodelay;
전제:
req_limit,conn_limitzone은 04-Nginx Global 설정 (공통 기반)에서 먼저 정의되어 있어야 함.
- Admin 서비스 기준 예시임
- 사용자 수가 매우 적은 환경 기준임
7.4 상황별 적용 예시¶
1) 사내 전용 Admin 서비스¶
- 목적: 기본 안정성 확보
- 권장 방향:
limit_conn: 5 ~ 10 수준limit_req: 매우 완화
2) 외부 접근 가능 Admin 서비스 (권장하지 않음)¶
- 목적: 최소한의 방어
- 권장 방향:
limit_conn: 3 ~ 5 수준- IP 제한 / MFA 필수
limit_req: 반드시 적용
8 정리¶
- Admin 서비스는 보안 우선, 성능 후순위임
- 접근 제어 없는 Admin 서비스는 운영 리스크 큼
- rate / connection limit은 보조적 안전장치임