JEUS 버전 별 SameSite 설정 방식에 차이가 있지만 제대로 정리되어 있는게 없어서 직접 테스트해서 작성한 글입니다..

 

웹 브라우저에 따라 쿠키 정책이 다른데 오래된 정보들이 많아서 브라우저 별 쿠키정책 확인이 필요하다!


Chrome

2020.02.04 크롬 80 이후 버전 부터 None -> Lax 변경

chrome://flags/same-site-by-default-cookies Enabled -> 언제적 정보인지 모르겠다. 없어진 듯

 

Edge

Edge 또한 Lax로 변경됨

edge://flags/same-site-by-default-cookies  -> 없어짐

 

Internet Explorer

Default : None


JEUS 6.x / JEUS 7.4 / JEUS 8#Fix0

Default -> samesite 설정 자체가 없으므로 SameSite 설정 옵션을 넣어줘야 한다.

JEUS patch 파일 필수 -> Patch FIle Download: https://technet.tmaxsoft.com/

 

https://technet.tmaxsoft.com/

 

technet.tmaxsoft.com

 

1.1 JEUSMain 설정 
jvm option -> samesite 옵션 설정

-Djeus.servlet.response.cookie.useSameSite=true
-Djeus.servlet.response.cookie.sameSite=None



 

1.2 WEBMain
secure -> true 설정

2. WEBMain
secure -> true 설정

<?xml version="1.0"?>
<web-container xmlns="http://www.tmaxsoft.com/xml/ns/jeus" version="6.0">
    <context-group>
        <group-name>MyGroup</group-name>
        <webserver-connection>
            <webtob-listener>
                <listener-id>webtob1</listener-id>
                <port>7700</port>
                <output-buffer-size>8192</output-buffer-size>
                <thread-pool>
                   <min>10</min>
                   <max>10</max>
                   <step>1</step>
                   <max-idle-time>30000</max-idle-time>
                </thread-pool>
                <webtob-address>mspark</webtob-address>
                <registration-id>svr1</registration-id>
                <disable-pipe>true</disable-pipe>
            </webtob-listener>
        </webserver-connection>
        <logging>
            <access-log>
                <handler>
                    <file-handler>
                        <name>handler1</name>
                        <valid-day>1</valid-day>
                    </file-handler>
                </handler>
            </access-log>
        </logging>
    </context-group>
  <session-config>
        <session-cookie>
                <secure>true</secure>
        </session-cookie>
  </session-config>
</web-container>

 


JEUS 7#Fix5, JEUS8#Fix1 JEUS8.5

통합 패치파일을 “$JEUS_HOME/lib/jext” 업로드 후 webadmin에서 설정

 

2.1 Webadmin

Servers > 서버선택 > Engine > Web Engine > Session Config > 고급 선택사항 > SameSite 설정

2.2 MS Container JVM Option

-Djeus.servlet.response.cookie.useSameSite=true

 

JEUS Encryption (암호화)?

  • JEUS 설정 파일에 기록해야 하는 패스워드값에 대해 암호화를 지원한다.
  • 데이터베이스 패스워드, accounts.xml 계정들의 패스워드의 경우 일반 문자열 대신 암호화된 문자열로 적을 수 있도록 하는 것이다. 
  • 이러한 암호화된 문자열을 사용하기 위해서는 JEUS가 제공하는 암호화 툴(Encryption Tool)을 사용해야 한다.
  • JEUS를 기동시키거나 중지시킬 때, dsboot와 dsdown 명령어를 만들어서 간편하게 서버를 기동시키고 중지시킬 수 있다.
  • 이때, dsboot와 dsdown에 들어가는 명령어에 user 와 password가 필요한데, 직접 작성 (plain) 하여 입력하면 보안취약점에 걸리므로 Encryption 을 통해 암호화하여 작성한다.
  • 암호화하는 방법은 JEUS 버전마다 다르며, 암호화 알고리즘도 다르기 때문에 버전 별 맞는 Encryption 방식을 사용해야 한다.

1. JEUS6

사용 가능한 Encryption Algorism

base64 SHA
DES DESede
AES SEED
Blowfish  
cd $JEUS_HOME/config/`hostname`/security/SYSTEM_DOMAIN

