Điểm:1

body_checks: Làm cách nào để lọc nội dung được mã hóa base64?

lá cờ cn

Câu trả lời thành ngữ có lẽ là "không - sử dụng bộ lọc giải mã tin nhắn trước", nhưng như có thể thấy trong câu trả lời thứ hai cho câu hỏi đó, nó Nên cũng có thể với body_checks đó cũng là những gì BUILTIN_FILTER_README @ postfix.org nói - và đó là điều tôi muốn làm.

Đây là một trong những điều đã làm phiền tôi khá lâu:

--===============6489786132958404869==
Loại nội dung: văn bản/đồng bằng; bộ ký tự = "utf-8"
Mã hóa chuyển nội dung: base64

SmFnIghhciByZWRhbiBza3Jpdml0IHRpbGwgZGlnLCBtZW4gZHUgc3ZhcmFyIG1pZyBpbnRlLiBM
w6V0IG1pZyB2ZXRhLCBqYWcgaGFyIG7DpWdyYSBzYWtlciBhdHQgYmVyw6R0dGEuIEtvbnRha3Rh
IG1pZyBpIG1pbiBwcml2YXRhIGUtcG9zdDogaXJlbmUub3NiZXJnNzNAZ21haWwuY29tCg==

--===============6489786132958404869==--

Đối với điều này, tôi đã thêm body_checks quy tắc:

/SmFnIghhciByZWRhbiBza3Jpdml0IHRpbGwgZGlnLCBtZW4gZHUgc3ZhcmFyIG1pZyBpbnRl/ TỪ CHỐI Thư rác

nhưng nó sẽ không bắt được nó khi nó ở trong một khối như vậy. Nó bắt một đã cố gửi khi cùng một chuỗi được nhúng trong một thân thể: <div dir="ltr"><pre class="gmail-moz-quote-pre"><pre>SmFnIHZpbGwgcHJhdGEgbWVkIGRpZywgbWVuIGRldCBmaW5ucyBmw7ZyIG3DpW5nYSBtZWRkZWxh</pre> nhưng đó là lần duy nhất quy tắc bắt thành công điều này. Tôi đã thêm khá nhiều trong số này cơ sở64 các quy tắc được mã hóa nhưng không có quy tắc nào bắt được bất kỳ thứ gì khi được nhúng như trên.

Các cơ sở64 mã hóa trong trường hợp cụ thể này luôn hoàn toàn giống nhau, vì vậy tôi không phải thực hiện cơ sở64 gấp ba lần để nắm bắt các biến thể mà tôi đã thực hiện cho các trường hợp khác:

/aHR0cHM6Ly9jbGNrLnJ1|dHRwczovL2NsY2sucnUv|dHBzOi8vY2xjay5y/ TỪ CHỐI Vui lòng xóa liên kết tới clck.ru

Ở trên không bắt được bất cứ thứ gì khi được nhúng trong một khối như trên.

Tôi đã thử thêm chính.cf cài đặt

disable_mime_input_processing = có

mà dường như đã cải thiện mọi thứ. Bây giờ nó bắt được một số trong số chúng, nhưng không phải tất cả những thứ mà tôi có thể xác minh thủ công Nên bắt các tin nhắn trượt qua các vết nứt.

Bất kỳ ý tưởng nào tại sao điều này không hoạt động và tôi có thể làm gì với nó? Tôi đang sử dụng 3.6.4-1.fc35.

Ted Lyngmo avatar
lá cờ cn
@anx Trên thực tế là có (hoặc đã làm - tôi vừa gỡ bỏ chúng). Nó có một vài `DUNNO` trải ra mà tôi không nhớ tại sao tôi lại đặt ở đó. Tôi đã xóa chúng ngay bây giờ và sẽ xem liệu điều đó có tạo nên sự khác biệt hay không.
Ted Lyngmo avatar
lá cờ cn
@anx Kể từ khi tôi xóa `DUNNO`, không có một nỗ lực nào để gửi bất kỳ thư nào trước đó đã vượt qua bộ lọc `body_checks` của tôi - nhưng tôi vẫn có cảm giác tốt về nó.Các cuộc tấn công giao hàng thường diễn ra theo đợt một vài lần mỗi ngày, vì vậy tôi tự tin rằng tôi có thể xác minh linh cảm của bạn trước khi tiền thưởng của tôi hết hạn nếu bạn muốn viết câu trả lời cho câu hỏi của tôi.
Điểm:1
lá cờ fr
anx

Đây là một tính năng dựng sẵn để chẩn đoán tra cứu bản đồ postfix, đặc biệt cho body_checks cũng. Chuyển cùng một cấu hình bản đồ mà bạn đã định cấu hình cho dịch vụ dọn dẹp smtpd của mình tới bưu điện tiện ích và thêm một hoặc nhiều -v cho đầu ra chi tiết:

# postconf body_checks
body_checks=pcre:/etc/postfix/body.pcre
#mèo_biết_xấu.eml | bản đồ -v -b -q - pcre:/etc/postfix/body.pcre
...
postmap: dict_pcre_lookup: body.pcre: dòng kiểm tra 1
postmap: dict_pcre_lookup: body.pcre: dòng kiểm tra 2
postmap: dict_pcre_lookup: body.pcre: dòng kiểm tra 3
kiểm tra dòng 3 DUNNO

Điều này sẽ cho bạn biết, đối với mỗi dòng nội dung, mục nào (nếu có) trong bản đồ khớp với dòng của bạn.

Một lý do có thể khiến bản đồ của bạn không hoạt động theo cách bạn mong đợi là kết quả khớp quá rộng với KHÔNG BIẾT kết quả trước dự định của bạn TỪ CHỐI thư rác kết quả, hướng dẫn dọn dẹp server để tiếp tục với dòng tiếp theo thay vì thử các biểu thức tiếp theo.

Điểm:0
lá cờ ru

Đã từng rơi vào cái bẫy tương tự, chặn tất cả các email bắt đầu bằng "<!DOCTYPE html" :)

Nếu đó là nội dung động, bạn sẽ khó tìm thấy nội dung nào đó sau này trong email, nhưng nếu đó là nội dung tĩnh, việc giải mã thử nghiệm một thư như vậy và mã hóa lại các phần quan trọng có thể giúp tìm ra chuỗi phù hợp. Đối thủ chính của bạn khi làm như vậy là ngắt dòng, có thể xảy ra ở bất kỳ đâu tùy thuộc vào vị trí của văn bản phù hợp.

Tôi thường chỉ thực hiện so khớp base64 trong các tiêu đề (chủ yếu là các tiêu đề UTF-8 có xu hướng mã hóa các chủ thể của chúng trong base64), vì việc chia một tiêu đề thành nhiều dòng là khá bất thường (nhưng vẫn có thể xảy ra).

Bạn có thể tìm thấy sự trợ giúp tốt hơn trong các tiện ích bên ngoài như amavis hoặc dspam (cả hai đều sử dụng spamassassin), với bayes được bật. Điều đó cũng sẽ giúp ích cho phần giải mã vì bộ giải mã được tích hợp sẵn trong các sản phẩm này.

Ted Lyngmo avatar
lá cờ cn
Cảm ơn! Lưu ý rằng không phải biểu thức chính quy của tôi không khớp với nội dung trong nội dung thư. Nếu tôi sao chép nguồn tin nhắn của một tin nhắn đã chuyển qua một tệp và chạy regex:es `body_checks` theo cách thủ công, thì lần nào họ cũng bắt được tin nhắn đó. Tôi đã cập nhật câu hỏi một chút.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.