관리 메뉴

IT창고

리눅스 웹 서버(Apache) 사설인증서 적용 본문

서버운영/Linux

리눅스 웹 서버(Apache) 사설인증서 적용

방구석여포 2018. 7. 30. 01:41

리눅스에서 사설인증서를 만들고 웹 서버에 적용시켜 보겠습니다.

공인인증서는 최소 비용이 10만원 이상은 하며 갱신해야하기 때문에 사설인증서를 만들어보겠습니다.


리눅스에서 사설인증서를 만들기 위하여 openssl과 mod_ssl 패키지가 필요합니다. 없다면 yum으로 받아줍니다.

패키지를 설치하였다면 개인키를 만들어봅니다. key 파일이름을 정해주고 뒤에 2048이 있는데 이 숫자는 비트의 수로 숫자가 높을수록 안전하지만 느려집니다. 1024, 2048 등을 사용합니다.


개인키를 만들었다면 새로운 인증서 발급을 합니다. 위의 명령어를 입력하게 되면 국가코드 , 도시이름, 조직이름, 패스워드 등 위와 같이 입력해주면 인증서가 만들어집니다.


마지막으로 개인키(.key)와 인증서(.csr)로 자체서명키(.crt)를 만들어줍니다. -days 옵션에 유효기간을 넣어줍니다.


만들어둔 개인키, 인증서, 자체서명키 3개를 위의 사진의 경로에 복사나 이동시켜줍니다.


/etc/httpd/conf.d/ssl.conf 파일에 88번 째 줄을 보면 On으로 되어있어야 인증서(SSL)을 사용할수있습니다. 105, 112번 째 줄에 방금 복사한 파일의 이름으로 바꿔줍니다.


인증서(SSL)은 가상호스트에서도 사용할 수 있습니다. 가상호스트 설정방법은 아래를 참고합니다.

2018/07/19 - [서버운영/Linux] - 리눅스 웹 서버 가상호스트

가상호스트에 인증서를 적용시켜보도록 하겠습니다.


/etc/httpd/conf/httpd.conf 파일에 가서 NameVirtualHost *:443를 추가하고 가상호스트를 만들때처럼 <VirtualHost *:443>으로 추가합니다. key파일과 자체서명키 파일의 경로도 넣어야만 합니다. 443번은 포트 번호입니다.

well-known port에 대해서는 https://ko.wikipedia.org/wiki/TCP/UDP%EC%9D%98_%ED%8F%AC%ED%8A%B8_%EB%AA%A9%EB%A1%9D 를 참고합니다.


테스트 PC로 가서 제대로 설정되었는지 확인해보겠습니다. 테스트 PC로 가기 전에 SELinux가 Disabled인지 iptables는 443포트가 열려있거나 stop상태인지 확인합니다.

저는 iptables에 443포트를 열었습니다 iptables를 사용하고 싶지않다면 service iptables stop 명령어를 사용하면 됩니다.


테스트PC의 웹 브라우저에 https 접속을 하게 되면 위와 같이 인증서에 문제가 있다고 나오는데 이 문제는 제가 사설인증서를 사용하기 때문입니다. 공인인증서가 아니라면 신뢰할 만한 인증 기관에서 발급된것이 아니기 때문에 이러한 문구가 나오게 됩니다.

계속 탐색을 클릭합니다.


들어가보면 https로 접속된걸 확인할수있습니다. 단 사설인증서이기 때문에 경고문구가 나오게 됩니다.

Comments