3Rabbitz 서버 설치 및 인증서 발급


랜섬웨어 2차 피해 예방 및 보안 강화를 위해 3Rabbitz 서버(docs.mantech.co.kr)를 새로 구축합니다.

이 문서에서 모든 작업(명령)은 root 계정을 전제하지만, 불가할 경우 sudo를 사용하여 진행하십시오.

VM 정보

항목

내용

항목

내용

위치

https://vcenterdevop.mantech.co.kr/ui > docs.mantech.co.kr

CPU

4 Core

Memory

8GB

HDD

1(시스템): 80GB, 2(3rabbitz): 40GB, 3(백업): 40GB

백업

로컬 PC에 기존 VM(서버)의 OVF 및 3rabbitz 관련 데이터 백업

  1. OVF 파일 내보내기

  2. /3rabbitz(설치 파일), /3rabbitzbackup(백업), /home/tomcat(derby DB) 디렉터리를 로컬 PC에 백업

OS 준비 및 사전 작업

Ubuntu 20.04 설치

리눅스 서버 template#\uD83D\uDCCB-사용방법을 참고하여 Ubuntu 20.04가 설치된 VM을 생성합니다.

사전 작업

openjdk 17.0.3 설치(15.0.1 GA 버전 이상 권장)

자바가 없거나, 오라클 자바 8.0 미만 또는 오픈 JDK 15.0.1 버전 미만이면 자바를 설치합니다.

# Java 설치 여부 및 버전 확인 java -version # 기존 openjdk-11 제거(없으면 생략) apt-get remove openjdk* apt-get autoremove --purge apt-get autoclean # openjdk-17 설치 apt-get install openjdk-17-jdk

3rabbitz 설치 볼륨 및 백업 볼륨 준비

다음 명령어를 실행하여 3rabbitz 운영 파일 저장용 볼륨과 백업용 볼륨을 준비합니다.

# 3rabbitz 설치 볼륨 mkdir /3rabbitz echo -e "\nn\np\n1\n\n\nt\n8e\nw" | fdisk /dev/sdb vgcreate 3rabbitzvg /dev/sdb1 lvcreate -l +100%FREE -n 3rabbitzlv 3rabbitzvg mkfs -t xfs /dev/mapper/3rabbitzvg-3rabbitzlv # 3rabbitz 백업 볼륨 mkdir /3rabbitzbackup echo -e "\nn\np\n1\n\n\nt\n8e\nw" | fdisk /dev/sdc vgcreate 3rabbitzbackupvg /dev/sdc1 lvcreate -l +100%FREE -n 3rabbitzbackuplv 3rabbitzbackupvg mkfs -t xfs /dev/mapper/3rabbitzbackupvg-3rabbitzbackuplv # /etc/fstab 추가 및 마운트 grep "3rabbitzvg-3rabbitzlv" /etc/fstab > /dev/null if [ $? -ne 0 ] then echo "/dev/mapper/3rabbitzvg-3rabbitzlv /3rabbitz xfs defaults 0 0" >> /etc/fstab fi grep "3rabbitzbackupvg-3rabbitzbackuplv" /etc/fstab > /dev/null if [ $? -ne 0 ] then echo "/dev/mapper/3rabbitzbackupvg-3rabbitzbackuplv /3rabbitzbackup xfs defaults 0 0" >> /etc/fstab fi mount /3rabbitz mount /3rabbitzbackup

/etc/profile 수정

sed -i 's/HISTSIZE=1000/HISTSIZE=100000/' /etc/profile echo "" >> /etc/profile echo "HISTTIMEFORMAT=\"%Y-%m-%d_%H:%M:%S \"" >> /etc/profile echo "export HISTTIMEFORMAT" >> /etc/profile

 

3rabbitz 설치

기존 서버에서 3rabbitz 파일을 제어하기 전에 3rabbitz 서비스를 중지하십시오.

Case 1) 서버 변경 시 

서버(VM)만 번경할 경우 별도의 설치 과정 없이, scp와 같은 명령을 통해 아래 3rabbitz 관련 디렉터리를 통째로 복사합니다.

  • /3rabbitz/ (기본 설치 및 저장 파일)

  • /3rabbitzbackup/ (백업 파일)

  • /home/tomcat/ (derby DB 파일)

Case 2) 신규 구축 시

Certbot 설치 및 TLS(SSL) 인증서 발급

무료 TLS 인증서인 Let’s Encrypt 인증서를 자동으로 발급(갱신)해주는 Certbot을 설치하고 인증서를 발급합니다.

Certbot 설치(Ubuntu 20.04 기준)

Certbot은 설치 방법과 패키지가 다양합니다. 여기서는 apt를 사용하여 certbot과 python3-certbot-apache를 설치합니다.

인증서 발급 및 적용(갱신)

인증서 발급

다음 명령과 캡쳐 이미지를 참고하여 SSL 인증서를 발급합니다.

인증서 확인

인증서 갱신(갱신 시 진행)

1. 인증서 발급 명령 후 '2' 입력(Enter)

2. keystore.p12 인증서 교체 (아래 “keytool로 keystore.p12 생성” 참고)
→ 기존 파일 삭제 후 새 인증서 생성

3. 3rabbitz 서비스 재시작

keytool로 keystore.p12 생성

pkcs12 형식으로 변경

3rabbitz의 tomcat 설정 파일에 https 적용

https 적용을 위해 server.xml과 web.xml 파일을 수정합니다.

/3rabbitz/tomcat/conf/server.xml 수정

기존의 <Connector>를 주석 처리하고 80, 443 포트를 설정하는 <Connector>를 추가합니다.

/3rabbitz/tomcat/conf/web.xml 수정

</web-app>위에 다음과 같이 <security-constraint> 를 추가합니다.

 

Apache derby DB

3rabbitz는 데이터베이스로 Apache derby DB를 사용합니다. 자동 번역기를 사용하려면 DB 모드 변경이 필요하고, 이를 위해 관련 설정이 적용된 기존 서버의 /home/tomcat/ 디렉터리를 이관해야 합니다.

DB 동작 스크립트 및 MCCS 적용

/home/tomcat/dbScripts/에 작성된 스크립트를 실행하여 외부에서 DB에 접속할 수 있도록 합니다.
또한 아래의 시작/종료/모니터링 스크립트를 MCCS 복합 응용 리소스로 등록하여 서비스 동작을 제어합니다.

참고

https://mantech.jira.com/wiki/spaces/QA/pages/959578623/docs.mantech.co.kr