2025 년 7 월 17 일 : | 스포츠 토토 18 베타 2 릴리스!
이 문서는 지원되지 않는 버전의 스포츠 토토을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다토토 베이 : 문서 : 17 : 32.19. SSL 지원버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

30.17. SSL 지원하다

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

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

30.17.1. 자격증 확인

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

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

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

확인을 허용하려면 신뢰할 수있는 인증서CA파일~/.스포츠 토토/root.crt사용자의 홈 디렉토리. (Microsoft Windows에서 파일은 이름이입니다.%appdata%\ 스포츠 토토 \ root.crt.)

인증서 취소 목록 (CRL) 항목도 확인됩니다 파일 인 경우~/.스포츠 토토/root.crl존재 (%AppData%\ 스포츠 토토 \ root.crlMicrosoft Windows에서).

루트 인증서 저장소 및 CRL의 위치는 연결 매개 변수로 재정의SSLROOTCERTandSSLCRL또는 환경 변수PGSSLROOTCERTandpgsslcrl.

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

30.17.2. 클라이언트 인증서

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

30.17.3. 보호 기능 다른 모드

의 다른 값sslmode매개 변수는 다른 수준을 제공합니다 다른 환경에서 보호. SSL 자체가 제공합니다 세 가지 다른 유형의 공격에 대한 보호 :

표 30-2. SSL 공격

타입 설명
도청 제 3자가 네트워크 트래픽을들을 수있는 경우 클라이언트와 서버 간에는 둘 다 읽을 수 있습니다. 연결 정보 (사용자 이름 포함 및 비밀번호) 및 전달 된 데이터.SSL암호화를 사용하여 방지합니다 이것.
중간에있는 사람 (MITM) 제 3자가 통과하는 동안 데이터를 수정할 수있는 경우 클라이언트와 서버 사이에서 서버와 데이터를보고 수정암호화 된 경우에도. 그런 다음 제 3자가 연결을 전달할 수 있습니다 원래 서버에 대한 정보 및 데이터 이 공격을 감지하는 것은 불가능합니다. 해야 할 일반적인 벡터 여기에는 DNS 중독 및 주소 하이재킹, 클라이언트가 다른 서버로 향합니다 의도 된 것보다. 다른 공격도 있습니다 이것을 달성 할 수있는 방법.SSL인증서 확인을 사용합니다 이를 방지하기 위해 서버를 인증하여 고객.
가장합니다 제 3자가 승인 된 척하는 경우 클라이언트, 단순히 가지고 있지 않은 데이터에 액세스 할 수 있습니다. 접근. 일반적으로 이것은 불안한 것을 통해 발생할 수 있습니다 암호 관리.SSL클라이언트 인증서를 사용합니다 유효한 보유자 만 인증서는 서버에 액세스 할 수 있습니다.

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

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

allSSL옵션 운반 암호화 및 키 exchange의 형태로 오버 헤드 성능과 보안. 다음 표는 위험을 보여줍니다 다른sslmode값 보호 보안에 대해 어떤 진술을하는지에 반대합니다 간접비:

표 30-3. SSL 모드 설명

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

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

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

30.17.4. SSL 파일 사용

표 30-4. libpq/client ssl 파일 사용

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

30.17.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_ssl는 0이 아닌libpq초기화됩니다 그만큼OpenSSL라이브러리 먼저 데이터베이스 연결을 열기 전에 언제do_crypto0이 아닌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.