PostgreSQL기본 지원이 있습니다 사용을 위해SSL배트맨 토토 보안 증가를 위해 클라이언트/서버 통신을 암호화합니다. 이것 필요OpenSSLIS 클라이언트 및 서버 시스템에 설치 및 해당 지원PostgreSQL빌드에서 활성화되었습니다 시간 (참조15 장).
withSSL지원 컴파일 에서PostgreSQL서버가 될 수 있습니다 시작SSL활성화 매개 변수 설정SSLtooninpostgresql.conf. 서버는 표준과를 모두 듣습니다.SSL동일한 TCP 포트의 배트맨 토토 및 사용 여부에 대해 배트맨 토토 클라이언트와 협상 할 것입니다SSL. 기본적으로 이것은 있습니다 고객의 선택; 보다섹션 19.1사용해야 할 서버를 설정하는 방법SSL일부 또는 전부 사이.
PostgreSQL읽습니다 시스템 전체OpenSSL구성 파일. 기본적 으로이 파일은입니다.OpenSSL.CNF그리고 디렉토리에 있습니다 보고OpenSSL 버전 -D. 이것 환경 변수를 설정하여 기본값을 재정의 할 수 있습니다OpenSSL_CONF원하는 이름으로 구성 파일.
OpenSSL광범위한 범위를 지원합니다 암호 및 인증 알고리즘, 다양한 강도. 암호 목록은에 지정할 수 있습니다.OpenSSL구성 파일, 지정할 수 있습니다 수정하여 데이터베이스 서버에서 사용하기 위해 특별히 암호SSL_CIPHERSinpostgresql.conf.
참고 :없이 인증을받을 수 있습니다 사용하여 암호화 오버 헤드Null-Sha또는NULL-MD5암호. 그러나 중간에 사람이 읽고 지나갈 수있었습니다 클라이언트와 서버 간의 통신. 또한 암호화 오버 헤드는 오버 헤드에 비해 최소입니다 입증. 이러한 이유로 널 암호는 그렇지 않습니다 추천.
시작하려면SSL모드, the 파일Server.crtandServer.key서버의 데이터에 존재해야합니다 예배 규칙서. 이 파일에는 서버 배트맨 토토가 포함되어야합니다 개인 키. UNIX 시스템에서 권한이Server.key접근을 허용하지 않아야합니다 세계 또는 그룹; 명령으로 이것을 달성CHMOD 0600 Server.key. 개인 키가있는 경우 암호로 보호되면 서버는 패스 프레이즈는 입력 될 때까지 시작되지 않습니다.
고객이 신뢰할 수있는 배트맨 토토를 제공하도록 요구하려면 배트맨 토토 배트맨 토토 (CA) 파일에 대한 신뢰root.crt데이터 디렉토리에서를 설정하십시오.ClientCert매개 변수 to1pg_hba.conf의 적절한 줄에서. 에이 그런 다음 SSL 동안 클라이언트에게 인증서를 요청합니다. 연결 시작. (보다섹션 30.17배트맨 토토를 설정하는 방법에 대한 설명 클라이언트.) 서버는 클라이언트를 확인합니다 배트맨 토토는 신뢰할 수있는 배트맨 토토 중 하나로 서명됩니다 당국. 배트맨 토토 취소 목록 (CRL) 항목도 있습니다 파일 확인root.crl존재합니다. (보다http : //h71000.www7.hp.com/doc/83final/ba554_90007/ch04s02.htmlSSL 인증서 사용을 보여주는 다이어그램의 경우)
theClientCert옵션pg_hba.conf모든 인증에 사용할 수 있습니다 방법, 그러나로 지정된 줄에 대해서만hostssl. 지정되지 않으면 기본값은 그렇지 않습니다 클라이언트 배트맨 토토 확인.
인증 방법을 사용할 수 있습니다cert클라이언트 배트맨 토토를 사용합니다 사용자 인증 사용자. 보다섹션 19.3.8세부.
파일Server.key, Server.crt, root.crt, 그리고root.crl동안 만 검사됩니다 서버 시작; 따라서 변경 사항을 위해 서버를 다시 시작해야합니다 효과가 있습니다.
서버에 대한 빠른 서명 인증서를 작성하려면, 다음을 사용하십시오OpenSSL명령 :
OpenSSL REQ -New -text -out Server.Req
정보 작성OpenSSL당신이 입력했는지 확인하십시오 로컬 호스트 이름 as"공통 이름"; 챌린지 암호는 비워 둘 수 있습니다. 프로그램은 할 것입니다 암호 보호 된 키를 생성합니다. 받아들이지 않을 것입니다 4 자 미만의 암호화. 제거하려면 패스 프레이즈 (자동 시작을 원할 경우 필요한대로 서버), 명령 실행 :
OpenSSL rsa -in privkey.pem -out server.key rm privkey.pem
기존 키를 잠금 해제하려면 이전 암호를 입력하십시오. 지금 하다:
OpenSSL REQ -X509 -in Server.Req -Text -Key Server.Key -out Server.crt
배트맨 토토를 자체 서명 된 배트맨 토토로 바꾸려면 키와 배트맨 토토를 서버가 보이는 위치에 복사하려면 그들을 위해. 마침내 :
CHMOD OG-RWX Server.key
권한이 있으면 서버가 파일을 거부하기 때문에 이것보다 더 자유 롭습니다. 만드는 방법에 대한 자세한 내용은 서버 비공개 키 및 인증서는를 참조하십시오.OpenSSL문서.
자체 서명 배트맨 토토는 테스트에 사용될 수 있지만 배트맨 토토에 의해 서명 된 배트맨 토토 (CA) (글로벌 중 하나cas또는 로컬) 클라이언트가 서버의 신원. 모든 고객이 조직에 현지인이라면 로컬 사용CAIS 추천.