728x90
Tomcat DB 계정 암호화
Tomcat 서버의 DB정보에 관한 설정은 server.xml 및 context.xml 파일에 존재한다. 해당 정보에는 DB 접속에 필요한 ID와 Password가 있기 때문에 암호화되지 않는다면 계정 정보가 탈취될 가능성이 존재하여 계정 정보를 암호화 해야 한다.
Tomcat 자체적으로 DB 계정 암호화 기능을 제공하고 있지 않기 때문에 별도로 라이브러리를 만들어야 한다.
본 글에서 사용하는 라이브러리는 BASE64 인코딩 기준 라이브러리이다.
1. 기능 검증 환경
SW | Version |
Tomcat | 9.0.52 |
PostgreSQL | 15.0 |
OS | Ubuntu 22.0.4 LTS |
JAVA | JDK 11.0.21 |
2. Tomcat 설정
- 아래 첨부 파일(tomcat_encode.jar)을 ${TOMCAT_HOME}/lib 폴더안으로 복사
- server.xml 아래와 같이 설정, URL, UserName, PassWord 부분 BASE64로 인코딩
<GlobalNamingResources>
<Resource name="jdbc/postgresql" auth="Container"
type="javax.sql.DataSource"
factory="com.tmax.TmaxEncryptedDataSourceFactory"
jdbcInterceptors="nl.nlighten.prometheus.tomcat.TomcatJdbcInterceptor(logFailed=true,logSlow=true,threshold=1000,buckets=.01|.05|.1|1|10)"
driverClassName="org.postgresql.Driver"
maxActive="30"
maxIdle="30"
minIdle="10"
validationQuery="select 1"
validationInterval="300000"
validationQueryTimeout="5"
testWhileIdle="true"
url="amRiYzpwb3N0Z3Jlc3FsOi8vMTkyLjE2OC41My4yNDo1NDMyL2hmaQ=="
username="aW5uZXI=" password="aW5uZXI=" />
</GlobalNamingResources>
3. 첨부파일
728x90
'WAS > Tomcat' 카테고리의 다른 글
[Tomcat] 에러 모음집 (0) | 2024.05.13 |
---|