0x01 前言

前些天我在家里配置pfsense作为路由器使用(安装配置pfsense 配置安全可靠的家用网关),在安装一款名为Snort的NIDS时出现了N个一样的错误。

而这一些错误是因为我选用barnyard2对Snort的log进行存储所导致的。

0x02 错误

错误log如下:

[Select()]: Failed to execute query [SELECT vseq FROM `schema`] , will retry

很明显barnyard2选取了一个并不存在的表,然而我到数据库里查看发现,不单只是没有schema表,barnyard2简直就是空的。

在我多方查证后得知:pfsense虽然把barnyard2正确配置了,却没有导入默认的数据库。

0x03 解决

问题很简单,解决方式也很简单,那就是手动导入原始数据库。不过首先要找到数据库文件,得益于barnyard2是开源的并托管在GitHub:

firnsy/barnyard2

通过个 GitHub的目录结构我找到了适用于mariadb的数据库文件:

barnyard2/schemas/

先把整个项目的文件clone到本地:

[root@sql temp]# git clone https://github.com/firnsy/barnyard2.git

然后导入到数据库:

[root@sql temp]# mysql -u [DB User] -p [DB Name] < barnyard2/schemas/create_mysql

完成后通过phpmyadmin查看:

1478790384

0x04 结语

错误的log不见了,取而代之的是barnyard2的正常log。

1478790385