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

Darren's questions

Martin Hope
Darren
Asked: 2024-05-08 20:28:04 +0800 CST

Firewalld:添加源 IP 会阻止 SSH。版本之间的行为不同?

  • 5

我有两台具有不同版本的 RHEL 和firewalld 的服务器。两者的配置相同,但当我将源 IP 添加到区域时,它们的行为不同。

服务器A:

# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.9 (Maipo)
# firewall-cmd --version
0.6.3

服务器B:

# cat /etc/redhat-release
Red Hat Enterprise Linux release 9.3 (Plow)
# firewall-cmd --version
1.2.5

两台服务器都有一个非常基本的firewalld配置,我可以通过ssh连接到它们(注意两个配置中都包含ssh服务):

A:

# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens32
  sources:
  services: dhcpv6-client mysql ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

乙:

# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eno8303
  sources:
  services: cockpit dhcpv6-client ssh
  ports:
  protocols:
  forward: yes
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

服务器将托管 MariaDB 数据库,因此我需要确保允许端口 3306。在没有其他更改的情况下,我运行以下命令(根据经验)允许来自特定 IP 地址 192.168.1.2 的端口 3306 流量:

# firewall-cmd --new-zone=test --permanent
success
# firewall-cmd --zone=test --add-source=192.168.1.2 --permanent
success
# firewall-cmd --zone=test --add-port=3306/tcp --permanent
success
# firewall-cmd --reload

运行这些命令后,我仍然可以从 IP 地址 192.168.1.2 通过 SSH 连接到服务器 A,但无法通过 SSH 连接到服务器 B。但是,我可以从其他计算机通过 SSH 连接到服务器 B。从192.168.1.2进入BI服务器得到:

# ssh ServerB
ssh: connect to host ServerB port 22: No route to host

如果我在没有该选项的情况下创建区域--add-source,SSH 可以正常工作,因此该选项在较新的服务器上似乎有不同的行为。那是对的吗?我找不到任何其他原因导致此功能不起作用。

firewall
  • 1 个回答
  • 38 Views
Martin Hope
Darren
Asked: 2024-03-22 19:11:47 +0800 CST

即使源 IP 位于 SPF 记录中,SPF 也会失败

  • 5

我见过(并且认为我理解)DMARC 检查在 SPF 上失败的原因,例如电子邮件已被转发等。但我认为这里的情况并非如此。像 MXtoolbox 这样的网站上的所有检查都通过了,但我偶尔会收到这样的失败报告(我们的网络主机是 SiteGround):

<record>
    <row>
      <source_ip>185.56.87.12</source_ip>
      <count>1</count>
      <policy_evaluated>
        <disposition>none</disposition>
        <dkim>pass</dkim>
        <spf>fail</spf>    <---- Note failure here
      </policy_evaluated>
    </row>
    <identifiers>
      <header_from>domain.com</header_from>
    </identifiers>
    <auth_results>
      <dkim>
        <domain>domain.com</domain>
        <result>pass</result>
        <selector>default</selector>
      </dkim>
      <spf>
        <domain>uk53.siteground.eu</domain>
        <result>pass</result>
      </spf>
    </auth_results>
  </record>
  <record>

源 IP 属于 SiteGround(经 whois 确认),因此这似乎不是电子邮件转发的情况。在 MXtoolbox 上检查,您可以看到我们的 SPF 记录包括 _spf.mailspamprotection.com:

在此输入图像描述

其中又包括 185.56.87.0/24:

在此输入图像描述

所以我不明白为什么它说 SPF 失败了。有人可以向我解释一下吗?

email
  • 1 个回答
  • 93 Views
Martin Hope
Darren
Asked: 2021-11-30 09:09:30 +0800 CST

Postfix 不再拒绝基于垃圾邮件阻止列表的电子邮件

  • 1

我的 postfix 服务器配置为根据 spamhaus 和 spamcop 管理的几个垃圾邮件阻止列表拒绝电子邮件。

在注意到我最近收到的垃圾邮件比平时多后,我从日志中发现,上一次根据这些服务中的任何一个的积极结果拒绝电子邮件是在一周前。一段时间以来,我没有对我的后缀配置进行任何更改,因此服务器上应该没有任何更改。

我在这里运行了测试 - https://blt.spamhaus.com/并且它们都通过了,这向我证实了电子邮件没有被拒绝,因为它们应该被拒绝。另外,我已经检查了我收到的几封垃圾邮件的发送域的阻止列表并且它们存在,所以应该被拒绝。

