PFSENSE HAproxy with Exchange Server
오픈소스 FreeBSD 기반 pfsense 방화벽 및 IPS/IDS 그리고 ReversProxy를 통합적으로 구현할수 있는 제품으로 익스체인지 서버 앞단에 설정했습니다. 그전까지는 SSL ReversProxy는 아파치 서버로 사용했었는데 HAproxy 가 이 모든 부분을 해결할수 있게 하였습니다. 초기에 문제점이 있어서 여기저기 구글에 검색해봤지만 아웃룩에서 자격증명 무한인증창 이슈에서 해결이 되지 않았었습니다. 아파치는 msrpc 모듈을 별도로 설치를 하면 이부분이 해결이 되었었는데 HAProxy는 이부분이 안되어서 고민을 많이 하게 되었습니다. OWA나 웹에서는 전혀 문제가 되지 않았는데 아웃룩 접속이 문제였었습니다. 원인은 아래 그림처럼 httpclose 옵션 때문이였습니다. http-keep-alive를 기본값으로 하지 않은데서 발생한 익스체인지 자격증명 무한인증 현상이였습니다.
http-keep-alive 를 사용하지 않으면 실제 서버단은 바로 close 상태가 되고 tcp 상태값은 TIME_WAIT 상태였다가 세션이 종료되버립니다. 웹서비스 상태에서는 문제가 되지 않는데 익스체인지는 이부분에 바로 인증세션까지 같이 날라가버리는 상태가 되는거 같습니다.
추가로 백엔드 설정에서 Transparent ClientIP 옵션을 사용하면 원격지 클라이언트 IP를 바로 프록시 하위단으로 세션을 보내줄수 있습니다. 대부분 헤더에 forwardfor 옵션을 사용해서 로그만 기록하게 했었는데 이렇게 되면 실시간 접속 세션이나 TCP 연결상태를 모니터링 하기가 어려웠습니다. 그리고 서버단에서 실제 IP를 매칭해서 사용해야되는 경우도 있습니다.