이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 18.7. 토토 캔 스푸핑 방지버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

18.7. 토토 캔 스푸핑 방지#

토토 캔가 실행되는 동안 악의적 인 사용자가 일반 데이터베이스 토토 캔를 대신 할 수 없습니다. 그러나 토토 캔가 다운되면 로컬 사용자가 자체 토토 캔를 시작하여 일반 토토 캔를 스푸핑 할 수 있습니다. 스푸핑 토토 캔는 클라이언트가 보낸 비밀번호와 쿼리를 읽을 수 있지만이므로 데이터를 반환 할 수 없습니다.pgdata디렉토리는 디렉토리 권한으로 인해 여전히 안전합니다. 모든 사용자가 데이터베이스 토토 캔를 시작할 수 있으므로 스푸핑이 가능합니다. 클라이언트는 특별히 구성되지 않으면 잘못된 토토 캔를 식별 할 수 없습니다.

스푸핑을 방지하는 한 가지 방법Local연결은 Unix 도메인 소켓 디렉토리를 사용하는 것입니다 (unix_socket_directories) 신뢰할 수있는 로컬 사용자에 대해서만 쓰기 권한이 있습니다. 이렇게하면 악의적 인 사용자가 해당 디렉토리에서 자신의 소켓 파일을 생성하지 못하게됩니다. 일부 응용 프로그램이 여전히 참조 할 수 있다고 우려하는 경우/tmp소켓 파일의 경우 스푸핑에 취약한 경우 운영 체제 시작 중에 상징적 링크를 만듭니다/tmp/.S.pgsql.5432재배치 된 소켓 파일을 가리 킵니다. 또한 수정해야 할 수도 있습니다/tmp기호 링크 제거를 방지하기위한 스크립트 정리.

다른 옵션Local연결은 클라이언트를 사용하는 것입니다요구 사항소켓에 연결된 토토 캔 프로세스의 필요한 소유자를 지정합니다.

TCP 연결에서의 스푸핑을 방지하거나 SSL 인증서를 사용하고 클라이언트가 토토 캔의 인증서를 확인하거나 GSSAPI 암호화 (또는 별도의 연결에있는 경우 둘 다)를 사용하는지 확인하십시오..

SSL을 사용한 스푸핑을 방지하려면 토토 캔를 수락하도록 구성되어야합니다hostsslConnections (사설 토토 캔 사이트 PostgreSQL : 문서 : 18 : 20.1. pg_hba.conf 파일) SSL 키 및 인증서 파일이 있습니다 (윈 토토 캔 PostgreSQL : 문서 : 18 : 18.9. SSL로 TCP/IP 연결 보안). TCP 클라이언트는 사용을 사용해야합니다sslmode = verify-ca또는verify-full그리고 적절한 루트 인증서 파일이 설치되어 있습니다 (섹션 32.19.1). 또는시스템 CA 풀는 SSL 구현에 의해 정의 된대로를 사용하여 사용할 수 있습니다.SSLROOTCERT = SYSTEM; 이 경우sslmode = verify-full공개 ca.에 의해 서명 된 인증서를 얻는 것은 일반적으로 안전하기 때문에 안전을 위해 강요받습니다.

사용할 때 토토 캔 스푸핑이 발생하는 것을 방지하려면PostgreSQL : 문서네트워크를 통해 비밀번호 인증을 통해 SSL을 사용하여 토토 캔에 연결하고 이전 단락에 설명 된 스푸핑 방지 방법 중 하나를 사용해야합니다. 또한 SCRAM 구현libpq전체 인증 교환을 보호 할 수는 없지만channel_binding = require연결 매개 변수는 토토 캔 스푸핑에 대한 완화를 제공합니다. Rogue 토토 캔를 사용하여 SCRAM Exchange를 가로 채는 공격자는 오프라인 분석을 사용하여 클라이언트의 해시 암호를 잠재적으로 결정할 수 있습니다.

GSSAPI 로의 스푸핑을 방지하려면 토토 캔는 수락하도록 구성되어야합니다hostgssencConnections (사설 토토 캔 사이트 PostgreSQL : 문서 : 18 : 20.1. pg_hba.conf 파일) 및 사용gss그들과의 인증. TCP 클라이언트는 사용을 사용해야합니다gssencmode = require.