我对如何进一步解决这个问题有点茫然。后缀日志中似乎没有任何内容显示“我没有检查此阻止列表,因为...” 我怎样才能找到这个问题的根本原因?

我的 smtp 收件人限制如下:

smtpd_recipient_restrictions =
 permit_mynetworks
 check_sender_access
        hash:/etc/postfix/sender_access
 reject_unauth_destination
 reject_unauth_pipelining
 reject_invalid_hostname
 reject_non_fqdn_sender
 reject_unknown_sender_domain
 reject_non_fqdn_recipient
 reject_unknown_recipient_domain
 reject_rbl_client bl.spamcop.net
 reject_rbl_client zen.spamhaus.org
 reject_rbl_client dul.dnsbl.sorbs.net
 permit
smtpd_reject_unlisted_sender = yes

postconf -n 的输出:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
biff = no
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix/sbin
disable_vrfy_command = yes
home_mailbox = Mail/
mailbox_command = /usr/lib/dovecot/deliver
mailbox_size_limit = 0
message_size_limit = 20480000
mydestination = b3.localdomain, localhost.localdomain, localhost, /etc/postfix/bubbadomains, $myhostname
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
recipient_delimiter = +
relayhost = smtp.gmail.com
sender_bcc_maps = hash:/etc/postfix/sender_bcc
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache
smtp_use_tls = yes
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_discard_ehlo_keywords = silent-discard, dsn
smtpd_helo_required = yes
smtpd_recipient_restrictions = permit_mynetworks check_sender_access hash:/etc/postfix/sender_access reject_unauth_destination reject_unauth_pipelining reject_invalid_hostname reject_non_fqdn_sender reject_unknown_sender_domain reject_non_fqdn_recipient reject_unknown_recipient_domain reject_rbl_client bl.spamcop.net reject_rbl_client zen.spamhaus.org reject_rbl_client dul.dnsbl.sorbs.net permit
smtpd_reject_unlisted_sender = yes
smtpd_relay_restrictions = permit_mynetworks check_sender_access hash:/etc/postfix/sender_access reject_unauth_destination reject_unauth_pipelining reject_invalid_hostname reject_non_fqdn_sender reject_unknown_sender_domain reject_non_fqdn_recipient reject_unknown_recipient_domain reject_rbl_client bl.spamcop.net reject_rbl_client zen.spamhaus.org reject_rbl_client dul.dnsbl.sorbs.net permit
smtpd_tls_cert_file = /etc/letsencrypt/live/mydomain.co.uk/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mydomain.co.uk/privkey.pem
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtpd_use_tls = yes
unknown_local_recipient_reject_code = 550
postfix spam-filter rbl
  • 1 个回答
  • 103 Views
Martin Hope
Darren
Asked: 2017-07-11 04:32:27 +0800 CST

后缀忽略 smtpd_recipient_restrictions 的顺序

  • 0

我每天收到大约 50 封被拒绝的电子邮件,因为发送电子邮件地址中有错字,而且它正在命中reject_unknown_sender_domain:

Jul 10 12:21:31 serverb3 postfix/smtpd[6647]: NOQUEUE: reject: RCPT from smtp.correctly-spelt-domain.co.uk[X.X.X.X]: 450 4.1.8 <email@mis-spelt-domain.co.uk>: Sender address rejected: Domain not found; from=<email@mis-spelt-domain.co.uk> to=<email@mydomain.co.uk> proto=ESMTP helo=<smtp.correctly-spelt-domain.co.uk>

我已经添加email@mispelt-domain.co.uk OK到/etc/postfix/sender_access,运行 postmap /etc/postfix/sender_access并重新启动后缀。

尽管在电子邮件之前check_sender_access hash:/etc/postfix/sender_access出现在我的smtpd_recipient_restrictions列表中,reject_unknown_sender_domain但由于这个原因仍然被拒绝。为什么会这样,我该如何解决?

后缀 v2.11.3

