보안서버 SSL 보안서버 SSL 이란 Secure Sockets Layer 의 머리글로서 웹서버 인증, 서버 인증이라고도 합니다. 브라우저와 서버간의 통신에서 정보를 암호화 함으로써 도중에 해킹을 통해 정보가 유출 되더라도 정보의 내용을 보호할 수 있게 해 주는 보안 솔루션으로 벌써 수백만의 사이트운영자에 의해 사용되어지고 있습니다. 전세계적인 표준 보안 기술은 1994년 Netscape 에 의해 개발되었으며 웹서버과 웹브라우저간의 모든 데이터를 암호화해서 보내게 됩니다. Apache_1.x + mod_ssl + Mysql + Php + Zend + OpenSSL 설치
( 1 ) OpenSSL 라이브러리 확인 OpenSSL 설치 유/무를 확인하신 후 이미 설치가 되어있는 경우 기술문서의 OpenSSL 부분을 적용하지 않으셔도 무방합니다. ① rpm 버전확인 [root@nextline ~]# rpm -qa | grep openssl rpm 버전으로 설치된 openssl의 유/무를 확인합니다. Source 버전 설치를 위해 rpm 버전을 삭제하시면 안되며 openssl 삭제 시 의존성을 가지는 라이브러리 파일의 오류로 ssh, sendmail 등의 서비스가 실행되지 않으니 주의하시기 바랍니다.
 ② Source 버전확인 whereis 명령어 명령의 실행 파일, 소스, 매뉴얼 페이지가 어디 있는지 보여줍니다. [root@nextline ~]# whereis openssl rpm 버전이 설치되어 있지 않을 시 위 명령어를 통해 소스버전 설치 유/무를 확인합니다.
 ( 2 ) Source 파일 다운로드 wget은 웹에서 자동적으로 파일을 받아오는데 사용되는 유틸리티이며 HTTP, HTTPS, FTP 프로토콜을 지원합니다. ① apache_1.3.37.tar.gz 다운로드 사이트 : http://httpd.apache.org/download.cgi [root@nextline ~]# wget http://mirror.apache-kr.org/httpd/apache_1.3.37.tar.gz
 ② mysql-4.1.22.tar.gz 다운로드 사이트 : ftp://mysql.byungsoo.net/pub/mysql/ [root@nextline ~]# wget ftp://mysql.byungsoo.net/pub/mysql/Downloads/MySQL-4.1/mysql4.1.22.tar.gz
