웹서버를 운영하면서 https 보안 서버를 사용하기 위해서는 인증기관에서 SSL 인증서를 발급받는다. 발급받은 개인키에 비밀번호가 걸려있을 경우에는 아파치 웹서버를 실행할 때마다 다음과 같은 메시지를 받게된다.

... waiting .Apache/2.2.14 mod_ssl/2.2.14 (Pass Phrase Dialog)
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide the pass phrases.

Server www.test.local:443 (RSA)
Enter pass phrase: [비밀번호 입력]

OK: Pass Phrase Dialog successful.
[ OK ]
root@www:/#

메시지만 나오는 것이라면 별 상관없겠지만, 개인키에 걸려있는 비밀번호를 입력해야만 서버 시작을 진행하는 것이 문제이다. 서버를 운영하다보면 관리 목적에서 자동으로 서버를 재시작해야할 경우가 종종 있는데, 그때마다 수동으로 비밀번호를 입력해주고 있을 수는 없는 노릇이다. 따라서, 이런 경우에는 개인키에 걸린 비밀번호를 제거해줘야할 필요가 생긴다.

개인키에 걸린 비밀번호는 다음과 같이 제거할 수 있다.

root@www:/etc/apache2/ssl/ssl.key# openssl rsa -in key.pem.orig -out key.pem
Enter pass phrase for key.pem.orig: [비밀번호 입력]
writing RSA key
root@www:/etc/apache2/ssl/ssl.key# [완료]

위의 예에서는 "key.pem.orig"라는 파일이 비밀번호가 걸려있는 원래 개인키 파일이다. 이렇게 실행한 후에, "key.pem"이라는 새로 만들어진 개인키 파일을 사용하면 비밀번호를 물어보는 귀찮은 일이 발생하지 않는다. 다만, 보안키의 비밀번호가 사라진만큼 보안키 저장에 신경써야하지만, 보안키 저장 장소는 비밀번호가 있건 없건 접근 권한등 보안에 신경쓰자.


+ Recent posts