AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-180568

Nick Coons's questions

Martin Hope
Nick Coons
Asked: 2023-06-03 06:08:48 +0800 CST

Fail2Ban - 匹配 Asterisk PJSIP 认证成功

  • 6

我正在尝试创建一个 fail2ban 过滤器来匹配成功的身份验证。示例日志条目如下所示:

[2023-05-25 18:41:00] VERBOSE[26149] res_pjsip/pjsip_options.c: Contact user/sip:[email protected]:47682;transport=ws;x-ast-orig-host=b0cnalpndgjm.invalid:0 is now Reachable.  RTT: 27.843 msec

我不精通创建 fail2ban 过滤器,但这是我的尝试(我首先将 filter.d 中的 asterisk.conf 复制到 asterisk-whitelist.conf 以用作模板,然后更改 failregex 以尝试匹配类似的行以上):

[INCLUDES]

# Read common prefixes. If any customizations available -- read them from
# common.local
before = common.conf

[Definition]

_daemon = asterisk

__pid_re = (?:\s*\[\d+\])

iso8601 = \d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d+[+-]\d{4}

# All Asterisk log messages begin like this:
log_prefix= (?:NOTICE|SECURITY|WARNING)%(__pid_re)s:?(?:\[C-[\da-f]*\])? [^:]+:\d*(?:(?: in)? \w+:)?

prefregex = ^%(__prefix_line)s%(log_prefix)s <F-CONTENT>.+</F-CONTENT>$

failregex = ^Contact [A-Za-z0-9]+/sip:[A-Za-z0-9]+@<HOST>:[0-9]+;transport=[A-Za-z]+;[A-Za-z]+=[A-Za-z0-9\.]+:0 is now Reachable\.  RTT: [0-9]*\.[0-9]+ msec$
ignoreregex =

以上不起作用。我不是特别确定如何解决此问题,或者需要进行哪些更改才能匹配。结果fail2ban-regex /var/log/asterisk/full asterisk-whitelist.conf显示 0 个匹配项。

已更新以在已接受答案的帮助下添加最终解决方案。这是最终对我有用的配置:

[INCLUDES]
# Read common prefixes. If any customizations available -- read them from
# common.local
before = common.conf

[Definition]
_daemon = asterisk

__pid_re = (?:\s*\[\d+\])

iso8601 = \d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d+[+-]\d{4}

# All Asterisk log messages begin like this:
log_prefix= (?:NOTICE|SECURITY|WARNING|VERBOSE)%(__pid_re)s:?(?:\[C-[\da-f]*\])? [^:]+:\d*(?:(?: in)? \w+:)?

prefregex = ^%(__prefix_line)s%(log_prefix)s <F-CONTENT>.+</F-CONTENT>$

failregex = ^.*Contact .*\/sip[s]?:.*@<HOST>.* is now Reachable.*

ignoreregex =
fail2ban
  • 1 个回答
  • 50 Views
Martin Hope
Nick Coons
Asked: 2020-11-04 11:07:55 +0800 CST

基于域的 DFS 间歇性工作

  • 1

我的网络上有如下 DFS 设置:

  • 我们将称为 DOMAIN.LAN 的域。
  • 两个 AD 控制器,我们称它们为 DC01 和 DC02。
  • 两个文件服务器,我们称它们为 FS01 和 FS02。
  • 加入域的 Windows 10 Pro 工作站。

在文件服务器上,我有一个名为“public”的共享,它可以从 Windows 10 工作站成功访问为 \\FS01\public 和 \\FS02\public。

在 AD 控制器上,我设置了一个名为“dfs”的 DFS 命名空间,并有一个名为“public”的共享。本次分享有以下目标:

  • \\FS01.DOMAIN.LAN\public
  • \\FS02.DOMAIN.LAN\公共

我尝试通过以下方式从 Windows 10 工作站访问共享:

  • \\FS01\public:这 100% 的时间有效。
  • \\FS02\public:这 100% 的时间都有效。
  • \\DC01.DOMAIN.LAN\dfs\public:这 100% 的时间都有效。
  • \\DC02.DOMAIN.LAN\dfs\public:这 100% 的时间都有效。
  • \\DOMAIN.LAN\dfs\public:间歇性工作。

