이 문서는 지원되지 않는 버전의 토토 사이트 추천을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다토토 베이 : 문서 : 17 : 32.19. SSL 지원버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

31.18. SSL 지원하다

토토 사이트 추천기본 지원이 있습니다 사용을 위해SSL연결 보안 증가를 위해 클라이언트/서버 통신을 암호화합니다. 보다섹션 17.9에 대한 자세한 내용 서버 측SSL기능.

libpq시스템 전체를 읽습니다OpenSSL구성 파일. 에 의해 기본값,이 파일은입니다.OpenSSL.CNFOpenSSL 버전 -D. 이 기본값은 재정의 할 수 있습니다 환경 변수를 설정하여OpenSSL_CONF원하는 이름으로 구성 파일.

31.18.1. 서버의 클라이언트 확인 인증서

기본적으로토토 사이트 추천의지 서버 인증서의 확인을 수행하지 마십시오. 이것 서버 아이덴티티를 스푸핑 할 수 있음을 의미합니다. DNS 레코드를 수정하거나 서버를 인수하여 예제 클라이언트가 알지 못하는 IP 주소). 방지하기 위해 스푸핑,SSL인증서 확인을 사용해야합니다.

매개 변수 인 경우sslmode로 설정되었습니다verify-ca, libpq 서버는 인증서 체인을 신뢰할 수있는 인증서 (CA). 만약에sslmodeIS 설정verify-full, libpq will또한서버 호스트 이름은 인증서와 일치합니다. SSL 연결 서버 인증서를 확인할 수없는 경우 실패합니다.verify-full대부분은 권장됩니다 보안에 민감한 환경.

inverify-full모드,CN(공통 이름) 인증서의 속성입니다 호스트 이름과 일치합니다. 인 경우CN속성은 별표로 시작합니다 (*), 그것은 와일드 카드로 취급 될 것이며, 의지 모든 문자 일치제외a dot (.). 이것은 인증서가 일치하지 않음을 의미합니다 하위 도메인. IP 주소를 사용하여 연결이 이루어지면 호스트 이름 대신 IP 주소가 일치합니다 ( DNS 조회를 수행).

서버 인증서 확인을 허용하려면 인증서 하나 이상의 신뢰할 수있는CAs 파일에 배치해야합니다~/.토토 사이트 추천/root.crt사용자의 집에서 예배 규칙서. (Microsoft Windows에서 파일은 이름이입니다.%appdata%\ 토토 사이트 추천 \ root.crt.)

인증서 취소 목록 (CRL) 항목도 확인됩니다 파일 인 경우~/.토토 사이트 추천/root.crl존재 (%appdata%\ 토토 사이트 추천 \ root.crlMicrosoft Windows에서).

루트 인증서 파일 및 CRL의 위치는 연결 매개 변수를 설정하여 변경SSLROOTCERTSSLCRL또는 환경 변수pgsslrootcertpgsslcrl.

참고 :이전과의 거꾸로 호환성 Root Ca 파일이 존재하는 경우 토토 사이트 추천 버전 행동sslmode=요구|verify-ca, 즉 서버를 의미합니다 인증서는 ca에 대해 검증됩니다. 이것에 의존합니다 행동은 낙담하고 필요한 적용이 필요합니다 인증서 유효성 검사는 항상 사용해야합니다verify-ca또는verify-full.

31.18.2. 클라이언트 인증서

서버가 신뢰할 수있는 클라이언트 인증서를 요청하는 경우libpq파일에 저장된 인증서~/.토토 사이트 추천/토토 사이트 추천.crt사용자의 집에서 예배 규칙서. 인증서는 그 중 하나에 의해 서명되어야합니다 인증 당국 (CA) 서버에 의해 신뢰됩니다. 일치하는 개인 키 파일~/.토토 사이트 추천/토토 사이트 추천.key현재의. 개인 키 파일은 세계 또는 그룹; 명령으로 이것을 달성CHMOD 0600 ~/.토토 사이트 추천/토토 사이트 추천.key. ~에 Microsoft Windows이 파일은 이름이 지정됩니다%appdata%\ 토토 사이트 추천 \ 토토 사이트 추천.crtand%appdata%\ 토토 사이트 추천 \ 토토 사이트 추천.key, 디렉토리 이후 특별한 권한 검사가 없습니다. 안전한 것으로 추정됩니다. 인증서 및 키의 위치 연결 매개 변수로 파일을 재정의 할 수 있습니다SSLCERTandsslkey또는 환경 변수pgsslcertandpgsslkey.

