'WAS'에 해당되는 글 2건

[JEUS] Server 정보 노출

WAS 2016. 9. 12. 14:25
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

개발자 도구(F12)를 통해 네트워크 응답헤더 를 보면 Server정보가 담겨져 있는 경우가 있음. 보안문제 이기 때문에 Server정보를 삭제한다.


[JEUS]

/home/tmax/jeus6/config/ 경로쯤에 JEUSMain.xml 파일에 있다.


 <command-option>
    ....... -Djeus.servelet.response.header.serverInfo=false
</command-option>


해당 옵션을 추가한다.




'WAS' 카테고리의 다른 글

[Tomcat] 톰캣 SSL 설정  (0) 2015.06.25
블로그 이미지

겐타쓰

,

[Tomcat] 톰캣 SSL 설정

WAS 2015. 6. 25. 18:16
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


1. 관리자권한으로 CMD 실행


2. Jdk bin 위치로 이동



3. keytool -genkey -alias SONG(이름) -keyalg RSA -keystore SONG(이름)를 치고 설정 처리.(
keytool -certreq -alias ssltest -keyalg RSA -file csr.txt -keystore ssltest csr파일 생성은 안해도 되는듯)



4. bin 폴더에 keystore 생성 확인



5. 프로젝트 web.xml 에 아래 내용을 추가(url-pattern 주의)


<filter>
        <filter-name>SslForwardFilter</filter-name>
        <filter-class>egovframework.com.cmm.filter.SecureFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>SslForwardFilter</filter-name>
  <url-pattern>/*</url-pattern>
    </filter-mapping>


6. server.xml 에 Connector 추가


<Connector SSLEnabled="true" clientAuth="false" keystoreFile="${user.home}/.keystore" keystorePass="keystore 비번" maxThreads="150" port="443" protocol="org.apache.coyote.http11.Http11Protocol" scheme="https" secure="true" sslProtocol="TLS"/>



7. SecureFilter 클래스 doFilter 메소드에 경로에 따라 ssl 인증설정


@Override
 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
  HttpServletRequest req = (HttpServletRequest) request;
  HttpServletResponse res = (HttpServletResponse) response;
  
  String httpPort = "8080";
  String httpsPort = "443";
  boolean isSecure = request.isSecure ();
  String domain = req.getServerName();
  System.out.println("req.getServerName()=" + req.getServerName());
  /*
  if("/login".equals(req.getServletPath())){
   System.out.println("https://"+domain+":"+httpsPort+req.getServletPath());
   res.sendRedirect("https://"+domain+":"+httpsPort+req.getServletPath());
   return ;
  }
  */
  if("/validator.do".equals(req.getServletPath())){
   chain.doFilter(request, response);
  }else if("/signup".equals(req.getServletPath())
   || "/signup/guide".equals(req.getServletPath())
   || "/find/users".equals(req.getServletPath())
   || "/find/usersId".equals(req.getServletPath())
   || "/support/register".equals(req.getServletPath())
   || req.getServletPath().indexOf("/users/") > -1
   ){ 

   if (isSecure) {
    chain.doFilter(request, response);
   }else {
    //System.out.println("https://"+domain+":"+httpsPort+req.getServletPath());
    res.sendRedirect("https://"+domain+":"+httpsPort+req.getServletPath());
    return;
   }
  }else{
   if (isSecure) {
    //System.out.println("http://"+domain+":"+httpPort+req.getServletPath());
    res.sendRedirect("http://"+domain+":"+httpPort+req.getServletPath());
    return;
   }else {
    chain.doFilter(request, response);
   }
  }
 }



6. url이 잘 변환 되는지 확인.






'WAS' 카테고리의 다른 글

[JEUS] Server 정보 노출  (0) 2016.09.12
블로그 이미지

겐타쓰

,