데이터베이스 보안이 여러 수준에서 해결됩니다.
데이터베이스 파일 보호. 모든 파일 내에 저장된 파일 데이터베이스는 그만큼PostgresSuperuser 계정.
클라이언트에서 데이터베이스 서버로의 연결은 다음과 같습니다. 기본값, TCP/IP를 통해서가 아닌 로컬 유닉스 소켓을 통해서만 허용됩니다. 소켓. 백엔드는로 시작해야합니다.-i비 국소 클라이언트를 허용하는 옵션 연결하다.
클라이언트 연결은 IP 주소 및/또는에 의해 제한 될 수 있습니다 를 통한 스포츠 토토 이름pg_hba.conf파일에서PG_DATA.
클라이언트 연결은 기타 외부를 인증 할 수 있습니다 패키지.
각 스포츠 토토PostgresIS 스포츠 토토 이름과 (선택적으로) 비밀번호를 할당했습니다. 기본적으로 스포츠 토토는 그렇지 않은 데이터베이스에 대한 쓰기 액세스가 없습니다. 만들다.
스포츠 토토가 할당 될 수 있습니다그룹, 테이블 액세스는 그룹에 따라 제한 될 수 있습니다 특권.
인증백엔드 서버 및Postmaster데이터에 대한 액세스를 요청하는 스포츠 토토가 실제로 그/그녀는 주장합니다. 호출 한 모든 스포츠 토토Postgres의 내용에 대해 확인됩니다 그만큼PG_USER클래스를 보장합니다 그렇게 할 권한이 있습니다. 그러나 스포츠 토토의 실제 검증 정체성은 다양한 방법으로 수행됩니다.
스포츠 토토 쉘에서 시작된 백엔드 서버 (효과) a user-id를 수행하기 전에setuid스포츠 토토의 스포츠 토토 ID에Postgres. 효과적인 사용자 ID가 사용됩니다 액세스 제어 점검의 기초로. 다른 인증이 없습니다 수행됩니다.
IFPostgres시스템입니다 배포 된 것으로 제작 된 인터넷 TCP 포트에 대한 액세스Postmaster프로세스입니다 누구나 사용할 수 있습니다. DBA는 pg_hba.conf 파일을 구성합니다 인증 시스템이 무엇인지 지정하기위한 PGDATA 디렉토리 연결을하는 호스트에 따라 사용하고 연결하는 데이터베이스. 보다pg_hba.conf (5)에 대한 설명 인증 시스템을 사용할 수 있습니다. 물론 호스트 기반 유닉스에서는 인증도 바보가 아닙니다. 그것은 결정된 침입자가 가장 무서울 수 있습니다 원래 호스트. 이러한 보안 문제는의 범위를 벗어납니다.Postgres.
호스트 기반 액세스 제어이름입니다 기본 제어는 고객이 무엇인지에 대한 PostgreSQL 연습을 위해 데이터베이스에 액세스 할 수 있고 해당 고객의 사용자가 어떻게 스스로 인증해야합니다.
각 데이터베이스 시스템은 이름이 지정된 파일이 포함되어 있습니다PG_HBA.conf, inpgdata디렉토리, 각 데이터베이스에 연결할 수있는 사람을 제어합니다.
데이터베이스에 액세스하는 모든 클라이언트필수|PG_HBA.conf. 그렇지 않으면 모든 연결 시도 해당 클라이언트로부터 "사용자 인증"으로 거부됩니다. 실패 "오류 메시지.
일반 형식PG_HBA.conf파일은 한 줄 당 레코드 세트입니다. 빈 줄과 선 해시 문자 ( "#")부터 시작하여 무시됩니다. 기록이 만들어졌습니다 공간 및/또는 탭.
Unix 도메인 소켓을 사용하여 클라이언트의 연결을 만들 수 있습니다. 또는 인터넷 도메인 소켓 (예 : TCP/IP). 연결을 사용합니다 UNIX 도메인 소켓은 다음의 레코드를 사용하여 제어됩니다. 체재:
Local데이터베이스 인증 방법여기서
데이터베이스이 레코드가 적용되는 데이터베이스. 값all모든 사람에게 적용되는 것을 지정합니다 데이터베이스. |
인증 방법사용자가 스스로 인증하기 위해 사용해야하는 메소드를 지정합니다. UNIX 도메인 소켓을 사용하여 해당 데이터베이스에 연결할 때. 그만큼 다른 방법은 아래에 설명되어 있습니다. |
인터넷 도메인 소켓을 사용하여 만든 연결이 제어됩니다 다음 형식의 레코드 사용.
host데이터베이스 TCP/IP 주소 TCP/IP 마스크 인증 방법
theTCP/IP 주소논리적입니다 지정된 두 가지 모두에게TCP/IP 마스크및 연결 클라이언트의 TCP/IP 주소. 만약 두 가지 결과 값이 같으면 레코드가 사용됩니다. 연결. 연결이 둘 이상의 레코드와 일치하면 파일에서 가장 빠른 것이 사용됩니다. 둘 다TCP/IP 주소and theTCP/IP 마스크는 점선으로 지정되어 있습니다 표기법.
연결이 레코드와 일치하지 않으면거부인증 방법이 적용됩니다 (참조 아래에).
다음 인증 방법은 두 유닉스 모두에 지원됩니다 및 TCP/IP 도메인 소켓 :
연결은 무조건 허용됩니다.
연결이 무조건 거부됩니다.
클라이언트는 스포츠 토토를위한 비밀번호를 요청받습니다. 이것은 암호화 된 전송 (사용crypt (3)) 및 에서 보유 된 비밀번호와 비교pg_shadow테이블. 암호가 일치하면 연결이 허용됩니다.
클라이언트는 사용자를위한 비밀번호를 요청받습니다. 이것은 명확하게 전송되고에서 보유 된 비밀번호와 비교PG_SHADOW테이블. 비밀번호 인 경우 일치하면 연결이 허용됩니다. 선택적 비밀번호 파일이있을 수 있습니다 이후에 지정됩니다.비밀번호제공된 비밀번호와 일치하는 데 사용되는 키워드 PG_SHADOW 테이블보다. 보다pg_passwd.
다음 인증 방법은 TCP/IP에 대해 지원됩니다 도메인 소켓 전용 :
Kerberos V4는 사용자를 인증하는 데 사용됩니다.
Kerberos v5는 사용자를 인증하는 데 사용됩니다.
클라이언트의 ID 서버는 사용자 (RFC 1413). 선택적 맵 이름은 다음에 지정 될 수 있습니다 그만큼IDID를 허용하는 키워드 맵핑 할 사용자 이름Postgres스포츠 토토 이름. 지도에서지도가 있습니다 파일$pgdata/pg_ident.conf.
# UNIX 도메인 소켓을 통한 모든 연결을 신뢰합니다. 지역 신뢰 #이 컴퓨터에서 TCP/IP를 통해 모든 연결을 신뢰하십시오. 모든 127.0.0.1 255.255.255.255 신탁을 모두 호스트하십시오 # 우리는이 기계가 마음에 들지 않습니다. 모든 192.168.0.10 255.255.255.0 모든 호스트 거부 #이 컴퓨터는 암호화 할 수 없으므로 암호를 명확하게 요청합니다. 모든 192.168.0.3 255.255.255.0 암호를 호스트하십시오 # 나머지이 기계 그룹은 암호화 된 암호를 제공해야합니다. 모든 192.168.0.0 255.255.255.0 Crypt 호스트