여러 가지 젠 토토 기반 인증 방법이 있습니다. 이러한 방법은 유사하게 작동하지만 사용자의 젠 토토가 서버에 저장되는 방식과 클라이언트에서 제공한 젠 토토가 연결을 통해 전송되는 방식이 다릅니다.
스크램-샤-256방법스크램-샤-256에 설명된 대로 SCRAM-SHA-256 인증을 수행합니다.RFC 7677. 신뢰할 수 없는 연결에서 젠 토토 스니핑을 방지하고 안전하다고 생각되는 암호화 해시 형식으로 서버에 젠 토토를 저장하는 것을 지원하는 시도-응답 방식입니다.
이것은 현재 제공되는 방법 중 가장 안전하지만 이전 클라이언트 라이브러리에서는 지원되지 않습니다.
md5방법md5사용자 지정 덜 안전한 시도-응답 메커니즘을 사용합니다. 이는 젠 토토 스니핑을 방지하고 젠 토토가 일반 텍스트로 서버에 저장되는 것을 방지하지만 공격자가 서버에서 젠 토토 해시를 훔치는 경우 보호 기능을 제공하지 않습니다. 또한 MD5 해시 알고리즘은 현재 더 이상 특정 공격에 대해 안전한 것으로 간주되지 않습니다.
그md5메소드는와 함께 사용할 수 없습니다.db_user_namespace기능.
다음에서 쉽게 전환하려면md5방법을 최신 SCRAM 방법으로 변경한 경우,md5는의 메소드로 지정됩니다.pg_hba.conf그러나 서버의 사용자 젠 토토는 SCRAM용으로 암호화되어 있습니다(아래 참조). 그러면 SCRAM 기반 인증이 대신 자동으로 선택됩니다.
젠 토토방법젠 토토젠 토토를 일반 텍스트로 전송하므로 젠 토토에 취약합니다.“스니핑”공격. 가능하면 항상 피해야 합니다. 연결이 SSL 암호화로 보호되는 경우젠 토토그래도 안전하게 사용할 수 있습니다. (SSL 사용에 의존하는 경우 SSL 인증서 인증이 더 나은 선택일 수 있지만).
PostgreSQL데이터베이스 젠 토토는 운영 체제 사용자 젠 토토와 별개입니다. 각 데이터베이스 사용자의 젠 토토는pg_authid시스템 카탈로그. 젠 토토는 SQL 명령어로 관리할 수 있습니다.역할 생성그리고역할 변경예:로그인 젠 토토 'secret'을 사용하여 foo 역할 생성또는psql명령\젠 토토. 사용자에 대해 젠 토토가 설정되지 않은 경우 저장된 젠 토토는 null이며 해당 사용자에 대한 젠 토토 인증은 항상 실패합니다.
다양한 젠 토토 기반 인증 방법의 사용 가능 여부는 서버의 사용자 젠 토토가 암호화(또는 더 정확하게는 해시)되는 방식에 따라 다릅니다. 이는 구성 매개변수에 의해 제어됩니다.password_encryption젠 토토가 설정된 시점에. 젠 토토가 다음을 사용하여 암호화된 경우스크램-샤-256설정하면 인증 방법에 사용할 수 있습니다스크램-샤-256그리고젠 토토(단, 후자의 경우 젠 토토 전송은 일반 텍스트로 이루어집니다). 인증방법 명세md5자동으로 다음을 사용하도록 전환됩니다.스크램-샤-256이 경우 위에서 설명한 대로 메서드가 작동하므로 작동합니다. 젠 토토가 다음을 사용하여 암호화된 경우md5설정하면 다음에만 사용할 수 있습니다.md5그리고젠 토토인증 방법 사양(후자의 경우 젠 토토가 일반 텍스트로 전송됨) (이전 PostgreSQL 릴리스에서는 서버에 젠 토토를 일반 텍스트로 저장하는 것을 지원했습니다. 이는 더 이상 불가능합니다.) 현재 저장된 젠 토토 해시를 확인하려면 시스템 카탈로그를 참조하세요.pg_authid.
기존 설치를 업그레이드하려면md5에스크램-샤-256, 사용 중인 모든 클라이언트 라이브러리가 SCRAM을 지원할 만큼 충분히 새로운지 확인한 후 설정password_encryption = 'scram-sha-256'inpostgresql.conf, 모든 사용자에게 새 젠 토토를 설정하도록 하고, 인증 방법 사양을 변경합니다.pg_hba.conf에스크램-샤-256.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.