본문 바로가기
카테고리 없음

✅ WebLogic 기반 Spring Boot 애플리케이션에서 Actuator 엔드포인트 관리 전략

by frontier12 2025. 5. 30.





1. 주요 Actuator 엔드포인트 목록 및 설명

Spring Boot Actuator는 다양한 시스템 진단용 정보를 엔드포인트 형태로 제공합니다. WebLogic에 배포된 Spring Boot 앱이라도 Actuator는 그대로 동작하지만, 보안 및 구조 특성상 접근 제한 전략이 중요합니다.

엔드포인트 기능 설명 권장 노출 여부
/actuator/health 애플리케이션의 상태 (DB, MQ, Disk 등) ✅ 헬스체크용으로 노출 가능 (인증 제한 포함)
/actuator/metrics 메모리, GC, 쓰레드, 커넥션풀, TPS 등 수치 지표 ⚠️ 보안 설정 필요
/actuator/env 환경변수, 프로퍼티 값 확인 ❌ 민감 정보 노출 위험
/actuator/configprops @ConfigurationProperties 속성 목록 ❌ 설정값 노출 가능성
/actuator/beans 등록된 모든 빈 정보 출력 ❌ 아키텍처 노출 위험
/actuator/mappings RequestMapping 전체 목록 출력 ❌ 경로 노출로 공격 위험 존재




2. WebLogic 내 Actuator Reverse Proxy 구성 시 주의사항

Spring Boot 내장 톰캣을 사용하지 않고 WebLogic 위에 .war로 배포된 경우, Actuator 엔드포인트는 WebLogic의 HTTP 설정이나 WebFilter를 통해 접근이 제한되어야 합니다.

📌 WebLogic에서 /actuator 경로 접근 허용 예시
• weblogic.xml 또는 WebLogic 콘솔에서 다음과 같은 필터 구성 필요:

<security-role-assignment>
  <role-name>Monitor</role-name>
  <principal-name>weblogic</principal-name>
</security-role-assignment>

• 또는 Spring Security에서 IP 대역 또는 Role 기반 화이트리스트 설정:

http
  .requestMatchers("/actuator/health", "/actuator/metrics").permitAll()
  .anyRequest().authenticated();




3. 운영환경에서 Actuator 안전하게 사용하기 위한 전략

항목 권장 설정
관리포트 분리 management.server.port=8081 + 내부망만 오픈
actuator base-path 변경 management.endpoints.web.base-path=/infra-monitor
헬스 체크만 외부 노출 include: health, 나머지는 exclude: 처리
HTTPS 전용 WebLogic 또는 Spring Security로 HTTPS만 허용
접근 제어 LDAP, Keycloak, OAuth2 기반 접근통제 적용 가능




4. WebLogic 자체의 관리용 REST API 대안

WebLogic 자체도 다음과 같은 RESTful 관리 API를 제공합니다. Spring Boot Actuator가 부족한 경우 보완적으로 사용 가능:

경로 예시 설명
/management/weblogic/latest/serverRuntime WebLogic 서버 실행 상태
/management/weblogic/latest/edit 도메인 구성 편집용
/management/weblogic/latest/domainRuntime/serverLifeCycleRuntimes 서버 생애주기 제어
/management/weblogic/metrics JMX 기반 Metrics

→ WebLogic REST API는 기본적으로 Authorization: Basic 인증 필요하며, readOnly 계정을 별도 생성하여 보안 확보 가능



✅ 결론
• Spring Boot Actuator는 WebLogic 위에서도 잘 작동하나, 운영환경에서는 반드시 보안 정책을 수립한 뒤 제한된 엔드포인트만 허용해야 합니다.
• WebLogic의 REST API와 병행 사용하면, 플랫폼·프레임워크 전반에 걸친 **관측성(observability)**을 확보할 수 있습니다.
• 특히 /actuator/configprops, /env, /beans 등은 보안사고 발생 시 정보 유출 가능성이 높으므로 기본 비활성화가 바람직합니다.