여러 가지 비밀번호 기반 롤 토토 방법이 있습니다. 이러한 방법은 유사하게 작동하지만 사용자의 비밀번호가 서버에 저장되는 방식과 클라이언트에서 제공한 비밀번호가 연결을 통해 전송되는 방식이 다릅니다.
스크램-샤-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 롤 토토서 롤 토토이 더 나은 선택일 수 있지만).
포스트그레SQL데이터베이스 비밀번호는 운영 체제 사용자 비밀번호와 별개입니다. 각 데이터베이스 사용자의 비밀번호는pg_authid시스템 카탈로그. 비밀번호는 SQL 명령어로 관리할 수 있습니다.역할 생성그리고역할 변경예:로그인 비밀번호 'secret'을 사용하여 foo 역할 생성또는psql명령\비밀번호. 사용자에 대해 비밀번호가 설정되지 않은 경우 저장된 비밀번호는 null이며 해당 사용자에 대한 비밀번호 인증은 항상 실패합니다.
다양한 비밀번호 기반 인증 방법의 사용 가능 여부는 서버의 사용자 비밀번호가 암호화(또는 더 정확하게는 해시)되는 방법에 따라 다릅니다. 이는 구성 매개변수에 의해 제어됩니다.password_encryption비밀번호가 설정된 시점에. 비밀번호가 다음을 사용하여 암호화된 경우스크램-샤-256설정하면 인증 방법에 사용할 수 있습니다.스크램-샤-256그리고비밀번호(단, 후자의 경우 비밀번호 전송은 일반 텍스트로 이루어집니다). 인증방법 명세md5자동으로 다음을 사용하도록 전환됩니다.스크램-샤-25611961_12065md5설정하면 다음에만 사용할 수 있습니다.md5그리고비밀번호인증 방법 사양(후자의 경우 비밀번호가 일반 텍스트로 전송됨) (이전 PostgreSQL 릴리스에서는 서버에 비밀번호를 일반 텍스트로 저장하는 것을 지원했습니다. 이는 더 이상 불가능합니다.) 현재 저장된 비밀번호 해시를 확인하려면 시스템 카탈로그를 참조하세요.pg_authid.
기존 설치를 업그레이드하려면md5에스크램-샤-256, 사용 중인 모든 클라이언트 라이브러리가 SCRAM을 지원할 만큼 충분히 새로운지 확인한 후, 설정password_encryption = 'scram-sha-256'inpostgresql.conf, 모든 사용자에게 새 비밀번호를 설정하도록 하고, 인증 방법 사양을 변경합니다.pg_hba.conf에스크램-샤-256.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.