BBahmni 한국어 매뉴얼검색
한국어 번역 완료
한국어English

유효한 SSL 인증서 구성

개요

SSL 인증서(Cert)는 클라이언트에서 서버로 데이터를 안전하게 전송하는 데 도움이 됩니다. 웹 애플리케이션은 SSL 인증서를 사용해 클라이언트와 서버 사이의 트래픽을 암호화합니다. 애플리케이션에 유효한 SSL 인증서가 구성되어 있지 않으면 브라우저에 "Your connection is not private" 메시지가 표시됩니다. 또한 다른 사람이 데이터에 침입하기도 훨씬 쉬워집니다.

Let's Encrypt

Let's Encrypt는 무료이며 개방적이고 자동화된 인증 기관입니다. 도메인을 자동으로 검증하여 인증서를 생성하는 CLI 도구를 제공합니다. 코드는 오픈 소스로 공개되어 있으며 여기에서 확인할 수 있습니다. 여러 작동 모드와 플러그인이 있고 자세한 내용도 여기에서 확인할 수 있습니다. Bahmni 인증서 생성에는 Standalone 플러그인을 사용했습니다.관련 문서: herehere

SSL 인증서 생성 절차

인증서 생성을 시작하려면 유효한 도메인이 필요합니다. 절차는 다음과 같습니다.

요약: LetsEncrypt는 사용자가 해당 도메인을 제어한다는 사실을 확실히 확인한 경우에만 도메인/하위 도메인의 인증서를 생성합니다. 도메인 제어 권한을 검증하려면 도메인이 매핑된 IP 주소에서 letsencrypt 명령줄 프로그램을 실행해야 합니다. LetsEncrypt 명령이 도메인 이름과 함께 LetsEncrypt 서버에 연결하면 서버가 해당 도메인으로 핸드셰이크를 돌려보내고, 이를 클라이언트 자신이 다시 수신해야 합니다. "X" 도메인에 대한 요청이 자신에게 돌아오므로 클라이언트 프로그램은 도메인 "X"를 제어하는 사람이 프로그램을 실행하고 있음을 확인할 수 있습니다.

  1. bigrocks, godaddy 또는 유사 사이트에서 도메인을 구매합니다. 이 예에서는 bahmnidev.org를 구매했습니다. 공용 IP를 통해 인터넷에서 접근할 수 있는 클라우드 서버를 만듭니다. Digital Ocean droplet을 사용할 수 있습니다. 이 지침은 Bahmni 호스팅 서버와 별도인 droplet에서 인증서를 생성한 경우와 Bahmni를 실행할 장비에서 생성한 경우를 모두 설명합니다. Bahmni 인스턴스를 인터넷에 공개하지 않고 병원 내부 LAN에서만 접근하게 할 때 droplet을 사용할 수 있습니다. 이 경우에도 보안을 위해 HTTPs 연결을 권장합니다. droplet으로 SSL 인증서를 발급한 다음 로컬 라우터에 "emr.hospital.org"와 같은 내부 DNS 항목을 생성해야 합니다.
관련 문서: 클라우드에 Bahmni 설치(DigitalOcean)emr.hospital.org

SSH로 droplet 또는 Bahmni 서버에 접속하고 /etc 디렉터리로 이동하여 letsencrypt git 저장소를 복제합니다.관련 문서: repo

복제한 디렉터리에서 다음 명령을 실행합니다. 인증서를 생성할 때 이메일 주소를 입력하라는 메시지가 표시됩니다.

  1. 이 프로그램은 서버를 시작하고 443 포트에서 수신합니다. Let's Encrypt가 호스팅하는 ACME 서버에 요청을 보냅니다. 서버는 지정된 도메인(여기서는 https://dev.bahmnidev.org)으로 또 다른 요청을 보냅니다. 실행 중인 프로그램이 응답을 돌려보내며, 응답이 올바르면 도메인 검증에 성공합니다.관련 문서: https://dev.bahmnidev.org).
  1. droplet에서 인증서를 생성했다면 /etc/letsencrypt의 letsencrypt 폴더 전체를 그대로 Apache httpd가 실행될 Bahmni 인스턴스로 복사하고 서버의 /etc 폴더에 배치합니다. 같은 서버에서 생성했다면 별도 작업은 필요 없습니다.

Apache httpd의 /etc/httpd/conf.d/ssl.conf에 다음 설정을 구성합니다.

  1. 브라우저 또는 인증서 판독 애플리케이션에서 인증서에 서명된 DNS 항목을 확인할 수 있습니다. http://pasteboard.co/mVhwFcB.png를 참조하십시오. Linux에서는 다음 명령을 사용할 수 있습니다: http://serverfault.com/questions/425427/listing-domains-on-a-ucc-san-ssl-certificate. 이를 통해 인증서 발급을 요청한 모든 도메인과 하위 도메인이 실제 인증서에 포함되어 있는지 확인할 수 있습니다.

참고

  1. LetsEncrypt는 유효 기간이 90일인 인증서만 발급합니다: https://letsencrypt.org/2015/11/09/why-90-days.html. 90일 후 갱신하지 않으면 "Your connection is not private" 경고가 다시 표시됩니다.

Vagrant box에서 이 인증서를 사용하기 위한 개발 장비 구성

  1. 인증서를 /etc/letsencrypt/live/dev.bahmnidev.org 위치로 SCP합니다. .10 장비의 같은 위치에도 복사본이 보관되어 있습니다. vagrant box의 동일한 위치에 배치합니다. 위 9단계의 변경 사항으로 /etc/httpd/conf.d/ssl.conf에 있는 ssl.conf를 업데이트합니다. /etc/hosts에 dev.bahmnidev.org 항목을 추가합니다. URL에 접속합니다: https://dev.bahmnidev.org/bahmni/home
관련 문서: https://dev.bahmnidev.org/bahmni/home

참고 자료

LetsEncrypt를 사용한 무료 SSL/TLS 인증서 관련 블로그 게시물관련 문서: A Blog post on Free SSL/TLS Certificates using LetsEncrypt

하위 문서

원문 정보

Bahmni Wiki · CC BY-SA 4.0

원문 보기 ↗