암호화된 연결 SCP, SSH, HTTPS 등에서 평문장 연결이 아닌 인증서 사용하여 연결
SSL 인증서는 클라이언트와 서버간의 통신을 제3자가 보증해주는 전자문서
인증서를 통해 신뢰할 수 있는 서버인지 판단이 가능, 통신 내용의 악의적인 변경을 방지하고 암호화되어 외부로부터 내용 노출X
.pem: 개인키, 서버인증서, 루트인증서, 체인인증서 및 SSL 발급 요청시 생성하는 CSR등에 사용되는 포맷 (pem 안에 인증서와 개인키가 존재)
.crt: Linux 인증서 파일임을 구분하기 위해서 사용
.cer: window 기반에서 인증서 파일임으로 구분하기 위해서 사용되는 확장자
.csr: SSL 발급 신청을 위해서 본 파일 내용을 인증기관에 제출하는 요청서 파일
.key: openssl 및 java에서 개인키 파일임을 구분하기 위해서 사용되는 확장자
CN(Common Name)
O(Organization)
OU(Organizational Unit)
Fingerpints: 암호화 알고리즘
Period of Validity: 키의 유효기간
https=http+SSL
https 상태에서는 통신 중에 패킷이 추출되어도 인증서의 키가 없으면 내용을 변경하지 못하거나 볼 수 없음
http로 접속하여도 https로 접속되는 것을 리다이렉트
서버의 개인키와 공개키 생성 > 인증서 요청서(.csr) 생성
인증서(.crt) 생성 (or 개인키와 공개키 묶은 pem 생성)
웹브라우저 설정 파일에서 인증서(.crt) 등록
클라이언트 브라우저에 서버의 인증서 추가 후 사용
yum -y install open_ssl mod_ssl httpd httpd-tools
1024 길이의 www.kahn.edu.key의 개인키를 생성
인증서 요청서(csr) 생성
-day 365: 일년마다 키를 갱신
-key: 사설 서버의 키 사용
x509: 사설 인증서(crt) 생성
서버에서 공개키와 개인키, 인증 요청서와 인증서 확인
생성된 .crt 파일 확인
모든 인증서와 키 등은 실행파일로 변경
httpd.conf 파일에 인증서 설정
ssl.conf파일에서 인증서 설정
디지털 인증서와 SSL 사용한 암호화 된 채널인 캡슐화 네트워크(터널) 트래픽 안전하게 전송해서 전송 정보가 외부로 유출되지 않도록하는 법
네트워크 서비스를 안전하게 해두는 일반적인 방법
TLS 대부분 네트워크 패킷 전송에 사용되는 TCP 프로토콜에 많은 보안 기법을 제공해서 데이터 송수신시 클라이언트와 서버의 상호인증 활용
대부분 조직에서는 모든 인증서 생성과 요청을 처리할 리포지터리 레벨의 머신 지정 후 인증서를 필요로 하는 서버 서비스 데몬들에게 저장소에서 인증서를 복사해가도록 구성해서 운영
인증서는 공개키로 확인 가능
대부분의 인증서는 매해 혹은 특정 숫자 년도에 인증서를 생성하도록 디렉터리 구조를 만들어서 운영 (/srv/cert/년도)
이 디렉터리를 읽거나 작성할 경우 오직 인증받은 사용자들만 작업할 수 있도록 파일 권한설정, 특히 개인 사설키 파일관리에 주의 필요
root 사용자가 인증서 관리 작업을 하지 않을 경우 인증서 관리를 위한 별도의 그룹 생성 및 권한 부여하여 운영
https 프로토콜은 하나의 서버 호스트에 여러 https 사이트를 운영한다면 각 도메인 명마다 고유한 IP주소를 가지고 있고 대부분 상업 CA가 하나의 서버에서 실행되는 여러 https 인증서를 통합해서 지원하지 않기 때문에 이런 제약을 없앤 인증서 범용인증서
단일 인증서에 여러 도메인명 추가하여 도메인 별로 IP주소를 가지고 있지 않아도 각 도메인의 CRT를 제공할 수 있는 기법
아직까지 표준화된 모듈은 없으며, 각 브라우저는 각 도메인_명을 일일이 인식하거나 와일드 문자로 인식하는 두가지 이름 포맷을 가지고 있음
x.509의 subjectAltName 확장자를 사용하면 브라우저별로 지원되는 확장자가 다를 때 유용하게 쓰일 수 있음
openSSL 여러 도메인_명 지정해서 범용 CRT를 생성하기 위한 CSR을 생성한다면
/etc/pki/tls/openssl.conf에 이 값들을 저장해놓으면 됨
일부 브라우저에서는 이름의 순서도 중요하니 여러 종류의 구성 파일을 작성해 두고 적용
여러개의 commeName을 여러 개 설정하여 확장 시킴
centos와 동일한 방법이긴 하나, 한줄의 명령어로 처리한다는 장점이 잇음
키를 이용하여 인증 요청서 생성
인증 요청서와 키를 기반으로 인증서 생성
http service 설정파일에 SSL 인증서에 대한 설정 적용