database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 10072 게시물 읽기
No. 10072
스니핑(?) 이 의심됩니다.
작성자
안전
작성일
2019-05-08 14:41
조회수
3,762

 

안녕하세요.  DB관리자 분들의 고견을 부탁드립니다.

PostgreSQL 의 로그를 살피던중 1주일전부터 지속적으로(몇분간격으로) 아래와 같은 오류가 반복되서 쌓입니다.

아마도 해커의 스니핑( 계정에 대한 접속시도, 계정, 비밀번호 알아내기 시도) 로 의심됩니다.

기본계정(postgres) 접속시도시 refuse를 걸어놓았기에 could not receive data from client 에러는 그에 따른 refuse에러이고

pgstat wait timeout 에러는 아이디/비밀번호를 바꾸어서 접속시도 하는것으로 보입니다.

"pg_stat_tmp/pgstat.tmp" to "pg_stat_tmp/pgstat.stat": Permission denied

은 무엇을 시도하는 것일까요?

 

아래 로그이외에 이렇게 시도하는 IP를 알아내는 방법이 있나요?

인터넷서비스를 운영중이라 외부접속을 허용해야하고

MD5 보안으로 되어있는데, 이렇게 계속 스니핑 시도를 허용할시 아이디/비밀번호가 털리는거 아닌지 심히 불안합니다.

아래 공격을 어떻게 막아야 할까요?

서버는 윈도우 서버입니다.

서버차원에서 조치를 해야하는지? DB차원에서 해야하는지요?

어디서 공격을 하는지(IP) 조차 모르고 있는 상태입니다.

 


2019-05-08 09:25:21 KST LOG:  could not rename temporary statistics file "pg_stat_tmp/pgstat.tmp" to "pg_stat_tmp/pgstat.stat": Permission denied

2019-05-08 10:24:44 KST WARNING:  pgstat wait timeout
2019-05-08 10:42:07 KST WARNING:  pgstat wait timeout
2019-05-08 10:59:49 KST WARNING:  pgstat wait timeout
2019-05-08 11:03:49 KST WARNING:  pgstat wait timeout
2019-05-08 11:24:32 KST WARNING:  pgstat wait timeout
2019-05-08 11:27:32 KST WARNING:  pgstat wait timeout
2019-05-08 11:47:55 KST WARNING:  pgstat wait timeout
2019-05-08 11:48:35 KST WARNING:  pgstat wait timeout
2019-05-08 12:05:03 KST LOG:  could not receive data from client: No connection could be made because the target machine actively refused it.

 

이 글에 대한 댓글이 총 6건 있습니다.

 pg_stat_tmp 디렉터리의 접근 권한을 확인해 보셔야 할것 같은데요. 

rename을 못한다는 오류입니다. 즉, pg_stat_tmp 디렉터리쪽 쓰기 공간이 부족하거나, 

접근 권한이 잘못되어 있어 파일 이름을 바꾸지 못한다고 오류를 보여주고 있네요.

 

김상기(ioseph)님이 2019-05-08 14:45에 작성한 댓글입니다.

 댓글 감사합니다.

pg_stat_tmp 관련 에러는 스니핑이 아닌 정상적 DB활동 중의 권한세팅문제로 의심이 되신다는 거죠?

해킹의심과는 별도의 에러같다는 것으로 이해하였습니다

pg_stat_tmp 은 어떤 기능을 수행하는 것인가요?

폴더속성을 보니 읽기전용으로 되어 있어 해제해주긴 했습니다.

(다시 보니 다시 읽기전용으로 원복이 되네요...)

 

 

안전님이 2019-05-08 15:14에 작성한 댓글입니다. Edit

 바이러스가 있거나, 강력한 보안 툴이 있어, 

해당 디렉터리를 읽기 전용으로 계속 바꾸나 보네요. 

OS와 함께 봐야할 부분인 듯합니다.  OS 이벤트 로그 같은 것도 한 번 보셔야 할 것 같습니다.

pg_stat_tmp 디렉터리 안에는 서버의 실시간 통계 정보가 담깁니다. 

서버의 DML이 일어나면, 이 정보들이 바뀝니다. 

pg_stat_*로 시작하는 각종 뷰들이 이 디렉터리 내에 있는 파일의 내용을 참조합니다. 

김상기(ioseph)님이 2019-05-08 16:13에 작성한 댓글입니다.
이 댓글은 2019-05-08 16:13에 마지막으로 수정되었습니다.

1) pg_log 의 alert 로그에 사용자, IP, 어플리케이션 등을 표시할 수 있습니다.
    이를 표시하면 더 많은 정보를 얻을 수 있을 것 같습니다. 

2) 인젝션, 어뷰징 등은 개발팀, 서버팀과 같이 봐야합니다. 
    해당 시간대의 엑세스 로그, 프로그램 로그 등을 DB팀에서 보는 것은 쉽지 않습니다. 
    로그인 세션 문장이 평문으로 전송되는지 등을 알아봐야 하고, 
    접속 정책, 방화벽 정책 등을 통해 해당 IP 대역의 차단,
    로그인 계정의 차단 등의 조치가 취해져야 합니다. 

  

 

 

lucky님이 2019-05-09 11:58에 작성한 댓글입니다.
이 댓글은 2019-05-09 11:59에 마지막으로 수정되었습니다. Edit

 

답변 주신분들 너무나 감사합니다.

참고가 되었습니다.

 

pgsql 설치폴더가 읽기전용으로 자동으로 바뀌는 것은 윈도우 보안의 작용 같습니다.

pg_stat_tmp뿐만 아니라 전체가 다 그런데, 로그 등은 잘 쌓이고 있습니다.

pgsql 의 매뉴얼을 읽어보고 있는데, 내공이 부족하기도하고, 설명이 친절하지 않아

이해되지 않는 부분이 많네요.

친절한 도서가 출간되어도 좋을거 같다는 생각이 드는데 도서가 없는거 수요가 적어서 이겠죠..

 

pg_log 의 alert 로그에 사용자, IP, 어플리케이션 등을 표시할 려면 어느 config파일을 조정해 주어야 할까요?

pg_sql 보안관련 알고계신 아티클 링크 등을 공유해 주시면 감사히 공부하겠습니다.

 

 

 

 

안전님이 2019-05-10 10:21에 작성한 댓글입니다. Edit

http://postgresql.kr/docs/11/runtime-config-logging.html

김상기(ioseph)님이 2019-05-11 23:56에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
10076postgres 계정 권한을 초기화 할 수 있나요 [3]
촙촙촙
2019-05-23
3423
10075postgresql 서버 모니터링? 상태파악?방법있나요? [1]
test
2019-05-21
3132
10074pg_settings source 컬럼 문의 [1]
us2019
2019-05-20
3091
10072스니핑(?) 이 의심됩니다. [6]
안전
2019-05-08
3762
10071테이블 컬럼 순서 조정 가능한가요? [2]
지현명
2019-05-07
3172
10070postgreSql 외부연결 문제 [1]
포스트
2019-05-03
3373
10069postgres 관련 오프라인 강좌 추천 부탁드립니다. [1]
지오니
2019-05-02
3806
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.052초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다