这是最后一个问题。当我说“间歇性”时,我并不是说我点击一次它就可以工作,然后再次点击它可能不会。我的意思是它可能工作几个小时,然后停止工作几个小时,然后似乎没有任何变化重新开始工作。

我尝试将目标从 FS01.DOMAIN.LAN 的 FQDN 更改为 FS01,甚至只是文件服务器的 IP 地址,这没有什么区别。但是,由于如果我直接点击 AD 控制器而不是域名,我可以通过 DFS 名称空间访问共享,这似乎排除了 DFS 配置问题以及 DNS 问题(即使它是间歇性的事实似乎也指向 DNS),这就是为什么我不确定如何进行故障排除。

有几点需要注意,可能相关也可能不相关:

  • DC01 正在运行 Windows Server 2019。
  • DC02 正在运行 Samba 4.9.5。
  • FS01 和 FS02 运行 Samba 4.9.5 并且是域成员服务器。
  • Windows 10 工作站通过 VPN 与服务器连接到网络。但是,DC01 和 DC02 的 IP(出于测试目的)被硬编码到工作站中,以确保它可以正确解析 DNS。ping 以上所有 FQDN 100% 的时间都按预期工作。

我确实认识到 VPN 可能是一个问题。但是,同样位于服务器本地的工作站表现出相同的症状,因此我不认为 VPN 是一个差异化因素。与服务器的 VPN 连接与 Internet 连接一样稳固,VPN 上的 ping 时间为 20 毫秒或更短。

我正在寻找经历过此问题并拥有解决方案的人,或者至少是我可以用来进一步排除故障的过程。

dfs active-directory
  • 1 个回答
  • 327 Views
Martin Hope
Nick Coons
Asked: 2015-06-21 01:24:16 +0800 CST

MariaDB Galera 集群,强制同步

  • 1

我在一个多主 Galera 集群中有三台服务器。我最近导入了一些旧数据库,并注意到三个表都在创建,但数据没有被复制。原来我没有注意,这些旧数据库都在使用 MyISAM 表。所以我知道将来我需要将它们转换为 InnoDB,然后再将它们引入以使它们工作。

但是,我没有找到同步现有数据的官方方法。运行ALTER TABLE将现有表转换为 InnoDB 不会同步现有数据。

我的想法是用 转储表(现在它已被转换)mysqldump,然后用mysql -u user -p db < db.sql. 我看不出有什么理由不这样做,但我想知道是否有更好的方法。

cluster
  • 1 个回答
  • 3341 Views
Martin Hope
Nick Coons
Asked: 2015-06-15 09:54:12 +0800 CST

Postfix - 仅在加密连接上允许经过身份验证的连接

  • 1

我目前有 Postfix 设置以在不进行身份验证的情况下将邮件传递给本地用户(为我的本地用户接收来自其他 SMTP 服务器的传入电子邮件),并使用 SASL 以便我的用户可以进行身份​​验证以便通过我的系统中继邮件。我设置为接受端口 25(纯文本)和 465(SSL)上的连接。

目前,允许本地用户连接到任一端口并进行身份验证。我想将身份验证限制为仅端口 465,以便进入端口 25 的任何连接都无法进行身份验证,因此只能向本地用户发送电子邮件。目的有两个:

  • 防止用户以纯文本形式发送其用户名和密码。
  • 帮助缓解连接在端口 25 上的自动机器人攻击,并尝试通过使此操作变得不可能来进行身份验证。
postfix
  • 1 个回答
  • 164 Views
Martin Hope
Nick Coons
Asked: 2014-12-06 17:10:59 +0800 CST

LizardFS/MooseFS——多存储卷

  • 2

我正在使用新的 LizardFS,它很棒!总的来说,我是 LizardFS/MooseFS 的新手,但看起来很简单。

我想知道两件事:

首先,有没有办法设置单独的存储池?例如,我可以有五台服务器,每台服务器都有两个 HDD。每台服务器的一个硬盘属于一个存储池,另一个硬盘属于另一个。存储池将是独立的,因为它们将单独安装,并且它们将单独维护块。

想要这样做的原因是因为我的第二个问题:

我想要一个快速存储池和一个慢速存储池。我的服务器有 10Gbe 和 SSD,所以 LFS 的一切都非常快。但是有些项目(尤其是按文件类型)不需要很快,例如音频和视频文件,而 HDD 显然更便宜。

