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-1057314

Nick Lockheart's questions

Martin Hope
Nick Lockheart
Asked: 2023-12-04 21:36:38 +0800 CST

如何更改 Bind9 中 `/run/named/session.key` 的默认权限?

  • 5

我正在使用nsupdate -l本地脚本来更新 Bind9 中的 DNS 记录。

它正在工作,除了我需要 PHP 对 处的密钥具有读取权限/run/named/session.key。

我可以通过更改 PHP 进程用户的密钥组并向其添加读取权限来授予 PHP 访问权限,但每次重新启动 Bind 时g+r权限都会恢复为bind:bindwith 。chmod 600

有没有办法配置 Bind9 中的默认权限,以便不同的组拥有它,并且在 Bind 启动时/run/named/session.key启用组读取( )?chmod 640

bind
  • 1 个回答
  • 28 Views
Martin Hope
Nick Lockheart
Asked: 2023-12-04 06:53:50 +0800 CST

如何为动态 IP 地址后面的子域设置 DNS 服务器?

  • 5

我正在开发一个安全/隔离的服务,该服务使用 ACME 协议管理 TLS 证书。服务器需要使用特定子域上的 TXT 记录进行响应。该服务器不会服务来自公众的请求,但它需要公开可用。

CNAME记录是允许的并且可以遵循。

我们托管动态TXT记录的 TLS 管理服务器正在运行 Bind9,并且位于动态 IP 是唯一选择的地方。

该域的主要 DNS 记录位于注册商的公共 DNS 服务器上。我们已成功设置使用动态 DNS 更新的子域,但动态 DNS 提供商似乎不允许NS记录。

所以在注册商处我们有:

domain.com          A   xx.xx.xx.xx
www.domain.com      A   xx.xx.xx.xx
dynamic.domain.com  NS  dynamic.provider.com

在动态提供者处,我们有:

dynamic.domain.com  A yy.yy.yy.yy

在我们的 TLS 机器人服务器上,我们运行 Bind9 作为dynamic.domain.com文本TXT记录的权限:

test  TXT     "A nice Test."

因此,期望的结果是,您应该能够从互联网上的任何地方运行dig TXT test.dynamic.domain.com并获取A nice Test..

这似乎在动态 DNS 提供商处失败:

dig TXT test.dynamic.domain.com

只是给出:

;; AUTHORITY SECTION:
dynamic.domain.com. 2208    IN  SOA dynamic.provider.com.

在动态 DNS 提供商处设置NS记录的唯一方法是(即将提供商切换到支持NS记录的提供商或推出我们自己的提供商)吗?或者是否有使用CNAME记录或A记录来使其发挥作用的解决方法?

domain-name-system
  • 3 个回答
  • 94 Views
Martin Hope
Nick Lockheart
Asked: 2023-11-30 23:56:34 +0800 CST

“警告:主机名domain.com 无法解析为地址”实际上是什么意思?

  • 5

此警告的变体在 Postfix 日志中多次出现:

warning: hostname 107-174-39-133-host.colocrossing.com does not resolve
     to address 107.174.39.133: Name or service not known

我想知道这个警告到底意味着什么。

具体来说,是正向还是反向 DNS 检查失败了?是否使用 A、MX 或 PTR 记录?是否是远程邮件服务器使用cloudflare.com导致的故障?或者 Postfix 是否捕获了冒充不属于他们的服务器的垃圾邮件发送者?

这是一个dig查询的实时示例:

dig -x 107.174.39.133

;; ANSWER SECTION:
133.39.174.107.in-addr.arpa. 300 IN PTR 107-174-39-133-host.colocrossing.com.


dig 107-174-39-133-host.colocrossing.com

;; AUTHORITY SECTION:
colocrossing.com.   355 IN  SOA brad.ns.cloudflare.com. dns.cloudflare.com. 2324254619 10000 2400 604800 1800

反向查找 PTR 将域与 IP 地址进行匹配,但正向查找不返回 IP 地址。

我想知道这是垃圾邮件还是 Postfix 配置错误?

请注意:我已经smtp_host_lookup = native设置了,并且服务器的真实IP地址设置在/etc/hosts:

127.0.0.1       localhost
xx.xx.xx.xx     domain.com
xx:xx::xx:xx:xx:xx   domain.com

# The following lines are desirable for IPv6 capable hosts
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters
postfix
  • 1 个回答
  • 33 Views
Martin Hope
Nick Lockheart
Asked: 2023-11-02 23:40:25 +0800 CST

如何将 CRL 添加到现有证书颁发机构证书中?

  • 5

我们拥有自己的供内部使用的 CA,可保护大约十台服务器/服务的安全。我们实际上没有或不需要证书吊销列表。

但是,当我们尝试设置 Dovecot 来验证 Postfix 服务器的身份时,我们发现 Dovecot 不会接受我们的 CA 证书,除非它具有附加到同一文件的 CRL。

如果我们有一个公共 CA 证书,authority.crt我们可以在该权威证书文件中添加一些虚拟 CRL 数据以使 Dovecot 满意吗?

更新:

我想我已经差不多明白了:

