NAS-Linux 서버구축/Ubuntu 14.04

센토라 패널에서 SSL 설치하여 https 사용하기

clamp2x 2016. 1. 19. 00:06
반응형


간단하게 센토라에서 SSL 설치하기



웹 사이트 자체에 보안 연결을 지원하는 SSL은 보안 연결의 가장 간단한 방법이자 강력한 방법중에 하나 입니다. 때문에 금전이나 신용카드 정보를 다루는 웹사이트에서는 이제는 필수라고 해도 무방할 정도로 많이 사용을 하고 있습니다. 또한 개인 정보 유출이 중요해 지는 시대인 만큼 대형 포털등에서도 보안 연결을 지원하는 추세이고, 좀 더 나아가 이제 더이상 기업들만의 전유물이 아닌 개인 웹 사이트에서도 SSL를 추가하는 시대가 되었습니다. 하지만 인증된 인증서의 경우에는 일정 비용을 지불해야 사용할 수 있습니다. 하지만, 이 부분도 시대가 지나니 무료 SSL도 제공될 가능성도 보입니다. (이 부분은 차후 다뤄보도록 할게요.)





센토라의 경우에는 장점중에 모듈을 추가할 수 있다는 강력한 장점이 있는데, SSL 설치 역시 마찬가지 입니다. 모듈없이 일반적인 방법으로 인증서를 설치한다면, 서버에서 SSL을 지원하도록 설정을 해주어야 하고, 그 사이트 별로 또 따로 설치를 해야 합니다. 하지만, 센토라는 모듈을 설치하면, 별다른 어려움 없이 사이트에 맞게 SSL을 간편하게 설정할 수 있습니다.


이 글을 쓰게 된 가장 큰 계기는 "김씨" 님이 센토라에서는 SSL을 추가하는 방법에 대해서 알려달라고 하셨는데 댓글로 적기에도 길고, 또 유용한 내용이 될 것 같아 포스팅을 하게 되었습니다. 아직 저는 서명된 인증서를 구매하고 설치해본적이 없습니다. (위에 언급했던 무료 SSL이 활성화 된다면 당장 해볼 생각입니다.) 그래서 이번 포스팅도 지난 윈도우떄 포스팅 한 내용과 같이 자체 서명된 인증서를 기반으로 테스트를 진행했습니다. 실제 인증서를 설치하는 경우 일부 상황이 달라질 수도 있습니다.



IIS에는 자체 서명된 SSL을 테스트 할 수 있도록 기능이 있습니다. IIS뿐 아니라 다른 웹 서버들도 서버에서 자체적으로 인증서를 생성할 수 있게는 되어있지만, 윈도우처럼 간단하지는 않습니다. 하지만, 센토라의 경우에는 모듈 설치를 통해 윈도우만큼 쉽고 간단하게 자체 서명된 인증서를 생성할 수 있고, 인증서를 쉽게 설치 할 수 있습니다.


센토라 설치후 별다른 설정을 하지 않았다면, 무턱대고 https://domain.com 과 같이 https로 접속하게 되었을 때 아래와 같은 화면이 나옵니다.





이 에러 화면은 아예 서버로 접속을 할 수 없는 경우에 이런 화면이 나타나는데, 이것은 https로는 서버에 접속할 수 없다는 것을 의미합니다. 이유는 센토라 설치후 서버에서 따로 443 포트를 활성화 하지 않았다면 443포트를 사용할 수 없기 때문입니다. http가 80 포트를 사용하듯이 https는 기본적으로 443 포트를 사용하기 때문에 https를 사용하기 위해서 443포트가 개방 되었는지 확인할 필요가 있습니다. 그래서 터미널을 열고 다음과 같이 입력합니다.


# netstat -tnlp


netstat 명령어는 윈도우에도 같은 명령어가 존재합니다. 이 명령어는 사용중인 포트를 확인할 수 있는 명령어 입니다.


윈도우처럼 리눅스에서도 같은 명령어를 사용할 수 있는데, 위의 명령에서 뒤에 붙은 옵션들(윈도우와 옵션을 차이가 있습니다.)에 대해서 설명을 하자면


-t : tcp 포트 정보를 보여줍니다. 

-n : 숫자 형태로 나타냅니다.

-l : listen (응답가능한, 응답 대기중)되어 있는 포트를 보여줍니다.

-p : Process ID 와 프로그램 이름 형태로 보여줍니다.


이 명령어를 입력하면 아래와 같이 나타납니다.



위의 화면을 보면 목록중에 https 기본 포트인 443 포트가 포함되어 있지 않습니다. iptables 명령어를 이용해서 직접 443포트를 개방할 수는 있지만 아파치에서 SSL 모듈 활성화로 쉽게 개방도 가능합니다. 하지만, 지금 그 아파치 모듈을 활성화 한 뒤 센토라에서 모듈을 설치하면 희안하게 정상작동하지 않아서 https를 정상적으로 사용하기 위해서는 정확한 순서가 필요합니다. 그래서 가급적 이 포스팅 그대로 시도하기 바랍니다.