accounts.xml 파일 확인

cd $JEUS_HOME/config/`hostname`/security

security.key  파일 확인

cd $JEUS_HOME/config/`hostname`/security 경로에서 Encryption

encryption [암호화 방식] [암호화 할 패스워드]

ex) encryption aes jeusadmin

result)
[aes] : [jeusadmin] --> [encode:uqU7wAovceZYujA/YXlqQd+f118rPeA7ebtPuutf3b0=]
[aes] : [uqU7wAovceZYujA/YXlqQd+f118rPeA7ebtPuutf3b0=] --> [decode:jeusadmin]

암호화된 패스워드를 복사하여 accounts.xml의 <password></password>에 삽입

ex)
vi accounts.xml
..
#{암호화 알고리즘}{암호화된 패스워드}
<password>{AES}uqU7wAovceZYujA/YXlqQd+f118rPeA7ebtPuutf3b0=</password>
..

2. JEUS7

사용 가능한 Encryption Algorism

base64 DES
DESede AES
SEED Blowfish
SHA SHA-256
SHA512  

 

##JeusEncode File 생성##

cd $JEUS_HOME/bin 이동

encryption [암호화 방식] [id]:[password]

ex) encryption aes administrator:jeusadmin

result)
[aes] : [administrator:jeusadmin] --> [encode:5300CyLYDtzxfTUScQbuj0H0DS357E3XuBlu22k1ovZq92Pf0uPxKWhKw+hhPbGh]
[aes] : [5300CyLYDtzxfTUScQbuj0H0DS357E3XuBlu22k1ovZq92Pf0uPxKWhKw+hhPbGh] --> [decode:administrator:jeusadmin]

$JEUS_HOME/bin 내에 jeusEncode 파일 생성
vi jeusEncode
##jeusEncode 파일 내용
#ex)
 #---------------------------------------------------------------------------------------------------------------------------------
jeus_domain:adminServer 5300CyLYDtzxfTUScQbuj0H0DS357E3XuBlu22k1ovZq92Pf0uPxKWhKw+hhPbGh
jeus_domain:server1 5300CyLYDtzxfTUScQbuj0H0DS357E3XuBlu22k1ovZq92Pf0uPxKWhKw+hhPbGh
localhost:10000 5300CyLYDtzxfTUScQbuj0H0DS357E3XuBlu22k1ovZq92Pf0uPxKWhKw+hhPbGh
localhost:10010 5300CyLYDtzxfTUScQbuj0H0DS357E3XuBlu22k1ovZq92Pf0uPxKWhKw+hhPbGh
#---------------------------------------------------------------------------------------------------------------------------------
##accounts.xml 파일 수정##
cd $JEUS_HOME/config/`hostname`/security/SYSTEM_DOMAIN

accounts.xml 파일 확인

cd $JEUS_HOME/config/`hostname`/security

security.key  파일 확인

cd $JEUS_HOME/config/`hostname`/security 경로에서 Encryption

encryption [암호화 방식] [암호화 할 패스워드]

ex) encryption aes jeusadmin

result)
[aes] : [jeusadmin] --> [encode:uqU7wAovceZYujA/YXlqQd+f118rPeA7ebtPuutf3b0=]
[aes] : [uqU7wAovceZYujA/YXlqQd+f118rPeA7ebtPuutf3b0=] --> [decode:jeusadmin]

암호화된 패스워드를 복사하여 accounts.xml의 <password></password>에 삽입

ex)
vi accounts.xml
..
#{암호화 알고리즘}{암호화된 패스워드}
<password>{AES}uqU7wAovceZYujA/YXlqQd+f118rPeA7ebtPuutf3b0=</password>

3. JEUS8 / 8.5

#명령어로 확인 가능
encrypion -algolist

사용 가능한 Encryption Algorism

base64 DES

base64 DES
DESede SEED
Blowfish SHA -1
SHA 256 SHA 384
SHA 512 AES 128
AES 192 AES 256
##JeusEncode File##

cd $JEUS_HOME/bin 이동

encryption -keypath [security.key 파일 경로] [암호화 방식] [ID 문자 수]:[ID][Passowrd]

