服务器入侵日志分析(一)——mysql日志位置确定

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/redwand/article/details/78878399

      安全应急响应工作中,一项重要任务就是要对mysql数据库的日志进行分析。我们通过对mysql日志记录的审计,发现攻击行为,进而追溯攻击源。在工作中遇见的各种服务器上,由于mysql安装方式不同,其日志文件存放的位置也不固定。要进行日志分析,首先第一步要找到日志文件的位置,因此,本文总结一些常用的快速查找mysql日志文件存放目录方法,以便日后使用。

      一、OS层

      1、服务通用查找法。先通过netstat命令grep出mysql的pid,再通过ps aux找到mysql的当前配置,代码如下


可以看到,mysqld的/var/log目录为日志文件的存放目录。

      2、find命令查找法。此法可以大概找到mysql的相关目录,然后需要再凭经验判断mysql日志文件的存放路径。

[root@redwand ~]# find / -name mysql
[root@redwand ~]# find / -name mysqld
[root@redwand ~]# locate mysql
      3、 配置文件查找法。找到配置文件my.cnf(my.ini),读取文件中配置参数,找到日志路径。

[root@redwand ~]# find / -name my.cnf
/etc/my.cnf
[root@redwand ~]# cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
general_log = 1
log_output = TABLE
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
      4、redhat系统rpm命令查找法。在redhat类似发行版本的Linux系统中,rpm命令有很好的查看安装包的功能。

[root@redwand ~]# rpm -qa | grep mysql                          # -a   Query all installed packages
[root@redwand ~]# rpm -ql mysql-libs-5.1.73-8.el6_8.x86_64      # -l   List files in package
[root@redwand ~]# rpm -qf `which mysql`                         # -f   Query package owning FILE
mysql-5.1.73-8.el6_8.x86_64

      二、DB层。

扫描二维码关注公众号,回复: 5872314 查看本文章

      当我们已经知道了数据库的账号和密码,成功登陆mysql后,可以使用DB命令查看mysql特殊变量的值来找。

mysql> show global variables like '%log%';
+-----------------------------------------+---------------------------------+
| Variable_name                           | Value                           |
+-----------------------------------------+---------------------------------+
| back_log                                | 50                              |
| binlog_cache_size                       | 32768                           |
| binlog_direct_non_transactional_updates | OFF                             |
| binlog_format                           | STATEMENT                       |
| expire_logs_days                        | 0                               |
| general_log                             | ON                              |
| general_log_file                        | /var/run/mysqld/mysqld.log      |
| innodb_flush_log_at_trx_commit          | 1                               |
| innodb_locks_unsafe_for_binlog          | OFF                             |
| innodb_log_buffer_size                  | 1048576                         |
| innodb_log_file_size                    | 5242880                         |
| innodb_log_files_in_group               | 2                               |
| innodb_log_group_home_dir               | ./                              |
| innodb_mirrored_log_groups              | 1                               |
| log                                     | ON                              |
| log_bin                                 | OFF                             |
| log_bin_trust_function_creators         | OFF                             |
| log_bin_trust_routine_creators          | OFF                             |
| log_error                               | /var/log/mysqld.log             |
| log_output                              | TABLE                           |
| log_queries_not_using_indexes           | OFF                             |
| log_slave_updates                       | OFF                             |
| log_slow_queries                        | OFF                             |
| log_warnings                            | 1                               |
| max_binlog_cache_size                   | 18446744073709547520            |
| max_binlog_size                         | 1073741824                      |
| max_relay_log_size                      | 0                               |
| relay_log                               |                                 |
| relay_log_index                         |                                 |
| relay_log_info_file                     | relay-log.info                  |
| relay_log_purge                         | ON                              |
| relay_log_space_limit                   | 0                               |
| slow_query_log                          | OFF                             |
| slow_query_log_file                     | /var/run/mysqld/mysqld-slow.log |
| sql_log_bin                             | ON                              |
| sql_log_off                             | OFF                             |
| sql_log_update                          | ON                              |
| sync_binlog                             | 0                               |
+-----------------------------------------+---------------------------------+
38 rows in set (0.00 sec)
      同时,我们还可以查看特殊变量,找到数据库data目录。
mysql> select @@datadir;
+-----------------+
| @@datadir       |
+-----------------+
| /var/lib/mysql/ |
+-----------------+
1 row in set (0.00 sec)




猜你喜欢

转载自blog.csdn.net/redwand/article/details/78878399