경우에 따라 클라이언트 인증서에 서명 할 수 있습니다"중간"인증서 권한은 섬기는 사람. 그러한 인증서를 사용하려면 인증서를 추가하십시오 에 대한 서명 권한토토 사이트 추천.crt파일, 부모 권한의 인증서 등까지"루트"서버가 신뢰하는 권한. 루트 인증서는 모든 경우에 포함되어야합니다.토토 사이트 추천.crt둘 이상을 포함합니다 자격증.

참고root.crt나열 서버 서버로 신뢰할 수있는 최상위 CAS 인증서. 원칙적으로 서명 된 CA를 나열 할 필요는 없습니다. 대부분의 경우 CA가 서버 인증서도 신뢰합니다.

31.18.3. 보호 기능 다른 모드

의 다른 값sslmode매개 변수는 다른 수준을 제공합니다 보호. SSL은 세 가지 유형의 보호를 제공 할 수 있습니다 공격 :

도청

제 3자가 네트워크 트래픽을 검사 할 수있는 경우 클라이언트와 서버 간에는 둘 다 읽을 수 있습니다. 연결 정보 (사용자 이름 포함 비밀번호) 및 전달 된 데이터.SSL암호화를 사용하여 방지합니다 이것.

중간에있는 사람 (MITM)

제 3자가 통과하는 동안 데이터를 수정할 수있는 경우 클라이언트와 서버 사이에서 서버와 데이터를보고 수정암호화 된 경우에도. 그런 다음 제 3자가 연결을 전달할 수 있습니다 원래 서버에 대한 정보 및 데이터 이 공격을 감지하는 것은 불가능합니다. 해야 할 일반적인 벡터 여기에는 DNS 중독 및 주소 하이재킹이 포함됩니다 클라이언트는 다른 서버로 향합니다 예정된. 다른 공격 방법도 있습니다 이것을 달성 할 수 있습니다.SSL인증서 확인을 사용합니다 서버를 TO에 인증하여이를 방지하십시오 고객.

가장합니다

제 3자가 승인 된 척하는 경우 클라이언트, 단순히 가지고 있지 않은 데이터에 액세스 할 수 있습니다. 접근. 일반적으로 이것은 불안한 것을 통해 발생할 수 있습니다 암호 관리.SSL클라이언트 인증서를 사용합니다 유효한 보유자 만 인증서는 서버에 액세스 할 수 있습니다.

보안에 연결되는 연결을 위해서는 SSL 사용법이 구성둘 다 클라이언트와 서버연결하기 전에. 만약에 서버에서만 구성되며 클라이언트가 끝날 수 있습니다. 민감한 정보 (예 : 비밀번호)를 알기 전에 전송합니다 서버에 높은 보안이 필요합니다. libpq에서는 안전합니다 를 설정하여 연결을 보장 할 수 있습니다.sslmode매개 변수 toverify-full또는verify-ca, 시스템에 루트를 제공합니다 확인할 인증서. 이것은 사용과 유사합니다https url암호화 된 웹 브라우징의 경우.

서버가 인증되면 클라이언트가 통과 할 수 있습니다. 민감한 데이터. 이것은이 시점까지 클라이언트를 의미합니다 인증서가 사용되는지 알 필요가 없습니다. 인증, 서버 구성.

allSSL옵션 운반 암호화 및 키 배양 ​​형태의 오버 헤드. 성능과 보안.표 31-1다른 위험을 설명sslmode값은 보호 및 무엇을 보호합니다 그들이 보안과 오버 헤드에 대해 말한 진술.

표 31-1. SSL 모드 설명