ex) encryption -keypath /home/jeus8/jeus8/bin aes 8:wasadminjeusadmin1!

result)
[aes] : [8:wasadminjeusadmin1!] --> [encode:kgquD/cnw/HgCpk/Kl19yN3phNSAiGYFHEtAF/A0CMtOqhCJ+jFOsSybdnluoimQ]
[aes] : [kgquD/cnw/HgCpk/Kl19yN3phNSAiGYFHEtAF/A0CMtOqhCJ+jFOsSybdnluoimQ] --> [decode:8:wasadminjeusadmin1!]

$JEUS_HOME/bin 내에 jeusEncode 파일 생성
vi jeusEncode
##jeusEncode 파일 내용
#ex)
 #---------------------------------------------------------------------------------------------------------------------------------
jeus_domain:wasadmin kgquD/cnw/HgCpk/Kl19yN3phNSAiGYFHEtAF/A0CMtOqhCJ+jFOsSybdnluoimQ
#---------------------------------------------------------------------------------------------------------------------------------
##accounts.xml 수정##

cd ${JEUS_HOME}/domains/${DOMAIN_NAME}/config/security/SYSTEM_DOMAIN

accounts.xml 파일 확인

cd ${JEUS_HOME}/domains/${DOMAIN_NAME}/config/security

security.key  파일 확인

cd ${JEUS_HOME}/domains/${DOMAIN_NAME}/config/security 경로에서 Encryption

encryption -keypath [security.key 파일 경로] [암호화 방식] [Passowrd]

ex) encryption -keypath ./ aes jeusadmin1!

result)
[aes] : [jeusadmin1!] --> [encode:blSCRdxhUXyEEs6JnnbMlajckjpJzQWzsPQL+Oar7mY=]
[aes] : [blSCRdxhUXyEEs6JnnbMlajckjpJzQWzsPQL+Oar7mY=] --> [decode:jeusadmin1!]

암호화된 패스워드를 복사하여 accounts.xml의 <password></password>에 삽입

ex)
vi accounts.xml
..
#{암호화 알고리즘}{암호화된 패스워드}
<password>{AES}blSCRdxhUXyEEs6JnnbMlajckjpJzQWzsPQL+Oar7mY=</password>

 

'MiddleWare > JEUS' 카테고리의 다른 글

[JEUS] Unsupported major.minor version xx.0  (0) 2023.12.05
[JEUS] JEUS 버전 별 SameSite 설정  (0) 2023.11.06
[JEUS] JEUS Log 경로 변경 방법  (0) 2023.05.09
[JEUS] AdminServer SHUTDOWN 현상  (0) 2023.05.03
[JEUS] Jeus Scheduler 설정  (0) 2023.03.30

이슈 사항 : Jeus에서 CSS 파일이 로딩되지 않음

 

Internet Explorer에서는 정상 로딩, 기타 브라우저(FireFox, Chrome, Safari ..)에서는 로딩되지 않음

 

원인 : IE는 css의 MIME-TYPE을 확인하지 않고 로딩하여 문제가 없음

IE가 아닌 브라우저는 MIME-TYPE을 확인하여 로딩하기 때문에 TYPE이 text/css가 아니면 로딩하지 않는다.

 

해결 방법 : 해당 컨테이너 webcommon.xml 설정 변경 또는 추가

 

##jeus5,6##

webcommon.xml 위치 : 

jeus6

 

##jeus7,8##

webcommon.xml 위치 : /JEUS 설치 경로/domains/jeus_domain/config/servlet

jeus8


#css mime-mapping 추가 또는 mime-type 변경#
<mime-mapping>
        <extension>css</extension>
        <mime-type>text/css</mime-type>
</mime-mapping>     

 

JEUS 6.0.0.9 주요 변경 사항

  • JDK 1.7 지원
  • JEUS 내장 WebtoB 버전 변경 (4.1.4.0 -> 4.1.5.3)
  •  JEUS-WebtoB 간 연결 시 SSL 통신을 이용할 수 있는 기능 추가
  • jeus-ejb-dd vendor type 에 TIBERO 추가
  • Engine Container 실행 시 Java Command 앞에 먼저 임의의 명령어를 수행시킬 수 있는 기능 추가
  • 하나의 JDBC connection pool 을 복수의 서로 다른 User 별로 Service 할 수 있는 기능 추가
  • WebAdmin suspend/resume 기능 추가

