Amazon RDS for PostgreSQL DB 인스턴스에 대한 로그인 시도 실패를 추적하려면 어떻게 해야 하나요?

2분 분량
0

Amazon Relational Databaseervice(RDS) for PostgreSQL DB 인스턴스에 대한 연결 실패 횟수를 추적하려고 합니다.

해결 방법

PostgreSQL은 매시간 새 로그 파일을 생성합니다. PostgreSQL을 실행하는 DB 인스턴스에 대한 로그인 시도 실패를 추적하려면 log_connections 파라미터를 켜세요. 파라미터는 DB 인스턴스와 연결된 사용자 지정 파라미터 그룹에 있습니다. 그런 다음 사용자가 잘못된 자격 증명으로 DB 인스턴스에 로그인하려고 할 때 실패한 시도가 로그에 기록됩니다. 실패한 시도는 다음 예시와 비슷합니다. “error/postgresql.log.2018-04-19-10.” 자세한 내용은 파라미터 그룹 작업을 참조하세요.

실패한 로그인 시도의 다음 예시를 참조하세요.

2018-04-19 10:12:31 UTC:123.45.67.8(6789):[unknown]@[unknown]:[12507]:LOG: connection received: host=123.45.67.8port=12345
2018-04-19 10:12:31 UTC:123.45.67.8(6789):test_user@Test_DB:[12507]:FATAL: password authentication failed for user "test_user"

PostgreSQL log_connections 파라미터를 사용하여 PostgreSQL을 실행 중인 DB 인스턴스에 대한 성공적인 로그인 시도를 기록할 수도 있습니다.

성공적인 로그인 시도의 다음 예시를 참조하세요.

2018-04-19 10:19:20 UTC:123.45.67.8(6789):[unknown]@[unknown]:[17196]:LOG: connection received: host=123.45.67.8 port=12345
2018-04-19 10:19:20 UTC:123.45.67.8(6789):test_user@Test_DB:[17196]:LOG: connection authorized: user=test_user database=Test_DB SSL enabled (protocol=xxxx, cipher=xxxx, compression=off)

log_connectionslog_disconnections 파라미터를 사용하여 사용자 세션의 지속 시간을 기록하세요.

세션 기간에 대한 다음 예시를 참조하세요.

2018-04-19 10:19:43 UTC:123.45.67.8(6789):test_user@Test_DB:[17196]:LOG: disconnection: session time: 0:00:23.753 user=test_user database=Test_DB host=123.45.67.8 port=12345

참고: 클라이언트 컴퓨터의 IP 주소는 123.45.67.8이고 6789는 PostgreSQL 데이터베이스 프로세스에 주어진 PID(프로세스 ID)입니다.

로그 파일 구문 분석

AWS Command Line Interface(AWS CLI) 또는 Amazon RDS 콘솔을 사용하여 로그를 다운로드하세요. 그런 다음 grep 유틸리티를 사용하여 실패한 연결을 검색하세요.

참고: AWS CLI 명령을 실행할 때 오류가 발생하면 최신 AWS CLI 버전을 사용하고 있는지 확인하세요.

$ grep -B 1 "authentication failed" postgresql.log.2018-04-19-10
2018-04-19 10:12:31 UTC:123.45.67.8(6789):[unknown]@[unknown]:[12507]:LOG: connection received: host=123.45.67.8port=12345
2018-04-19 10:12:31 UTC:123.45.67.8(6789):test_user@Test_DB:[12507]:FATAL: password authentication failed for user "test_user"

참고: - B 1 파라미터는 grep에 검색 중인 패턴과 일치하는 줄 앞에 있는 줄도 표시하도록 지시합니다. 이 예시에서 패턴은 인증 실패입니다.

PostgreSQL log_fdw 확장을 사용하여 이러한 로그에 외부 테이블로 액세스할 수도 있습니다. PostgreSQL 로그 파일을 보존 기간보다 오래 보관하려면 Amazon RDS for PostgreSQL 로그를 Amazon CloudWatch Logs에 게시하세요.

관련 정보

Amazon RDS를 사용하여 PostgreSQL에 대한 쿼리 로깅을 켜려면 어떻게 해야 하나요?

RDS for PostgreSQL 데이터베이스 로그 파일

Amazon S3로 로그 데이터 내보내기

Aurora PostgreSQL 호환 로그를 CloudWatch Logs에 게시

댓글 없음