728x90
300x250

[GNU - 리눅스(Linux)] 우분투 20.04(18.04), 아파치 톰캣 9, OpenJDK 15, 16, OpenSSL 사설 자가서명

 

이번에 다뤄볼 주제는 우분투 20.04(18.04), 아파치 톰캣 9, OpenJDK 15, 16, OpenSSL 사설 자가서명까지 다뤄보고자 한다.


1. 설명서

요약 형태로 "설명서"를 작성하였다.

/*
파일명: 210610_ubuntu_20_04_self_signed_tomcat_9_ssl.txt
생성일자: 2021-06-10 목요일
작성자: 도도(Dodo), Apache License v2.0
비고: 
1. Ubuntu 18.04, Ubuntu 20.04
2. OpenJDK 15, OpenJDK 16
3. Tomcat9, Tomcat 10 서비스 생성까지
4. OpenSSL 사설 인증서 생성부터 자가 인증까지

*/
1. OpenJDK 15, 16

// 1.1. JRE, JDK 설치하기
# sudo apt-get install openjdk-16-jre
# sudo apt-get install openjdk-16-jdk

// 1.2. 자바 설치 경로 찾기
# /usr/lib/jvm/
# ls -al
java-16-openjdk-amd64

.........(중략)

// 1.3. profile 수정하기
# sudo vim /etc/profile

(중략)

  unset i
fi

# OpenJDK 16
JAVA_HOME=/usr/lib/jvm/java-16-openjdk-amd64
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH

:wq

// 1.4. profile 반영하기
# source /etc/profile

// 1.5 자바 버전 확인하기
# java -version
2. 아파치 톰캣 9 설치하기
// 2.1. 내려받기
https://tomcat.apache.org/download-90.cgi

# /opt/
# wget https://mirror.navercorp.com/apache/tomcat/tomcat-9/v9.0.46/bin/apache-tomcat-9.0.46.tar.gz
# tar xvfz apache-tomcat-9.0.46.tar.gz
# mv apache-tomcat* tomcat9

// 2.2. 톰캣 권한 획득
# sudo chown -R tomcat: /opt/tomcat9

// 2.3. 쉘 소유권 획득
# sudo sh -c 'chmod +x /opt/tomcat9/bin/*.sh'

// 2.4. 서비스 생성하기
# sudo /etc/systemd/system/tomcat9.service

[Unit]
Description=Tomcat 9 servlet container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/java-16-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headl>

Environment="CATALINA_BASE=/opt/tomcat9"
Environment="CATALINA_HOME=/opt/tomcat9"
Environment="CATALINA_PID=/opt/tomcat9/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat9/bin/startup.sh
ExecStop=/opt/tomcat9/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

// 2.5. 시스템 데몬 서비스 재시작
# sudo systemctl daemon-reload

// 2.6. 시스템 서비스 등록
# sudo systemctl enable --now tomcat9

// 2.7. 시스템 서비스 상태
# sudo systemctl status tomcat9

// 2.8. 시스템 서비스 3가지 기능
# sudo systemctl start tomcat9
# sudo systemctl stop tomcat9
# sudo systemctl restart tomcat9

// 2.9. 방화벽 허용
# sudo ufw allow 8080
// 3. 수정 위치 (tar.gz 설치로 진행할 것)
   이유: apt-get install tomcat9은 servlet이 잘 동작하지 않음.

# vim /opt/tomcat9/conf/server.xml 

// 3.1. 개인키 생성
# openssl genrsa -des3 -out keyname.key.origin 2048

// 3.2. 인증 요청서 (CSR) 생성
# openssl req -new -key keyname.key.origin -out csrname.csr

[비고]
callenge password, optional company name은 optional하므로 생략

// 3.3. 개인키 비밀번호 제거
# openssl rsa -in keyname.key.origin -out keyname.key

// 3.4. 인증서 생성(CRT)
# openssl x509 -req -days 3650 -in csrname.csr -signkey keyname.key -out crtname.crt

// 3.5. 톰캣에서 사용할 수 있는 키스토어 파일 생성
# openssl pkcs12 -export -in crtname.crt -inkey keyname.key -out keyname.p12 -name tomcat

[비고]
지원형식: jks, pkcs12 등 지원함.

// 3.6. 톰캣 설정 변경
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
port="8443" SSLEnabled="true" maxThreads="200"
scheme="https" secure="true"
keystoreFile="p12 파일이 위치한 경로"
keystorePass="키스토어 생성시 입력한 패스워드"
keystoreType="pkcs12"
clientAuth="false"
sslProtocol="TLS" />