③ php-5.2.3.tar.gz 다운로드 사이트 : http://www.php.net/downloads.php [root@nextline ~]# wget http://www.php.net/get/php-5.2.3.tar.gz/from/kr2.php.net/mirror
 ④ gd-2.0.35.tar.gz 다운로드 사이트 : http://www.libgd.org/releases/ [root@nextline ~]# wget http://www.libgd.org/releases/gd-2.0.35.tar.gz
 ⑤ ZendOptimzer-3.3.0-linux-glibc21-i386.tar.gz 다운로드 사이트 : http://www.zend.com/ 다운로드 받은 ZendOptimzer을 ftp을 이용하여 업로드 합니다. ⑥ mod_ssl-2.8.28-1.3.37.tar.gz 다운로드 사이트 : http://www.modssl.org/ [root@nextline ~]# wget http://www.modssl.org/source/mod_ssl-2.8.28-1.3.37.tar.gz
 ⑦ openssl-0.9.8e.tar.gz 다운로드 사이트 : http://www.openssl.org/source/ [root@nextline ~]# wget http://www.openssl.org/source/openssl-0.9.8e.tar.gz
 ⑧ Source 파일 확인 [root@nextline ~]# ls ZendOptimizer-3.3.0-linux-glibc21-i386.tar.gz gd-2.0.35.tar.gz apache_1.3.37.tar.gz mysql-4.1.22.tar.gz php-5.2.3.tar.gz mod_ssl-2.8.28-1.3.37.tar.gz openssl-0.9.8e.tar.gz
 ( 2 ) Source 파일 압축해제 [tar 명령어 옵션] tar 명령어는 파일을 묶거나 풀 때 사용되는 리눅스 명령어 입니다. c : tar 파일을 생성할 때(여러 개의 파일을 하나의 파일로 묶을 때) v : 묶을 때나 풀어줄 때 파일들의 내용을 자세하게 보려고 할 때. z : gzip과 관련하여 압축이나 해제를 한꺼번에 하려고 할 때 사용. x : 주어진 이름의 파일에 대하여 추출 사용법: tar [옵션] 파일명 ① apache_1.3.37.tar.gz [root@nextline ~]# tar zxvf apache_1.3.37.tar.gz
 ② mysql-4.1.22.tar.gz [root@nextline ~]# tar zxvf mysql-4.1.22.tar.gz
 ③ gd-2.0.35.tar.gz [root@nextline ~]# tar zxvf gd-2.0.35.tar.gz
 ④ php-5.2.3.tar.gz [root@nextline ~]# tar zxvf php-5.2.3.tar.gz
 ⑤ ZendOptimizer-3.3.0-linux-glibc21-i386.tar.gz [root@nextline ~]# tar zxvf ZendOptimizer-3.3.0-linux-glibc21-i386.tar.gz
 ⑥ mod_ssl-2.8.28-1.3.37.tar.gz [root@nextline ~]# tar zxvf mod_ssl-2.8.28-1.3.37.tar.gz
 ⑦ openssl-0.9.8e.tar.gz [root@nextline ~]# tar zxvf openssl-0.9.8e.tar.gz
 압축해제을 해제하면 아래와 같이 패키지별 소스디렉토리가 생성됩니다. ZendOptimizer-3.3.0-linux-glibc21-i386 mysql-4.1.22 gd-2.0.35 php-5.2.3 mod_ssl-2.8.28-1.3.37 apache_1.3.37 openssl-0.9.8e
 ( 3 ) OpenSSL 설치 ① 컴파일 환경설정 [root@nextline ~]# cd openssl-0.9.8e [root@nextline openssl-0.9.8e]# ./config --prefix=/usr/local/openssl [ 컴파일 옵션] --prefix=/usr/local/openssll openssl이 설치될 경로를 지정하는 옵션입니다.
 ② 컴파일 [root@nextline openssl-0.9.8e]# make
 ③ 설치 테스트 [root@nextline openssl-0.9.8e]# make test
 ④ 설치 [root@nextline openssl-0.9.8e]# make install
 ⑤ 설치상태 확인 설치가 완료되면 컴파일 시 지정된 경로에 openssl 디렉토리가 생성됩니다. [root@nextline openssl-0.9.8e]# ls /usr/local openssl openssl 명령의 실행 파일, 소스, 매뉴얼 페이지의 인식여부를 확인합니다. [root@nextline openssl-0.9.8e]# whereis openssl openssl: /usr/local/bin/openssl /usr/local/openssl
 ( 4 ) Apache1 + mod_ssl 연동설치 ① mod_ssl 컴파일 환경설정 [root@nextline ~]# cd mod_ssl-2.8.28-1.3.37 [root@nextline mod_ssl-2.8.28-1.3.37]# ./configure --with-apache=../apache_1.3.37
 ② 아파치 컴파일 환경설정 [root@nextline mod_ssl-2.8.28-1.3.37]# cd ../apache_1.3.37 [root@nextline apache_1.3.37]# SSL_BASE=/usr [root@nextline apache_1.3.37]# ./configure --prefix=/usr/local/apache --enable-module=ssl --enable-rule=SHARED_CORE --enable-shared=max --enable-module=so [컴파일 옵션] 아파치가 설치될 경로를 지정합니다. --prefix=/usr/local/apache mod_ssl 을 모듈을 아파치에 올리기위한 옵션입니다. --enable-module=ssl DSO 방식으로 아파치를 컴파일 하기위한 옵션입니다. --enable-rule=SHARED_CORE --enable-shared=max --enable-module=so
 ③ 컴파일 [root@nextline apache_1.3.37]# make
 ④ 설치 [root@nextline apache_1.3.37]# make certificate
 ⑤ 정보입력 이 단계에서는 mod_ssl의 적용 테스트를 위함이므로 CSR 초기 정보입력부분은 Encrypt the private key now? 제외한 부분을 디폴트로 [ Enter ]을 입력하고 넘어갑니다. Signature Algorithm ((R)SA or (D)SA) [R]: [ Enter]
 1. Country Name(2 letter code) [XY]: [ Enter] 2. State or Province Name(full name)[Snake >Desert]: [ Enter] 3. Locality Name(eg, city)[Snake >Town]: [ Enter] 4. Organization Name(eg, company)[Snake Oil, Ltd]: [ Enter] 5. Organizational Unit Name (eg, section)[Webserver Team]: [ Enter] 6. Common Name (eg, FQDN)[www.snakeoil.dom]: [ Enter] 7. Email Address(eg, name@FQDN) [www@snakeoil.dom]: [ Enter] 8. Certificate Validity(days) [365]: [ Enter]
 Encrypt the private key now? [Y/n]: n [y]을 입력할 경우 /usr/local/apache/bin/apachectl startssl 명령시 패스워드를 묻게됩니다.
 정보입력이 완료되면 아래 화면과 같이 SSL KEY 경로 및 결과가 출력되며 이 경로로 SSL VirtualHost 부분을 설정하므로 메모해 주시기 바랍니다.
 ⑥ 설치 [root@nextline apache_1.3.37]# make install
 ⑦ httpd.conf 파일편집 [vi 에디터 사용법] 사용형식: vi [옵션] [생성할 파일명/편집할 파일명] vi 에디터는 입력모드, 명령모드, 실행모드로 구분됩니다. 입력모드: vi 편집화면에서 문자를 입력할 수 있는 모드로서 입력모드로 진입하기 위해서는 i, a, o, I, A, O, R등이 있습니다. 즉 초기 vi 편집기 모드는 명령어 모드로 진입을 하기때문에 문자를 입력하기 전에 앞의 단축키중 하나를 먼저 입력해야 원하는 문자를 입력할 수 있습니다. 명령모드: 커서이동/문자삭제/문자(열)교체/문자열검색 등을 할수 있는 모드로서 입력모드에서 편집이 완료되면 Esc키를 눌러 명령모드로 진입하면 됩니다. 실행모드: 특별한 명령어를 실행하는 모드로서 명령어모드에서 ":"(콜론)를 누르면 vi 화면 하단 좌측에 vi 특수명령어를 입력할 수 있습니다. [실행모드의 일반적으로 쓰이는 특수 명령어] q : 수정 작업이 이루어지지 않은 상태에서 vi 편집기에서 빠져나옵니다. q! : 수정 작업이 이루어진 부분을 적용시키지 않고 vi 편집기를 강제로 빠져나옵니다. w : 수정된 작업을 저장합니다. wq : 수정된 작업을 저장하고 vi 편집기에서 빠져나옵니다. 초기 명령어모드-> 입력모드진입 -> 편집 -> 명령어모드 -> 실행모드 -> 종료 [root@nextline apache_1.3.37]# vi /usr/local/apache/conf/httpd.conf