输出postconf -n:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
biff = no
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/lib/postfix
disable_vrfy_command = yes
home_mailbox = Mail/
mailbox_command = /usr/lib/dovecot/deliver
mailbox_size_limit = 0
message_size_limit = 20480000
mydestination = b3.localdomain, localhost.localdomain, localhost, /etc/postfix/bubbadomains, $myhostname
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
recipient_delimiter = +
relayhost = smtp.gmail.com
sender_bcc_maps = hash:/etc/postfix/sender_bcc
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache
smtp_use_tls = yes
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_helo_required = yes
smtpd_recipient_restrictions = permit_mynetworks check_sender_access hash:/etc/postfix/sender_access reject_unauth_destination reject_unauth_pipelining reject_invalid_hostname reject_non_fqdn_sender reject_unknown_sender_domain reject_non_fqdn_recipient reject_unknown_recipient_domain reject_rbl_client bl.spamcop.net reject_rbl_client zen.spamhaus.org reject_rbl_client dul.dnsbl.sorbs.net permit
smtpd_reject_unlisted_sender = yes
smtpd_relay_restrictions = permit_mynetworks reject_unauth_destination reject_unauth_pipelining reject_invalid_hostname reject_non_fqdn_sender reject_unknown_sender_domain reject_non_fqdn_recipient reject_unknown_recipient_domain check_sender_access hash:/etc/postfix/sender_access reject_rbl_client bl.spamcop.net reject_rbl_client zen.spamhaus.org reject_rbl_client dul.dnsbl.sorbs.net permit
smtpd_tls_cert_file = /etc/letsencrypt/live/mydomain.co.uk/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mydomain.co.uk/privkey.pem
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtpd_use_tls = yes
unknown_local_recipient_reject_code = 550

PS。我还尝试通过联系相关域的所有者并通知他们来解决根本原因。我没有屏住呼吸,他们会解决它。

postfix
  • 1 个回答
  • 996 Views
Martin Hope
Darren
Asked: 2017-03-10 08:47:02 +0800 CST

带有签名证书的 SSL_ERROR_NO_CYPHER_OVERLAP 错误

  • 5

我的公司向默认使用 http 的客户提供了一个基于 Tomcat/MySQL 的应用程序。应客户的要求,我通过创建自签名证书启用它以使用 https。使用自签名证书时,这会受到预期的浏览器错误的影响。

在进行渗透测试后,他们决定我们需要禁用一些不推荐使用的 ssl 协议和密码,所以我修改了我的 tomcat server.xml 中的 ssl 连接器,如下所示:

    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
    maxThreads="150" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS" sslEnabledProtocols="TLSv1.2,TLSv1.1" ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_WITH_AES_128_GCM_SHA256"
    keystoreFile="/path/to/keystore/file"
    keystorePass="password" />

这满足了渗透测试,并且该应用程序继续在所有三种主要浏览器(Chrome、Firefox 和 IE)中运行。然而,渗透测试也表明我们最好不要使用自签名证书,因此,按照这些 指南,我创建了一个 CSR 并让客户创建一个签名到他们内部域的证书(服务器可以通过几个不同的 URL,因此需要使用 SAN 创建 CSR)。

我将证书添加到新的密钥库并适当地修改了 server.xml 文件中的路径。现在,当我尝试连接时,我收到以下错误(这是来自 Firefox,但所有浏览器都会产生类似的错误):

安全连接失败

连接到 172.31.1.36:8443 时出错。无法与对等方安全通信:没有通用加密算法。错误代码:SSL_ERROR_NO_CYPHER_OVERLAP

您尝试查看的页面无法显示,因为无法验证接收到的数据的真实性。请联系网站所有者以告知他们此问题。

我的理解是证书不控制应该使用什么密码或协议,所以我不明白为什么会发生这种情况。这是我在生成 CSR 时犯的错误,还是客户在生成证书时犯的错误?

-编辑-

我似乎到处都遇到错误。如果我尝试将密钥导入密钥库,我会得到以下信息:

cat <keyfile> | openssl  pkcs12 -export -out <keystore>.p12
Enter pass phrase:
unable to load certificates

或这个:

keytool -importkeystore -srckeystore <keyfile> -srcstoretype pkcs12 -destkeystore <keystore>.jks
Enter destination keystore password:
Re-enter new password:
Enter source keystore password:
keytool error: java.io.IOException: toDerInputStream rejects tag type 45

我让客户向我发送证书链,当我尝试导入时,我收到此错误:

keytool -import -trustcacerts -alias tomcat -file <certchain>.p7b -keystore <keystorefile>.jks
Enter keystore password:
keytool error: java.lang.Exception: Input not an X.509 certificate

我找到了一些关于如何将 pkcs 文件转换为 x.509 的解决方案,但后来我遇到了其他错误,所以我现在完全陷入困境。

tomcat ssl-certificate ssl-certificate-errors
  • 2 个回答
  • 13177 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