예:) p12 파일이 위치한 경로
/ca/localhost/localhost.p12

톰캣 디렉터리 내 conf/server.xml 파일을 수정한다.

// 3.7. 인증서 디렉터리, 파일 소유권 권한
# cd /ca/localhost
# chown -R tomcat:tomcat *

// 3.8. 서비스 재시작
# sudo systemctl restart tomcat9
# sudo service tomcat9 restart (같은 표현)
/*
Copyright 2021. 도도(Dodo), 우분투 20.04, 자가서명, 톰캣 9, SSL, OpenJDK 15, OpenJDK 16 인증서
                        (Ubuntu 20.04, self-signed, Tomcat 9, SSL, OpenJDK 15, OpenJDK 16 certificates)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

*/

2. 첨부(Attachments)

210610_ubuntu_20_04_self_signed_tomcat_9_ssl_openjdk_15_16.zip
0.01MB

[Apache License v2.0을 적용받는다.]


3. 맺음글(Conclusion)

우분투 20.04(18.04)에서 아파치 톰캣 9, OpenJDK 15, 16, OpenSSL 사설 인증서 생성까지 다뤄보았다.


4. 참고자료(References)

1. 

반응형
728x90
300x250

[GNU - 리눅스(Linux)] 우분투 20.04, Apache 2.4, PHP 8, OpenSSL, 가비지컬렉션, IPv6 (3/3)

 

2부에 이어서 3부에서 소개하고자 한다.

[GNU - 리눅스(Linux)] 우분투 20.04, Apache 2.4, PHP 8, OpenSSL, 가비지컬렉션, IPv6 (2/3)
https://yyman.tistory.com/1531

 


6. 소개

아래의 방법으로 작업을 진행할 수 있다.

 


7. [첨부(Attachment)]

 

210406_Ubuntu_20_04_apache_2_4_php_8_ipv6_ssl_guide.z01
10.00MB
210406_Ubuntu_20_04_apache_2_4_php_8_ipv6_ssl_guide.z02
10.00MB
210406_Ubuntu_20_04_apache_2_4_php_8_ipv6_ssl_guide.zip
3.18MB

[Apache License v2.0을 적용받는다.]


* 맺음글(Conclusion)

우분투 20.04에서 Apache 2.4, PHP 8.0, PHP 8.0 확장도구, OpenSSL 사설 인증서 생성, OpenSSL 자가서명 인증서 생성, IPv6 웹브라우저 접속, IPv6 FTP클라이언트(Filezilla) 접속, PHP 8.0의 세션-쿠키 가비지컬렉션에 대해서 살펴보았다.


* 참고자료(Reference)

1. Lanuchpad, http://launchpad.net , Accessed by 2021-04-06, Last Modified 2021-04-06.

2. Enterprise Open Source and Linux | Ubuntu, https://ubuntu.com, Accessed by 2021-04-06, Last Modified 2021-04-06.

3. OpenSSL Foundation, http://www.openssl.org, Accessed by 2021-04-06, Last Modified 2021-04-06.

4. Welcome! - The Apache HTTPServer Project (Apache Foundation), https://httpd.apache.org, Accessed by 2021-04-06, Last Modified 2021-04-06. 

5. PHP: Hypertext Preprocessor, https://www.php.net, Accessed by 2021-04-06, Last Modified 2021-04-06.

6. RFC 2460 - Internet Protocol, Version 6 (IPv6) Specification(IETF), https://tools.ietf.org/html/rfc2460, Accessed by 2021-04-06, Last Modified 2021-04-06. 

-> IETF에서 결정한 IPv6는 최초 공개된 것은 1998년 12월 이다.

7. draft-ieft-ipngwg-bsd-api-IETF(1998), http://tools.ietf.org/html/draft-ietf-ipngwg-bsd-api-new-05 , Accessed by 2021-04-06, Last Modified 2021-04-06.

 

