시나리오: PostgreSQL 서버 인증
모두 펼치기 | 모두 접기
PostgreSQL 서버를 인증하려면 TLS 인증서를 사용할 것을 권장합니다. 신뢰할 수 있는 인증 기관(CA)의 인증서 또는 자체 서명 인증서를 사용할 수 있습니다.
중앙 관리 서버는 PostgreSQL에 대해 단방향 및 양방향 SSL 인증을 모두 지원합니다.
PostgreSQL 서버 인증은 다음과 같은 단계로 진행됩니다.
- PostgreSQL 서버에 대한 인증서 생성
다음 명령을 실행합니다.
openssl req -new -x509 -days 365 -nodes -text -out psql.crt -keyout psql.key -subj "/CN=psql"
chmod og-rwx psql.key
- 중앙 관리 서버에 대한 인증서 생성
다음 명령을 실행합니다. CN 값은 중앙 관리 서버를 대신하여 PostgreSQL에 연결하는 사용자의 이름과 일치해야 합니다. 사용자 이름은 기본적으로 postgres로 설정됩니다.
openssl req -new -x509 -days 365 -nodes -text -out postgres.crt -keyout postgres.key -subj "/CN=postgres"
chmod og-rwx postgres.key
- 클라이언트 인증서 인증 구성
pg_hba.conf를 다음과 같이 수정합니다:
hostssl mydb myuser 192.168.1.0/16 scram-sha-256
pg_hba.conf에 host
로 시작하는 레코드가 포함되어 있지 않은지 확인합니다.
- PostgreSQL 인증서 지정
단방향 SSL 인증
postgresql.conf를 다음과 같이 수정합니다(.crt 및 .key 파일에 대한 올바른 경로 지정).
listen_addresses ='localhost, server-ip'
ssl = on
ssl_cert_file = '<psql.crt>'
ssl_key_file = '<psql.key>'
양방향 SSL 인증
postgresql.conf를 다음과 같이 수정합니다(.crt 및 .key 파일에 대한 올바른 경로 지정).
listen_addresses ='localhost, server-ip'
ssl = on
ssl_ca_file = '<postgres.crt>'
ssl_cert_file = '<psql.crt>'
ssl_key_file = '<psql.key>'
- PostgreSQL 데몬 다시 시작
다음 명령을 실행합니다:
systemctl restart postgresql-14.service
- 중앙 관리 서버에 대한 서버 플래그 지정
단방향 SSL 인증
klscflag 유틸리티를 사용하여 KLSRV_POSTGRES_OPT_SSL_CA 서버 플래그를 생성하고 인증서의 경로를 값으로 지정합니다.
명령줄을 실행한 후 klscflag 유틸리티를 사용하여 현재 디렉터리를 해당 디렉터리로 변경합니다. klscflag 유틸리티는 중앙 관리 서버가 설치된 디렉터리에 있습니다. 기본 설치 경로는 /opt/kaspersky/ksc64/sbin입니다.
다음 명령을 실행합니다:
klscflag -fset -pv klserver -n KLSRV_POSTGRES_OPT_SSL_CA -v <
psql.crt 경로
> -t s
양방향 SSL 인증
klscflag 유틸리티를 사용하여 서버 플래그를 생성하고 인증서 파일의 경로를 값으로 지정합니다.
명령줄을 실행한 후 klscflag 유틸리티를 사용하여 현재 디렉터리를 해당 디렉터리로 변경합니다. klscflag 유틸리티는 중앙 관리 서버가 설치된 디렉터리에 있습니다. 기본 설치 경로는 /opt/kaspersky/ksc64/sbin입니다.
다음 명령을 실행합니다.
klscflag -fset -pv klserver -n KLSRV_POSTGRES_OPT_SSL_CA -v <
psql.crt
경로
> -t s
klscflag -fset -pv klserver -n KLSRV_POSTGRES_OPT_SSL_CERT -v postgres.crt
경로
> -t s
klscflag -fset -pv klserver -n KLSRV_POSTGRES_OPT_SSL_KEY -v <postgres.crt
경로
> -t s
postgres.key
에 암호가 필요한 경우 KLSRV_POSTGRES_OPT_TLS_PASPHRASE 플래그를 생성하고 암호를 값으로 지정합니다.
klscflag -fset -pv klserver -n KLSRV_POSTGRES_OPT_TLS_PASPHRASE -v <
암호
> -t s
- 중앙 관리 서버 서비스 다시 시작
맨 위로