⑤ ServerName 설정 ServerName 부분에 아이피 혹은 도메인을 기입합니다. ServerName xxx.xxx.xxx.xxx
 ⑥ SSL Virtual Host 설정 다른 SSL 설정은 디폴트로 하고 … 지시자내의 아래항목만 아이피 및 도메인에 맞게 편집합니다. [아이피:포트] DocumentRoot "/home/nextline/public_html" [홈디렉토리경로] ServerName nextline.co.kr [도메인명] SSL 도메인은 호스트별로 인증을 받아야 하므로 인증 받을 도메인을 입력합니다.
 ⑦ SSL 설정적용 [root@nextline apache_1.3.37]# /usr/local/apache/bin/apachectl startssl
 ⑧ ssl 443 포트확인 [root@nextline src]# netstat -anp | grep httpd tcp 0 0 :::80 :::* LISTEN 2215/httpd tcp 0 0 :::443 :::* LISTEN 2215/httpd
 ⑨ https 접속테스트 https://nextline.co.kr 접속을 하시면 아래와같이 보안경고 창이 보여집니다. [예] – [Enter]
 ⑩ SSL 보안적용 화면 mod_ssl이 정상적으로 적용되었습니다. 개인키/CSR 생성 및 CRT(인증서) 적용은 이 문서의 [OpenSSL을 이용한 개인키/CSR/CRT 생성/인증서접수/인증서설치] 부분을 적용합니다.
( 5 ) Mysql 설치 ① 컴파일 환경설정 [root@nextline ~]# cd mysql-4.1.22 [root@nextline mysql-4.1.22]# ./configure --prefix=/usr/local/mysql --with-charset=euckr [컴파일 옵션] Mysql 이 설치될 경로를 지정하는 옵션입니다. --prefix=/usr/local/mysql 문자셋을 한국어로 설정하는 옵션입니다. --with-charset=euckr
 ② 컴파일 [root@nextline mysql-4.1.22]# make
 ③ 설치 [root@nextline mysql-4.1.22]# make install
 ④ mysql 데이터 디렉토리생성 [root@nextline mysql-4.1.22]# /usr/local/mysql/bin/mysql_install_db
 ⑤ 데이터 디렉토리확인 [root@nextline mysql-4.1.22]# ls /usr/local/mysql 데이터 디렉토리 [var]
 ⑥ mysql 계정생성 [root@nextline mysql-4.1.22]#usradd –M –s /sbin/nologin mysql; passwd mysql New UNIX password : [mysql 패스워드를 지정합니다] Retype new UNIX password : [mysql 패스워드를 재 입력합니다]
 ⑦ mysql 디렉토리 소유권변경 chown - 리눅스의 소유권 변경 명령어 입니다. -R 옵션 - 하위 디렉토리까지 모두 적용합니다. [root@nextline mysql-4.1.22]#chown –R mysql.mysql /usr/local/mysql
 ⑧ mysql 데몬구동 mysql를 백그라운드로 구동합니다. [root@nextline mysql-4.1.22]#/usr/local/mysql/bin/mysqld_safe &
 ⑨ mysql 데몬 구동확인 [root@nextline mysql-4.1.22]# netstat -anp | grep mysqld tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2433/mysqld

⑩ mysql root 패스워드설정 [root@nextline mysql-4.1.22]#/usr/local/mysql/bin/mysqladmin –u root password ‘xxxxxx’
 ⑪ mysql 접속확인 [root@nextline mysql-4.1.22]#mysql –u root –p 접속이 정상적으로 이루어지며 mysql 설치가 완료된 화면입니다.
 ( 6 ) GD 설치
① 컴파일 환경설정 [root@nextline ~]# cd gd-2.0.35 [root@nextline gd-2.0.35]# ./configure --prefix=/usr/local/gd2 [컴파일 옵션] GD가 설치될 경로를 지정하는 옵션입니다. --prefix=/usr/local/gd2
 ② 컴파일 [root@nextline gd-2.0.35]# make
 ③ 설치 [root@nextline gd-2.0.35]# make install
 ④ 설치확인 [root@nextline gd-2.0.35]# ls /usr/local/
 ( 7 ) PHP 설치
