19.3. 연결 및 인증#

19.3.1. 연결 설정#

listen_addresses (문자열) #

서버가 클라이언트 응용 프로그램의 롤 토토을 수신할 TCP/IP 주소를 지정합니다. 값은 쉼표로 구분된 호스트 이름 및/또는 숫자 IP 주소 목록 형식을 취합니다. 특별 항목*사용 가능한 모든 IP 인터페이스에 해당합니다. 항목0.0.0.0모든 IPv4 주소 수신을 허용하며::모든 IPv6 주소 수신을 허용합니다. 목록이 비어 있으면 서버는 IP 인터페이스를 전혀 수신하지 않으며, 이 경우 Unix 도메인 소켓만 사용하여 롤 토토할 수 있습니다. 목록이 비어 있지 않으면 적어도 하나의 TCP/IP 주소를 수신할 수 있으면 서버가 시작됩니다. 열 수 없는 TCP/IP 주소에 대해서는 경고가 표시됩니다. 기본값은로컬호스트, 로컬 TCP/IP만 허용루프백롤 토토이 이루어져야 합니다.

클라이언트 인증 중 (토토 꽁 머니 : 문서 : 17 : CHAPTER 20. 클라이언트 인증)을 사용하면 서버에 액세스할 수 있는 사람을 세밀하게 제어할 수 있습니다.listen_addresses어떤 인터페이스가 롤 토토 시도를 허용하는지 제어하여 안전하지 않은 네트워크 인터페이스에서 반복되는 악의적인 롤 토토 요청을 방지하는 데 도움이 될 수 있습니다. 이 매개변수는 서버 시작 시에만 설정할 수 있습니다.

포트 (정수) #

서버가 수신 대기하는 TCP 포트입니다. 기본적으로 5432입니다. 서버가 수신하는 모든 IP 주소에 동일한 포트 번호가 사용된다는 점에 유의하세요. 이 매개변수는 서버 시작 시에만 설정할 수 있습니다.

max_connections (정수) #

데이터베이스 서버에 대한 최대 동시 연결 수를 결정합니다. 기본값은 일반적으로 100개의 연결이지만 커널 설정이 이를 지원하지 않는 경우(이 과정에서 결정된 대로) 더 적을 수 있습니다.initdb). 이 매개변수는 서버 시작 시에만 설정할 수 있습니다.

포스트그레SQL값을 직접적으로 기준으로 특정 리소스의 크기를 지정max_connections. 값을 늘리면 공유 메모리를 포함하여 해당 리소스가 더 많이 할당됩니다.

대기 서버를 실행할 때 이 매개변수를 기본 서버와 같거나 높은 값으로 설정해야 합니다. 그렇지 않으면 대기 서버에서 쿼리가 허용되지 않습니다.

reserved_connections (정수) #

롤 토토 수 결정슬롯다음 권한을 가진 역할에 의한 연결을 위해 예약되어 있습니다.pg_use_reserved_connections역할. 사용 가능한 연결 슬롯 수가 다음보다 클 때마다superuser_reserved_connections그러나 다음의 합보다 작거나 같음superuser_reserved_connections그리고reserved_connections, 새로운 롤 토토은 수퍼유저 및 권한이 있는 역할에 대해서만 허용됩니다.pg_use_reserved_connections. 만약에superuser_reserved_connections또는 더 적은 수의 연결 슬롯을 사용할 수 있습니다. 새로운 연결은 슈퍼유저에게만 허용됩니다.

기본값은 연결이 0개입니다. 값은 다음보다 작아야 합니다.max_connections마이너스superuser_reserved_connections. 이 매개변수는 서버 시작 시에만 설정할 수 있습니다.

superuser_reserved_connections (정수) #

롤 토토 수 결정슬롯다음에 의한 연결을 위해 예약됨PostgreSQL수퍼유저. 많아야max_connections롤 토토은 동시에 활성화될 수 있습니다. 활성 동시 롤 토토 수가 최소일 때마다max_connections마이너스superuser_reserved_connections, 새로운 연결은 슈퍼유저에게만 허용됩니다. 이 매개변수로 예약된 연결 슬롯은 다음으로 예약된 슬롯 이후 긴급 사용을 위한 최종 예약으로 사용됩니다.reserved_connections지쳤어요.