最终,我想做的是让 LFS 识别条件(例如文件类型或其他用户定义的条件),以便在将文件写入文件系统时,将其存储在快速存储或慢速存储中,但它对最终用户显示为单个存储卷。我相当肯定这对于开箱即用的 LFS 是不可能的。但是,如果可以有多个存储卷,我可以构建一个系统来使用符号链接来伪造它的其余部分。

distributed-filesystems
  • 3 个回答
  • 3213 Views
Martin Hope
Nick Coons
Asked: 2014-11-14 23:47:09 +0800 CST

PowerDNS - 在解析之前验证主机是否已启动

  • 0

我有 twp 名称服务器运行 PowerDNS 作为 ns1 和 ns2 使用主/从类型设置,这很好用。我想创建多个服务器来提供服务(即网络、电子邮件等),然后让 ns1 或 ns2 上的 PowerDNS(无论哪个被命中)返回与主机名关联的多个 IP 之一,具体取决于该主机是否实际启动并且跑步。

例如,假设我有两个 Web 服务器,X 和 Y。然后我在 DNS 中有两个 A 记录,因此 webserver.local 有时会解析为 X 的 IP,有时会解析为 Y 的 IP,从而产生循环效应。完美的。

现在,如果 X 出现故障,这仍然有效,但客户端必须在他们有机会击中 Y 之前暂停,这意味着他们最终会到达他们想去的地方,但速度要慢得多。如果 X 出现故障,我希望将其 IP 地址从要解析的 IP 循环列表中删除,以便 DNS 在解析 webserver.local 时仅返回 Y 的 IP,直到修复并放置 X重新投入使用。

要求 PowerDNS 验证主机是否已启动并在每个请求上运行可能需要一两秒钟(如果可能的话),这确实会减慢 DNS 查询速度。我的一个想法是通过 cron 检查服务器定期完成一项完全独立的任务,并相应地修改 PowerDNS 配置。我当然可以从这个角度来攻击它,但希望可能有一种更标准的方法来解决这个问题,不需要太多的定制开发。

failover
  • 1 个回答
  • 1882 Views
Martin Hope
Nick Coons
Asked: 2014-02-27 20:11:47 +0800 CST

Linux 中的哪些目录必须是根文件系统的一部分?

  • -2

我正在 KVM 下构建一些虚拟机,其中基本系统将是一个映像(尚未具体确定哪种格式),所有剩余的系统文件将是从分布式文件系统安装的其他分区。

例如,/ 将是主映像的一部分,但 /home 将从其他位置安装。我的目标是使基本系统映像尽可能小,从而使尽可能多的系统不属于根分区。

所以我的问题是:Linux 中的哪些目录必须是根文件系统的一部分?例如,我假设 /etc 和 /sbin 等目录必须如此,因为这是允许引导系统和挂载其他分区的实用程序所在的位置。但是 /opt 当然可以在不同的分区上。

万一这很重要,我正在构建的系统要么是 Ubuntu Server 12.04,要么是 14.04,如果我等到它出现后再生产和部署这些系统。

linux
  • 3 个回答
  • 1724 Views
Martin Hope
Nick Coons
Asked: 2013-07-03 09:29:56 +0800 CST

将电子邮件通过管道传输到脚本,但仅适用于单个用户 [传输地图不起作用]

  • 0

我在 Ubuntu 上运行带有 Postfix、Amavisd 和通过 MySQL 的虚拟用户的邮件服务器。我希望在收到电子邮件后通过外部脚本传输电子邮件正文,但仅限于一个特定的电子邮件收件人。我开始解决这个问题的方法是在 master.cf 中创建一个名为“vtimer”的新传输:

vtimer    unix  -       n       n       -       -       pipe
  flags=Fq   user=vmail       argv=/opt/vacationtimer.php ${recipient}

然后我在传输文件中创建了一个新条目:

[email protected] vtimer

最后,我postmap在传输文件上运行并重新启动 Postfix(main.cf 中的条目已经存在,因为我目前还有其他功能传输)。此传输与其他传输之间的区别在于其他传输匹配主机名,但这是唯一匹配特定地址的传输。当在此地址收到电子邮件时,它不会通过此传输重定向,而是通过在没有匹配时使用的默认电子邮件。

这是解决这个问题的正确方法吗?如果是这样,我错过了什么?如果没有,我应该考虑哪些其他选项?

email
  • 1 个回答
  • 548 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve