是否有可能跟踪数据库上的新查询?

是否有可能跟踪数据库上的新查询?

我每天都在寻找新的选择,并用我获得的所有信息制作一个新的 Word 文件,但我无法得出结论。

我将解释其主要思想。

我的想法:
用户(员工、客户)=>防火墙(VPN 或代理)=>办公网络

我应该用什么?
PFSense、Proxie、Ubuntu + OpenVPN 或??

我想要追踪/监控什么?
云 - 本地机器,地址 IP:192.168.xx
数据库

我想监视他们在我们这里所做的一切查询或更改数据库.我希望将这些更改记录到一个文件或数据库中。

目前正在使用 AZURE,对于我来说,使用 pfSense 正确配置它有点困难。

有可能构建这样的东西吗?

答案1

使用 tcpdump,并将所需内容存储在一些日志文件中。要监控对数据库的查询,您可以使用例如此脚本。
源 ->https://liferay.dev/blogs/-/blogs/how-to-catch-mysql-sql-with-tcpdump-in-linux/maximized

#!/bin/bash
tcpdump -i your_network_interface_name -s 0 -l -w - dst port 3306 | strings | perl -e '
while(<>) { chomp; next if /^[^ ]+[ ]*$/;
    if(/^(SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER|CALL)/i)
{
    if (defined $q) { print "$q\n"; }
    $q=$_;
} else {
    $_ =~ s/^[ \t]+//; $q.=" $_";
}

}'

您甚至可以指定需要监控的源 IP 和目标 IP。

相关内容