기본값은 3개의 연결입니다. 값은 다음보다 작아야 합니다.max_connections마이너스reserved_connections. 이 매개변수는 서버 시작 시에만 설정할 수 있습니다.

unix_socket_directories (문자열) #

서버가 클라이언트 응용 프로그램의 롤 토토을 수신할 Unix 도메인 소켓의 디렉토리를 지정합니다. 여러 디렉터리를 쉼표로 구분하여 나열하여 여러 소켓을 만들 수 있습니다. 항목 사이의 공백은 무시됩니다. 이름에 공백이나 쉼표를 포함해야 하는 경우 디렉터리 이름을 큰따옴표로 묶습니다. 빈 값은 Unix 도메인 소켓을 수신하지 않도록 지정하며, 이 경우 TCP/IP 소켓만 서버에 롤 토토하는 데 사용할 수 있습니다.

다음으로 시작하는 값@추상 네임스페이스의 Unix 도메인 소켓을 생성해야 함을 지정합니다(현재 Linux에서만 지원됨). 이 경우 이 값은 a를 지정하지 않습니다.디렉토리그러나 실제 소켓 이름이 파일 시스템 네임스페이스와 동일한 방식으로 계산되는 접두사입니다. 추상 소켓 이름 접두사는 자유롭게 선택할 수 있지만 파일 시스템 위치가 아니기 때문에 그럼에도 불구하고 다음과 같은 파일 시스템과 유사한 값을 사용하는 것이 관례입니다.@/tmp.

기본값은 일반적으로입니다./tmp, 하지만 빌드 시 변경될 수 있습니다. Windows에서 기본값은 비어 있습니다. 이는 기본적으로 Unix 도메인 소켓이 생성되지 않음을 의미합니다. 이 매개변수는 서버 시작 시에만 설정할 수 있습니다.

이름이 지정된 소켓 파일 자체에 추가로.s.PGSQL.nnnn어디에서nnnn서버의 포트 번호, 이름이 일반 파일입니다..s.PGSQL.nnnn.잠금각각에 생성됩니다unix_socket_directories디렉터리. 두 파일 모두 수동으로 제거하면 안 됩니다. 추상 네임스페이스에 있는 소켓의 경우 잠금 파일이 생성되지 않습니다.

unix_socket_group (문자열) #

Unix 도메인 소켓의 소유 그룹을 설정합니다. (소켓을 소유한 사용자는 항상 서버를 시작하는 사용자입니다.) 매개변수와 결합하여unix_socket_permissions이것은 Unix 도메인 연결을 위한 추가 액세스 제어 메커니즘으로 사용될 수 있습니다. 기본적으로 이는 서버 사용자의 기본 그룹을 사용하는 빈 문자열입니다. 이 매개변수는 서버 시작 시에만 설정할 수 있습니다.

이 매개변수는 Windows에서 지원되지 않습니다. 모든 설정은 무시됩니다. 또한 추상 네임스페이스의 소켓에는 파일 소유자가 없으므로 이 설정도 무시됩니다.

unix_socket_permissions (정수) #

Unix 도메인 소켓의 액세스 권한을 설정합니다. Unix 도메인 소켓은 일반적인 Unix 파일 시스템 권한 집합을 사용합니다. 매개변수 값은에서 허용하는 형식으로 지정된 숫자 모드일 것으로 예상됩니다.chmod그리고마스크시스템 호출. (관례적인 8진수 형식을 사용하려면 숫자가 a로 시작해야 합니다.0(제로).)

기본 권한은0777, 누구나 연결할 수 있음을 의미합니다. 합리적인 대안은 다음과 같습니다.0770(사용자 및 그룹만 해당, 참조unix_socket_group) 및0700(사용자만). (Unix 도메인 소켓의 경우 쓰기 권한만 중요하므로 읽기 또는 실행 권한을 설정하거나 취소하는 것은 의미가 없습니다.)

