2025. 8. 22. 21:35ㆍ보안 컨설팅/기술적 취약점 점검
인프라 취약점 진단 중 MariaDB 감사로그 저장 시 general_log on을 하면 모든 쿼리문과 결과값이 파일에 저장되어 DB성능과 파일 저장소 크기에 무리가 될 수 있다. mariadb 자체 플러그인 server_audit 플러그인을 통해 특정 사용자 또는 특정 쿼리문을 선별적으로 기록할 수 있도록 하는 방법이 있다. 이를 테스트해보고자 한다.
일단 MariaDB를 설치한다.
✅ 1. 시스템 패키지 업데이트
✅ 2. MariaDB 설치
✅ 3. MariaDB 서비스 상태 확인
- 실행 중인지 확인 (active (running))
MariaDB 설치가 완료됐다.
해당 mariadb 테스트는 10.11버전에서 진행되었다.

1. gerneral 로그 확인
1) mariaDB에 접속해서 일시적으로 generlog를 on 시킨다. 서버 재시작 불필요하다. (서버 재시작 시 해제된다)
※ 영구적으로 generlog on 하는 방법
- RHEL 계열: /etc/my.cnf 또는 /etc/my.cnf.d/server.cnf
- Debian/Ubuntu: /etc/mysql/mariadb.conf.d/50-server.cnf
상단의 파일에서 하단의 설정을 추가한후 재시작한다.
[mysqld]
general_log = 1

2) 쿼리를 입력해본다.

3) /var/lib/mysql 디렉토리에서 저장된 로그를 확인한다. 입력한 쿼리문 뿐만 아니라 결과도 저장된다. (별도의 저장 위치 설정을 하지 않는다면 /var/lib/mysql에 저장된다.


2. server_audit 플러그 확인
1) server_audit 플러그인 설치

2)플러그인 설치 확인
명령 쿼리: SHOW PLUGINS;
또는 SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE 'SERVER_AUDIT';

3) /etc/mysql/my.cnf 파일에서 아래와 같이 설정한다. 이 설정 외에도 특정 DML을 기록이 제외되도록 하여 로그 저장 용량을 줄일 수 있다. (ex> select)

[mysqld]
plugin_load_add = server_audit # MariaDB 시작 시 audit 플러그인 자동 로드
server_audit_logging = ON # 감사 로그 기능 활성화 (ON/OFF)
server_audit_events = CONNECT,QUERY,TABLE # 기록할 이벤트: CONNECT=로그인/로그아웃, QUERY=쿼리 실행, TABLE=테이블 접근
server_audit_output_type = FILE # 로그 저장 방식: FILE(파일) 또는 SYSLOG
server_audit_file_path = /var/lib/mysql/server_audit.log # 감사 로그 파일 경로
server_audit_file_rotate_size = 100M # 로그 파일 크기가 100MB 넘으면 회전(rotate)
server_audit_file_rotations = 9 # 회전된 로그 파일 최대 9개까지 보관
4) mariaDB를 재시작한다.
sudo systemctl restart mariadb
5) 쿼리를 입력해본다. 이전 generlog 테스트를 했을 때와 같이 입력하였다.

6) /var/lib/mysql 디렉토리에서 저장된 로그를 확인한다. 설정한 쿼리문만 저장된다. (별도의 저장 위치 설정을 하지 않는다면 /var/lib/mysql에 저장된다.


결론,
server_audit 플러그인은 사용자가 원하는 특정 감사로그만 저장할 수 있어 로그 저장소의 용량을 줄일 수 있다.
또한, 플러그인 취약점이 있을까.. 고민이 된다면
server_audit 플러그인은 서드파티 플러그인이 아닌 mariadb 내장 플러그인이기 때문에 빠른 패치가 가능하고 취약점으로부터 위험성이 적다.
'보안 컨설팅 > 기술적 취약점 점검' 카테고리의 다른 글
| SNMP 버전별 차이 (0) | 2025.08.31 |
|---|---|
| 프로세스와 포트 둘 중 하나가 안보이면? (1) | 2025.08.31 |
| [UNIX] 패스워드 최소길이 우선 적용 설정 (0) | 2025.08.22 |
| [UNIX] /etc/hosts 파일 권한 문제 (0) | 2025.08.19 |
| [UNIX 계정관리] passwd, shadow파일 구조와 권한 (0) | 2025.08.19 |