openssl ca -config ca/authority.cnf \
-gencrl -crldays 365 -crl_hold holdInstructionCallIssuer

但我得到:

unable to load number from ssl/crlnumber
error while loading CRL number
140581396727104:error:0D066096:asn1 encoding routines:a2i_ASN1_INTEGER:short line:../crypto/asn1/f_int.c:140:

该crlnumber文件不存在。我尝试让它touch存在,但这不起作用,然后我将数字添加1到顶部,这也不起作用。authority.cnf我可能需要在该文件的配置文件中进行一些设置crlnumber。

ssl
  • 1 个回答
  • 40 Views
Martin Hope
Nick Lockheart
Asked: 2023-11-02 06:53:34 +0800 CST

通过 LMTP 在 Postfix 和 Dovecot 之间启用 TLS 的正确设置是什么?

  • 7

我正在尝试让 Postfix 通过 LMTP 将邮件转发到 Dovecot。当双方设置中的 TLS 都关闭时,此功能可以正常工作。

启用 TLS 设置后,Postfix 通过 LMTP 连接,Dovecot 会看到连接,但两台服务器似乎都卡在那里,日志中没有更多信息(日志如下)。

实现此功能的正确 TLS 设置是什么?

这些是当前设置的两台服务器配置文件的相关部分:

/etc/dovecot/dovecot.conf:

protocols = imap lmtp

# Enable SSL (global) for IMAP connections
ssl = required
ssl_cert = </etc/ssl/imap.domain.com/imap.domain.com.crt
ssl_key = </etc/ssl/imap.domain.com/imap.domain.com.key


protocol lmtp {
    ssl_cert = </etc/ssl/imap.domain.com/imap.domain.com.crt
    ssl_key = </etc/ssl/imap.domain.com/imap.domain.com.key
    ssl_ca = </etc/ssl/imap.domain.com/authority.crt
    ssl_verify_client_cert = yes
    auth_ssl_require_client_cert = yes
    ssl=required
}


service lmtp {
  user = vmail
  inet_listener lmtp {
    address = * ::
    port = 24
    ssl=yes
  }
}

/etc/postfix/main.cf:

lmtp_use_tls = yes
lmtp_tls_security_level=encrypt
lmtp_tls_loglevel = 2
lmtp_tls_session_cache_database = btree:${data_directory}/lmtp_cache    
lmtp_tls_CApath = /etc/ssl/certs
lmtp_tls_CAfile=/etc/ssl/domain.com/authority.crt
lmtp_tls_cert_file=/etc/ssl/domain.com/domain.com.client.crt
lmtp_tls_key_file=/etc/ssl/domain.com/domain.com.key    
lmtp_tls_note_starttls_offer = yes

Dovecot服务器的邮件日志:

lmtp(1939): Info: Connect from xx.xx.xx.xx
lmtp(2500): Debug: SSL: where=0x10, ret=1: before SSL initialization
lmtp(2500): Debug: SSL: where=0x2001, ret=1: before SSL initialization
lmtp(2500): Debug: SSL: where=0x2002, ret=-1: before SSL initialization
lmtp(2500): Debug: SSL: where=0x2002, ret=-1: before SSL initialization
lmtp(2500): Debug: SSL: where=0x2002, ret=-1: before SSL initialization
lmtp(1944): Info: Disconnect from xx.xx.xx.xx: Disconnected for inactivity (state=GREETING)

Postfix 服务器的邮件日志:

Nov  1 22:35:18 servername postfix/lmtp[65067]: initializing the client-side TLS engine
Nov  1 22:35:18 servername postfix/lmtp[65050]: 9935F2317D: to=<[email protected]>, relay=remote.server.com[yy.yy.yy.yy]:24, delay=1220, delays=920/0.02/300/0, dsn=4.4.2, status=deferred (lost connection with remote.server.com[yy.yy.yy.yy] while receiving the initial server greeting)

更新

如果我运行:

openssl s_client -connect domain.com:24 -CAfile /etc/ssl/domain.com/authority.crt

在 Postfix 机器上,它通过 LMTP 通过 TLS 连接到 Dovecot 服务器,我可以向 Dovecot 发出 telnet 命令。因此,Dovecot 似乎正在接受 TLS 连接,但当 Postifx 尝试连接时,协商就会停止。

如果我运行:

openssl s_client -starttls lmtp -connect domain.com:24 -CAfile /etc/ssl/domain.com/authority.crt

我刚刚得到:

CONNECTED(00000003)

并且无法发出任何 telnet 命令。

ssl
  • 1 个回答
  • 103 Views
Martin Hope
Nick Lockheart
Asked: 2023-10-26 19:23:28 +0800 CST

LMTP支持认证吗?

  • 5

设想:

Postfix 服务器在托管公司的 VPS 上运行。

Dovecot IMAP 服务器在办公室内运行。

我们希望 Postfix 使用最少的中间软件将其收到的邮件推送到 Dovecot IMAP 服务器。这种传输通过开放的互联网进行。

所以我看到 Postfix 可以使用 LMTP 通过 TCP 进行虚拟传输,而 Dovecot 可以通过 TCP 侦听 LMTP。