이 액세스 제어 메커니즘은 다음에 설명된 메커니즘과 독립적입니다.토토 꽁 머니 : 문서 : 17 : CHAPTER 20. 클라이언트 인증.

이 매개변수는 서버 시작시에만 설정할 수 있습니다.

이 매개변수는 소켓 권한을 완전히 무시하는 시스템, 특히 Solaris 10의 Solaris에서는 관련이 없습니다. 거기에서 가리키면 비슷한 효과를 얻을 수 있습니다.unix_socket_directories원하는 청중으로 제한된 검색 권한을 가진 디렉토리로.

추상 네임스페이스의 소켓에는 파일 권한이 없으므로 이 경우 이 설정도 무시됩니다.

봉쥬르 (부울) #

다음을 통해 서버의 존재를 광고할 수 있습니다.봉쥬르. 기본값은 꺼져 있습니다. 이 매개변수는 서버 시작 시에만 설정할 수 있습니다.

bonjour_name (문자열) #

다음을 지정합니다봉쥬르서비스 이름. 이 매개변수가 빈 문자열로 설정된 경우 컴퓨터 이름이 사용됩니다.''(기본값). 서버가 다음으로 컴파일되지 않은 경우 이 매개변수는 무시됩니다.봉쥬르지원합니다. 이 매개변수는 서버 시작 시에만 설정할 수 있습니다.

19.3.2. TCP 설정#

tcp_keepalives_idle (정수) #

운영 체제가 클라이언트에 TCP 연결 유지 메시지를 보내야 하는 네트워크 활동이 없는 시간을 지정합니다. 이 값을 단위 없이 지정하면 초로 간주됩니다. 값 0(기본값)은 운영 체제의 기본값을 선택합니다. Windows에서는 시스템 기본값을 읽을 수 있는 방법을 제공하지 않으므로 값을 0으로 설정하면 이 매개변수가 2시간으로 설정됩니다. 이 매개변수는 다음을 지원하는 시스템에서만 지원됩니다.TCP_KEEPIDLE또는 이에 상응하는 소켓 옵션, Windows의 경우; 다른 시스템에서는 0이어야 합니다. Unix 도메인 소켓을 통해 롤 토토된 세션에서는 이 매개변수가 무시되고 항상 0으로 읽힙니다.

tcp_keepalives_interval (정수) #

클라이언트가 승인하지 않은 TCP 연결 유지 메시지가 재전송되어야 하는 시간을 지정합니다. 이 값을 단위 없이 지정하면 초로 간주됩니다. 값 0(기본값)은 운영 체제의 기본값을 선택합니다. Windows에서는 시스템 기본값을 읽는 방법을 제공하지 않으므로 값을 0으로 설정하면 이 매개변수가 1초로 설정됩니다. 이 매개변수는 다음을 지원하는 시스템에서만 지원됩니다.TCP_KEEPINTVL또는 이에 상응하는 소켓 옵션, Windows의 경우; 다른 시스템에서는 0이어야 합니다. Unix 도메인 소켓을 통해 롤 토토된 세션에서는 이 매개변수가 무시되고 항상 0으로 읽힙니다.

tcp_keepalives_count (정수) #

서버와 클라이언트의 연결이 중단된 것으로 간주되기 전에 손실될 수 있는 TCP 연결 유지 메시지 수를 지정합니다. 값 0(기본값)은 운영 체제의 기본값을 선택합니다. 이 매개변수는 다음을 지원하는 시스템에서만 지원됩니다.TCP_KEEPCNT또는 동등한 소켓 옵션(Windows를 포함하지 않음) 다른 시스템에서는 0이어야 합니다. Unix 도메인 소켓을 통해 롤 토토된 세션에서는 이 매개변수가 무시되고 항상 0으로 읽힙니다.

tcp_user_timeout (정수) #

TCP 연결이 강제로 종료되기 전에 전송된 데이터가 승인되지 않은 상태로 유지될 수 있는 시간을 지정합니다. 이 값을 단위 없이 지정하면 밀리초로 간주됩니다. 값 0(기본값)은 운영 체제의 기본값을 선택합니다. 이 매개변수는 다음을 지원하는 시스템에서만 지원됩니다.TCP_USER_TIMEOUT(Windows는 포함되지 않음); 다른 시스템에서는 0이어야 합니다. Unix 도메인 소켓을 통해 롤 토토된 세션에서는 이 매개변수가 무시되고 항상 0으로 읽힙니다.