-> 리눅스에서의 적용

    The first IPv6 related network code was added to the Linux kernel 2.1.8 in November 1996 by P******.

    (1996년 12월, 리눅스 커널 2.1.8에 처음 IPv6 관련된 네트워크 코드가 추가되었다.

    It was based on the BSD API.

    (BSD API를 기반으로 했었다.)

 

-> IPv6는 매우 오래 전에 준비를 했었다.

반응형
728x90
300x250

[GNU - 리눅스(Linux)] 우분투 20.04, Apache 2.4, PHP 8, OpenSSL, 가비지컬렉션, IPv6 (2/3)

 

1부에 이어서 소개하겠다.

[GNU - 리눅스(Linux)] 우분투 20.04, Apache 2.4, PHP 8, OpenSSL, 가비지컬렉션, IPv6 (1/3), 2021-04-06 18:39
https://yyman.tistory.com/1530

4. 소개

아래처럼 작업하는 방법에 대해서 소개하였다.

 


5. 3부에서 만나요.

[GNU - 리눅스(Linux)] 우분투 20.04, Apache 2.4, PHP 8, OpenSSL, 가비지컬렉션, IPv6 (3/3), 2021. 4. 6. 18:55
http://yyman.tistory.com/1532 

 

반응형
728x90
300x250

[GNU - 리눅스(Linux)] 우분투 20.04, Apache 2.4, PHP 8, OpenSSL, 가비지컬렉션, IPv6 (1/3)

 

이번에 소개할 내용은 우분투 20.04에서 Apache 2.4, PHP 8, OpenSSL, 가비지컬렉션, IPv6에서의 적용 방법에 대해서 소개하고자 한다.

FTP 클라이언트: IPv6 접속 방법
웹 브라우저: IPv6 접속 방법

 

오픈소스 / 운영체제
https://ubuntu.com

https://centos.org

https://www.debian.org

https://launchpad.net

 


1. 안내사항 (날씨)

안내사항을 꼭 참고하기 바란다.

 


2. 소개

작업 소개이다.

 


3. 2부에서 만나요.

[GNU - 리눅스(Linux)] 우분투 20.04, Apache 2.4, PHP 8, OpenSSL, 가비지컬렉션, IPv6 (2/3), 2021-04-06 18:42
https://yyman.tistory.com/1531

 

반응형
728x90
300x250

[GNU - 리눅스(Linux)] 우분투 서버 20.04 그리고 한글 지원팩, 아파치 톰캣9, SSL적용(OpenSSL)

이번에 소개할 내용은 우분투 서버 20.04(Ubuntu Server 20.04)를 설치한 후에 한글 언어팩, 아파치 톰캣9, SSL을 적용하는 방법에 대해서 소개하고자 한다.


1. 우분투 라이선싱(ubuntu Licensing)

우분투 공식사이트에서 제공하는 라이선싱에 대한 사항이다.

http://ubuntu.com/licensings

 

Licensing | Ubuntu

Ubuntu is a collection of thousands of computer programs and documents created by a range of individuals, teams and companies.

ubuntu.com

그림 1. 우분투 라이선싱 소개

 

그림 2. 우분투 라이선싱 소개

 

그림 3. 우분투 라이선싱 소개

 

그림 4. 우분투 라이선싱 소개

 

그림 5. 우분투 라이선싱 소개


2. 우분투 소개

우분투 공식사이트에서 제공하는 라이선싱에 대한 사항이다.

 

그림 6. 우분투 소개


2. 우분투 서버 배포판 내려받기

이번에 소개하는 우분투 배포판 서버를 내려받는 방법에 대해서 소개하고자 한다.

https://www.ubuntu.com

그림 7. 우분투 웹 사이트 (2021-02-21)

그림 8. 우분투 웹 사이트 (2021-02-21)

 

 

그림 9. 우분투 웹 사이트 (2021-02-21)

 

그림 10. 우분투 웹 사이트 (2021-02-21)

 

그림 10. 우분투 웹 사이트 (2021-02-21)

 


2. 설치

USB 또는 DVD로 굽는다.

부팅을 한다.

 

그림 11. 우분투 서버 20.04 설치 모습

English를 엔터를 누른다.

 

그림 12. 우분투 서버 20.04 설치 모습

 

그림 12. 우분투 서버 20.04 설치 모습

 

그림에는 English(잉글리시 / 영어) (US)가 되어 있으나, Korean(한국어) 키보드 배열로 방향키와 스페이스키로

선택한다.

키보드는 Korean, Korean으로 셋팅하고 Done(완료)을 엔터를 누른다.

 

그림 13. 우분투 서버 20.04 설치 모습

초기 셋팅에서는 DHCP로 받아서 진행하도록 한다.

정식적인 방법으로 하려면, 서브넷 마스크를 계산해야 하는데 서브넷 마스크 계산기를 인터넷 등으로 검색해서

대역을 찾아야 한다.

Done을 선택한 후 엔터를 누른다.

 

그림 14. 설치 모습 / 프록시 환경설정 - 우분투 서버 20.04(2021-02-21)

 

그림 14는 프록서 서버에 대한 환경설정이다.

Done을 엔터키를 누른다.

 

 

 

그림 15. 우분투 아카이브 미러 사이트 - 우분투 서버 20.04(2021-02-21)

엔터를 누른다. 미러사이트를 구축한 경우에는 "변경"을 해도 무방하다.

 

그림 16. 스토레지(저장소) 환경설정 - 우분투 서버 20.04(2021-02-21)

 

저장소의 환경설정에 대한 것이다.

Custom("커스텀 / 사용자 설정")으로 설정을 해도 된다.

Done(완료)를 엔터키로 누른다.

 

그림 17. 스토레지(저장소) 환경설정 - 우분투 서버 20.04(2021-02-21)

Done(완료)를 엔터키로 누른다.

 

[참고사항]
수작업으로 설정하면, Software RAID(소프트웨어 레이드) 등을 구성할 수 있다.

 

그림 18. 스토레지(저장소) 설정 확인 창 - 우분투 서버 20.04(2021-02-21)

의역하면, "결과를 반영하면, 데이터가 유실될 수 있다. 돌아가실 겁니까? 진행하실 겁니까?" 이런 내용이다.

Continue(계속 / 컨티뉴), No(아니오, 노) 두 가지를 선택할 수 있다.

컨티뉴를 엔터키로 누른다.

 

그림 19. 프로파일(사용자 계정) - 우분투 서버 20.04(2021-02-21)

사용자 계정과 서버 정보를 입력한다.

비밀번호도 입력한다.

입력을 완료한 후 "Done"을 엔터키로 누른다.

 

그림 20. 프로파일(사용자 계정) - 우분투 서버 20.04(2021-02-21)

입력을 완료한 후 "Done"을 엔터키로 누른다.

 

 

그림 21. OpenSSH Server(오픈에스에스에이치) 설치 알람 메시지 - 우분투 서버 20.04(2021-02-21)

SSH 서버는 사실 강제는 아니다. 기본값은 22번 포트로 할당된다.

참고로 변경이 가능하다.

현재 SFTP는 Chroot(감옥 구성)이 잘 되지 않고 있다.

SSH포트를 개방할 때 신중해야 한다.

 

Done을 선택하고 엔터키를 누른다.

 

그림 22. 설치하고자 하는 패키지 구성 내용 - 우분투 서버 20.04(2021-02-21)

 

설치하고자 하는 패키지 구성 내용에 관한 것이다.

Done을 엔터를 누른다.

추후 선택 설치, 제거가 가능하기 때문이다.

 

그림 23. 설치 과정 / 기다리기 - 우분투 서버 20.04(2021-02-21)

 

기다린다.

 

그림 24. 설치 과정 / 기다리기 - 우분투 서버 20.04(2021-02-21)

 

기다린다.


 

3. 처음 부팅 모습

리눅스 우분투 서버 20.04를 설치하게 되면 이렇게 검은색 화면이 뜬다.

 

그림 25. 처음부팅 모습 / 우분투 서버 20.04(2021-02-21)

 

 


4. 환경설정 방법(1단계)

네트워크 환경설정 방법이다.

 

* 1. 우분투 20.04 / 서버 (netplan을 사용함)
# cd /etc/netplan/
# vim 00-installer-config.yaml

* 2. IPv4, IPv6 환경설정(로컬 네트워크) [예시]
---------------------------------------------------------------
network:
    version: 2
    renderer: networkd
    ethernets:
       enp0s3:
       addresses:
       - 192.168.1.25/24
       - "2001:1::1/64"
       gateway4: 192.168.1.1
       gateway6: "2001:1::2"
       nameservers:
          addresses:
          - 1.214.68.2
          - 61.41.153.2

---------------------------------------------------------------
참고사항: Public DNS(공개 DNS)
1. [KT-DNS]
168.126.63.1,
168.126.63.2

2. [데이콤, LG 유플러스]
1.214.68.2
61.41.153.2

3. [SK브로드밴드]
219.250.36.130

210.220.163.82

4. [구글] 

8.8.8.8
4.4.4.4

* 3. 수정 예제
---------------------------------------------------------------
network:
     ethernets:
         enp0s3:
             addresses: [192.168.0.20/24]
             gateway4: 192.168.0.1
             nameservers:
                  addresses: [1.214.68.2,61.41.153.2]
         version: 2
---------------------------------------------------------------
:wq

* 4. 적용
# netplan apply

 


5. 환경설정 방법(2단계 - 한글화 설정)

한글 설정이다.

* 1. 한글 언어팩 설치하기
# su
# apt install language-pack-ko

* 2. 한글 수정하기
# locale-gen ko_KR.UTF-8

* 3. locale(로케일) 변경하기
# vim /etc/default/locale
LANG="en_US.UTF-8"
LANG="ko_KR.UTF-8"

* 4. 문자열 환경설정 변경하기
# vim /etc/environment
root@master:/etc/tomcat9
# vim /etc/environment

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" LANG="ko_KR.UTF8"
LANGUAGE="ko_KR:ko:en_GB:en"
:wq

* 5. 한글 문자열 추가하기
# apt install fonts-nanum fonts-nanum-coding fonts-nanum-extra

 


6. 환경설정 방법(3단계 - 아파치 톰캣9, OpenSSL 1.11a, SSL설정하기)

아파치 톰캣9, OpenSSL 1.11a, SSL을 적용하는 방법에 대해 소개하겠다.

 

1. 아파치 톰캣9 패키지 버전 설치하기(규격화 되어있음)
# apt install tomcat9

2. openssl download

cd /usr/local/src
wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz
tar xvzf openssl-1.1.1a.tar.gz

3. config
cd openssl-1.1.1a
./config
make && make install

4. openssl 버전확인
openssl version

5. 폴더 이동
# cd /
6. 폴더 생성
# mkdir ca

7. 저장소 만들기
/# cd ca
ca# mkdir localhost
ca# cd localhost

// 방법1) 개발 SSL(사설 인증서)
keytool -genkey -alias localhost -keyalg RSA -keystore /ca/localhost/keystore
keytool -certreq -keyalg RSA -alias localhost -file svr1.csr -keystore /ca/localhost/keystore

8. 톰켓 환경설정 경로
# cd /etc/tomcat # vim server.xml
------------------------------------------------------------------
// Tomcat 7.x 이상 버전의 설정
<Connector port="8443" protocol="HTTP/1.1"
                connectionTimeout="20000"
                redirectPort="8443"
                SSLEnabled="true"
                scheme="https"
                secure="true"
                sslProtocol="TLS"
                keystoreFile="/ca/localhost/keystore"
                keystorePass="password">
------------------------------------------------------------------
------------------------------------------------------------------
[참고할 것] // SSL 인증서 쌍 체인 등록 방법
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
           maxThreds="150" scheme="https" secure="true" clientAuth="false"
           SSLCertificateFile="/usr/local/tomcat/config/ssl/domain.crt"

           SSLCertificateKeyFile="/usr/local/tomcat/config/ssl/domain.key"
           SSLCACertificateFile="/usr/local/tomcat/config/ssl/chainca.key"
           sslProtocol="TLS"  />


------------------------------------------------------------------
9. 방화벽
# iptables -I INPUT -p tcp --dport 8443 -j ACCEPT
# iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

10. 재부팅(컴퓨터 다시 시작)
# reboot

11. 서비스 시작하기
# service tomcat9 start

12. 배포 위치 경로(톰캣9 설치 경로)
* 설치 경로: /var/lib/tomcat9
--------------------------------------------------------------
root@master:/var/lib# cd tomcat9/
root@master:/var/lib/tomcat9# ls conf lib logs policy webapps work
root@master:/var/lib/tomcat9# pwd /var/lib/tomcat9
root@master:/var/lib/tomcat9#

--------------------------------------------------------------

 


7. 맺음글(Conclusion)

우분투 서버 20.04 배포판에서 아파치 톰캣9와 OpenSSL, SSL 설정하는 방법에 대해 소개하였다.

 


8. 참고자료(Reference)

 

 

반응형
728x90
300x250

[GNU - 리눅스(Linux)] ISC-Bind 9.12.2, OpenSSL 1.1 설치 with 루분투 18.02

 

이번에 소개할 것은 루분투(Lubuntu 18.02)에서 isc-Bind-Server 9.12.2, OpenSSL 1.1을 설치하는 방법에 대해서 소개한다.

 

[네트워크(Network)] OSI Layers, DNS, SSL, http://yyman.tistory.com/1073, 2018.07.28 14:53

 

참고하면 좋은 글도 위에 소개하고 있다. 읽어보면 도움이 될 것이다.

 


1. 리눅스에서 자주 사용하는 명령어

 

리눅스에서 자주 사용하는 명령어에 대해서 소개한다.

 

번호

명령어

사용 예

설명

비고(Remarks)

1

ls

ls -al

전체 디렉토리 내용 보기

 

2

cat

cat "파일명"

파일 내용 보기

 

3

cd

cd "경로"

파일 경로 이동하기

 

4

make

make

make test

make install

make 파일 만들기

Make라는 프로그램이 설치되어 있어야 함.

make가 있는 프로그램 소스의 경우에는
리눅스에서 개발을 진행한 프로그램이다. 

5

wget

wget "주소"

수동으로 URL 주소의 파일을
다운 받기 위함.

 

6

configure

./configure

make 하기 위한 환경 설정 만들기

configure 파일이 있는 경우에는 리눅스에서

개발을 진행한 프로그램이다.

7

 find

find / -name "gcc"
# find / -name "openssl"

gcc 설치 등을 확인하기 위함.

openssl 설치 등을 확인하기 위함.

 

8

apt

apt install "프로젝트명"

apt-get install "프로젝트명"

apt-get remove "프로젝트명"

apt를 활용하여 프로젝트를

리눅스 환경에 설치하기 위한

명령어이다.

 

 


2. ISC-Bind 사이트 접속하기

 

http://www.isc.org/ 에 접속한다.

 

 

그림 2-1. Isc.org 홈페이지

 

그림 2-1은 ISC 홈페이지이다. 상단에 "Downloads(다운로드)"를 클릭한다.

 

 

그림 2-2. Download free opensource, ISC.org

 

그림 2-2은 Download 사이트이다.

하단으로 조금 내려가면 다운로드할 대상이 있다.

 

 

그림 2-3. Software(소프트웨어) 종류, ISC.org

 

이번에 실습할 것은 ISC DHCP이다.

내가 진행한 것은 9.12.2로 진행하였다.

 

구 버전을 계속해서 사용하면 안 좋은 점이 있는데, 예를 들어서 소개하면 다음과 같다.

 

1. IPv4로만 개발된 구버전을 사용할 때

-> IPv6를 사용하고자 할 때 사용이 되지 않는다.

2. 보안 문제(Problem Security)

-> BIND 서버의 취약 보안 패치가 미적용된 버전이 있을 수 있다.


 

 

그림 2-4. Bind 서버 - 다운로드 받기, ISC.org

 

 

그림 2-5. Bind 9.12.2 다운받기, ISC.org

 

Bind 9.12.2를 다운받을 수 있다.

 

번호

파일명

운영체제 

1

BIND9.12.2.x64.zip

Windows 64bit(64bit 운영체제 / 윈도우)

2

BIND9.12.2.x86.zip

Windows 32bit(32bit 운영체제 / 윈도우)

3

bind-9.12.2.tar.gz

 Linux (32bit/64bit 무관)

 

이렇게 다운로드 받는 방법이 있다.

 

다른 한 가지는 ISC에서 제공하는 http 기반의 파일 서비스이다.

 

 

그림 2-6. ISC에서 제공하는 소프트웨어 배포 사이트, ISC.org

 

그림 2-6처럼 웹 기반의 파일 서비스에서 다운 받을 수 있다.

 

https://ftp.isc.org/isc/bind/9.12.0/

 


3. OpenSSL 프로젝트 소개

 

현재 대부분 OpenSSL을 무의식적으로 사용하고 있다.

 

 

그림 3-1. OpenSSL 웹 사이트, openssl.org

 

http://www.openssl.org에 접속하면 자세한 정보를 얻을 수 있다.

Git Repository 등으로 프로젝트를 개방하고 있다.

 

ISC-Bind 9.12를 설치할 때 openssl은 반드시 필요한 라이브러리 중 하나이다.

어디에 사용되냐면, DNS-SEC(DNS 시크, 또는 DNS 보안 설정), HTTPS 지원 등에 사용된다.

 


4. 그 밖에 사용하는 프로젝트

 

ISC-Bind 9.12을 설치할 때, 요구하는 것으로 크게 GCC Compiler가 필요하다.

이외에도 몇 가지 항목이 있다.

 

번호

항목명

설치 방법

프로젝트 사이트 주소

1

GCC Compiler

apt install gcc* 

 https://gcc.gnu.org/

2

Make

apt install make

 https://www.gnu.org/software/make/

3

LibSSL

apt install libssl-dev

 https://packages.ubuntu.com/bionic/libs/libssl1.1

http://www.openssl.org

 

아래의 그림은 배포판을 제공하는 우분투에서 공개하고 있는 Package(패키지)에 대한 상세 정보이다.

소스코드도 살펴볼 수 있으며, 정보들을 알 수 있다.

 

 

그림 4-1. libssl - 우분투에서 제공하는 정보, Ubuntu

 


5. 루분투 18.02에서 설치

 

운영체제: Windows 7(해당 없음), Lubuntu(Ubuntu) 18.02 (바이오닉)
소프트웨어: Oracle VM VirtualBox 5.2.16,

 

지금부터 루분투에서 ISC-Bind 9.12.2 설치를 진행하겠다.

아래의 과정에는 실제로 많은 오류, 애기치 못한 문제 등이 발생한다.

명령어를 요약하겠다.

 

 번호

명령어

 1

 sudo -i

 2

 wget http://ftp.isc.org/isc/bind9/9.12.2/bind-9.12.2.tar.gz

 3

 tar xvfz bind-9.12.2.tar.gz

 4

 cd bind-9.12.2

 5

 ls-al

 6

 apt install make

 7

 apt install libssl-dev

 8

 apt install gcc*

 9

 apt-get install gcc*

 10

 apt-get install make*

 11

 apt-get install openssl*

 12

 apt-get instal libssl-dev

 13

 find / -name "Openssl"

 14

 ./configure --with-openssl=/usr --enable-threads --prefix=/BIND/bind9.12.2

 15

 make

 16

 make test

 17

 make install

 18

 cd /

 19

 ls -al

 

 

 

 

그림 5-1. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

그림 5-2. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

그림 5-3. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

그림 5-4. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

그림 5-5. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

그림 5-6. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

그림 5-7. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

그림 5-8. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

그림 5-9. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

그림 5-10. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

그림 5-11. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

그림 5-12. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

그림 5-13. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

그림 5-14. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

그림 5-14는 오류가 두 가지 발생하였다.

 

번호

오류명

해결 방법

1

configure: error: in `/root/bind-9.12.2`

큰 오류는 아니다.

2

configure: no acceptable C compiler found in $PATH

GCC 컴파일러를 설치하면 된다.

 

 

 

 

 

그림 5-15. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

그림 5-16. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

그림 5-17. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

그림 5-18. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

 

그림 5-19. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

그림 5-20. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

 

그림 5-21. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

그림 5-21에서도 오류가 발생하였다.

1개의 오류이다.

 

번호

오류명

해결 방법 

1

checking for OpenSSL library... configure: error: "/usr/lib/ssl1.0/include/openssl/openssl.v" not Found

OpenSSL include에 있는 경로 설정의 오류이다.

"openssl.v" 파일을 찾을 수 없다고 되어 있다.


해결 방법

1. find / -name "Openssl"을 통해서 경로를 확인 한다.

2. include 폴더가 없다면 libssl-dev를 설치한다. (apt install libssl-dev)

3. find / -name "Openssl"을 통해서 경로를 확인 한다.

4. ./configure 설정을 수정한다.

 

 ./configure --with-openssl=/usr --enable-threads --prefix=/BIND/bind9.12.2

 

수동으로 컴파일하여 OpenSSL을 설치한 경우에는 수동으로 설치한 경로를 입력한다.

2

 

 

 

 

 

 

그림 5-22. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

 

그림 5-23. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

 

그림 5-24. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

 

그림 5-25. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

 

그림 5-26. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

그림 5-27. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

그림 5-28. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

 

그림 5-29. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

 

그림 5-30. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

영상 5-1. make 명령어 실행 결과, 도도(Dodo)

 

 

그림 5-31. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

그림 5-32. ISC-bind 9.12.2 설치하기, 도도(Dodo)

 

 

그림 5-33. ISC-bind 9.12.2 설치완료, 도도(Dodo)

 


6. 활용 분야

1. DNS 시스템을 활용할 수 있는 분야는 몇 가지 있다.

2. 병렬 처리에서 노드에 DNS로 표현할 때도 사용할 수 있음.

    -> IP주소가 있음. 노드의 IP주소를 다 외울 수 없을 때, DNS로 표현할 수 있음.

3. 웹 서버 운영

    -> HTTP(80포트 서버)에서 111.111.111.0 사이트를 hostname으로 해서 서비스를 운영할 수 있음.

 


7. 관리자 메뉴얼(Bind 서버 운영자 메뉴얼)

 

 

그림 7-1. Bind 9 Administrator Reference Manuals, ISC.org

 

메뉴얼을 공개하고 있다.

Bind DNSSec Guide 등을 공개하고 있으니 참고하면 도움이 된다.

 

https://www.isc.org/downloads/bind/doc/

 


7. 참고자료(Reference)

 

1. Download free open source software from ISC - BIND, Kea, ISC DHCP | Internet Systems Consortium, https://www.isc.org/downloads/, 접속일자 2018-07-28

2. /source/index.html, https://www.openssl.org/source/, 접속일자 2018-07-28

3. OpenSSL missing during ./configure. How to fix?, https://superuser.com/questions/371901/openssl-missing-during-configure-how-to-fix, 접속일자 2018-07-28

4. dnsportalkorea, Google Sites, https://sites.google.com/site/dnsportalkorea/home/gita/dnsinstall, 접속일자 2018-07-28

5. Index of /isc/bind/9.12.0, ISC, https://ftp.isc.org/isc/bind/9.12.0/, 접속일자 2018-07-28

6. Internet Systems Consortium | Maintainers of BIND and ISC DHCP, ISC, https://www.isc.org/, 접속일자 2018-07-28

7. Ubuntu – Details of package libssl1.1 in bionic, Ubuntu, https://packages.ubuntu.com/bionic/libs/libssl1.1, 접속일자 2018-07-28

8. IND 9 Documentation | Internet Systems Consortium, ISC.org https://www.isc.org/downloads/bind/doc/, 접속일자 2018-07-28

반응형
728x90
300x250

[Linux, OpenSSL] 2. OpenSSL 설치와 Apache에 적용

지난 1번 글에서 언급하지 않았던 OpenSSL 설치에 대한 내용을 올리게 되었습니다.
사실 OpenSSL 설치는 어렵지 않습니다. 잘 따라 하시기 바랍니다.
(강좌에 오류가 있다고 생각하시다면, 조언을 댓글로 남겨주시면 참조하여 수정하도록 하겠습니다.) 

태스트 환경)
운영체제 : Centos 5.3