但是,什么可以阻止流氓邮件服务器绕过 Postfix 并直接将邮件插入开放 LMTP 端口上的 Dovecot 中呢?

LMTP 服务是否可以通过身份验证方法进行保护,例如通过 TLS 的密码(至少),或由公共 CA 签名的双向 TLS 证书验证,以便两个服务器可以确定彼此的身份(更理想的情况是) )?

email
  • 1 个回答
  • 43 Views
Martin Hope
Nick Lockheart
Asked: 2023-10-24 12:23:07 +0800 CST

Postfix似乎在公共网络接口上运行并监听,但外部客户端无法连接?

  • 5

我正在 Debian 12 上设置新的 Postifx 服务器。我已经安装了 Debian 软件包并确认 Postfix 正在运行,并且正在侦听端口25、465和587。

Postfix 正在运行,日志中没有错误。我禁用了监狱,master.cf并且该服务器没有运行软件防火墙。

Postifx 绑定到所有接口,如下netstat:

netstat -plnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:587             0.0.0.0:*               LISTEN      8417/master
tcp        0      0 0.0.0.0:465             0.0.0.0:*               LISTEN      8417/master         
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      8417/master
tcp6       0      0 :::587                  :::*                    LISTEN      8417/master 
tcp6       0      0 :::465                  :::*                    LISTEN      8417/master         
tcp6       0      0 :::25                   :::*                    LISTEN      8417/master 

我可以在服务器本身上远程登录并通过其公共 IP 连接到 Postfix:

telnet xx.xx.xx.xx 587
Trying xx.xx.xx.xx...
Connected to xx.xx.xx.xx.
Escape character is '^]'.
220 mydomain.com ESMTP Postfix

但如果我从服务器外部尝试此操作,它将无法连接:

telnet mydomain.com 587
Trying xx.xx.xx.xx...
Trying xxxx:xxxx::xxxx:xxxx:xxxx:xxxx...
telnet: Unable to connect to remote host: Network is unreachable

我已经确认从客户端的角度来看 DNS 可以正确解析到服务器。

我工作/家里的 ISP 不会阻止传出端口,因为我可以从家里远程登录到 Gmail 的 SMTP 服务器并访问EHLO.

服务器托管公司声称没有端口被阻止。

我可以从我的家庭客户端访问服务器,traceroute -I但不能没有该-I选项。

老实说,我不知道还能尝试什么。当我尝试 telnet 时,我应该从 Postfix 得到一些东西。大多数阻止邮件的选项都出现在 后EHLO,但我们还没有做到这一点。

服务器上的哪些可能的设置会阻止 Postifx 在外部接口上侦听或响应,当netstat显示它已绑定时,日志中没有错误,并且当从服务器本身进行 telnet 时,Postfix 响应服务器外部 IP 上的 telnet?

inet_interfaces = all已设置。 inet_protocols = all已设置。

是否有任何配置设置会导致 Postfix 默默地丢弃连接请求而根本没有任何输出?

我还可以检查或尝试什么?Postfix 中的哪些设置会丢弃或不接受初始连接请求?

email
  • 1 个回答
  • 57 Views
Martin Hope
Nick Lockheart
Asked: 2023-10-22 14:19:20 +0800 CST

当 require_secure_transport 打开时,Dovecot 无法连接到 MariaDB

  • 5

我有一个 Dovecot 服务器,它使用 MariaDB 作为虚拟邮箱。MariaDB 服务器位于同一 LAN 中的另一台计算机上。

我们最近在 MariaDB 机器上启用了 TLS。

Dovecot 在关闭时工作正常,但当我们在 MariaDB 配置文件中打开require_secure_transport时无法连接。require_secure_transport

错误是:

Error: mysql(xxx.xxx.xxx.xxx): Connect failed to database (db_name): Access denied for user 'db_user'@'xxx.xxx.xxx.xxx' (using password: YES)

这看起来像是一个身份验证错误,但在关闭时使用相同的用户和密码连接可以正常工作require_secure_transport,因此 MariaDB 拒绝连接,因为 Dovecot 不使用 TLS。

连接字符串/etc/dovecot/dovecot-sql.conf.ext如下所示:

connect = host=db0.mydomain.com dbname=my_db user=the_user password=secret ssl_ca=/etc/ssl/authority/authority.crt

配置文件说:

ssl_ca、ssl_ca_path - 设置其中之一或两者以启用 SSL

我可以获得错误的更多详细信息吗?例如,如果 TLS 版本不匹配,我可以将其显示在某处吗?

Dovecot 中是否有需要更改的设置?

更新:添加ssl_verify_server_cert=no到连接字符串中/etc/dovecot/dovecot-sql.conf.ext允许连接正常工作。

所以这似乎是证书验证错误。但如果没有更详细的日志记录,我不确定它不喜欢证书的什么。

证书由 CA 在连接字符串中签名。最好知道它正在检查什么通用名称,以及 Dovecot 是否会使用任何 SAN 值作为证书。

dovecot
  • 1 个回答
  • 55 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