9.6. 인증된 로컬 사용자로 액세스를 제한하여 PostgreSQL 보안
PostgreSQL은 개체 관계형 데이터베이스 관리 시스템(DBMS)입니다. Red Hat Enterprise Linux에서 PostgreSQL은 postgresql-server
패키지에서 제공합니다.
클라이언트 인증을 구성하여 공격 위험을 줄일 수 있습니다. 데이터베이스 클러스터의 데이터 디렉터리에 저장된 pg_hba.conf
구성 파일은 클라이언트 인증을 제어합니다. 호스트 기반 인증을 위해 PostgreSQL을 구성하는 절차를 따르십시오.
프로세스
Install PostgreSQL:
yum install postgresql-server
# yum install postgresql-server
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 옵션 중 하나를 사용하여 데이터베이스 스토리지 영역을 초기화합니다.
initdb
유틸리티 사용:initdb -D /home/postgresql/db1/
$ initdb -D /home/postgresql/db1/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow initdb
명령은-D
옵션을 사용하여 지정하는 디렉터리를 생성합니다(예:/home/postgresql/db1/
). 그런 다음 이 디렉터리에는 데이터베이스에 저장된 모든 데이터와 클라이언트 인증 구성 파일이 포함됩니다.postgresql-setup
스크립트 사용:postgresql-setup --initdb
$ postgresql-setup --initdb
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 기본적으로 스크립트는
/var/lib/pgsql/data/
디렉터리를 사용합니다. 이 스크립트는 시스템 관리자가 기본 데이터베이스 클러스터 관리를 지원합니다.
인증된 로컬 사용자가 사용자 이름으로 모든 데이터베이스에 액세스할 수 있도록 하려면
pg_hba.conf
파일에서 다음 행을 수정합니다.local all all trust
local all all trust
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이는 데이터베이스 사용자를 생성하고 로컬 사용자가 없는 계층화된 애플리케이션을 사용할 때 문제가 될 수 있습니다. 시스템의 모든 사용자 이름을 명시적으로 제어하지 않으려면
pg_hba.conf
파일에서로컬
행 항목을 제거합니다.데이터베이스를 다시 시작하여 변경 사항을 적용합니다.
systemctl restart postgresql
# systemctl restart postgresql
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 명령은 데이터베이스를 업데이트하고 구성 파일의 구문도 확인합니다.