설치방법에는 크게,
yum, rpm, 소스컴파일 3가지가 있습니다.

소스 파일 다운로드
http://www.openssl.org/source/openssl-0.9.8k.tar.gz

openssl-0.9.8k.tar.tar

1. OpenSSL 설치하기


2. Apache와 연동하기.


3. 참고자료(Reference)
1. OpenSSL Official Site, http://www.openssl.org, Accessed by 2009-07-28
2. apache2.2.x + tomcat6.0 + mod_jk1.2.28 + openssl0.9.8k (ssl인증 설치, https), http://tylee82.tistory.com/149 , Accessed by 2009-07-28

 

 

반응형
728x90
300x250
1. OpenSSL 개념 소개 및 인증서 생성 및 루트 기관 생성

1. OpenSSL의 실행파일은?
    openssl라는 이름으로 존재합니다.
    거의 여러 응용프로그램들을 통하여 사용합니다. (단, 인증서 용도는 Openssl을 통해 직접합니다.)

2. OpenSSL은 무슨 용도의 프로그램인가?
    인증서를 확인 및 암호화 등의 역활을 수행하는 프로그램입니다.

홈페이지 : OpenSSL  http://www.openssl.org/
 
태스트 환경 :


OpenSSL 인증서 생성 및 루트 기관 생성과정 강좌