client_connection_check_interval (정수) #

쿼리를 실행하는 동안 클라이언트가 여전히 롤 토토되어 있는지 선택적 확인 사이의 시간 간격을 설정합니다. 검사는 소켓을 폴링하여 수행되며, 커널이 롤 토토이 닫혔다고 보고하면 장기 실행 쿼리가 더 빨리 중단될 수 있습니다.

이 옵션은 Linux, macOS, illumos 및 BSD 운영 체제 제품군에 의해 노출된 커널 이벤트에 의존하며 현재 다른 시스템에서는 사용할 수 없습니다.

값이 단위 없이 지정되면 밀리초로 간주됩니다. 기본값은0, 연결 확인을 비활성화합니다. 연결 확인이 없으면 서버는 소켓과의 다음 상호 작용(데이터를 기다리거나 받거나 보낼 때)에만 연결 손실을 감지합니다.

커널 자체가 네트워크 오류를 포함한 모든 시나리오에서 알려진 시간 범위 내에서 끊어진 TCP 롤 토토을 안정적으로 감지하려면 운영 체제의 TCP 롤 토토 유지 설정을 조정해야 할 수도 있습니다.tcp_keepalives_idle, tcp_keepalives_interval그리고tcp_keepalives_count설정PostgreSQL.

19.3.3. 입증#

authentication_timeout (정수) #

클라이언트 인증을 완료하는 데 허용되는 최대 시간입니다. 클라이언트가 이 시간 내에 인증 프로토콜을 완료하지 않으면 서버는 롤 토토을 닫습니다. 이렇게 하면 정지된 클라이언트가 롤 토토을 무기한 점유하는 것을 방지할 수 있습니다. 이 값을 단위 없이 지정하면 초로 간주됩니다. 기본값은 1분입니다(1m). 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서.

password_encryption (열거형) #

비밀번호가 지정된 경우역할 생성또는역할 변경, 이 매개변수는 비밀번호를 암호화하는 데 사용할 알고리즘을 결정합니다. 가능한 값은 다음과 같습니다.스크램-샤-256, SCRAM-SHA-256으로 비밀번호를 암호화합니다.md5, 비밀번호를 MD5 해시로 저장합니다. 기본값은스크램-샤-256.

이전 클라이언트는 SCRAM 인증 메커니즘에 대한 지원이 부족할 수 있으므로 SCRAM-SHA-256으로 암호화된 비밀번호로는 작동하지 않을 수 있습니다. 보다PostgreSQL : 문서 : 17 : 20.5. 암호 토토 핫자세한 내용은.

경고

MD5로 암호화된 비밀번호에 대한 지원은 더 이상 사용되지 않으며 향후 릴리스에서 제거될 예정입니다.포스트그레SQL. 참조PostgreSQL : 문서 : 17 : 20.5. 암호 토토 핫다른 비밀번호 유형으로 이전하는 방법에 대한 자세한 내용을 확인하세요.

scram_iterations (정수) #

SCRAM-SHA-256을 사용하여 비밀번호를 암호화할 때 수행되는 계산 반복 횟수입니다. 기본값은4096. 반복 횟수가 많을수록 저장된 비밀번호에 대한 무차별 대입 공격에 대한 추가 보호가 제공되지만 인증 속도가 느려집니다. 반복 횟수는 암호화 시 고정되므로 값을 변경해도 SCRAM-SHA-256으로 암호화된 기존 비밀번호에는 영향을 미치지 않습니다. 변경된 값을 사용하기 위해서는 새로운 비밀번호를 설정해야 합니다.

md5_password_warnings (부울) #

다음 여부를 제어합니다.경고MD5 비밀번호 지원 중단에 대한 정보는 다음과 같은 경우에 생성됩니다.역할 생성또는역할 변경문은 MD5로 암호화된 비밀번호를 설정합니다. 기본값은켜짐.

