보안상 혹은 특정 이슈로 어떤 사용자의 행위를 확인 하고 싶을 경우 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 | 통신판매신고번호 : 호 | 사이버몰의 이용약관 바로가기
'DB - MySQL' 카테고리의 다른 글
[TD-MYSQL] perl mysql check script ( mysql 점검 스크립트 perl) (0) | 2017.10.19 |
---|---|
[TD-MYSQL] maria DB 10 설치 (Azure ppt) (0) | 2017.06.23 |
MySQL 보안 설정 - #1 계정권한 (0) | 2017.05.29 |
MySQL 명령어 소개 (0) | 2017.05.12 |
maria DB 10 설치 (text) (0) | 2017.03.23 |