[Server] 미니 홈서버 구축하기 14편 - NextCloud SSL으로 보안 강화하기

2021. 2. 1. 09:56Server

https://securionpay.com/blog/ssl-certificates/

지난 몇 년간 SNS나 온라인 쇼핑몰 등 온라인 서비스에 대한 의존도가 상당히 증가했습니다. 또한 지금까지 증가한 인터넷 트래픽, SNS 신규 가입자수 등등을 보면 앞으로 더욱 증가할 가능성이 높습니다. 무엇보다 점점 인터넷을 통해 오고 가는 데이터량이 많아지고, 또한 카드정보나 개인정보 등 중요한 데이터들이 더욱 많이 오고 가기 시작하면서, 보안이 정말 중요해졌습니다.

이번 시간에는 SSL을 설정하여 웹 보안을 더 강화시켜보도록 하겠습니다.

HTTPS와 SSL

몇 년 전까지만 해도 HTTPS를 쓰는 곳보다 HTTP를 쓰는 곳이 많았습니다. HTTP는 HyperText Transfer Protocol의 약자로 HTML을 쉽게 전송하기 위한 통신규약입니다. 하지만 일반 HTTP는 별도의 암호화 없이 데이터를 주고받기 때문에 중간에 데이터를 가로채는 것이 어렵지 않았습니다. 즉 로그인할 때 사용되는 비밀번호라던가 집주 소등 이러한 개인정보들의 보안이 매우 취약했었습니다. 보안 관련 문제들이 생기고 보안의 중요성이 부각되면서 HyperText Transfer Protocol에 Secure가 붙은 HTTPS라는 새로운 규격이 생기게 되었습니다.

SSL은 Secure Socket Layer의 약자로 데이터를 암호화해서 넘겨주는 보안 레이어입니다. 주로 HTTPS에 암호화를 위해 사용되는 경우가 많으며, 암호화를 위해 공개키/개인키를 필요로 합니다. SSL의 암호화를 위하여 인증서가 요구되는데, 오늘 할 것이 바로 인증서를 받고 SSL을 활성화하는 부분입니다.

SSL 활성화

NextCloud에서 SSL을 활성화하는 방법은 매우 쉽습니다.

sudo nextcloud.enable-https lets-encrypt

위의 명령어를 사용하여 몇 가지 답만 해주면 됩니다.

 

In order for Let's Encrypt to verify that you actually own the
domain(s) for which you're requesting a certificate, there are a
number of requirements of which you need to be aware:

1. In order to register with the Let's Encrypt ACME server, you must
   agree to the currently-in-effect Subscriber Agreement located
   here:

https://letsencrypt.org/repository/

   By continuing to use this tool you agree to these terms. Please
   cancel now if otherwise.

2. You must have the domain name(s) for which you want certificates
   pointing at the external IP address of this machine.

3. Both ports 80 and 443 on the external IP address of this machine
   must point to this machine (e.g. port forwarding might need to be
   setup on your router).

Have you met these requirements? (y/n) y

 

Please enter an email address (for urgent notices or key recovery): 이메일

Please enter your domain name(s) (space-separated): 도메인

Attempting to obtain certificates... done

Restarting apache... done

위와 같이 몇 가지의 정보만 입력해주고 설치해주면 완료됩니다.

 

위와 같이 SSL가 적용된 것을 확인할 수 있습니다.

참고

https://donghwi-kim.github.io/jekyll/update/2015/02/21/SSL.html

 

SSL이란

웹을 개발하면 기본적으로 회원을 관리하고 로그인하는 부분을 개발하기 마련이다. 웹서핑을 하다보면 브라우저에 자물쇠표시가 되어있는 경우를 종종 보게된다. 해당 웹사이트는 SSL 이라는

donghwi-kim.github.io

https://opentutorials.org/course/228/4894

 

HTTPS와 SSL 인증서 - 생활코딩

HTTPS VS HTTP HTTP는 Hypertext Transfer Protocol의 약자다. 즉 Hypertext 인 HTML을 전송하기 위한 통신규약을 의미한다. HTTPS에서 마지막의 S는 Over Secure Socket Layer의 약자로 Secure라는 말을 통해서 알 수 있듯이

opentutorials.org

반응형