업그레이드 절차

1. 기존 JEUS 백업

업그레이드 실패할 경우를 대비하여 기존 Jeus Server 백업 진행한다.

외부 application의 경우 변경이 가해질 수 있다.

기존 JEUS 디렉토리를 tar File 로 압축해놓기
*log가 많이 쌓여있을 경우, 파일 크기가 어마어마하게 커지므로 로그도 같이 백업해야 하는 지 물어보기*


2. JEUS 6 설치 및 패치 

JEUS 6 설치, 설치 후 기본 설정들은 업그레이드 시 불필요하므로, 백업 또는 삭제한다.

JEUS 6 설치 후 최신 패치를 적용시켜준다. (webadmin.war, jext)


3. 환경변수 설정

  • Windows 환경
    CMD에서 "set" 명령을 사용하거나 [제어판] ->[시스템 및 보안]->[시스템]->[고급 설정]->[환경변수] 에서 확인할 수 있다.
    환경변수 Path는 다음의 정보를 포함하고 있어야 JEUS 6를 수행할 수 있다.
    C:\TmaxSoft\JEUS6\bin;
    C:\TmaxSoft\JEUS6\lib\system;
    C:\TmaxSoft\JEUS6\webserver\bin

  • UNIX 환경
    .profile, .bash_profile 설정을 JEUS6 환경에 맞게 설정하거나 기존 서버 환경 변수 설정 파일을 SFTP로 그대로 가져온 후, 변경되는 부분 수정한다.

4. JEUS 구성

4.1 bin DIR

◆ jeus 기동 명령어

JEUS6 기동 명령어를 새로 생성해주거나 기존 JEUS 명령어 FILE을 새 JEUS에 옮긴다.

vi jboot
jeus -Uadministrator -Pjeusadmin &

vi jdown
jeusadmin `hostname` -Uadministrator -Pjeusadmin jeusexit

vi ja
jeusadmin `hostname` -Uadministrator -Pjeusadmin

 jeus.properties

  •  JEUS_BASEPORT 확인 (DEFAULT = 9736)
  • JAVA_HOME 경로 확인

jeus.properties 설정

4.2 license DIR

license

Hostname이 변경되었거나 라이센스가 만료되었다면 교체 작업을 진행한다.

#JEUS 라이센스 확인 명령어
jeusadmin -licenseinfo

 

4.3 lib DIR

 datasource

JNDI를 사용중인 경우, 사용하고 있는 JDBC 드라이버를 신규 JEUS에 옮긴다.

2022.08.08 - [JEUS & WebtoB] - [JEUS] JDBC JNDI DBCP 차이점

 

[JEUS] JDBC JNDI DBCP 차이점

Connection & Connection pool - DriverManager.getConnection()은 실제 JAVA 프로그램과 DB를 네트워크상에서 연결해주는 메소드 ◆ Connection: 네트워크상의 연결 자체를 의미한다. ◆ Connection Pool: DB Con..

pushstonez.tistory.com

 

4.4 webhome DIR

admin_home

webadmin.war File을 최신 webadmin.war File로 교체한다.

uddi_home

jeusuddi_v2c.ear, jeusuddi_v3c.ear File을 최신 jeusuddi_v2c.ear, jeusuddi_v3c.ear File로 교체한다.

 

4.5 config DIR

JEUSMain.xml

  • node name 확인 
  • container JVM Option 확인
  • container log 경로 확인
  • application path 확인 (존재하는 경로인 지 확인 필요)
  • database 확인 (DB Connection 정보 확인)

Container Engine/WEBMain.xml

WebMain.xml에서는 web-connection 설정을 주로 확인하여 기존 WebtoB에 연결하면 구성을 그대로 가져가거나, 새 Web Server를 연결하면 새로 구성을 진행한다.

  • JSVPORT
  • thread-pool
  • webtob-address : webtob ip or hostname
  • disable-pipe (내장 Webtob)
  • registration-id

+ Recent posts