krb_server_keyfile (문자열) #

서버의 Kerberos 키 파일 위치를 설정합니다. 기본값은파일:/usr/local/pgsql/etc/krb5.keytab(디렉토리 부분은 다음과 같이 지정된 부분입니다.sysconfdir빌드 시; 사용pg_config --sysconfdir그것을 결정하기 위해). 이 매개변수가 빈 문자열로 설정되면 무시되고 시스템에 따른 기본값이 사용됩니다. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서. 보다PostgreSQL : 문서 : 17 : 20.6. GSSAPI 사설 토토 사이트더 많은 정보를 원하시면.

krb_caseins_users (부울) #

GSSAPI 사용자 이름을 대소문자를 구분하지 않고 처리할지 여부를 설정합니다. 기본값은꺼짐(대소문자 구분). 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서.

gss_accept_delegation (부울) #

클라이언트로부터 GSSAPI 위임을 수락해야 하는지 여부를 설정합니다. 기본값은꺼짐클라이언트의 자격 증명을 의미아님접수됩니다. 이것을 다음으로 변경합니다.켜짐서버가 클라이언트로부터 위임된 자격 증명을 수락하도록 합니다. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서.

oauth_validator_libraries (문자열) #

OAuth 롤 토토 토큰 검증에 사용할 라이브러리/라이브러리. 유효성 검사기 라이브러리가 하나만 제공되면 기본적으로 모든 OAuth 롤 토토에 사용됩니다. 그렇지 않으면 모두인증HBA 항목명시적으로 a를 설정해야 합니다.검증기이 목록에서 선택되었습니다. 빈 문자열(기본값)로 설정하면 OAuth 연결이 거부됩니다. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일.

검증기 모듈은 별도로 구현/획득해야 합니다.PostgreSQL기본 구현과 함께 제공되지 않습니다. OAuth 유효성 검사기 구현에 대한 자세한 내용은 다음을 참조하세요.PostgreSQL : 문서 : 18 : 50 장. Oauth Validator 범퍼카 토토.

19.3.4. SSL#

참조배트맨 토토 PostgreSQL : 문서 : 17 : 18.9. SSL로 TCP/IP 연결 보안설정에 대한 자세한 내용은SSL. 다음을 사용하여 전송 암호화를 제어하기 위한 구성 매개변수입니다.TLS프로토콜 이름이 지정됨ssl역사적 이유로 인해 다음을 지원하더라도SSL프로토콜은 더 이상 사용되지 않습니다.SSL이 문맥에서는 다음과 같은 의미로 사용됩니다.TLS.

ssl (부울) #

활성화SSL연결. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서. 기본값은꺼짐.

ssl_ca_file (문자열) #

SSL 서버 인증 기관(CA)을 포함하는 파일의 이름을 지정합니다. 상대 경로는 데이터 디렉터리에 상대적입니다. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서. 기본값은 비어 있습니다. 즉, CA 파일이 로드되지 않으며 클라이언트 인증서 확인이 수행되지 않습니다.

ssl_cert_file (문자열) #

SSL 서버 인증서를 포함하는 파일의 이름을 지정합니다. 상대 경로는 데이터 디렉터리에 상대적입니다. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서. 기본값은서버.crt.

ssl_crl_file (문자열) #

SSL 클라이언트 인증서 해지 목록(CRL)이 포함된 파일의 이름을 지정합니다. 상대 경로는 데이터 디렉터리에 상대적입니다. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서. 기본값은 비어 있습니다. 즉, CRL 파일이 로드되지 않음을 의미합니다.ssl_crl_dir설정됨).

ssl_crl_dir (문자열) #

SSL 클라이언트 인증서 해지 목록(CRL)이 포함된 디렉토리의 이름을 지정합니다. 상대 경로는 데이터 디렉터리에 상대적입니다. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서. 기본값은 비어 있습니다. 즉, CRL이 사용되지 않음을 의미합니다.ssl_crl_file설정됨).

디렉토리는 다음을 사용하여 준비되어야 합니다.오픈SSL명령openssl rehash또는c_rehash. 자세한 내용은 해당 문서를 참조하세요.

