| 롤 토토 : 문서 : 9.5 : 롤 토토 | |||
|---|---|---|---|
| PostgreSQL : 문서 : 9.5 : 사설 토토 옵션 | 스포츠 토토 베트맨 : 문서 : 9.5 : 서버 설정 및 작동 | 17장. 서버 설정 및 운영 | PostgreSQL : 문서 : 9.5 : SSH 터널로 TCP/IP 와이즈 토토을 보호 | 
PostgreSQL사용에 대한 기본 지원이 있습니다SSL보안 강화를 위해 클라이언트/서버 통신을 암호화하는 연결입니다. 이를 위해서는 다음이 필요합니다.오픈SSL클라이언트 및 서버 시스템 모두에 설치되며 다음을 지원합니다.포스트그레SQL빌드 시 활성화됩니다(참조제15장).
함께SSL지원이 컴파일되었습니다.포스트그레SQL서버는 다음으로 시작할 수 있습니다.SSL매개변수 설정으로 활성화됨ssl에켜짐inpostgresql.conf. 서버는 일반 및SSL동일한 TCP 포트에 연결하고 연결 클라이언트와 사용 여부를 협상합니다SSL. 기본적으로 이는 클라이언트의 선택입니다. 참조섹션 19.1다음을 사용해야 하는 서버를 설정하는 방법에 대해SSL일부 또는 모든 연결에 대해.
포스트그레SQL시스템 전체를 읽습니다.오픈SSL구성 파일. 기본적으로 이 파일의 이름은openssl.cnf그리고 보고된 디렉토리에 위치합니다.openssl 버전 -d. 이 기본값은 환경 변수를 설정하여 재정의할 수 있습니다.OPENSSL_CONF원하는 구성 파일의 이름으로.
오픈SSL은 다양한 강도의 광범위한 암호화 및 인증 알고리즘을 지원합니다. 암호 목록은 다음에서 지정할 수 있습니다.오픈SSL구성 파일을 수정하여 데이터베이스 서버에서 사용할 암호를 특별히 지정할 수 있습니다.ssl_ciphersinpostgresql.conf.
참고:이용하여 암호화 오버헤드 없이 인증이 가능합니다.NULL-SHA또는NULL-MD5암호. 그러나 중간자(man-in-the-middle)는 클라이언트와 서버 간의 통신을 읽고 전달할 수 있습니다. 또한 인증에 비해 암호화 오버헤드가 최소화됩니다. 이러한 이유로 NULL 암호화는 권장되지 않습니다.
시작하려면SSL모드에서는 서버 토토 사이트와 개인 키가 포함된 파일이 존재해야 합니다. 기본적으로 이러한 파일의 이름은 다음과 같습니다.서버.crt그리고서버.키, 각각 서버의 데이터 디렉터리에 있지만 구성 매개변수를 사용하여 다른 이름과 위치를 지정할 수 있습니다.ssl_cert_file그리고ssl_key_file. Unix 시스템에서는 다음에 대한 권한이 있습니다.서버.키세계나 그룹에 대한 모든 접근을 허용하지 않아야 합니다. 다음 명령으로 이를 달성합니다.chmod 0600 서버.키. 개인 키가 암호로 보호되는 경우 서버는 암호를 입력하라는 메시지를 표시하고 암호를 입력할 때까지 시작되지 않습니다.
첫 번째 토토 사이트서버.crt서버의 개인 키와 일치해야 하므로 서버의 토토 사이트여야 합니다. 의 토토 사이트"중급"인증 기관을 파일에 추가할 수도 있습니다. 이렇게 하면 루트 및 중간 토토 사이트가 다음을 사용하여 생성되었다고 가정하여 클라이언트에 중간 토토 사이트를 저장할 필요가 없습니다.v3_ca확장. (이것은 토토 사이트의 기본 제약 조건을 설정합니다.캘리포니아에참.) 이렇게 하면 중간 토토 사이트가 더 쉽게 만료될 수 있습니다.
루트 토토 사이트를 추가할 필요는 없습니다.서버.crt. 대신 클라이언트에는 서버 토토 사이트 체인의 루트 토토 사이트가 있어야 합니다.
클라이언트가 신뢰할 수 있는 토토 사이트를 제공하도록 요구하려면 루트 인증 기관의 토토 사이트를 배치하십시오(캘리포니아s) 데이터 디렉터리의 파일을 신뢰하고 매개변수를 설정합니다.ssl_ca_fileinpostgresql.conf새 파일 이름에 인증 옵션을 추가클라이언트토토 사이트=1해당하는 사람에게hostssl행pg_hba.conf. 그런 다음 SSL 연결 시작 중에 클라이언트에서 토토 사이트가 요청됩니다. (참조토토 PostgreSQL : 문서 : 9.5 : SSL 지원클라이언트에서 토토 사이트를 설정하는 방법에 대한 설명입니다.) 서버는 클라이언트의 토토 사이트가 신뢰할 수 있는 인증 기관 중 하나에 의해 서명되었는지 확인합니다.
기존 루트 토토 사이트에 연결되는 중간 토토 사이트도 파일에 나타날 수 있습니다.루트.crt클라이언트에 저장하지 않으려는 경우(루트 및 중간 토토 사이트가 다음으로 생성되었다고 가정)v3_ca확장). 매개변수가 다음과 같은 경우 토토 사이트 해지 목록(CRL) 항목도 확인됩니다.ssl_crl_file설정되었습니다.
그클라이언트토토 사이트옵션 포함pg_hba.conf은 모든 인증 방법에 사용할 수 있지만 다음과 같이 지정된 행에만 사용할 수 있습니다.hostssl. 언제클라이언트토토 사이트이 지정되지 않거나 0으로 설정된 경우 서버는 CA 목록(구성된 경우)에 대해 제시된 클라이언트 토토 사이트를 계속 확인하지만 클라이언트 토토 사이트 제시를 요구하지는 않습니다.
클라이언트 토토 사이트를 설정하는 경우 다음을 사용할 수 있습니다.토토 사이트인증 방법을 사용하여 토토 사이트가 사용자 인증을 제어하고 연결 보안을 제공합니다. 참조섹션 19.3.9자세한 내용은.
표 17-2서버의 SSL 설정과 관련된 파일을 요약합니다. (표시된 파일 이름은 기본 또는 일반 이름입니다. 로컬로 구성된 이름은 다를 수 있습니다.)
표 17-2. SSL 서버 파일 사용
| 파일 | 목차 | 효과 | 
|---|---|---|
| ssl_cert_file ($PGDATA/서버.crt) | 서버 토토 사이트 | 서버의 신원을 나타내기 위해 클라이언트로 전송됨 | 
| ssl_key_file ($PGDATA/server.key) | 서버 개인 키 | 서버 토토 사이트가 소유자에 의해 전송되었음을 증명합니다. 토토 사이트 소유자를 신뢰할 수 있음을 나타내지 않습니다. | 
| ssl_ca_file ($PGDATA/root.crt) | 신뢰할 수 있는 인증 기관 | 클라이언트 토토 사이트가 신뢰할 수 있는 인증 기관에 의해 서명되었는지 확인 | 
| ssl_crl_file ($PGDATA/root.crl) | 인증 기관에 의해 취소된 토토 사이트 | 클라이언트 토토 사이트가 이 목록에 있어서는 안 됩니다 | 
파일서버.키, 서버.crt, 루트.crt및root.crl(또는 구성된 대체 이름)은 서버 시작 중에만 검사됩니다. 따라서 변경 사항을 적용하려면 서버를 다시 시작해야 합니다.
365일 동안 유효한 서버용 간단한 자체 서명 토토 사이트를 생성하려면 다음을 사용하십시오.오픈SSL명령, 교체dbhost.yourdomain.com서버의 호스트 이름 포함:
openssl req -new -x509 -days 365 -nodes -text -out server.crt \ -keyout server.key -subj "/CN=dbhost.yourdomain.com"
그럼 다음을 수행하세요:
chmod og-rwx server.key
왜냐하면 파일의 권한이 이보다 더 자유로우면 서버가 파일을 거부하기 때문입니다. 서버 개인 키 및 토토 사이트를 생성하는 방법에 대한 자세한 내용은 다음을 참조하세요.오픈SSL문서.
자체 서명된 토토 사이트를 테스트에 사용할 수 있지만 인증 기관에서 서명한 토토 사이트(캘리포니아) (일반적으로 전사적 루트캘리포니아)을 프로덕션에 사용해야 합니다.
클라이언트가 신원을 확인할 수 있는 서버 토토 사이트를 생성하려면 먼저 토토 사이트 서명 요청을 생성하십시오(CSR) 및 공개/개인 키 파일:
openssl req -new -nodes -text -out root.csr \ -keyout root.key -subj "/CN=root.yourdomain.com" chmod og-rwx root.key
그런 다음 루트 인증 기관을 생성하기 위한 키로 요청에 서명하십시오(기본값 사용오픈SSL설정 파일 위치리눅스):
openssl x509 -req -in root.csr -text -days 3650 \ -extfile /etc/ssl/openssl.cnf -extensions v3_ca \ -signkey root.key -out root.crt
마지막으로, 새로운 루트 인증 기관이 서명한 서버 토토 사이트를 생성하십시오:
openssl req -new -nodes -text -out server.csr \ -keyout server.key -subj "/CN=dbhost.yourdomain.com" chmod og-rwx server.key openssl x509 -req -in server.csr -text -days 365 \ -CA root.crt -CAkey root.key -CAcreateserial \ -아웃 서버.crt
서버.crt그리고서버.키서버에 저장되어야 하며루트.crt클라이언트가 서버의 리프 토토 사이트가 신뢰할 수 있는 루트 토토 사이트로 서명되었는지 확인할 수 있도록 클라이언트에 저장되어야 합니다.루트.키향후 토토 사이트 생성에 사용하려면 오프라인으로 저장해야 합니다.
중간 토토 사이트를 포함하는 신뢰 체인을 생성하는 것도 가능합니다:
# 루트 openssl req -new -nodes -text -out root.csr \ -keyout root.key -subj "/CN=root.yourdomain.com" chmod og-rwx root.key openssl x509 -req -in root.csr -text -days 3650 \ -extfile /etc/ssl/openssl.cnf -extensions v3_ca \ -signkey root.key -out root.crt # 중급 openssl req -new -nodes -text -out 중간.csr \ -keyout 중간.키 -subj "/CN=intermediate.yourdomain.com" chmod og-rwx 중간.키 openssl x509 -req -in 중간.csr -text -days 1825 \ -extfile /etc/ssl/openssl.cnf -extensions v3_ca \ -CA root.crt -CAkey root.key -CAcreateserial \ -out 중간.crt #잎 openssl req -new -nodes -text -out server.csr \ -keyout server.key -subj "/CN=dbhost.yourdomain.com" chmod og-rwx server.key openssl x509 -req -in server.csr -text -days 365 \ -CA 중간.crt -CAkey 중간.키 -CAcreateserial \ -아웃 서버.crt
서버.crt그리고중급.crt토토 사이트 파일 번들로 연결되어 서버에 저장되어야 합니다.서버.키서버에도 저장되어야 합니다.루트.crt클라이언트가 서버의 리프 토토 사이트가 신뢰할 수 있는 루트 토토 사이트에 연결된 토토 사이트 체인에 의해 서명되었는지 확인할 수 있도록 클라이언트에 저장되어야 합니다.루트.키그리고intermediate.key향후 토토 사이트 생성에 사용하려면 오프라인으로 저장해야 합니다.