首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Firebird 2.5中启用身份验证日志?

如何在Firebird 2.5中启用身份验证日志?
EN

Database Administration用户
提问于 2022-10-28 13:56:15
回答 1查看 243关注 0票数 2

我从官方网站下载了Firebird2.5并安装在一台Linux机器上。安装位置是/opt/firebird

出于安全原因,我希望能够查看身份验证尝试日志(例如,允许像fail2ban这样的工具检测和阻止可能的暴力攻击)。

但是,由于某些原因,/opt/firebird/firebird.log不记录身份验证失败。我还检查了/var/log/syslog,没有找到任何火鸟日志。

如何配置Firebird 2.5以记录身份验证尝试?

EN

回答 1

Database Administration用户

发布于 2022-10-28 17:04:34

我成功地启用了身份验证失败日志(这足以使用fail2ban)。

FireBird2.5有一个跟踪服务功能,它记录各种服务器事件,例如错误(包括身份验证错误)。

首先必须编辑/opt/firebird/fbtrace.conf并更改以下行:

代码语言:javascript
复制
...
# default database section
#
<database>
        # Do we trace database events or not
        enabled false
        #       ^^^^^ Change to true
...

和:

代码语言:javascript
复制
...
        # Put errors happened
        #log_errors false
       #^^^^^^^^^^^^^^^^^ Uncomment and change to true
...

在此之后,向/opt/firebird/firebird.conf添加以下行:

代码语言:javascript
复制
AuditTraceConfigFile = /opt/firebird/fbtrace.conf

然后,您必须使用以下方法创建日志文件/opt/firebird/default_trace.log ( Firebird不是为我自动创建的):

代码语言:javascript
复制
touch /opt/firebird/default_trace.log

然后确保所有Firebird文件都有正确的所有者和组:

代码语言:javascript
复制
chown -R firebird:firebird /opt/firebird

然后使用以下方法重新启动Firebird服务器:

代码语言:javascript
复制
systemctl restart firebird

现在,/opt/firebird/default_trace.log将记录身份验证错误。

这是一个日志行(S)的例子:

代码语言:javascript
复制
2022-10-28T16:31:11.7300 (1313:0x7fd691ca1cc0) ERROR AT jrd8_attach_database
        database_path (ATT_0, user, UTF8, TCPv4:XXX.XXX.XXX.XXX/[source port])
335544472 : Your user name and password are not defined. Ask your database administrator to set up a Firebird login.

虽然与这个问题无关,但下面是我针对FireBird2.5的fail2ban配置:

/etc/fail2ban/filter.d/firebird.conf

代码语言:javascript
复制
# Fail2Ban filter for unsuccesfull firebird authentication attempts

[Init]
maxlines = 3

[Definition]

datepattern = ^%%Y-%%m-%%dT%%H:%%M:%%S

failregex = ^.*ERROR.*\n.*TCPv4:<HOST>\/\d+\)\n\d+ : Your user name and password are not defined\. Ask your database administrator to set up a Firebird login\.$

ignoreregex =

/etc/fail2ban/jail.local

代码语言:javascript
复制
[firebird]
enabled = true
filter = firebird
action = iptables[name=firebird, port="3050", protocol=tcp]
logpath = /opt/firebird/default_trace.log
maxretry = 5
findtime = 60
bantime = 86400
票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/318899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档