X Powered By JBoss

JBoss 에서 X-Powered-By 헤더를 제거하고 서버 이름을 변경하는 방법

보안상의 문제로 사용하고 있는 서버의 종류를 알리는 것을 꺼리는 곳이 많아지고 있습니다. 공격자들은 서버의 종류와 버전을 알면 알려진 이슈들을 이용하여 서버를 공격하기 쉬워지기 때문일 것 입니다.
JBoss 에서는 아래와 같이 X-Powered-By 헤더를 사용하여 버전 정보를 표시하고 있습니다. Chrome의 막강한 디버깅 도구 F12를 사용하여 확인하면, Response Header에 “X-Powered-By: JSP/2.2″라고 버전 정보를 출력하고 있습니다. 또 “Server: Apache-Coyote/1.1″로 서버의 종류를 표시하고 있습니다.

JBoss EAP & Wildfly

JBoss EAP (wildfly) 튜닝 – ajp connector 에 대한 Thread Pool 생성하기

JBoss EAP6 (AS7) 의 웹 서브시스템은 클라이언트 요청에 대해서 스레드를 할당해 처리한다. 웹 서브시스템은 클라이언트의 요청을 수신하면 풀에서 대기 상태의 스레드를 할당하고 요청이 완료(클라이언트에의 응답 완료 시)되면 스레드 풀에 반환한다.
 
클라이언트 요청이 들어왔을 때 스레드 풀이 최대값에 도달하지 않는 경우 새로운 스레드를 생성하여 할당한다. 스레드 풀이 최대값에 도달한 경우에는 클라이언트와 연결되지 않는다. 클라이언트의 동시 접속 수는 이 스레드 풀의 최대값에 의해 결정된다. 스레드 풀은 커넥터마다 생성하여 관리한다. 
 
Http와 AJP 커넥터에서 사용자 요청을 처리하기 위해서는 미리 최대 사용자에 맞게 커넥터의 “Max Connections” 수와 thread 생성에 제한이 없는 unbounded-queue-thread-pool을 할당해 놓는다.
 
다음은  Http 커넥터에 unbounded-queue-thread-pool executor 를  설정하는 과정이다.