sslmode 도청 보호 MITM보호 진술
비활성화 아니오 아니오 나는 보안에 관심이없고, 나는 암호화의 오버 헤드를 지불하십시오.
허용 어쩌면 아니오 나는 보안에 관심이 없지만 나는 서버가 주장하는 경우 암호화 오버 헤드 그것.
선호 어쩌면 아니오 나는 암호화에 관심이 없지만 지불하고 싶습니다 서버가 지원하는 경우 암호화 오버 헤드 그것.
요구 아니오 내 데이터가 암호화되기를 원하고 간접비. 나는 네트워크가 내가 확인할 것이라고 믿습니다 항상 내가 원하는 서버에 연결합니다.
verify-ca CA에 의존합니다-policy 나는 내 데이터를 암호화하고 싶고 그것을 받아들입니다 간접비. 서버에 연결했는지 확인하고 싶습니다. 내가 믿는다.
verify-full 나는 내 데이터를 암호화하고 싶고 그것을 받아들입니다 간접비. 서버에 연결했는지 확인하고 싶습니다. 나는 믿고, 그것이 내가 지정한 것입니다.

의 차이verify-caandverify-full정책에 따라 다릅니다 루트의CA. 대중 인 경우CAverify-ca서버에 연결할 수 있습니다.다른 사람5 월 에 등록CA. 이 경우verify-full항상 사용하십시오. 현지인 경우CA가 사용되거나 자체 서명되었습니다 인증서, 사용verify-ca종종 충분한 보호를 제공합니다.

기본값sslmodeis선호. 테이블에 표시된 바와 같이, 이것 보안 관점에서 이해가되지 않으며 가능하면 성능 오버 헤드를 약속합니다. 만 제공됩니다 후진 호환성의 기본값으로, 그렇지 않습니다 보안 배포에 권장됩니다.

31.18.4. SSL 클라이언트 파일 사용

표 31-2고객.

표 31-2. libpq/client ssl 파일 사용

파일 내용 효과
~/.토토 사이트 추천/토토 사이트 추천.crt 클라이언트 인증서 서버 요청
~/.토토 사이트 추천/토토 사이트 추천.key 클라이언트 개인 키 소유자가 보낸 고객 인증서를 증명합니다. 그렇지 않습니다 인증서 소유자가 신뢰할 수 있음을 나타냅니다
~/.토토 사이트 추천/root.crt 신뢰할 수있는 인증서 당국 서버 인증서가 a 신뢰할 수있는 인증서
~/.토토 사이트 추천/root.crl 인증서에 의해 취소 된 인증서 당국 서버 인증서는이 목록에 있어야합니다

31.18.5. SSL 라이브러리 초기화

응용 프로그램이 초기화되는 경우libssl및/또는libcrypto도서관 및libpq구축되었습니다 와 함께SSL지원, 당신은해야합니다 부르다PQINITOPENSSLlibpqthelibssl및/또는libcrypto라이브러리는 응용 프로그램에 의해 초기화되어libpq초기화되지 않습니다 그 라이브러리. 보다http : //h71000.www7.hp.com/doc/83final/ba554_90007/ch04.htmlSSL API에 대한 자세한 내용

PQINITOPENSSL

응용 프로그램에서 어떤 보안 라이브러리를 선택할 수 있습니다 초기화하려면.

void pqinitopenssl (int do_ssl, int do_crypto);

언제do_sslis 0,libpq초기화됩니다 그만큼OpenSSL라이브러리 먼저 데이터베이스 연결을 열기 전에 언제do_crypto는 0이 아닙니다.libcrypto도서관이 될 것입니다 초기화. 기본적으로 (ifPQINITOPENSSL호출되지 않음) 라이브러리가 초기화됩니다. SSL 지원이 아닌 경우 컴파일 된이 기능은 존재하지만 그렇습니다 아무것도 아님.

응용 프로그램을 사용하고 초기화하는 경우OpenSSL또는 그 밑에 있는libcrypto도서관, 너필수전화 이 기능은 적절한 기능을위한 0과 함께합니다 데이터베이스 연결을 처음 열기 전에 매개 변수입니다. 또한 해당 초기화를 수행했는지 확인하십시오 데이터베이스 연결을 열기 전에.

pqinitssl

응용 프로그램에서 어떤 보안 라이브러리를 선택할 수 있습니다 초기화하려면.

void pqinitssl (int do_ssl);

이 기능은와 같습니다.pqinitopenssl (do_ssl, do_ssl). 그것은 둘 다 초기화하는 응용 프로그램에 충분합니다 둘 다OpenSSLandlibcrypto.

pqinitssl이후 현재토토 사이트 추천8.0, whilePQINITOPENSSL에 추가되었습니다토토 사이트 추천8.4,pqinitssl이전과 함께 작업 해야하는 응용 프로그램에 적합합니다 버전LIBPQ.