실시간으로 로거 레벨을 바꾸는 기능
161
작성한 질문수 38
[질문 내용]
1. 실시간으로 로그 레벨을 바꾸는 게 굉장히 신기한데 어떤 원리로 저게 가능한건가요?
강의에 나온 것처럼 POST 방식으로 보내서 로그 레벨 변경이 가능하다면 보안에 취약할 수도 있을 것 같다는 생각이 드는데(서비스를 운영하는 입장에서는 원치 않은 동작일 수도 있음) 보안을 강화하는 방법은 어떤 것이 있을까요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
H N님께서 질문해주신 [실시간으로 로거 레벨을 바꾸는 기능]에 대한 원리와 보안상의 고려 사항에 대해 말씀드리겠습니다.
실시간 로그 레벨 변경 원리:
실시간으로 로그 레벨을 변경하는 기능은 주로 로깅 구성을 동적으로 직접 조작하거나, 관리 UI를 통해 제어하는 방식으로 구현됩니다. Spring Boot에서는 Actuator를 통해 이 기능을 제공하며, POST 요청을 통해 로거의 레벨을 실시간으로 변경 가능하게 합니다. 이는 로깅 시스템이 클래스로더 등과 관련된 상태를 지속적으로 객체로 유지하고 있기 때문에, 설정 파일을 변경하지 않고도 동적인 변경이 가능합니다.보안 강화 방법:
- 인증 및 권한 부여: 관리 콘솔을 통해 로그 레벨을 변경할 수 있는 경우, 해당 요청이 신뢰할 수 있는 사용자로부터 온 것인지 확인하기 위해 반드시 인증 과정을 거쳐야 합니다. Spring Security 등을 사용하여 이러한 관리 요청에 접근 제한을 설정할 수 있습니다.
- IP 화이트리스트: 로그 레벨 변경 요청이 들어오는 IP를 제한하여, 특정 신뢰할 수 있는 네트워크에서만 접근할 수 있도록 설정할 수도 있습니다.
- HTTPS 사용: 데이터를 암호화하여 전송하기 위해 HTTPS 프로토콜을 사용하세요.
- 로그 기록: 로그 레벨 변경 요청 자체를 로그로 남기고 적절한 모니터링과 경고 시스템을 갖추어야 합니다.
- 인증 및 권한 부여: 관리 콘솔을 통해 로그 레벨을 변경할 수 있는 경우, 해당 요청이 신뢰할 수 있는 사용자로부터 온 것인지 확인하기 위해 반드시 인증 과정을 거쳐야 합니다. Spring Security 등을 사용하여 이러한 관리 요청에 접근 제한을 설정할 수 있습니다.
이와 관련하여 더 자세한 설명이 있는 기존 질문 게시글을 참고해 보시기 바랍니다:
- 스프링부트 3.x 로그관련
- 로그관련 리소스에 대해서 질문이 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
보안이 엄격한 데이터
0
73
1
MyProperties 자체를 클라이언트 코드에서 사용
1
43
1
http://localhost:8080/actuator/prometheus
0
85
3
jar 추가에대한 질문드려도될까요?
0
64
1
build.gradle bom link 변경
0
65
2
@Counted 초기화
0
47
1
@Validated를 적용해도 빈 검증이 안되는 경우에 대한 조치 공유..
0
101
2
springboot에서 actuator없이 micrometer를 사용할수 있나요?
0
67
1
@Configuration 질문드립니다.
0
84
2
[공유] 터미널 말고 IDE 에서 jar 실행하기
0
101
1
localhost:8080/hello-servlet 404오류
0
123
2
내장톰캣2 서블릿 톰켓 실행이 안됩니다
1
154
2
최대 Tomcat 스레드 수를 확인하는 지표
0
160
1
mac m2에서 startup.sh 실행후 아무 반응이 없습니다.
0
94
2
내장 톰캣 실행 오류 관련 질문드립니다.
0
158
1
스프링 발전 과정들도 자세히 알아둬야하나요??
1
127
1
스프링부트 ioc 컨테이너 갯수
0
89
1
404 페이지
0
133
3
actuator 호출시 타임스탬프 질문
0
90
1
순수 라이브러리 사용하기 2 - memory-v1
0
125
1
외부설정 @ConfigurationProperties의 내부 클래스에서 static을 사용하는 이유를 알고 싶습니다.
0
105
1
서블릿 컨테이너 초기화1 강의 관련 질문입니다~
0
93
1
Thread Config Max 패널 설정 변경 질문
0
128
1
스프링 액츄에이터 shutdown 엔드포인트 활성화가 안됩니다.
0
107
1