SSL 관리 모듈 설치하기


SSL 인증서들을 쉽게 설치하기 위해서 우선 센토라 내에서 추가적으로 모듈을 설치해야 하는데, Certificate Manager 라는 모듈을 설치하면 됩니다. 관련 내용은 여기를 참고 하였습니다. 센토라 내에서 모듈을 추가로 설치하는 과정은 지난번에도 설명한 적이 있는데 그 때와 설치하는 과정이 같습니다.

센토라 모듈을 설치하려면 호스팅 패널에서도 설치가 가능하긴하지만, 되도록이면 SSH로 접속하여 root권한을 획득한 상태에서 SSH상에서 진행하는 것을 더 추천하고 있습니다.



여기도 전에 내용과 비슷하게 아래와 같은 단계로 진행이 됩니다.


저장소 추가 > 저장소 업데이트 > 관련 모듈 설치


아래와 같은 명령어를 입력합니다.


zppy repo add repo.alio.dk (모듈 저장소 추가)

# zppy update (저장소 업데이트)

# zppy install Cer_manager (모듈 설치)


단계적으로 위의 명령어들을 입력하면 아래처럼 금방 모듈이 설치 됩니다.



SSH를 통해서 모듈을 설치했으니 이제 패널에서 사용가능하도록 활성화 설정해 봅시다.

센토라는 항상 모듈을 추가하고 나면 패널에서 사용가능하도록 그룹별로 권한 조정을 해야 합니다. 패널 내에서 Admin > Module Admin 항목으로 이동합니다.




여러개의 항목들 중에 Certificate Manager 라는 항목이 보입니다. SSL 서비스를 일단, 관리자가 먼저 테스트할 목적이라면 Administrator만 바로 다른 사람들도 사용가능하도록 서비스를 시작하는 경우라면 전부 체크하면 됩니다.



이 모듈을 활성화할 때 따로 변경한 부분이 없다면 Domain > Certificate Manager라는 항목이 새로 생긴것을 확인할 수 있습니다.




이 항목을 이용하면 SSL 인증서를 추가할 수 있도록 메뉴가 생깁니다. 이번 포스팅에서는 SSL을 따로 발급받지 않았기 때문에 Self signed (자체 서명)를 통해 인증서 발급을 진행할 예정입니다. 만약, 다른 업체를 통해 인증서를 발급받은 경우라면 Install Signed Certificate 메뉴를 통해 등록하면 됩니다.



위의 항목들을 빠지 없이 입력을 하고 Save 버튼을 누르면 아래와 같은 화면이 나오게 됩니다.





이 상태에서 바로 https 로 접속을 하게 되면 접속이 되지 않습니다.


이유는 아까 위에서 적었던 443 포트가 활성화 되어있지 않기 때문입니다. 이 443 포트를 강제로 활성화 할 수 있지만, 센토라 패널을 설치한 경우라면 Apache기능 중 SSL 모듈을 활성화 시키는 방법이 제일 간단합니다.





Apache2에서 SSL 모듈 활성화 하기


아파치에는 자체 확장 모듈로 여러가지를 가지고 있지만, 여기서 SSL 모듈을 활성화 하면 더 쉽게 443 포트를 개방할 수 있습니다. 번거로운 설정도 자동으로 잡아주니 오히려 더 편리하더군요.


SSH에서 아래와 같이 입력하면 됩니다.


a2enmod ssl



아래와 같이 몇몇 과정을 자동으로 설정을 하고 아파치(웹서버)가 자동으로 재 시작 됩니다.



https를 테스트 해보기 전에 일단 제대로 포트가 개방되었는지 확인해 봅시다.


아까와 같은 명령어를 통해 443 포트를 확인합니다.


# netstat -tnlp




:::443 으로 (IP주소가 안 적혀있는 경우는 로컬포트 - localhost 입니다.) 포트가 개방된 것을 확인할 수 있습니다. 이제 실제로 https로 접속가능한지 테스트해 봅시다.




접속 테스트해보기


https로 접속을 해봅시다. 자체 서명된 인증서이기 때문에 브라우저에서 확인을 못해 아래와 같은 경고가 나오지만 아래 고급 버튼을 눌러보면 그대로 접속할 수 있는 방법이 있습니다. (브라우저마다 방법이 상이합니다.)




그리고 https로도 정상적으로 접속되는 것을 볼 수 있습니다.



본 포스팅은 센토라 모듈 설치에 중점을 두고 설명을 진행하였으며,

실제 인증서를 설치하지는 않았기 때문에 실제 사이트 적용에서 어떻게 적용이 될지 저도 답변드리기 어렵습니다.

혹시라도 시도해 보신 분들은 댓글로 후기 부탁드립니다.








반응형