Làm cách nào để định cấu hình SPF cho nhiều tên miền trên máy chủ? (cũng cho phép gmail là người gửi)


9

SPF (Khung chính sách người gửi) có vẻ như là một cách tốt để chống lại kẻ gửi thư rác / giả mạo.

Tuy nhiên, mặc dù đã đọc các giải thích nhiều lần, tôi không hoàn toàn hiểu cách cấu hình nó một cách chính xác.


Hãy nói rằng tôi có máy chủ của tôi lúc a.x.comđó host www.x.comb.x.comc.x.comvà vân vân.

Tôi cũng có a.co.uk b.net c.infovà cứ như vậy, mỗi cái có một loại tên miền phụ, tất cả được lưu trữ trênx.com

Đối với tất cả các tên miền và tên miền phụ này, tôi muốn cho phép thư được gửi từ a.x.com

Tôi cũng muốn tất cả họ cho phép thư được gửi từ Gmail cho tất cả các tên miền này.

Làm cách nào để thiết lập tính năng này với SPF?

Tôi có thể thiết lập một bản ghi SPF cho x.com(hoặc a.x.com) và sau đó cho mọi thứ khác chỉ cần có một bản ghi / con trỏ đơn giản cho x.combản ghi của nó, hoặc nó sẽ cần phải được thực hiện khác đi?

Bất cứ ai cũng có thể cung cấp một số bản ghi SPF cho ví dụ trên?


Lưu ý: Phần thứ hai của câu hỏi của tôi đã được trả lời (sử dụng " v=spf1 include:x.com -all" để bao gồm / trỏ vào x.comhồ sơ của), nhưng phần chính của những gì cần đặt x.comvẫn chưa được trả lời ...


Trên thực tế, nó đã chứng minh một cách vô vọng để giảm thư rác. Trong thực tế, có thể nói, nó chỉ thực sự có nghĩa là để giải quyết giả mạo địa chỉ người gửi.
Christopher Edwards

2
"Nó chỉ thực sự có nghĩa là để giải quyết giả mạo địa chỉ người gửi" - chính xác, để ngăn những kẻ gửi thư rác gửi thư dường như đến từ tên miền của người khác.
Peter Boughton

Câu trả lời:


7

Bạn không thể tránh phải thay đổi các tệp vùng cho các tên miền khác ngoài x.com, nhưng bạn có thể tự cứu mình rất nhiều rắc rối bằng cách xác định các chính sách phổ biến được lưu trữ trên một tên miền và sử dụng redirecttừ khóa SPF trên các tên miền khác. Thí dụ:

  • Trong vùng tệp cho x.commiền:
_policy1 IN TXT "v = spf1 a: axcom -all"
_policy2 IN TXT "v = spf1 bao gồm: _spf.google.com a: axcom -all"

_spf.google.comlà bản ghi giữ bản ghi Gmail SPF. Không chắc chắn liệu nó được ghi lại. Về mặt lý thuyết bạn nên include:gmail.comnhưng đó là một chuyển hướng đến _spf.google.comvà đã có ít nhất một bản vá SPF được sử dụng rộng rãi cho qmail mà không tuân theo đúng cách (đã được sửa vào tháng 8 năm 2008 nhưng vẫn có thể được triển khai.) có nhiều hơn một mức độ nghiêm ngặt khác nhau là cực kỳ hữu ích khi gỡ lỗi vì bạn chỉ phải thay đổi một tên ngắn trong miền đích thay vì sao chép dễ bị lỗi.

  • Trong các vùng dữ liệu cho các miền khác:
@ IN TXT "v = spf1 redirect = _policy1.x.com"

hoặc là

@ IN TXT "v = spf1 redirect = _policy2.x.com"

v.v ... Tôi đang sử dụng redirect, không include, để làm cho kiểm tra SPF thay thế hoàn toàn bản ghi được đánh giá hiện tại bằng bản ghi tôi đang chuyển hướng. includekhông làm điều đó - ví dụ: -allở phần cuối của một includeđánh giá không khiến việc đánh giá bị dừng lại ( includelà một cách hiểu sai lớn.) Bạn nên tránh sử dụng includekhi bạn muốn "bí danh" bản ghi SPF từ một tên miền khác, vì nó khá dễ vỡ - nếu bạn vô tình quên dấu vết - bạn có thể khiến toàn bộ SPF của mình trên miền đó không hiệu quả.

Chỉnh sửa: Tuy nhiên, xin lưu ý rằng bạn cần cảnh giác nếu bạn muốn cho phép máy chủ của Gmail làm người gửi. Chaptcha Gmail đã bị bẻ khóa, điều đó có nghĩa là có thể tự động hóa đăng ký tài khoản, điều đó có nghĩa là Gmail có thể được sử dụng như một chuyển tiếp mở (tôi nhận được hàng chục yêu cầu đăng ký spambot mỗi tuần cho diễn đàn thảo luận công ty của tôi, tất cả đều sử dụng địa chỉ email gmail.com - và những địa chỉ đó đang hoạt động, tôi đã cho phép một vài người đi qua để kiểm tra.) Ngoài ra, bất kỳ ai có tài khoản Gmail đều có thể bỏ qua kiểm tra SPF nếu quen thuộc với các phần tên người dùng của địa chỉ email trong tên miền của bạn .


Cảm ơn, đây là một câu trả lời hữu ích. Lần trước tôi đã kiểm tra, Gmail yêu cầu xác thực email trước khi bạn có thể gửi email từ các địa chỉ khác - vì vậy một khi hộp thư đến cho địa chỉ đó được bảo mật, mọi thứ vẫn ổn chứ? Làm thế nào quan trọng là / không cũng có dòng 'www' như trong câu trả lời của bortzmeyer?
Peter Boughton

