我从官方网站下载了Firebird2.5并安装在一台Linux机器上。安装位置是/opt/firebird。
出于安全原因,我希望能够查看身份验证尝试日志(例如,允许像fail2ban这样的工具检测和阻止可能的暴力攻击)。
但是,由于某些原因,/opt/firebird/firebird.log不记录身份验证失败。我还检查了/var/log/syslog,没有找到任何火鸟日志。
如何配置Firebird 2.5以记录身份验证尝试?
发布于 2022-10-28 17:04:34
我成功地启用了身份验证失败日志(这足以使用fail2ban)。
FireBird2.5有一个跟踪服务功能,它记录各种服务器事件,例如错误(包括身份验证错误)。
首先必须编辑/opt/firebird/fbtrace.conf并更改以下行:
...
# default database section
#
<database>
# Do we trace database events or not
enabled false
# ^^^^^ Change to true
...和:
...
# Put errors happened
#log_errors false
#^^^^^^^^^^^^^^^^^ Uncomment and change to true
...在此之后,向/opt/firebird/firebird.conf添加以下行:
AuditTraceConfigFile = /opt/firebird/fbtrace.conf然后,您必须使用以下方法创建日志文件/opt/firebird/default_trace.log ( Firebird不是为我自动创建的):
touch /opt/firebird/default_trace.log然后确保所有Firebird文件都有正确的所有者和组:
chown -R firebird:firebird /opt/firebird然后使用以下方法重新启动Firebird服务器:
systemctl restart firebird现在,/opt/firebird/default_trace.log将记录身份验证错误。
这是一个日志行(S)的例子:
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:
# 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:
[firebird]
enabled = true
filter = firebird
action = iptables[name=firebird, port="3050", protocol=tcp]
logpath = /opt/firebird/default_trace.log
maxretry = 5
findtime = 60
bantime = 86400https://dba.stackexchange.com/questions/318899
复制相似问题