공유게시판

홈 > 커뮤니티 > 건강한 공유
건강한 공유

[linux] SSL 구축하기

투덜이개발자 0 1684 0 0

CentOS 6.4 SSL 구축하기

phpMyAdmin을 설치하려고 보니 SSL 구축을 하는게 좋다고 경고가 있었다. 어차피 해야 하기 때문에 SSL 구축을 위한 글들을 검색하다 CentOS 에서 직접 제공하는 문서가 있길래 냉큼 가져와 수행했다. 영어로 되어있어 나의 경험을 살려 재 작성한다. 본문 링크를 함께 걸었으니 직접 봐도 좋다. 

 

본문 : http://wiki.centos.org/HowTos/Https

나중에 구매한 SSL을 적용하게 되면 또 업데이트 하겠다. 궁금하지 아니한가?!

 

1. 필요한 소프트웨어

SSL 암호화를 위해 OpenSSL과 mod_ssl이 필요하다. 6.4 버전에서는 openssl이 자동 설치되는 걸로 알고 있다.

 

# yum install mod_ssl openssl

 

2. self-signed certificate 생성

OpenSSL을 이용해 self-signed certificate를 생성한다. 위에서 쓴 글이지만 서비스를 할 예정이라면 verisign과 같은 업체에서 인증서를 사서 써야겠지만 개인 사이트라면 self-signed certificate 라면 충분하다고 한다. 다음과 같이 입력하거나 복사&붙여넣는다.

 

인증서 생성에 대한 보다 자세한 설명은 아래 링크를 참조한다.

http://dimdim.tistory.com/50


private key 생성

# openssl genrsa -out ca.key 1024

 

CSR 생성

# openssl req -new -key ca.key -out ca.csr

 

Self signed key 생성

# openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt

 

다음 위치에 files을 복사한다.

# cp ca.crt /etc/pki/tls/certs

# cp ca.key /etc/pki/tls/private/ca.key

# cp ca.csr /etc/pki/tls/private/ca.csr

 

SELinux 에 의해 Certificate files이 삭제 될 수 있다. 이로 인해 삭제된 구문을 원복시키기 위해 다음 명령어를 쓴다. 삭제 된 경우 이 명령어를 통해 복원 된다. 

 

# restorecon -RvF /etc/pki

/etc/pki/* 하위의 모든 폴더나 파일에서 삭제된 구문을 복원한다.

 

# vi /etc/httpd/conf.d/ssl.conf

아파치의 ssl 설정을 변경하기 위해 편집기로 열어 아래와 같이 수정한다.

 

SSLCertificateFile /etc/pki/tls/certs/ca.crt

SSLCertificateKeyFile /etc/pki/tls/private/ca.key 

 

# service httpd restart

 

3. SSL VirtualHost 추가

SSL은 443 포트를 사용하기 때문에 이를 위한 Virtualhost를 추가한다.

 

# vi /etc/httpd/conf/httpd.conf

httpd 설정 파일을 편집기로 열어 마지막 위치에 아래 내용을 입력한다. httpd.conf 파일 내에 예제로 적혀있는 내용이 있으니 복사&붙여넣기 하면 된다.

 

# SSL Virtual host add

NameVirtualHost *:443


# SSL Virtual host add
<VirtualHost *:443>
    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/ca.crt
    SSLCertificateKeyFile /etc/pki/tls/private/ca.key
    ServerAdmin starkapin@tistory.com
    DocumentRoot /var/www/html
    ServerName ssl.starkapin.com
    ErrorLog logs/ssl_starkapin_com_error_log
    CustomLog logs/ssl_starkapin_com_error_log common
</VirtualHost>

 

# service httpd restart

 

4. 방화벽 설정

443 포트를 방화벽으로 허용시켜준다.

 

# vi /etc/sysconfig/iptables

편집기로 불러와 아래 내용을 추가한다.

 

-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT

 

# service iptables restart

 

이제 웹으로 접속해서 확인 하면 인증서 경고가 발생하며 접속됨을 확인 할 수 있다.

https://127.0.0.1/


페이스북에 공유 트위터에 공유 구글플러스에 공유 카카오스토리에 공유 네이버밴드에 공유 신고
0 Comments
제목
반응형 구글광고 등
페이스북에 공유 트위터에 공유 구글플러스에 공유 카카오스토리에 공유 네이버밴드에 공유