WAS/WebLogic

[보안] 웹 관리 콘솔 접속 제어

투칼론 2017. 5. 30. 09:10
반응형
보안상 이유로 WebLogic 관리 콘솔 접속 허용을 WAS 관리자 또는 특정 사용자에게만 허용하고자 하는 경우에는 방화벽을 활용할 수도 있지만, WebLogic에서 제공하는 보안 필터 클래스를 활용하여 설정할 수 있다. 
"weblogic.security.net.ConnectionFilterImpl" 클래스는 WebLogic에서 기본적으로 제공하는 클래스이고, 사용자가 커스텀 보안 필터를 개발하여 별도로 등록할 수도 있다. 


1. 설정 방법

1) 도메인명 > 보안(Security) > 필터(Filter) 메뉴를 선택한다.

2) Connection Filter 항목에 "weblogic.security.net.ConnectionFilterImpl"(기본 클래스)를 등록한다.

3) Connection Filter Rules 항목에 제어하고자 하는 규칙을 설정한다. 
   [예시] 193.1.x.x 대 IP를 가진 클라이언트에서만 7001 포트 접근을 허용한다.

 193.1.0.0/16  193.1.1.3 7001  allow


2. 필터 룰 사용법

   룰은 보통 아래와 같은 포맷으로 설정한다.

 targetAddress localAddress localPort action protocols 

  •  targetAddress : 한개 이상의 대상 시스템
  •  localAddress : WebLogic 인스턴스가 기동되어 있는 호스트 정보. 별표(*) 표시는 모든 로컬 주소를 의미함
  •  localPort : WebLogic 인스턴스가 Listening 하고 있는 로컬 포트를 의미함. 별표(*) 표시는 모든 포트를 의미함
  •  actions : allow 또는 deny와 같은 액션
  •  protocols : http, https, t3, t3s 등 프로토콜. 설정하지 않으면 모든 프로토콜에 해당됨


3. 연결 필터 룰 유형

   1) Fast 룰

       넷마스크와 함께 호스트명 또는 IP주소를 사용한다. 호스트명이 복 수개의 IP 주소와 매핑되면 멀티 룰이 적용된다. 넷마스크는 숫자 또는 도트(.) 형식으로 사용가능하다. 


예시1) test.example.net이 127.0.0.1의 포트 7001의 http와 https 프로토콜에 대해서만 접근을 차단(403 오류)한다. t3, t3s는 접근 가능하다. 

 test.example.net  127.0.0.1 7001 deny http https


예시2) test.example.net이 7001 포트로 Listen하는 127.0.0.1를 포함한 해당 시스템의 모든 IP 주소의 http와 https 프로토콜에 대해서 접근을 차단(403 오류)한다. t3, t3s는 접근 가능하다. 

 test.example.net  *  7001 deny http https


예시3) 23 비트 (255가 8비트 모두 1임)를 마스킹 한 주소에서만 접근을 허용한다.

 192.168.81.0/255.255.254.0   127.0.0.1 8001 allow   


    예시4) /16의 의미는 이진수에서 앞의 1이 16개 연속인 숫자와 마스킹한 주소에서만 접근을 허용한다. /16은 /255.255.0.0과 동일한 의미이다. 즉, 192.168.x.x 주소대역에서는 접근 가능하다는 의미이다.

    192.168.0.0/16   127.0.0.1 8002  allow

      성능을 위해서 호스트명보다는 IP 주소 사용을 권장한다.


         2) Slow 룰

             도메인명의 부분으로 적용된다. 연결 시에 DNS 찾는 시간이 필요하기 때문에 Fast 룰보다는 느리다. 

             아래 예시는 example.org 도메인명(예, a.example.org, b.example.org 등)에서 접근은 차단한다는 룰이다.

      *.example.org 127.0.0.1 7001 deny 


        3. 사용 예시

           특정 IP 대역 클라이언트에서만 WebLogic Admin Console 접속을 허용한다.

           아래 예제에서는 10.16.x.x  IP대역에서 접근가능하고, 나머지 클라이언트에서는 접근을 막는 예시이다.

         10.16.0.0/16   10.1.7.3    7001  allow

         *    10.1.7.3  7001  deny

        참고) 별표(*) 대신에 0.0.0.0/0 를 설정하면, 다른 서비스 포트까지 막을 수 있음에 주의해야 함