전 게시글에서 본대로, 내부망 쪽에 설치한 스플렁크에 ProxySQL의 쿼리 로그들을 넘긴 뒤, 그 곳에서 대시보드를 커스텀화해 로그들을 알아보기 쉽게 하도록 할 예정이다.
일단 ProxySQL에서 기록하는 로그 파일의 내용들은 한 눈에 알아보기가 다소 힘들다.
이를 좀 더 알아보기 쉽게 하고 또 깔끔하게 보이게 하기 위해서, 스플렁크와 로그 연동 및 대시보드 커스텀화를 진행해 볼 예정이다.
로그 연동시키기
먼저 ProxySQL에서 스플렁크 포워더를 설치했다.
wget -O splunkforwarder-10.0.2-e2d18b4767e9-linux-amd64.deb "[https://download.splunk.com/products/universalforwarder/releases/10.0.2/linux/splunkforwarder-10.0.2-e2d18b4767e9-linux-amd64.deb](https://download.splunk.com/products/universalforwarder/releases/10.0.2/linux/splunkforwarder-10.0.2-e2d18b4767e9-linux-amd64.deb)"
그런 다음 아래 3줄을 순서대로 입력해 패키징, 포트포워딩, 시작프로그램 등록을 진행한다.
dpkg -i splunkforwarder-10.0.2-e2d18b4767e9-linux-amd64.deb
/opt/splunkforwarder/bin/splunk add forward-server 192.168.50.201:9997
/opt/splunkforwarder/bin/splunk enable start
이후 방화벽에서 NAT로 룰을 열어준 뒤,

방화벽 룰도 열어준다.
(OPNsense의 경우 개발 VLAN에서 룰을 열어줌)


이후, var/lib/proxysql 경로 안에 기록되고 있는 로그 파일들을 연동시키기 위해 아래와 같이 직접 등록한다.
/opt/splunkforwarder/bin/splunk add monitor /var/lib/proxysql/proxysql_audit.log* -index main -sourcetype proxysql:audit
리부팅 명령어로 재시작을 해준다.
/opt/splunkforwarder/bin/splunk restart
스플렁크 웹 페이지의 설정에서 전달 및 수신 들어간 뒤, 데이터 수신의 수신 설정 새로 추가 ⇒ 9997번 포트를 추가한다.



이제 개발/사무망 내 pc에서 프록시를 통해 입력하는 쿼리들의 로그를 뽑아서 스플렁크에서 확인할 수 있다.
예1)
DB 접근이 허가된 PC에서 인가되지 않은 쿼리를 입력했을 때


예2)
어떤 IP를 가진 PC에서 언제 어느 계정으로 DB에 접속하여 어떤 비인가 쿼리를 날렸고, 그 차단 사유가 무엇인지를 전체적으로 종합하여 보고 싶을 때

예3)
어떤 허가되지 않은 PC에서 DB에 접속해 내용 조회나 데이터 수정 등을 시도하였고, 그 쿼리의 내용은 어떤지를 종합하여 보고 싶을 때


대시보드 만들기
검색 결과 창에서 다른 이름으로 저장 => 새 대시보드를 눌러 우리가 새롭게 관제(?)할 대시보드 틀을 만들어 준다.

이후 대시보드의 이름을 짓고, 유형을 고른 뒤 저장하면 된다.
(본인은 좀 더 시각적으로 풍부해 보일 것 같은 대시보드 스튜디오를 골랐다.)

한 번 대시보드를 만들었으면, 이후엔 추출한 검색 결과를 추가할 때 '기존 대시보드'를 눌러 먼저 추가한 대시보드 안에 넣으면 된다.


이후 해당 대시보드에 들어가서 편집을 누르면, 추출한 검색 결과를 커스텀할 수 있는 옵션들이 다양하게 나온다.

되는 대로 얼추 다듬어 본 끝에, 본인은 아래 사진과 같이 대시보드를 커스텀화 해보았다.
(비인가 쿼리, 외부 접근 시도 횟수, DB 이용자 수 숫자 표시 및 시간대별 그래프, 쿼리 내용 상세 로그 등)



전체 DB 쿼리 이력 부분 사진은 해당 쿼리에 대한 로그 기록 전체를 긁어 온 보드이다.
이런 느낌으로 실제 보안 관제에서 어떤 방식을 이용해 실시간으로 들어오는 로그를 분석하고 대처 방안을 강구하는지에 대해 살짝이나마 체험을 해 보고 실습하는 과정을 가졌다.
'보안 > 프로젝트' 카테고리의 다른 글
| OpenVPN 구성하기 (0) | 2026.01.31 |
|---|---|
| GitLab 구축하기 (0) | 2026.01.31 |
| 스플렁크 설치하기 (1) | 2026.01.31 |
| ProxySQL 쿼리 필터링 실습하기 (0) | 2026.01.31 |
| ProxySQL 설치하기 (0) | 2026.01.24 |