이 설정을 사용할 때 지정된 디렉토리의 CRL은 연결 시 요청 시 로드됩니다. 새 CRL을 디렉터리에 추가할 수 있으며 즉시 사용됩니다. 이것은 다르다ssl_crl_file: 서버 시작 시 또는 구성이 다시 로드될 때 파일의 CRL이 로드됩니다. 두 설정을 함께 사용할 수 있습니다.

ssl_key_file (문자열) #

SSL 서버 개인 키가 포함된 파일의 이름을 지정합니다. 상대 경로는 데이터 디렉터리에 상대적입니다. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서. 기본값은서버.키.

ssl_tls13_ciphers (문자열) #

다음을 사용하여 연결에서 허용되는 암호 그룹 목록을 지정합니다.TLS버전 1.3. 콜론으로 구분된 목록을 사용하여 여러 암호 그룹을 지정할 수 있습니다. 비워 두면 기본 암호 제품군 세트는오픈SSL사용됩니다.

이 매개변수는 다음에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서.

ssl_ciphers (문자열) #

다음 목록을 지정합니다SSLTLS 버전 1.2 이하를 사용하는 연결에서 허용되는 암호는 참조ssl_tls13_ciphersTLS 버전 1.3 연결용. 참조암호설명서 페이지오픈SSL44918_45013높음:중간:+3DES:!aNULL. 특정 보안 요구 사항이 없는 한 일반적으로 기본값을 선택하는 것이 합리적입니다.

이 매개변수는 다음에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서.

기본값 설명:

높음 #

다음의 암호를 사용하는 암호 제품군높음그룹(예: AES, Camellia, 3DES)

매체 #

다음의 암호를 사용하는 암호 제품군매체그룹(예: RC4, SEED)

+3DES #

오픈SSL기본 순서높음AES128보다 높은 3DES를 주문하기 때문에 문제가 있습니다. 3DES는 AES128보다 보안 수준이 낮고 속도도 훨씬 느리기 때문에 이는 잘못된 것입니다.+3DES결국 다시 주문합니다높음그리고매체암호.

!aNULL #

인증을 하지 않는 익명 암호 제품군을 비활성화합니다. 이러한 암호화 제품군은 다음에 취약합니다.MITM공격하므로 사용해서는 안 됩니다.

사용 가능한 암호화 제품군 세부정보는 지역에 따라 다릅니다.오픈SSL버전. 명령을 사용하십시오.openssl 암호 -v 'HIGH:MEDIUM:+3DES:!aNULL'현재 설치된 실제 세부정보 보기오픈SSL버전. 이 목록은 서버 키 유형을 기준으로 런타임에 필터링됩니다.

ssl_prefer_server_ciphers (부울) #

클라이언트가 아닌 서버의 SSL 암호화 기본 설정을 사용할지 여부를 지정합니다. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서. 기본값은켜짐.

포스트그레SQL9.4 이전 버전에는 이 설정이 없으며 항상 클라이언트 기본 설정을 사용합니다. 이 설정은 주로 해당 버전과의 이전 버전과의 호환성을 위한 것입니다. 일반적으로 서버의 기본 설정을 사용하는 것이 서버가 적절하게 구성되었을 가능성이 높기 때문에 더 좋습니다.

ssl_groups (문자열) #

사용할 곡선의 이름을 지정합니다ECDH키 교환. 연결하는 모든 클라이언트에서 지원되어야 합니다. 콜론으로 구분된 목록을 사용하여 여러 곡선을 지정할 수 있습니다. 서버의 타원 곡선 키에 사용되는 것과 동일한 곡선일 필요는 없습니다. 이 매개변수는에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서. 기본값은X25519:prime256v1.

오픈SSL가장 일반적인 곡선의 이름은 다음과 같습니다:prime256v1(NIST P-256),secp384r1(NIST P-384),secp521r1(NIST P-521). 다음 명령을 사용하면 사용 가능한 그룹의 불완전한 목록이 표시될 수 있습니다.openssl ecparam -list_curves. 모두 사용할 수 있는 것은 아닙니다.TLS그러나 지원되는 많은 그룹 이름과 별칭은 생략되었습니다.