① 컴파일 환경설정 [root@nextline ~]# cd php-5.2.3 [root@nextline php-5.2.3]# ./configure --prefix=/usr/local/php \ > --with-apxs=/usr/local/apache/bin/apxs \ > --with-config-file-path=/usr/local/lib \ > --with-mysql=/usr/local/mysql \ > --with-gd=/usr/local/gd2 \ > --enable-gd-native-ttf \ > --with-freetype-dir=/usr \ > --with-zlib \ > --with-iconv \ > --with-imap \ > --with-imap-ssl \ > --with-kerberos \ > --enable-mbstring \ > --enable-track-vars \ > --enable-ftp \ > --disable-debug [컴파일 옵션] --prefix=/usr/local/php php 설치경로를 지정합니다. --with-apxs=/usr/local/apache/bin/apxs 공유된 apache 모듈을 연동하기 위한 옵션입니다. --with-config-file-path=/usr/local/lib php설정파일 php.ini파일이 존재할 위치를 지정합니다. --with-mysql=/usr/local/mysql Mysql과 연동하기 위한 옵션입니다. --with-gd=/usr/local/gd2 php에서 gd라이브러리관련 함수를 사용하여 gd를 지원하기 위한 옵션입니다. --enable-gd-native-ttf GD 라이브러리에서 FreeType를 함하는 옵션입니다. –-with-freetype-dir=/usr freetype2를 지원하기 위한 옵션입니다. --with-zlib 데이터압축 라이브러리로서 php에서 zlib을 지원하기 위한 옵션입니다. --with-iconv 인코딩 변환프로그램으로 iconv를 지원하기 위한 옵션입니다. --with-imap pop 과 함께 메일수신데몬으로 사용되는 서비스로서 imap를 지원하기 위한 옵션입니다. --with-kerberos Kerberos는 클라이언트 서버 애플리케이션의 입증을 제공하기 위하여 상칭적인 암호법을 이용하는 네트워크 인증 프로토콜로서 kerberos를 지원하기 위한 옵션입니다. --enable-mbstring multi-byte문자를 지원하기 위한 옵션으로 많은 언어를 표현하기 위하여 이용되며, php에서 mbstring를 지원하기 위한 옵션입니다. --enable-track-vars HTTP_GET_VARS, HTTP_POST_VARS, HTTP_COOKIE_VARS 배열에 들어있는 GET / POST / cookie 변수들이 어디로부터 왔는지 기억하게 만듭니다. 이 옵션은 단지 Default 값 을 정하는 것뿐이며, 후에 configuration file의 track_vars 지시자에 의해 Enable/Disable 할 수 있습니다. --enable-ftp php에서 ftp관련 함수를 지원하기 위한 옵션입니다. --enable-debug Zend Optimizer를 사용하기 위해서는 debugging을 사용하지 않습니다. [그외 옵션] --enable-sockets 소켓(socket) 파일을 사용하기 위한 옵션입니다. --with-language-korean 한국어를 사용하기 위한 옵션입니다. --enable-dba=shared DBA를 동적으로 적재할 수 있는 공유 모듈 형태로 만드는 옵션입니다. --enable-gdbm[=DIR] GDBM 지원을 포함하는 옵션입니다. --enable-memory-limit php에서 메모리 제한 기능을 지원하는 옵션입니다.
 ② 컴파일 [root@nextline php-5.2.3]#make
 ⑤ 설치 [root@nextline php-5.2.3]#make install
 ⑥ php 설정파일 복사 [root@nextline php-5.2.3]#cp php.ini-dist /usr/local/lib/php.ini
 ⑦ 아파치 설정파일 편집 [root@nextline php-5.2.3]#vi /usr/local/apache/conf/httpd.conf
 ⑧ PHP 인덱스파일 설정
