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
    • 最新
    • 标签
主页 / server / 问题 / 1073189
Accepted
PFudd
PFudd
Asked: 2021-08-01 15:56:40 +0800 CST2021-08-01 15:56:40 +0800 CST 2021-08-01 15:56:40 +0800 CST

将新的 DNSBL 添加到 Sendmail 后,如何重新提交电子邮件以查看是否会被拒绝?

  • 772

TL;博士

如何欺骗我自己的 sendmail 认为电子邮件来自特定的 IP 地址,以便由于 DNSBL 匹配而拒绝该邮件?

细节:

我运行自己的邮件服务器,大多数垃圾邮件都被我添加到 /etc/mail/sendmail.mc 的 DNS 黑名单 (DNSBL) 阻止,如下所示:

dnl FEATURE(`dnsbl',`dnsbl.sorbs.net',`"554 Rejected " $&{client_addr} " found in dnsbl.sorbs.net"')dnl
dnl FEATURE(`dnsbl',`b.barracudacentral.org',`"554 Rejected " $&{client_addr} " found in b.barracudacentral.org"')dnl

今天进来了一些垃圾邮件(通过了所有测试),在检查了MX Toolbox和DNSBL Information之后,可以看到添加几个 DNSBL 中的一个会阻止这个特定的垃圾邮件。

因此,我添加了另一个 DNSBL,现在我想通过将这封电子邮件重新提交到 Sendmail 来对其进行测试,但问题在于:它不会来自正确的 IP 地址,并且 DNSBL 不会认为它很糟糕。

这是我通常会使用的命令:

formail -s /usr/sbin/sendmail -oi -t < testmail.mbox

在我尝试重新发明轮子之前,我想我先在这里问一下。可能的想法:

  • 是否有用于发送邮件以伪造源 IP 的 CLI 选项?
  • 也许制作一个排队的消息文件并将其直接放入队列中?
  • 也许在我的机器上设置另一个IP地址,然后用它发送给自己?
  • OpenVPN 或 SSH 隧道会是一个快速解决方案吗?
  • 可能可以加载共享库来拦截系统调用,à la LibFakeTime?
  • Dtrace 看起来很强大,它可以像这样改变 getsockopt(2) 调用吗?

谢谢!

spam sendmail email-server rbl
  • 1 1 个回答
  • 78 Views

1 个回答

  • Voted
  1. Best Answer
    PFudd
    2021-08-03T17:46:46+08:002021-08-03T17:46:46+08:00

    在上面睡觉之后,解决方案最终变得微不足道:

    ssh my-mail-server
    
    # Add 1.2.3.4 as an alias (eth1:0) to interface eth1:
    sudo ifconfig eth1:0 1.2.3.4 netmask 255.255.255.255
    
    # Use 1.2.3.4 as the source ip, connect to port 25 on the local host:
    nc -s 1.2.3.4 0.0.0.0 25
    
    HELO 1.2.3.4
    MAIL FROM: [email protected]
    RCPT TO: [email protected]
    DATA
    Subject: is this really from 1.2.3.4?
    
    Test from 1.2.3.4
    .
    QUIT
    ^C
    
    # Deleting 1.2.3.4 from eth1:
    sudo ifconfig eth1:0 0.0.0.0
    

    瞧,生成的标题:

    Return-Path: <[email protected]>
    Received: from 1.2.3.4 ([1.2.3.4] (may be forged))
        by earth.com (8.15.2/8.15.2) with SMTP id 1731SlYY013775
        for <[email protected]>; Mon, 2 Aug 2021 18:29:14 -0700
    Authentication-Results:the-force.com; dkim=permerror (bad message/signature format)
    Date: Mon, 2 Aug 2021 18:28:47 -0700
    From: <[email protected]>
    Message-Id: <[email protected]>
    Subject: Test subject
    

    它还显示 IP 地址没有被阻止(DNSBL 不起作用?),所以从这个意义上说,测试是成功的。:-/

    更新:哦!sendmail.mc 中的行应该是这样的:

    FEATURE(`dnsbl',`dnsbl.sorbs.net',`"554 Rejected " $&{client_addr} " found in dnsbl.sorbs.net"')dnl
    FEATURE(`dnsbl',`b.barracudacentral.org',`"554 Rejected " $&{client_addr} " found in b.barracudacentral.org"')dnl
    

    换句话说,前面的“dnl”注释掉了所有的 DNSBL 行。:-(

    Aaaa这就是我们测试的原因,女士们,先生们。

    • 1

相关问题

  • 代表客户发送电子邮件

  • 让 Postfix 以两种方式处理垃圾邮件

  • Linux sendmail 垃圾邮件?

  • 选择什么安全套件?

  • Exchange 2007:将带有 SenderID 的邮件移动到垃圾邮件文件夹失败?

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