본문 바로가기
카테고리 없음

SSL(보안 소켓 계층, Secure Sockets Layer) 설치이유, 설치방법

by happytimes 2024. 5. 17.

 

SSL(보안 소켓 계층, Secure Sockets Layer)을 설치해야 하는 이유

 

 

SSL(보안 소켓 계층, Secure Sockets Layer)을 설치해야 하는 이유는 다음과 같습니다: 데이터 암호화:SSL은 서버와 클라이언트 간의 데이터 전송을 암호화하여 중간에 데이터가 유출되거나 조작되는 것을 방지합니다. 이는 특히 비밀번호, 신용카드 번호 등의 민감한 정보를 보호하는 데 중요합니다.

 

인증 및 신뢰 구축:SSL 인증서는 웹사이트의 신원을 확인하고 사용자가 방문하는 사이트가 신뢰할 수 있는지 확인하는 역할을 합니다. 이는 피싱 사이트를 피하고 사용자에게 신뢰를 제공합니다.

 

데이터 무결성:SSL은 전송 중에 데이터가 변경되거나 손상되지 않도록 보호합니다. 이는 데이터가 전송되는 동안 누군가가 데이터를 수정하는 것을 방지합니다.

 

SEO 향상:검색 엔진은 SSL을 사용하는 사이트를 더 신뢰할 수 있는 사이트로 간주하며, SSL을 사용하지 않는 사이트보다 더 높은 순위를 매깁니다. 따라서 SSL을 설치하면 검색 엔진 최적화(SEO)에도 긍정적인 영향을 미칩니다.

 

브라우저 경고 방지:최신 브라우저는 SSL을 사용하지 않는 사이트에 대해 경고 메시지를 표시합니다. 이는 사용자가 사이트를 방문하는 것을 주저하게 만들 수 있습니다. SSL을 설치하면 이러한 경고를 방지할 수 있습니다.

 

법적 요구 사항 준수:일부 산업 분야에서는 SSL을 사용하여 데이터를 보호하는 것이 법적 요구 사항일 수 있습니다. 예를 들어, 금융 서비스나 의료 분야에서는 SSL을 사용하여 고객 데이터를 보호해야 합니다. 이러한 이유들로 인해 SSL을 설치하는 것이 웹사이트 보안과 신뢰성, 사용자 경험 향상에 매우 중요합니다.

 

 

SSL(Secure Sockets Layer)을 설치하는 방법

 

SSL(Secure Sockets Layer)을 설치하는 방법은 여러 가지가 있지만, 보통 웹 서버 소프트웨어(예: Apache, Nginx)에서 SSL 인증서를 설정하는 과정을 설명합니다.

아래는 일반적인 과정입니다: 1. SSL 인증서 구매 또는 생성 SSL 인증서를 발급받는 방법은 두 가지가 있습니다.

인증 기관(CA)에서 구매: 잘 알려진 인증 기관(예: Let's Encrypt, Comodo, DigiCert 등)에서 SSL 인증서를 구매합니다.

Self-signed 인증서 생성: 테스트용으로 자신만의 SSL 인증서를 생성할 수 있습니다. Let's Encrypt를 사용한 SSL 인증서 발급 (무료) Let's Encrypt는 무료 SSL 인증서를 제공하는 서비스입니다.

Certbot이라는 도구를 사용하여 SSL 인증서를 쉽게 발급받고 설정할 수 있습니다. 2. Certbot 설치 Certbot은 Let's Encrypt에서 SSL 인증서를 발급받고 자동으로 갱신해주는 도구입니다.

 

 

Ubuntu/Debian

sudo apt update
sudo apt install certbot python3-certbot-nginx

 

CentOS/RHEL

 

sudo yum install epel-release
sudo yum install certbot python2-certbot-nginx

 

 

3. SSL 인증서 발급 및 설정

Nginx 예시

sudo certbot --nginx

 

이 명령을 실행하면 Certbot이 Nginx 설정 파일을 자동으로 수정하고 SSL 인증서를 발급 및 설치합니다. 과정을 따라가며 필요한 정보를 입력합니다. Apache 예시

sudo certbot --apache

 

Apache의 경우도 마찬가지로 Certbot이 설정 파일을 수정하고 SSL 인증서를 설치합니다. 4. SSL 인증서 수동 설치 Certbot을 사용하지 않고 SSL 인증서를 수동으로 설치할 수도 있습니다.

SSL 인증서를 발급받은 후, 다음과 같은 과정을 따릅니다. Nginx 설정 인증서 파일을 서버에 업로드합니다. 예를 들어, /etc/ssl/certs/에 업로드합니다.

Nginx 설정 파일을 수정합니다. 예를 들어, /etc/nginx/sites-available/your_site를 수정합니다.

 

server {
    listen 80;
    server_name your_domain.com www.your_domain.com;

    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name your_domain.com www.your_domain.com;

    ssl_certificate /etc/ssl/certs/your_domain.crt;
    ssl_certificate_key /etc/ssl/private/your_domain.key;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    location / {
        try_files $uri $uri/ =404;
    }
}

 

Nginx를 재시작합니다.

 

sudo systemctl restart nginx

 

Apache 설정 인증서 파일을 서버에 업로드합니다.

예를 들어, /etc/ssl/certs/에 업로드합니다.

Apache 설정 파일을 수정합니다. 예를 들어, /etc/apache2/sites-available/your_site.conf를 수정합니다.

 

<VirtualHost *:80>
    ServerName your_domain.com
    ServerAlias www.your_domain.com
    Redirect permanent / https://your_domain.com/
</VirtualHost>

<VirtualHost *:443>
    ServerName your_domain.com
    ServerAlias www.your_domain.com

    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/your_domain.crt
    SSLCertificateKeyFile /etc/ssl/private/your_domain.key

    <Directory /var/www/your_site>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

 

Apache를 재시작합니다.

 

sudo systemctl restart apache2

 

 

이 과정들은 SSL 인증서를 발급받고 웹 서버에 설치하는 일반적인 방법을 포함합니다.

Let’s Encrypt와 Certbot을 사용하면 자동화된 설정과 갱신이 가능하므로 매우 편리합니다.