DirectoryIndex index.html index.htm index.php index.jsp
 ⑨ AddType 설정 AddType application/x-httpd-php .php .php4 .php3
 ⑩ 설정파일 적용 [root@nextline php-5.2.3]#/usr/local/apache/bin/apachectl stop [root@nextline php-5.2.3]#/usr/local/apache/bin/apachectl startssl
 ( 8 ) ZendOptimizer 설치 ① install.sh 실행 [root@nextline ~]# cd ZendOptimizer-3.3.0-linux-glibc21-i386 [root@nextline ZendOptimizer-3.3.0-linux-glibc21-i386]# ./install.sh
 ② OK
 ③ Zend Optimizer 라이센스 화면입니다. [EXIT]
 ④ 라이센스 동의 화면입니다. [Yes]
 ⑤ Zend 설치경로를 지정하는 화면입니다. /usr/local/Zend(절대경로) 확인 후 를 선택합니다. Zend Optimizer 설치 경로가 자동 지정되지 않을 시 수동으로 /usr/local/Zend 경로를 지정해 주시면 됩니다. (Linux OS의 응용프로그램은 기본 /usr/local에 설치되기 때문에 /usr/local/Zend로 지정합니다.) [OK]
 ⑥ php.ini의 경로를 지정하는 화면입니다. php설치 시 php.ini 파일이 /usr/local/lib에 생성되기 때문에 /usr/local/lib(절대경로) 지정합니다. [OK]
 ⑦ Zend Optimizer + Apache 연동할 것인지를 묻는 화면입니다 [Yes]
 ⑧ apaachectl의 경로를 지정하는 화면입니다. [OK]
 ⑨ php.ini 파일의 php.ini-zend_optimizer.bak 백업파일을 생성하는 화면이며, 생성위치는 php.ini 파일이 존재하는 /usr/local/lib 경로에 생성됩니다. [OK]
 ⑩ Zend Optimizer 설치완료 화면입니다 [OK]
 ⑪ apache 재 시작을 묻는 화면입니다 [Yes]
 ⑫ Apache 재 시작 성공 [OK]
 ⑬ phpinfo 파일생성 [root@nextline ~]#vi /usr/local/apache/htdocs/php_test.php
 ⑭ phpinfo 코드설정
phpinfo(); ?>
 ⑮ APM 연동확인 http://xxx.xxx.xxx.xxx/php_test.php
 ( 9 ) CSR 생성 CSR ( Certificate Signing Request ) 이란? SSL 서버를 운영하는 회사의 정보를 암호화하여 인증기관으로 보내 인증서를 발급받게 하는 일종의 신청서이며 CSR은 ASCII 텍스트 화일로 생성됩니다. ① 개인키 생성 Openssl 명령어를 이용하여 웹서버의 RSA키(1024비트 암호화)를 생성합니다. 개인키 생성시 DES/RSA 암호화 방식을 선택할 수 있으나 DES 방식으로 개인키를 생성하실 경우 아파치를 구동하면 개인키 생성시 입력한 패스워드를 묻게 되며 부팅 시 아파치 데몬이 자동으로 구동되도록 설정하신 경우 부팅 중 패스워드를 묻게 되므로 관리의 원활함을 위해 RSA 방식으로 개인키를 생성합니다. /usr/local/src 디렉토리로 이동하여 키생성 합니다. [root@nextline ~]# cd /usr/local/src openssl genrsa 1024 > 도메인.key [root@nextline src]# openssl genrsa 1024 > nextline.co.kr.key

