DNS 設置以避免未使用域的電子郵件欺騙和網絡釣魚



眾所周知,電子郵件欺騙允許攻擊者冒充他人獲取非法收益。例如我只是使用 [email protected] 你不能交流,但有人可以寫一封欺騙性的電子郵件,比如 [email protected], 欺騙某人。這稱為帶有虛假標頭的電子郵件欺騙,看起來像這樣:

日期:2021年10月24日(星期四)12:46:10
發表者:nixCraft
回复:[email protected]
接收者:

接收郵件服務器通常不檢查正確的標題。 [email protected]_gmail_com 可能認為這封電子郵件是我發的。這根本不使用 opensourceflare.com 進行電子郵件通信。那麼如何防止域中的非法電子郵件流量呢?了解如何告訴接收電子郵件的服務器您正在代表我發送惡意電子郵件。

DNS 設置以避免未使用的域欺騙和網絡釣魚

錯誤配置的 DNS 將導致郵件無法送達。因此,僅當您不使用您的域發送或接收電子郵件時,才設置以下記錄。作者不對錯誤配置負責。如果您閱讀了這個可怕的警告並且不小心設置了這樣的記錄,請監控您的郵件日誌並刪除 DNS 記錄並將其放回原處。

設置 NULL DNS MX 記錄

MX 是郵件交換的縮寫。將電子郵件發送到正確的郵件服務器。您通常擁有多個域的 MX 記錄。例如,您可以使用 host 或 dig 命令獲取所有 MX 記錄的列表。
$ host -t MX {your-domain-here}
$ dig MX {your-domain-here}
$ dig +short MX {your-domain-here}
$ host -t MX cyberciti.biz
$ dig +short MX cyberciti.biz

所採取的行動

因此,如果您不為您的域發送或接收電子郵件,請將 MX 設置為 NULL。例如:
$ dig +short MX opensourceflare.com
$ host -t MX opensourceflare.com

這是我看到的:

opensourceflare.com mail is handled by 0 .

以下是在區域文件中為域設置 NULL MX 記錄的方法:

opensourceflare.com.	1	IN	MX	0 .

所以如果有人試圖發送或欺騙 [email protected],某些 smptd 軟件會導致錯誤。

DNS Error: 913429 DNS type 'mx' lookup of opensourceflare.com responded with code NOERROR The domain opensourceflare.com doesn't receive email according to the administrator: returned Null MX https://www.rfc-editor.org/info/rfc7505 

比較不友好的回應是:

Gmail 回复

通告空 MX 的域不得通告其他 MX 服務器。

設置 DNS SPF 記錄

使用發件人策略框架 (SPF) 保護您的域免受欺騙並防止外發電子郵件被標記為垃圾郵件。 Cyber​​citi.biz 的 SPF 如下所示: 只有 AWS SES 和 Google/Gmail 可以代表我的域發送郵件。包含所有 IP 地址的列表或包含另一個 DNS 記錄。
$ host -t TXT {your_domain_com}
$ dig TXT {your_domain_com}
$ host -t TXT cyberciti.biz
$ dig TXT cyberciti.biz

示例輸出:

cyberciti.biz descriptive text "v=spf1 include:amazonses.com include:_spf.google.com ~all"

以下 IP 地址是從您域的 SPF 記錄的 include 和 IP4/IP6 指令中獲取的。

cyberciti.biz.
amazonses.com
199.255.192.0/22
199.127.232.0/22
54.240.0.0/18
69.169.224.0/20
23.249.208.0/20
23.251.224.0/19
76.223.176.0/20
54.240.64.0/19
54.240.96.0/19
52.82.172.0/22
_spf.google.com
_netblocks.google.com
35.190.247.0/24
64.233.160.0/19
66.102.0.0/20
66.249.80.0/20
72.14.192.0/18
74.125.0.0/16
108.177.8.0/21
173.194.0.0/16
209.85.128.0/17
216.58.192.0/19
216.239.32.0/19
_netblocks2.google.com
2001:4860:4000::/36
2404:6800:4000::/36
2607:f8b0:4000::/36
2800:3f0:4000::/36
2a00:1450:4000::/36
2c0f:fb50:4000::/36
_netblocks3.google.com
172.217.0.0/19
172.217.32.0/20
172.217.128.0/19
172.217.160.0/20
172.217.192.0/19
172.253.56.0/21
172.253.112.0/20
108.177.96.0/19
35.191.0.0/16
130.211.0.0/22

所採取的行動

接下來,查看 opensourceflare.com 的 SPF 記錄。
$ host -t TXT opensourceflare.com

輸出:

opensourceflare.com descriptive text "v=spf1 -all"

SPF 設置為始終失敗。換句話說,不允許任何 IP 地址代表我的域發送電子郵件。以下是在您的區域文件中設置此類記錄的方法:

opensourceflare.com.	1	IN	TXT	"v=spf1 -all"

