WebSphere Application Server v7.0, v8.0, v8.5 ํ๊ฒฝ์์ TLS 1.2 ํ๋กํ ์ฝ์ ํ์ฑํํ๊ธฐ ์ํ ์ต์ ์๊ตฌ ์ฌํญ(Fix Pack, JDK)์ ํ์ธํ๊ณ , WAS, IHS, Plugin ๊ฐ ๊ณ์ธต๋ณ ํ์ ์ค์ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํฉ๋๋ค. ํนํ ํ๋ฌ๊ทธ์ธ ์ฐ๊ฒฐ ์ ๋ฐ์ํ๋
GSK_ERROR_SOCKET_CLOSED์๋ฌ ํด๊ฒฐ๋ฒ์ ํฌํจํฉ๋๋ค.
1. ๋ฒ์ ๋ณ TLS 1.2 ์ง์ ํํฉ (Prerequisites)
TLS 1.2๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด WAS ๋ฒ์ ์ ๋ฐ๋ฅธ ์ต์ ํฝ์คํฉ(Fix Pack)๊ณผ JDK ๋ฒ์ ์ด ์ถฉ์กฑ๋์ด์ผ ํฉ๋๋ค.
| WAS Version | Minimum Fix Pack | Required SDK Version |
|---|---|---|
| v7.0 | 7.0.0.23 ์ด์ | SDK 6 SR10 FP1 ์ด์ |
| v8.0 | 8.0.0.3 ์ด์ | SDK 6.0.1 (J9 2.6) SR1 FP1 ์ด์ |
| v8.5 | 8.5.0.0 (๊ธฐ๋ณธ ์ง์) | SDK 6.0.1 (J9 2.6) SR2 ์ด์ |
WAS v7.0์ Java ๋ ๋ฒจ์์๋ TLS 1.2๋ฅผ ์ง์ํ์ง๋ง, ํจ๊ป ์ ๊ณต๋๋ Web Server Plugin(GSKit V7 ์ฌ์ฉ)์ TLS 1.2๋ฅผ ์ง์ํ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ v7.0 ํ๊ฒฝ์์ ์น ์๋ฒ ์ฐ๋ ๊ตฌ๊ฐ๊น์ง TLS 1.2๋ฅผ ์ ์ฉํ๋ ค๋ฉด Plugin ๋ชจ๋ ์ ๊ทธ๋ ์ด๋ ํน์ ์ํคํ ์ฒ ๊ฒํ ๊ฐ ํ์ํ ์ ์์ต๋๋ค.
2. WAS ์ค์ (Application Server)
๊ด๋ฆฌ ์ฝ์์์ SSL ์ค์ ์ ๋ณ๊ฒฝํ๊ณ , ๊ด๋ฆฌ ๋ช ๋ น(stop/sync) ์ํ์ ์ํด ํด๋ผ์ด์ธํธ ์ค์ ํ์ผ๋ ํจ๊ป ์์ ํด์ผ ํฉ๋๋ค.
1) ๊ด๋ฆฌ ์ฝ์ ์ค์ (QoP)
Security > SSL certificate and key management > SSL configurations ๋ฉ๋ด๋ก ์ด๋ํฉ๋๋ค. CellDefaultSSLSettings, NodeDefaultSSLSettings ๋ฑ ์ฌ์ฉ ์ค์ธ ๋ชจ๋ ์ค์ ์ ์์ ํฉ๋๋ค.
- ์ค์ ์ด๋ฆ ํด๋ฆญ (์: CellDefaultSSLSettings)
- ์ฐ์ธก์ Quality of protection (QoP) settings ํด๋ฆญ
- Protocol ๋๋กญ๋ค์ด ๋ฉ๋ด์์ TLSv1.2 ์ ํ
- ์ ์ฅ (Save)
2) ssl.client.props ์์ (์ค์)
์ด ์ค์ ์ ํ์ง ์์ผ๋ฉด WAS๊ฐ TLS 1.2๋ก ์ ํ๋ ํ, stopNode๋ syncNode ๊ฐ์ ๊ด๋ฆฌ ๋ช
๋ น์ด๊ฐ ๊ตฌํ ํ๋กํ ์ฝ๋ก ํต์ ์ ์๋ํ์ฌ ์คํจํ๊ฒ ๋ฉ๋๋ค.
- ๋์ ํ์ผ:
[PROFILE_HOME]/properties/ssl.client.props
# ํ์ผ ๋ด ํด๋น ๋ผ์ธ ์์
com.ibm.ssl.protocol=TLSv1.2
3) ์ฌ๊ธฐ๋ ๋ฐ ๋๊ธฐํ
์ค์ ์ ์ฉ์ ์ํด DMGR๋ถํฐ ์์๋๋ก ์ฌ๊ธฐ๋ํฉ๋๋ค.
# 1. ๋
ธ๋ ๋ฐ DMGR ์ค์ง
./stopNode.sh
./stopManager.sh
# 2. DMGR ๊ธฐ๋
./startManager.sh
# 3. ๋
ธ๋ ๋๊ธฐํ (์๋ ๋๊ธฐํ ๊ถ์ฅ)
./syncNode.sh [Dmgr_Host] [Dmgr_SOAP_Port] -username [ID] -password [PW]
# 4. ๋
ธ๋ ๊ธฐ๋
./startNode.sh
3. Web Server (IHS) ์ค์
IBM HTTP Server์ httpd.conf ํ์ผ์์ SSL ์ค์ ์ ๊ฐํํฉ๋๋ค.
<VirtualHost *:443>
SSLEnable
# TLS 1.2 ํ์ฑํ
SSLProtocolEnable TLSv12
# ์ทจ์ฝํ ํ์ ํ๋กํ ์ฝ ๋นํ์ฑํ
SSLProtocolDisable SSLv2 SSLv3 TLSv10 TLSv11
</VirtualHost>
4. Plugin ์ค์ (Troubleshooting)
WAS์ IHS๋ฅผ ๋ชจ๋ TLS 1.2๋ก ์ค์ ํ๋๋ฐ๋ http_plugin.log์ GSK_ERROR_SOCKET_CLOSED (gsk rc = 420) ์๋ฌ๊ฐ ๋ฐ์ํ๋ฉฐ ์ฐ๊ฒฐ์ด ์ ๋ ์ ์์ต๋๋ค. ์ด๋ ํ๋ฌ๊ทธ์ธ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ๋ณด์ ์์ค์ ์๊ฒฉํ๊ฒ ๊ฒ์ฌํ์ง ์์์ ๋ฐ์ํ๋ ํธํ์ฑ ๋ฌธ์ ์
๋๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ: StrictSecurity ์ ์ฉ
plugin-cfg.xml ํ์ผ์ ์ต์๋จ Config ํ๊ทธ์ ์์ฑ์ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
<Config StrictSecurity="true">
<Log LogLevel="Error" Name="..." />
...
</Config>
StrictSecurity="true" ์ค์ ์ ํ๋ฌ๊ทธ์ธ์ด WAS์ ํต์ ํ ๋ TLS ํ๋กํ ์ฝ์ ์๊ฒฉํ๊ฒ ์ค์ํ๋๋ก ๊ฐ์ ํ์ฌ, TLS 1.2 ํธ๋์์ดํฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
5. ๊ฒ์ฆ (Verification)
openssl ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ๊ฐ TLS 1.2๋ง ํ์ฉํ๋์ง ํ
์คํธํฉ๋๋ค.
# TLS 1.2 ์ ์ ์ฑ๊ณต ํ์ธ
openssl s_client -connect [Host]:9443 -tls1_2
# TLS 1.0 ์ ์ ์คํจ ํ์ธ (ํธ๋์์ดํฌ ์๋ฌ๊ฐ ๋์ผ ์ ์)
openssl s_client -connect [Host]:9443 -tls1