② 도메인 조회 CSR 정보입력 및 인증신청서 작성시 도메인 등록업체 및 도메인 조회사이트에서 도메인을 조회하여 조회결과와 일치하게 정보를 입력하여야 합니다. http://whois.nic.or.kr
 [CSR 항목에 대한 설명] CSR 정보 입력 시 도메인 등록업체에 등록하신 정보와 동일한 정보를 입력합니다. Country Name 이것은 두 자로 된 ISO 형식의 국가 코드입니다. State or Province Name 시 이름을 입력해야 하며 약어를 사용할 수 없습니다. Locality Name 이 필드는 대부분의 경우 생략이 가능하며 업체가 위치한 곳를 나타냅니다. Organization 사업자 등록증에 있는 회사명과 일치되는 영문회사명을 입력하시면 됩니다. Organization Unit "리눅스 관리팀", "윈도우 관리팀" 등과 같이 업체의 부서를 입력할 수 있습니다. Common Name 인증받을 도메인주소를 입력하시면 됩니다. 이 정보로 웹 사이트를 식별하므로 호스트 이름을 변경할 경우 다른 디지털 ID를 요청해야 합니다. 호스트에 연결하는 클라이언트 브라우저가 디지털 ID의 이름과 URL이 일치하는지를 확인합니다. [CSR 항목 입력시 주의사항] Common Name 에는 인증서를 설치할 사이트의 도메인의 이름을 정확하게 입력하셔야 하며 IP 주소, 포트번호, 경로명, http:// 나 https:// 등은 포함할 수 없습니다. CSR 항목에는 < > ~ ! @ # $ % ^ * / \ ( ) ? 등의 특수 68 문자를 넣을 수 없습니다. CSR 생성후 서버에 개인키 (Private Key) 가 생성됩니다. 개인키를 삭제하거나 분실할 경우 인증서를 발급받아도 설치가 불가합니다. 따라서 꼭 개인키를 백업받아 두셔야 합니다. 정보입력과정 마지막에 나오는 A challenge password 와 An optional company name 두 항목은 입력하지 마시고 Enter 만 누르고 넘어가야 합니다. 두 정보가 입력될 경우 잘못된 CSR 생성될 수 있습니다. ③ CSR(인증요청서) 생성 [root@nextline src]# openssl req -new -key nextline.co.kr.key > nextline.co.kr.csr
 [CSR 정보입력 항목] Country Name (2 letter code) [AU]:KR State or Province Name (full name) [Some-State]:Seongnam Gyeonggi-do Locality Name (eg, city) []:Yatap-dong Bundang-gu Organization Name (eg, company) [Internet Widgits Pty Ltd]:nextline Organizational Unit Name (eg, section) []:Technological Support Department Common Name (eg, YOUR name) []:nextline.co.kr Email Address []:nextline@nextline.co.kr A challenge password/An optional company name 항목은 입력하지 않고 Enter만 누르고 넘어갑니다. Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
 ③ CSR 확인 [root@nextline src]# openssl req -noout -text -in nextline.co.kr.csr
 ( 10 ) 인증서 접수
넥스트라인에 인증서발급 요청 시 접수양식에 따라 정보 기입후 인증서발급을 신청합니다. ① 인증서 신청 정보입력 도메인 : (www.nextline.co.kr과 nextline.co.kr은 다른 도메인으로 인식되며 각각 인증서를 신청하셔야 합니다.) 상품종류 : 경제형/기본형/골드형/프리미엄형/멀티도메인(도메인이 여러개일 경우 선택) 도메인 추가 등록 : 멀티도메인의 경우 해당되며 추가하실 도메인 명을 기입합니다. 인증서 기간 : 1/2/3 년 운영환경 : Apache + Mod SSL CSR 코드입력 : CSR 추출값 입력 상호명(영문입력) : nextline 부서명(영문입력) : Technological Support Department 주소 상세주소(영문입력) : Hostway IDC 343-1 시/군(영문입력) : Yatap-dong Bundang-gu 시/도(영문입력) : Seongnam Gyeonggi-do 우편번호 : 463-828 국가 : KR 등록번호(사업자등록번호/주민등록번호 도메인 소유주) : 도메인 조회 시 나타나는 책임자 및 사업자 정보를 입력합니다. 메일주소(인증서 수령 이메일기입) : 도메인 조회 시 나타나있는 책임자 전자우편을 입력합니다. 담당자 이름 : 도메인 조회 시 나타나는 책임자 명을 입력합니다. 전화 번호 : 도메인 조회 시 나타나는 책임자 전화번호를 입력합니다. ② CSR 추출 [root@nextline src]# cat nextline.co.kr.csr
 생성된 CSR 을 출력하면 아래와 같은 base64 형식의 문서를 볼 수 있으며 이 문서의 첫 줄 -----BEGIN … 부터 마지막 줄 -----END … 까지 복사하여 인증서 신청시 CSR 코드입력란에 복사하여 붙여 넣은 뒤 입력정보와 함께 전송 후 주민등록증 사본(개인)/사업자등록증 사본(사업자)를 팩스로 보내주시면 접수가 완료됩니다.

( 11 ) 인증서 설치
접수한 CSR 파일이 정상적으로 생성되었다면 별다른 문제없이 인증서를 발급 받을 수 있습니다. 인증서 파일은 신청시 기록한 Email 주소를 통해 인증서를 첨부파일로 수신하게 됩니다. ① 발급인증서 첨부화일 확인 메일로 받은 인증서 파일의 압축을 해제하시면 인증서 및 CA 두개의 파일이 확인 하실 수 있습니다.