포스트그레SQL18.0 이전 버전에서는 이 설정의 이름이 지정되었습니다.ssl_ecdh_curve단일 값만 허용됩니다.

ssl_min_protocol_version (열거형) #

사용할 최소 SSL/TLS 프로토콜 버전을 설정합니다. 현재 유효한 값은 다음과 같습니다.TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. 이전 버전의오픈SSL라이브러리는 모든 값을 지원하지 않습니다. 지원되지 않는 설정을 선택하면 오류가 발생합니다. TLS 1.0 이전의 프로토콜 버전, 즉 SSL 버전 2 및 3은 항상 사용 중지됩니다.

기본값은TLSv1.2, 이는 이 글을 쓰는 시점에서 업계 모범 사례를 충족합니다.

이 매개변수는 다음에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서.

ssl_max_protocol_version (열거형) #

사용할 최대 SSL/TLS 프로토콜 버전을 설정합니다. 유효한 값은 다음과 같습니다.ssl_min_protocol_version, 모든 프로토콜 버전을 허용하는 빈 문자열 추가. 기본값은 모든 버전을 허용하는 것입니다. 최대 프로토콜 버전을 설정하는 것은 주로 테스트에 유용하거나 일부 구성요소가 최신 프로토콜과 작동하는 데 문제가 있는 경우에 유용합니다.

이 매개변수는 다음에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서.

ssl_dh_params_file (문자열) #

소위 SSL 암호의 임시 DH 계열에 사용되는 Diffie-Hellman 매개변수를 포함하는 파일의 이름을 지정합니다. 기본값은 비어 있으며, 이 경우 컴파일된 기본 DH 매개변수가 사용됩니다. 사용자 지정 DH 매개 변수를 사용하면 공격자가 잘 알려진 컴파일된 DH 매개 변수를 해독하는 경우 노출이 줄어듭니다. 다음 명령을 사용하여 고유한 DH 매개변수 파일을 생성할 수 있습니다.openssl dhparam -out dhparams.pem 2048.

이 매개변수는 다음에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서.

ssl_passphrase_command (문자열) #

개인 키와 같은 SSL 파일을 해독하기 위한 암호를 얻어야 할 때 호출될 외부 명령을 설정합니다. 기본적으로 이 매개변수는 비어 있습니다. 이는 내장된 메시지 메커니즘이 사용된다는 의미입니다.

명령은 암호문을 표준 출력에 인쇄하고 코드 0으로 종료해야 합니다. 매개변수 값에서,%p은 프롬프트 문자열로 대체됩니다. (쓰다%%리터럴의 경우%.) 프롬프트 문자열에는 공백이 포함될 수 있으므로 적절하게 인용해야 합니다. 단일 개행 문자가 있는 경우 출력 끝에서 제거됩니다.

명령은 실제로 사용자에게 암호 문구를 묻는 메시지를 표시할 필요가 없습니다. 파일에서 읽을 수도 있고, 키체인 시설 등에서 얻을 수도 있습니다. 선택한 메커니즘이 적절하게 안전한지 확인하는 것은 사용자의 몫입니다.

이 매개변수는 다음에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서.

ssl_passphrase_command_supports_reload (부울) #

이 매개변수는 암호 명령이 다음에 의해 설정되었는지 여부를 결정합니다.ssl_passphrase_command또한 키 파일에 암호가 필요한 경우 구성을 다시 로드하는 동안 호출됩니다. 이 매개변수가 꺼진 경우(기본값), 다음은ssl_passphrase_command재로드 중에는 무시되며 암호가 필요한 경우 SSL 구성이 다시 로드되지 않습니다. 해당 설정은 프롬프트를 위해 TTY가 필요한 명령에 적합하며 서버가 실행 중일 때는 TTY를 사용하지 못할 수도 있습니다. 예를 들어 파일에서 암호를 얻은 경우 이 매개변수를 on으로 설정하는 것이 적절할 수 있습니다.

이 매개변수는 다음에서만 설정할 수 있습니다.postgresql.conf파일 또는 서버 명령줄에서.

수정 사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.