設置 DKIM 記錄

設置 DKIM DNS 記錄以防止欺騙從您的域發送的外發電子郵件。例如:
$ host -t TXT google._domainkey.cyberciti.biz

示例輸出:

google._domainkey.cyberciti.biz descriptive text "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlXtL1tL+0WrwdEldIO0ZED1hmaQJ9AcAA/eN3wMDUd723+MSR+vIqOrp2Bu5rKIPvm3IdADx+Av5UGmQ1UwU/TuJR+T+p5nW9bymUgJGqM8pp+Pg+YPsD4EEu+ClBwt8gExE6BYM/CK17djlrBnv9vbzUkK9IvhGr1UggUaz9N3BDCPRq/0PAhDYiwm18QN+s" "S8j8I3Iuv25oSUz20NYQ2R4PEZFN6dQcPuuwYCC0Ntjip2r/vonwv4LBFgqjEBJfyeuPlGiE+KagxtAI5s1lvIGNGw937vT5FkpmMXe0czJKrKEm0j/RiKb1fgYbjGJndX9x2uNELcqCwP2NQ06PwIDAQAB"

所以我設置了 DKIM,它將加密簽名添加到所有傳出郵件的標頭中。檢索簽名郵件的電子郵件服務器使用 DKIM 來解密郵件標頭,以確保它們在郵件發送後未被更改。

所採取的行動

以下是為您的域設置 NULL DKIM 的方法:例如,dns 區域條目是:

*._domainkey.opensourceflare.com.	1	IN	TXT	"v=DKIM1; p="

核實。
$ host -t TXT *._domainkey.opensourceflare.com

示例輸出:

*._domainkey.opensourceflare.com descriptive text "v=DKIM1; p="

在哪裡,

  1. *._domainkey.opensourceflare.com :DKIM 選擇器設置為通配符。
  2. v=DKIM1, : 將檢索到的記錄標識為 DKIM 記錄。必須是記錄中的第一個標籤。
  3. p :再次設置為 NULL。這意味著公鑰已被撤銷或默認未設置。也就是說,DKIP 設置為 NULL 以防止所有選擇器的電子郵件欺騙。

設置 DMARC 政策

DMRC DNS 記錄有助於防止攻擊者偽造電子郵件地址。 DMARC 還允許您從您的電子郵件服務器請求有關從您的域發送的郵件中可能存在的身份驗證問題或惡意活動的報告。以下是我搜索域的方式:
$ dig TXT _dmarc.cyberciti.biz
$ host -t TXT _dmarc.cyberciti.biz

示例輸出:

_dmarc.cyberciti.biz descriptive text "v=DMARC1; p=reject; pct=100; rua=mailto:[email protected]; ruf=mailto:[email protected]; fo=1; ri=2419200;"

所採取的行動

在 dns 區域文件中為域配置 dmarc,如下所示:

_dmarc.opensourceflare.com.	1	IN	TXT	"v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s;"

在哪裡,

  1. _dmarc.opensourceflare.com。 :設置 DMARC。
  2. v=DMARC1; :必須是 TXT 列表中指示 DMARC 版本的第一個標籤。
  3. p=reject; :為未通過 DMARC 測試的電子郵件設置拒絕策略。
  4. sp=reject; :為未通過子域 DMARC 測試的電子郵件設置拒絕策略。
  5. adkim=s; : 將 DKIM 對齊模式設置為嚴格
  6. aspf=s; : 將 SPF 對齊模式設置為嚴格

加上

這是推薦的受限 NULL MX, DMARC ,是一個 SFP 模板。

opensourceflare.com.	1	IN	MX	0 .
opensourceflare.com.	1	IN	TXT	"v=spf1 -all"
*._domainkey.opensourceflare.com.	1	IN	TXT	"v=DKIM1; p="
_dmarc.opensourceflare.com.	1	IN	TXT	"v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s;"

以下是 Google DNS 儀表板的外觀:

Google 域儀表板使用 NULL MX 和其他設置來防止欺詐性電子郵件流量,因為我們不在該域上發送或接收電子郵件(點擊放大)

如果您的域不發送電子郵件,請配置這些 DNS 設置以避免欺騙和網絡釣魚

使用 dig 或 host 命令檢查您的設置並檢查您的 DNS 設置,以避免使用未使用的域進行欺騙和網絡釣魚來發送郵件。
$ host -t MX opensourceflare.com
$ host -t TXT opensourceflare.com
$ host -t TXT *._domainkey.opensourceflare.com
$ host -t TXT _dmarc.opensourceflare.com

加上

這就是 DNS 設置在域未用於發送或接收郵件時防止欺騙和網絡釣魚的方式。

推薦閱讀

我知道這個主題對於新的 Linux/Unix 開發人員或系統管理員來說可能會讓人不知所措。因此,我們建議閱讀以下頁面。