j_security_check 취약점 처리방법 관련문의
- 작성자 :
- 성*제
- 작성일 :
- 2024-09-09 16:08:05
- 조회수 :
- 605
- 구분 :
- 운영환경 / 기타
- 진행상태 :
- 완료
Q
j_security_check 취약점 으로 인한 문제
https://egovframe.go.kr/home/qainfo/qainfoRead.do?menuNo=69&qaId=QA_00000000000023504
에 관한 답변에서 "톰캣에서 테스트를 위해 제공하는 부분입니다."
라고 답변하셨는데 jboss 를 사용하는 환경에서도 동일한 문제가 발생합니다.
AI 에 문의한 결과는
" j_security_check는 Java EE 기반 웹 애플리케이션에서 기본적으로 사용되는 폼 기반 인증 메커니즘입니다. 이를 사용하지 않도록 설정하거나 대체하려면 인증 및 보안 설정을 변경해야 합니다. "
라고 하는데 제가 검색해본 결과도 톰켓에 국한되는 문제는 아니라고 보여지고 스프링 시큐리티에서 설정하여 정상적인 로그인 페이지로 보내거나 무시 할 수 있는 것으로 보여집니다.
저의 경우는 전자정부 프레임워크를 사용하지만 스프링 시큐리티를 사용하지 않는 환경에서 발생하고있는데 web.xml 설정쪽이나 스프링 시큐리티 설정쪽에서 로그인 페이지가 나오지 않도록 처리하는 방법은 없는지 문의 드립니다.
https://egovframe.go.kr/home/qainfo/qainfoRead.do?menuNo=69&qaId=QA_00000000000023504
에 관한 답변에서 "톰캣에서 테스트를 위해 제공하는 부분입니다."
라고 답변하셨는데 jboss 를 사용하는 환경에서도 동일한 문제가 발생합니다.
AI 에 문의한 결과는
" j_security_check는 Java EE 기반 웹 애플리케이션에서 기본적으로 사용되는 폼 기반 인증 메커니즘입니다. 이를 사용하지 않도록 설정하거나 대체하려면 인증 및 보안 설정을 변경해야 합니다. "
라고 하는데 제가 검색해본 결과도 톰켓에 국한되는 문제는 아니라고 보여지고 스프링 시큐리티에서 설정하여 정상적인 로그인 페이지로 보내거나 무시 할 수 있는 것으로 보여집니다.
저의 경우는 전자정부 프레임워크를 사용하지만 스프링 시큐리티를 사용하지 않는 환경에서 발생하고있는데 web.xml 설정쪽이나 스프링 시큐리티 설정쪽에서 로그인 페이지가 나오지 않도록 처리하는 방법은 없는지 문의 드립니다.
환경정보
-
- OS 정보 : oracle linux 8
- 표준프레임워크 버전 : 3.1.0
- JDK(JRE) 정보 : 1.8
- WAS 정보 : jboss
- DB 정보 : postgresql
- 기타 환경 정보 :
A
안녕하세요.
표준프레임워크 센터입니다.
j_security_check URL은 Java EE 표준으로
서블릿 컨테이너에서 제공되는 기본 보안 기능으로
JBoss와 Tomcat 모두 서블릿 컨테이너를 기본적으로 탑재하고 있어
동일한 문제가 발생할 수 있습니다.
스프링 시큐리티에서 j_security_check을 대체할 커스텀 로그인 처리를 구현하거나
web.xml에서 <login-config> 블럭 관련 설정을 제거하는 방식을 통해
j_security_check 페이지가 나오지 않도록 처리할 수 있습니다.
이때 {Tomcat 홈디렉토리}/conf 경로 에서 권한 및 사용자 제거
tomcat-users.xml 파일에서 다음 태그 제거하여
<role ~~~/> <user ~~~/>
권한 및 사용자를 제거하시는게 좀더 안전할 것으로 보입니다.
다만 j_security_check로 인증을 사용하시는 경우
대체할 별도의 인증 프로세스가 없는 경우
사용자가 어플리케이션의 모든 리소스에 접근할 수 있게 될 가능성이 높아지므로
반드시 추가적인 설정이 필요할 수 있습니다.
감사합니다.
표준프레임워크 센터입니다.
j_security_check URL은 Java EE 표준으로
서블릿 컨테이너에서 제공되는 기본 보안 기능으로
JBoss와 Tomcat 모두 서블릿 컨테이너를 기본적으로 탑재하고 있어
동일한 문제가 발생할 수 있습니다.
스프링 시큐리티에서 j_security_check을 대체할 커스텀 로그인 처리를 구현하거나
web.xml에서 <login-config> 블럭 관련 설정을 제거하는 방식을 통해
j_security_check 페이지가 나오지 않도록 처리할 수 있습니다.
이때 {Tomcat 홈디렉토리}/conf 경로 에서 권한 및 사용자 제거
tomcat-users.xml 파일에서 다음 태그 제거하여
<role ~~~/> <user ~~~/>
권한 및 사용자를 제거하시는게 좀더 안전할 것으로 보입니다.
다만 j_security_check로 인증을 사용하시는 경우
대체할 별도의 인증 프로세스가 없는 경우
사용자가 어플리케이션의 모든 리소스에 접근할 수 있게 될 가능성이 높아지므로
반드시 추가적인 설정이 필요할 수 있습니다.
감사합니다.