webdav 및 mysql용 인증서 만들어 사용하기
mysql 마스터, 슬레이브 간에 ssl을 사용하거나 또는 webdav 같은 서비스에서 기간이 긴 30년 또는100년 짜리 인증서 개인 용도 또는 특수 목적으로 사용하고자 할때 사용하면 좋습다. 제 기억으론 mysql에 기본적으로 SSL 사용할때 사용하는 디폴트것은 10년 짜리로 기억합니다.
1) 인증서 생성
centOS7 또는 아마존리눅스는 openssl.cnf 위치가 아래 입니다.
소스 설치하게 되면 그 위치는 다릅니다. 각 리눅스마다 위치는 다를 수 있습니다.
정보입력할때 IP 주소도 문제 되지 않습니다. 다만 사용할것으로 정확하게 입력 해야 합니다.
/usr/bin/openssl req -config /etc/pki/tls/openssl.cnf -new -out pabburi_ssl.csr -keyout pabburi_ssl.pem
Generating a 2048 bit RSA private key
....+++
..................+++
writing new private key to 'pabburi_ssl.pem'
Enter PEM pass phrase: 비밀번호입력
Verifying - Enter PEM pass phrase: 비밀번호입력
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:ko
State or Province Name (full name) []:seoul
Locality Name (eg, city) [Default City]:seoul
Organization Name (eg, company) [Default Company Ltd]:회사명
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:사용할도메인 또는 IP
Email Address []:메일주소
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: 빈칸
An optional company name []:빈칸
2)
/usr/bin/openssl rsa -in pabburi_ssl.pem -out pabburi_ssl.key
3) 인증서 유효기간
기간을 가능하면 길게 넣는것이 좋지만 무한정 길게 넣으면 오류가 발생 합니다. 아래 정도가 적동 합니다.
/usr/bin/openssl x509 -in pabburi_ssl.csr -out pabburi_ssl.crt -req -signkey pabburi_ssl.key -days 999888
이렇게 만들어진 인증서는 개인 용도로만 사용이 가능하며 웹브라우저를 통해서 사용하게 되면 경고가 발생 합니다. 불특정 다수에게 웹브라우저를 통한 인증서를 사용하고 싶다면 무료 인증서 받아 사용하시면 됩니다.
4) 웹서버에 인증서 사용
여기선 아파치 웹서버를 사용합니다. 엔진엑스 많이 사용하는데 아파치 옵션을 이벤트드리븐으로 선택하게 되면 큰 차이 없는것으로 알려져 있습니다.
SSLCertificateFile "/etc/ssl/pabburi_ssl.crt"
SSLCertificateKeyFile "/etc/ssl/pabburi_ssl.key"