② ftp 계정생성 인증서를 서버로 업로드하기위해 FTP 계정을 생성합니다. 기존 FTP 계정을 이용하여도 무방합니다. 계정생성 [root@nextline ~]# useradd nextline 계정 패스워드설정 [root@nextline ~]# passwd nextline Changing password for user nextline. 패스워드 입력 New UNIX password: 패스워드 재입력 Retype new UNIX password: passwd: all authentication tokens updated successfully.
③ 인증서 업로드 FTP 프로그램을 이용하여 4393142.crt, 4393142.ca-bundle 파일을 업로드 합니다.
 ④ 인증서 경로로 인증파일 이동 위 파일 중 4393142.crt 파일을 SSLCertificateFile 경로로 이동합니다. SSLCertificateFile /usr/local/apache/conf/ssl.crt/4393142.crt

4393142.ca-bundle 파일을 SSLCACertificateFile 경로로 이동합니다. SSLCACertificateFile /usr/local/apache/conf/ssl.crt/4393142.ca-bundle

위에서 생성한 개인키(nextline.co.kr.key)를 SSLCertificateKeyFile 경로로 이동합니다. SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/nextline.co.kr.key
 ⑤ 웹서버 환경설정 [root@nextline src]# vi /usr/local/apache/conf/httpd.conf
 Apache 1.x + mod_ssl 연동 설치시 기본적으로 80, 443포트의 설정부분이 추가되므로 Port 80 부분을 주석처리하여 적용되지 않도록 합니다. #Port 80 주석처리 합니다.
 일반 http 80 포트 접속 VirtualHost 설정 NameVirtualHost xxx.xxx.xxx.xxx:80
DocumentRoot /home/nextline/public_html ServerName nextline.co.kr
 SSL VirtualHost 설정 모든 보안 가상 호스트들의 설정은 와 지시자 사이에 포함되어야 합니다. NameVirtualHost xxx.xxx.xxx.xxx:443
DocumentRoot "/home/nextline/public_html" ServerName nextline.co.kr SSLCertificateFile /usr/local/apache/conf/ssl.crt/4393142.crt SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/nextline.co.kr.key SSLCACertificateFile /usr/local/apache/conf/ssl.crt/4393142.ca-bundle
 SSL Virtual Host Context 기본설정
아이피 및 https 프로토콜 포트443 포트입력를 입력합니다.
보안서버 도메인의 홈디렉토리를 입력합니다. DocumentRoot "/home/nextline/public_html" 도메인을 입력합니다. ServerName nextline.co.kr SSL 엔진을 활성화 합니다 SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL 인증서의 경로와 파일명을 명시합니다. SSLCertificateFile /usr/local/apache/conf/ssl.crt/4393142.crt 개인키 경로와 파일명을 명시합니다. SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/nextline.co.kr.key CA root인증서 경로와 파일명을 명시합니다. SSLCACertificateFile /usr/local/apache/conf/ssl.crt/4393142.ca-bundle
SSLOptions +StdEnvVars
SSLOptions +StdEnvVars
BrowserMatch ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog /usr/local/apache/logs/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
⑥ 웹서버 재실행 웹설정 파일의 오류가 없는지 체크를 합니다. [root@nextline ~]# /usr/local/apache/bin/apachectl configtest Syntax OK [정상] 웹설정 파일을 적용하기 위해 아파치를 재가동합니다. [root@nextline ~]# /usr/local/apache/bin/apachectl startssl
 ⑤ 웹서버 포트점검 [root@nextline ~]# netstat -anp | grep httpd httpd 데몬이 80 / 443 포트로 실행됩니다.
 ⑥ 웹서비스 동작상태 점검 https://nextline.co.kr 페이지 하단을 보시면 열쇠 아이콘이 보이게 됩니다. 아이콘을 클릭하게 되면 위와 같이 인증서 정보를 확인하실 수 있습니다.
⑦ 인증 경로확인

|
|