토토 사이트 추천 9.2.24 문서 | ||||
---|---|---|---|---|
PostgreSQL : 문서 : 9.2 : 스포츠 토토 연결 매개 변수 조회 | up | 31 장.libpq-C 라이브러리 | 스포츠 토토 : 문서 : 9.2 : 스레드 프로그램의 동작 |
토토 사이트 추천기본 지원이 있습니다 사용을 위해SSL연결 보안 증가를 위해 클라이언트/서버 통신을 암호화합니다. 보다섹션 17.9에 대한 자세한 내용 서버 측SSL기능.
libpq시스템 전체를 읽습니다OpenSSL구성 파일. 에 의해 기본값,이 파일은입니다.OpenSSL.CNFOpenSSL 버전 -D. 이 기본값은 재정의 할 수 있습니다 환경 변수를 설정하여OpenSSL_CONF원하는 이름으로 구성 파일.
기본적으로토토 사이트 추천의지 서버 인증서의 확인을 수행하지 마십시오. 이것 서버 아이덴티티를 스푸핑 할 수 있음을 의미합니다. 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의 위치는 연결 매개 변수를 설정하여 변경SSLROOTCERT및SSLCRL또는 환경 변수pgsslrootcert및pgsslcrl.
참고 :이전과의 거꾸로 호환성 Root Ca 파일이 존재하는 경우 토토 사이트 추천 버전 행동sslmode=요구|verify-ca, 즉 서버를 의미합니다 인증서는 ca에 대해 검증됩니다. 이것에 의존합니다 행동은 낙담하고 필요한 적용이 필요합니다 인증서 유효성 검사는 항상 사용해야합니다verify-ca또는verify-full.
서버가 신뢰할 수있는 클라이언트 인증서를 요청하는 경우libpq파일에 저장된 인증서~/.토토 사이트 추천/토토 사이트 추천.crt사용자의 집에서 예배 규칙서. 인증서는 그 중 하나에 의해 서명되어야합니다 인증 당국 (CA) 서버에 의해 신뢰됩니다. 일치하는 개인 키 파일~/.토토 사이트 추천/토토 사이트 추천.key현재의. 개인 키 파일은 세계 또는 그룹; 명령으로 이것을 달성CHMOD 0600 ~/.토토 사이트 추천/토토 사이트 추천.key. ~에 Microsoft Windows이 파일은 이름이 지정됩니다%appdata%\ 토토 사이트 추천 \ 토토 사이트 추천.crtand%appdata%\ 토토 사이트 추천 \ 토토 사이트 추천.key, 디렉토리 이후 특별한 권한 검사가 없습니다. 안전한 것으로 추정됩니다. 인증서 및 키의 위치 연결 매개 변수로 파일을 재정의 할 수 있습니다SSLCERTandsslkey또는 환경 변수pgsslcertandpgsslkey.
경우에 따라 클라이언트 인증서에 서명 할 수 있습니다"중간"인증서 권한은 섬기는 사람. 그러한 인증서를 사용하려면 인증서를 추가하십시오 에 대한 서명 권한토토 사이트 추천.crt파일, 부모 권한의 인증서 등까지"루트"서버가 신뢰하는 권한. 루트 인증서는 모든 경우에 포함되어야합니다.토토 사이트 추천.crt둘 이상을 포함합니다 자격증.
참고root.crt나열 서버 서버로 신뢰할 수있는 최상위 CAS 인증서. 원칙적으로 서명 된 CA를 나열 할 필요는 없습니다. 대부분의 경우 CA가 서버 인증서도 신뢰합니다.
의 다른 값sslmode매개 변수는 다른 수준을 제공합니다 보호. SSL은 세 가지 유형의 보호를 제공 할 수 있습니다 공격 :
제 3자가 네트워크 트래픽을 검사 할 수있는 경우 클라이언트와 서버 간에는 둘 다 읽을 수 있습니다. 연결 정보 (사용자 이름 포함 비밀번호) 및 전달 된 데이터.SSL암호화를 사용하여 방지합니다 이것.
제 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선호. 테이블에 표시된 바와 같이, 이것 보안 관점에서 이해가되지 않으며 가능하면 성능 오버 헤드를 약속합니다. 만 제공됩니다 후진 호환성의 기본값으로, 그렇지 않습니다 보안 배포에 권장됩니다.
응용 프로그램이 초기화되는 경우libssl및/또는libcrypto도서관 및libpq구축되었습니다
와 함께SSL지원, 당신은해야합니다
부르다PQINITOPENSSL
libpqthelibssl및/또는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.