보안상 혹은 특정 이슈로 어떤 사용자의 행위를 확인 하고 싶을 경우 audit 설정을 한다. 파일로 기록된다.

 

1) 해당 so를 plugin 시킨다.

MariaDB [(none)]> install plugin server_audit soname 'server_audit.so' ;
Query OK, 0 rows affected (0.01 sec)

 

2) audit 가 variables 이 로드 되었는지 확인
MariaDB [(none)]> show variables like 'server_audit%' ;
+-------------------------------+-----------------------+
| Variable_name                 | Value                 |
+-------------------------------+-----------------------+
| server_audit_events           |                       |
| server_audit_excl_users       |                       |
| server_audit_file_path        | server_audit.log      |
| server_audit_file_rotate_now  | OFF                   |
| server_audit_file_rotate_size | 1000000               |
| server_audit_file_rotations   | 9                     |
| server_audit_incl_users       |                       |
| server_audit_logging          | OFF                   |
| server_audit_mode             | 0                     |
| server_audit_output_type      | file                  |
| server_audit_query_log_limit  | 1024                  |
| server_audit_syslog_facility  | LOG_USER              |
| server_audit_syslog_ident     | mysql-server_auditing |
| server_audit_syslog_info      |                       |
| server_audit_syslog_priority  | LOG_INFO              | 
+-------------------------------+-----------------------+
15 rows in set (0.00 sec)

 

변경 파라미터의 값은 아래 와 같으며 변수 변경은 아래 set global 명령으로 변경할수 있다.

다만 해당 값은 restart 시 다시 원래 값으로 돌아 오므로

필요시 /etc/my.cnf 파일에 등록 해주어야 한다.  


1) server_audit_logging=ON ;

2) server_audit_events=connect,query <=접속 정보및 어떤 쿼리를 사용했는지 기록

3) server_audit_file_path <=따로 지정하지 않을경우 /data 위치에 남는다.

4) server_audit_file_rotate_now = on 로그가 로테이트 되도록 설정

5) server_audit_file_rotations = 로테이트 갯수

 

MariaDB [(none)]> set global server_audit_logging=ON ;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> show global variables like 'server_audit%' ;
+-------------------------------+-----------------------+
| Variable_name                 | Value                 |
+-------------------------------+-----------------------+
| server_audit_events           |                       |
| server_audit_excl_users       |                       |
| server_audit_file_path        | server_audit.log      |
| server_audit_file_rotate_now  | OFF                   |
| server_audit_file_rotate_size | 1000000               |
| server_audit_file_rotations   | 9                     |
| server_audit_incl_users       |                       |
| server_audit_logging          | ON                    |
| server_audit_mode             | 0                     |
| server_audit_output_type      | file                  |
| server_audit_query_log_limit  | 1024                   |
| server_audit_syslog_facility  | LOG_USER              |
| server_audit_syslog_ident     | mysql-server_auditing |
| server_audit_syslog_info      |                       |
| server_audit_syslog_priority  | LOG_INFO              |
+-------------------------------+-----------------------+
15 rows in set (0.00 sec)

MariaDB [(none)]>
MariaDB [(none)]>
MariaDB [(none)]> quit
Bye

설정후 확인해보면 아래와 같은 로그가 남게 된다.  

[root@maria data]# cat server_audit.log
20170621 13:16:06,maria,root,localhost,34,105,QUERY,,'set global server_audit_logging=ON',0
20170621 13:16:27,maria,root,localhost,34,106,QUERY,,'show global variables like \'server_audit%\'',0
20170621 13:18:12,maria,root,localhost,34,0,DISCONNECT,,,0
20170621 13:18:24,maria,root,localhost,35,0,CONNECT,,,0
20170621 13:18:24,maria,root,localhost,35,108,QUERY,,'select @@version_comment limit 1',0
20170621 13:18:26,maria,root,localhost,35,0,DISCONNECT,,,0
[root@maria data]#
 

 

사업자 정보 표시
(주)블루원 | 김홍태 | 서울특별시 용산구 원효로 4가 135 금홍 2빌딩 | 사업자 등록번호 : 106-86-76684 | TEL : 02-3272-7200 | Mail : support_ora@blueone.co.kr | 통신판매신고번호 : 호 | 사이버몰의 이용약관 바로가기

+ Recent posts