본문 바로가기
PostgreSQL

PostgreSQL pg_hba.conf 설정하기

by 게으른공장장 2020. 6. 15.

지난포스팅에서 언급되었던 pg_hba.conf 파일 설정에 대해 알아보자.

pg_hba.conf 는 인증에 관련된 설정 파일이다.

해당파일은 initDB.exe 를 실행시 Data폴더 안에 생성된다.

 

 

# Put your actual configuration here
# ----------------------------------
#
# If you want to allow non-local connections, you need to add more
# ""host"" records.  In that case you will also need to make PostgreSQL
# listen on a non-local interface via the listen_addresses
# configuration parameter, or via the -i or -h command line switches.

# CAUTION: Configuring the system for local ""trust"" authentication
# allows any local user to connect as any PostgreSQL user, including
# the database superuser.  If you do not trust all your local users,
# use another authentication method.


# TYPE  DATABASE        USER            ADDRESS                 METHOD

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
host    all             all             0.0.0.0/0               md5 
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
host    replication     repluser        0.0.0.0/0               md5

자동으로 생성된 pg_hba.conf 파일이다.

보면 알겠지만 #은 주석문이다.

각각의 항목을 tab 또는 space 로 한줄로 기입해 주면 된다. 공백의 개수와는 무관하게 동작한다.

상세 항목을 보자


Host Type

접근자의 접근위치와 통신의 암호화 관련 설정이다.
local / host / hostssl / hostnossl 중 한가지를 사용한다.

local         Unix Domain Socket접속용이므로 사용하지 않아도 된다.
host         일반접속과 ssl접속을 모두 허용한다.
hostssl      ssl인증서를 통한 암호화 통신만 지원한다.
hostnossl   ssl접속을 지원하지 않는다.

 

Database Name (데이터베이스 명)

all   모든 데이터베이스에 영향을 주는 규칙을 만든다
db명을 기입하면 해당 데이터베이스만 영향을 주는 규칙을 만든다.
여러개의 db명을 콤마(,)로 분리하여 입력이 가능하다.

 

User Name (계정명)

all 모든 계정에 영향을 주는 규칙을 만든다.
계정을 기입하면 해당 계정만 영향을 주는 규칙을 만든다.
데이터베이스와 마찬가지로 콤마(,)로 분리하여 입력이 가능하다.

 

CIDR-ADDRESS

IP 규칙을 만든다.
IPv4 C-Class를 처리를 할 경우는 : xxx.xxx.xxx.0/24
해당 IP에 대한 처리를 할 경우는 : xxx.xxx.xxx.xxx/32

 

Authentication Method

패스워드의 전송방식을 설정한다.
trust / reject / md5 / password / 기타등등의 패스워드 전달방식을 설정하지만 md5를 설정하면된다.
단 유의할것은 PG 과거 버전에서 설치후 trust가 기본적으로 설정된다.
trust는 비밀번호가 없이도 바로 접근이 가능하므로 반드시 md5등의 암호화 방법으로 바꾸어서 운영하자.

 

trust          패스워드 없이 접근 가능
reject         거부
md5          md5암호화 전송
password    text로 전송

 

 

 

 

댓글