1
Đúng, nhưng một khi vết nứt xuất hiện trong foudation Tôi chắc chắn ai đó sẽ tìm cách vắt một nửa dòng sông qua :) Không nói rằng bạn không nên, tôi chỉ khuyên bạn nên đi trên ngón chân của mình và kiểm tra định kỳ xem Gmail có đang bị khai thác, tức là xin đừng từ bỏ quyền hạn đối với Gmail vô thời hạn. Tôi tin tưởng họ nhiều hơn tôi tin tưởng nhiều thực thể trực tuyến hơn, nhưng đó chỉ là một chút tin tưởng so với không tin tưởng chút nào.
Mihai Limbăşan

Tôi không biết tại sao bortzmeyer bao gồm các mục www. Chúng hoàn toàn vô dụng trừ khi bạn thực sự gửi thư từ @ www.x.com, ngoài việc không được sử dụng nhiều) trông có vẻ kỳ lạ và gây ra sự nhầm lẫn ở những người kém hiểu biết về kỹ thuật.
Mihai Limbăşan

2
Ngoài ra, tôi sẽ KHÔNG sử dụng các loại bản ghi SPF. Tôi khuyên bạn nên gắn bó với TXT. Loại bản ghi SPF chỉ được hỗ trợ bởi BIND 9.4 trở lên, trên mỗi RFC, bạn cũng phải duy trì các bản sao của bản ghi TXT, tức là bạn phải sao chép nội dung (xấu) và bạn phải duy trì chúng đồng bộ (cứng). Mức tăng này là không tồn tại vì TXT sẽ là cơ chế phân phối SPF chính trong tương lai gần, quoth openspf.org.
Mihai Limbăşan

1
@Mihai Limbasan: câu trả lời tuyệt vời, cảm ơn vì đã chia sẻ. Trong trường hợp bạn nghĩ rằng cần phải cập nhật câu trả lời của mình, Google dường như thích v=spf1 include:_spf.google.com ~allthay thế -all, giả sử tôi hiểu đúng, ref. google.com/support/a/
Coins178723

4

Có, bạn có thể bao gồm cấu hình từ một trong các miền của bạn trong bản ghi SPF cho tất cả các miền khác. Đặt bản ghi SPF của các tên miền khác thành các thao tác sau sẽ thực hiện mẹo:

v=spf1 include:x.com -all

Điều này "chỉ hoạt động", hay nó yêu cầu một tên miền phụ _spf, hoặc tương tự?
Peter Boughton

Tôi khá chắc chắn rằng nếu ban đầu bạn có các bản ghi SPF được xác định trực tiếp trên x.com, thì bao gồm cho các tên miền khác cũng có thể trỏ trực tiếp vào x.com. Nếu bạn xác định bản ghi SPF của mình trong tuyến _spf.x.com, thì vâng, bạn sẽ cần thay đổi bao gồm một chút để trỏ đến FQDN đó.
womble

2

Bạn đã thử sử dụng công cụ web tại http://www.openspf.org/ chưa? Nó có thể giúp bạn dễ dàng hơn một chút để đối phó với điều này ...

Chỉ cần nhập tên miền của bạn vào ô trên cùng bên phải và nhấp vào nút đi. Từ đó, bạn sẽ có thể thiết lập mọi thứ một cách vội vàng.


1
Tôi đã thử nhiều lần với công cụ đó, nhưng những lời giải thích không đủ rõ ràng.
Peter Boughton

2

Tiêu chuẩn, RFC 4408 , cung cấp một số ví dụ rất gần với những gì bạn muốn. Đây là một trích xuất của khu vực của x.com:

@ IN TXT "v = spf1 a: axcom -all"
      IN SPF "v = spf1 a: axcom -all"

www IN TXT "v = spf1 a: axcom -all"
      IN SPF "v = spf1 a: axcom -all"

Ghi chú:

  • Tôi không thêm máy chủ email Gmail vì tôi không biết họ, hãy hỏi người dùng Gmail
  • 'a' là cho 'địa chỉ' (nó không phải là bản ghi DNS A, nó bao gồm IPv6)
  • Tôi đã thêm các bản ghi SPF, theo RFC, mặc dù hầu hết tất cả các triển khai chỉ sử dụng bản ghi TXT

1

Có, bạn cần thêm bản ghi SPF cụ thể cho từng tên miền riêng lẻ.

Lý do cho điều này là bản ghi loại răng cưa duy nhất (hữu ích) trong DNS là CNAMEbản ghi. Tuy nhiên, CNAMEbản ghi gây ra hiện tượng răng cưa xảy ra đối với TẤT CẢ các RRtype trong RRset - không có cách nào để nói " CNAMEbản ghi SPF nhưng không phải là MXbản ghi "


Tôi hiểu rằng tôi sẽ có thêm một bản ghi SPF cho mỗi tên miền, nhưng tôi đã hy vọng để chỉ đơn giản là lưu trữ một đơn giản trỏ đến tên miền chính, nơi mà tất cả các lệnh phức tạp hơn có thể sau đó sống. Womble gợi ý tôi có thể sử dụng bao gồm: {domain} cho việc này, nhưng tôi vẫn chưa rõ nếu điều này chỉ bao gồm / điểm tại các bản ghi SPF cho tên miền khác hoặc nếu tôi cần lưu trữ tên miền phụ _spf.x.com?
Peter Boughton

vâng, xem câu trả lời của womble
Alnitak
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.