웹어플리케이션서버2015. 6. 23. 15:31

웹서버를 띄울 때 root로 띄우게 되면 웹서버가 해킹을 당했을 때 root권한을 쥐고있기 때문에 보안상 취약한 문제가 있다.

 

하지만 웹포트는 80이고, SSL포트는 443인데, 리눅스 시스템에서는 1000번 이하 포트의 경우 ROOT계정에서만 제어할 수 있도록

 

제한하고 있다. 이를 해결하기 위해선 Tomcat을 8080, 8443으로 띄우고 아래와 같이 iptables 명령어를 이용해 프리라우팅하면 된다.

 

80->8080, 443->8443 라우팅설정


1. root 권한 접속
2. iptables 설정


#iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
#iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8443
#netstat -ntl or iptables -t nat -L
#iptables restart

 

3. server.xml 변경
<Connector
  maxSpareThreads='75'
  port='8080'
  proxyPort='80'
  enableLookups='false'
  maxThreads='150'
  connectionTimeout='20000'
  disableUploadTimeout='true'
  minSpareThreads='5'
  maxHttpHeaderSize='8192'
  redirectPort='443'
  acceptCount='200'
/>

<Connector
  SSLEnabled='true'
  keystoreFile='/path/to/keystore.jks'
  maxSpareThreads='75'
  port='8443'
  proxyPort='443'
  algorithm='SunX509'
  enableLookups='false'
  secure='true'
  maxThreads='150'
  connectionTimeout='20000'
  disableUploadTimeout='true'
  scheme='https'
  minSpareThreads='5'
  maxHttpHeaderSize='8192'
  sslProtocol='SSL'
  acceptCount='200'
  clientAuth='false'
/> 

Posted by 미랭군