6.6. 인증된 로컬 사용자에 대한 액세스를 제한하여 PostgreSQL 보안


PostgreSQL은 개체 관계형 데이터베이스 관리 시스템(DBMS)입니다. Red Hat Enterprise Linux에서 PostgreSQL은 postgresql-server 패키지에서 제공합니다.

클라이언트 인증을 구성하여 공격의 위험을 줄일 수 있습니다. 데이터베이스 클러스터의 데이터 디렉터리에 저장된 pg_hba.conf 구성 파일은 클라이언트 인증을 제어합니다. 호스트 기반 인증을 위해 PostgreSQL을 구성하려면 절차를 따르십시오.

절차

  1. PostgreSQL을 설치합니다.

    # yum install postgresql-server
  2. 다음 옵션 중 하나를 사용하여 데이터베이스 스토리지 영역을 초기화합니다.

    1. initdb 유틸리티 사용:

      $ initdb -D /home/postgresql/db1/

      -D 옵션이 있는 initdb 명령은 해당 디렉터리가 아직 존재하지 않는 경우 지정한 디렉터리를 생성합니다(예: /home/postgresql/db1/ ). 그러면 이 디렉터리에는 데이터베이스에 저장된 모든 데이터와 클라이언트 인증 구성 파일도 포함됩니다.

    2. postgresql-setup 스크립트 사용:

      $ postgresql-setup --initdb

      기본적으로 스크립트는 /var/lib/pgsql/data/ 디렉터리를 사용합니다. 이 스크립트는 시스템 관리자에게 기본 데이터베이스 클러스터 관리를 지원합니다.

  3. 인증된 모든 로컬 사용자가 사용자 이름이 있는 모든 데이터베이스에 액세스할 수 있도록 pg_hba.conf 파일에서 다음 행을 수정합니다.

    local   all             all                                     trust

    이 문제는 데이터베이스 사용자를 생성하고 로컬 사용자가 없는 계층화된 애플리케이션을 사용할 때 문제가 될 수 있습니다. 시스템의 모든 사용자 이름을 명시적으로 제어하지 않으려면 pg_hba.conf 파일에서 로컬 행 항목을 제거합니다.

  4. 데이터베이스를 다시 시작하여 변경 사항을 적용합니다.

    # systemctl restart postgresql

    이전 명령은 데이터베이스를 업데이트하고 구성 파일의 구문도 확인합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.