ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Linux - HTTP를 HTTPS로 만들기
    스마트팩토리 개발자 교육(23.05.08 ~ 23.10.27)7/Linux 2023. 6. 5. 13:27

    HTTPS = HTTP + SSL

    HTTP는 평문으로 데이터가 전송이 되기 때문에 보안에 취약하다

    데이터를 암호화하여 전송을 해야 하는데

    대칭키 비대칭키를 사용하여 데이터를 주고 받을 수 있다

     

    대칭키 : 한개의 키를 사용한다
    상대방에게 내 공개키를 준다


    비대칭키 : 서로 다른 두개의 키를 사용한다
    비대칭키 사용법 :
    하나의 키를 공유키 하나의 키는 공유 불가 키로 만든다
    공유 가능키를 통해 암호화를 하고 데이터를 전송한다
    * 인증
    암호화된 데이터의 맞는 키를 상대방에게 요청하고
    얻어온 키를 제3기관을 통해 키 인증을 받아 상대방의 키를 확인한다

     

    *대칭과 비대칭을 이용
    - 비대칭만을 사용하면 데이터 용량이 커지기 때문에 
    용량이 적은 대칭키를 비대칭키로 암호화 해서 전송을한다
    - 데이터를 전송할때 대칭키를 상대방에게 전송하는데
    비대칭 키로 대칭키를 암호화 해서 보내고 상대방이 전달을 받으면 파일을 열기위해 
    송신자의 비대칭 키를 얻어오는데비대칭키를 제 3기관 인증을 걸친다

     

    제 3기관에 도메인을 등록을 하여서 비대칭 키를 인증하도록 한다

     

    *리눅스 적용

    0) apache2 설치
    apt update
    apt install apache2

      1) letsencrypt 관련 모듈 설치
    apt install -y certbot

      2) DNS 서버 설정
    DNS 서버에 ip를 등록한다

      3) 인증서 생성
    웹 서버 종료한 상테에서 진행한다

    systemctl stop apache2

    certbot certonly -d [도메인주소]

    1번 standalone

    메일주소 입력

    라이센스 동의 Y

    정보 제공 동의 N

      4) 인증서 설정
    vi /etc/apache2/sites-available/default-ssl.conf


    # SSL 인증서
    SSLCertificateFile /etc/pki/tls/certs/localhost.crt
    => SSLCertificateFile /etc/letsencrypt/live/도메인주소/cert.pem

    # 개인키
    SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
    => SSLCertificateKeyFile /etc/letsencrypt/live/도메인주소/privkey.pem

    # CA 증명서
    #SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt
    => SSLCertificateChainFile /etc/letsencrypt/live/도메인주소/chain.pem

      5) 서버에 적용
    a2ensite default-ssl
    a2enmod ssl

    systemctl restart apache2

    웹으로 접속해서 테스트 (https://도메인)

      5) 리다이렉트 설정 - http로 접속시 https로 접속하도록 변경해준다
    vi /etc/apache2/sites-enabled/000-default.conf

    <VirtualHost *:80> 바로 아래줄에 다음 내용 추가
        RewriteEngine On
        RewriteCond %{HTTPS} off
        RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

    a2enmod rewrite

    systemctl restart apache2

    웹으로 접속해서 테스트 (http://도메인)

    '스마트팩토리 개발자 교육(23.05.08 ~ 23.10.27)7 > Linux' 카테고리의 다른 글

    ubuntu - apache2 설치  (0) 2023.09.07
    Linux - Linux에서 ASP.NET 실행  (0) 2023.06.15
    Linux - 3계층 아키텍처  (0) 2023.05.31
    Linux - 톰캣 이중화  (0) 2023.05.31
    Linux - DB 2중화  (0) 2023.05.31

    댓글

Designed by Tistory.