1. 'Demo CA'라고 불리는 폴더 설정

- 현재 디렉토리에 'demoCA' 혹은 사용자가 설정한 폴더의 이름으로 디렉토리 생성 :
     example) mkdir demoCA



2. CA 인증서 생성
- CA 개인키 생성 :  openssl genrsa -des3 -out ca.key 1024

- Self-Signed CA 인증서 생성 :  openssl req -new -x509 -days 365 -key ca.key -out ca.crt

3. 하위 인증서 생성 (사용범위 : https, ......)
- server 개인키 생성 : openssl genrsa -des3 -out server.key 1024
- server 인증서 발급을 위한 요청파일 생성 : openssl req -new -days 365 -key server.key -out server.csr
- server 인증서 발급 : openssl ca -in server.csr -out server.crt -keyfile ca.key -cert ca.crt

참고 : 3번의 과정을 하실 때에는 위에 과정에서 개인키와 Self-Signed CA 인증서를 생성한 위치 내에서 사용하시면 되겠습니다.

결과 : server.crt 라는 server용인증서가 생성되고 index 파일에 발급내역이, serial이 16진수로 1씩 증가한다.

4. 인증서 인코딩 포멧 변경
- openssl 이 생성하는 인증서의 인코딩은 발급 시 옵션을 주지 않으면 디폴트가 PEM (base64 encoding)이다.
- Java 등에서 사용하기 위한 DER 포맷(바이너리)으로 변경은 다음과 같이 수행한다.
   : openssl x509 -in ca.crt -out ca.der -outform DER

5. 인증서 내용 보기
- openssl x509 -in ca.crt -text   (PEM 포맷인 경우)
- openssl x509 -in ca.der -inform DER -text (DER 포맷인 경우)

아래의 참고 자료들을 참조하여 직접 태스트한 경험을 바탕으로 올려보았습니다.


1. 참고자료(Reference)

 

1. http://blog.naver.com/zauberha?Redirect=Log&logNo=150055260734 OpenSSL로 인증서 생성 및 변환 간략 정리
2. http://golmong.tistory.com/112  (OpenSSL + Tomcat 사용 SSL 설정)

반응형

+ Recent posts