Điểm:1

POSTFIX/Danh sách xám không hoạt động

lá cờ in

Tôi đã bị tấn công thư rác trên trang web của mình. một số người sử dụng email của tôi để gửi thư rác cho mọi người.

Vì vậy, bây giờ tôi có kế hoạch để tìm một cách để ngăn chặn nó.

Tôi thấy mọi người từ chối thư bằng regex. Nhưng tôi có rất nhiều email khác nhau (50.000 người dùng).

Tôi muốn xem nếu có email trong cơ sở dữ liệu thì tôi cho phép nó đi. Nếu không thì cách ly. Không muốn chúng bị mắc kẹt trong mailqueue.

Tôi có greylist.pl này:

#main.cf 
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_policy_service unix:/private/greylist

#master.cf
greylist unix - n n - - spawn user=nobody argv=/usr/bin/perl /tmp/mailrejct.

Nhưng khi tôi sử dụng nó, tôi gặp các lỗi này trong maillog:

Ngày 25 tháng 12 09:24:58 thông minh-mahavira postfix/spawn[107258]: cảnh báo: trạng thái thoát lệnh /usr/bin/perl 2
Ngày 25 tháng 12 09:24:58 smart-mahavira postfix/smtpd[107253]: cảnh báo: kết thúc đầu vào sớm trên /private/greylist trong khi đọc tên thuộc tính đầu vào
Ngày 25 tháng 12 09:24:59 thông minh-mahavira postfix/spawn[107258]: cảnh báo: trạng thái thoát lệnh /usr/bin/perl 2
Ngày 25 tháng 12 09:24:59 smart-mahavira postfix/smtpd[107253]: cảnh báo: kết thúc đầu vào sớm trên /private/greylist trong khi đọc tên thuộc tính đầu vào
Ngày 25 tháng 12 09:24:59 thông minh-mahavira postfix/smtpd[107253]: cảnh báo: sự cố khi nói chuyện với máy chủ/riêng tư/danh sách xám: Thiết lập lại kết nối bởi ngang hàng

tôi đã thay thế smtpd_access_policy với cái của tôi. Đó là một sự khác biệt. Bất cứ ai chuyên gia trong việc này.

Ai đang gửi giá trị thuộc tính? Hậu tố? làm thế nào mà nó được thông qua?

KHÔNG GIẢI QUYẾT. Điều này chỉ dành cho việc nhận email. Chỉ dành cho Thư rác đến.

Đối với email gửi đi, chỉ có Kiểm tra mẫu.

1 #!/bin/sh
 2 
 3 # Bộ lọc dựa trên vỏ đơn giản. Nó có nghĩa là được gọi như sau:
 4 # /path/to/script -f người gửi người nhận...
 5 
 6 # Bản địa hóa những thứ này. Tùy chọn -G không làm gì trước Postfix 2.3.
 7 INSPECT_DIR=/var/spool/filter
 8 SENDMAIL="/usr/sbin/sendmail -G -i" # KHÔNG BAO GIỜ KHÔNG BAO GIỜ KHÔNG BAO GIỜ sử dụng "-t" ở đây.
 9 
10 # Mã thoát khỏi <sysexits.h>
11 EX_TEMPFAIL=75
12 EX_UNAVAILABLE=69
13 
14# Dọn dẹp khi làm xong hoặc khi bỏ dở.
15 bẫy "rm -f in.$$" 0 1 2 3 15
16 
17 # Bắt đầu xử lý.
18 cd $INSPECT_DIR || {
19 tiếng vang $INSPECT_DIR không tồn tại; thoát $EX_TEMPFAIL; }
20 
21 con mèo >in.$$ || { 
22 echo Không thể lưu thư vào tập tin; thoát $EX_TEMPFAIL; }
23 
24 # Chỉ định bộ lọc nội dung của bạn tại đây.
25 # bộ lọc <in.$$ || {
26# echo Nội dung tin nhắn bị từ chối; thoát $EX_UNAVAILABLE; }
27 
28 $SENDMAIL "$@" <in.$$
29 
30 thoát $?



Ở trên có thể chuyển đổi thành mã php không? Tôi tự hỏi nếu tôi gửi thư từ php thì nó sẽ quay lại chỗ cũ chứ?

exec("/usr/sbin/sendmail $email < /etc/postfix/myfilter/email.txt");

tôi cần đưa nội dung email vào email.txt. Khi tôi kiểm tra toàn bộ, nó làm rối các email với các chi tiết và nội dung hiển thị tất cả nội dung và tiêu đề

tôi cần dọn dẹp

Từ [email protected] Chủ nhật ngày 26 tháng 12 12:31:47 2021
Đã nhận: từ webmail.test.com (localhost.localdomain [IPv6:::1])
        bởi smart-mahavira.51-163-215-224.plesk.page (Postfix) với ESMTPSA id B9CFD82DA1
        cho <[email protected]>; CN, ngày 26 tháng 12 năm 2021 12:31:47 +0000 (UTC)
Xác thực-Kết quả: smart-mahavira.51-163-215-224.plesk.page;
        spf=pass (IP người gửi là ::1) [email protected] smtp.helo=webmail.test.com
Đã nhận-SPF: vượt qua (intelligent-mahavira.51-163-215-224.plesk.page: kết nối được xác thực)
Phiên bản MIME: 1.0
Ngày: CN, 26/12/2021 04:31:47 -08:00
Từ: [email protected]
Tới: alex3 <[email protected]>
Chủ đề: thử nghiệm bộ lọc2
Tác nhân người dùng: Roundcube Webmail/1.4.11
ID tin nhắn: <[email protected]>
Người gửi X: [email protected]
Loại nội dung: văn bản/đồng bằng; bộ ký tự = US-ASCII;
 định dạng = chảy
Mã hóa truyền nội dung: 7bit
X-PPP-Message-ID: <164052190789.24073.12166249882816501264@intelligent-mahavira.51-163-215-224.plesk.page>
X-PPP-Vhost: test.com

sss


tôi đã thấy điều này ở đâu đó trong google, ngày mai sẽ thử bằng cách sử dụng regex để lọc chủ đề khỏi loại nội dung và nội dung.

    Tới: khách hà[email protected]
    Chủ đề: Đây là một tin nhắn HTML
    Từ: [email protected]
    Loại nội dung: văn bản/html; bộ ký tự = "utf8"

    <html>
    <body>
    <kiểu div="
        màu nền: 
        #abcdef; chiều rộng: 300px; 
        chiều cao: 300px;
        ">
    </div>
    Bạn có thể thêm bất kỳ HTML email hợp lệ nào tại đây.
    </body>
    </html>
  1. Greylisting - chúng tôi có thể đưa ra phản hồi về quyền truy cập dưới dạng "dunno" , "từ chối văn bản tùy chọn".
  2. Bộ lọc đơn giản không có phản hồi. Bộ lọc phải xử lý việc gửi email. Không rõ làm thế nào nó được thực hiện. Về cơ bản, tôi nắm bắt tất cả STDIN và gửi dưới dạng email nhưng nó có tất cả các tiêu đề. Không biết làm thế nào tập tin đính kèm xử lý. Cần xem những gì nó hiển thị khi tôi gửi tệp đính kèm.
  3. Lọc nâng cao có vẻ khó hiểu. Tôi thấy bảo mật email plex thực hiện điều đó. khi tôi thêm nó, nó đã thêm cái này vào main.cf và master.cf

smtp inet n - n - - smtpd
  -o content_filter = smtp-amavis:[127.0.0.1]:10024


localhost:10025 inet n - n - - smtpd
  -o nội dung_filter=
  -o local_recipient_maps=
  -o relay_recipient_maps=
  -o smtpd_delay_reject=no
  -o smtpd_authorized_xforward_hosts=127.0.0.0/8,[::1]/128
  -o smtpd_authorized_xclient_hosts=127.0.0.0/8,[::1]/128
  -o smtpd_client_restrictions=permit_mynetworks,từ chối
  -o smtpd_helo_restrictions=
  -o smtpd_sender_restrictions=
  -o smtpd_recipient_restrictions=permit_mynetworks,từ chối
  -o smtpd_data_restrictions=reject_unauth_pipelining
  -o smtpd_end_of_data_restrictions=
  -o smtpd_restriction_classes=
  -o mynetworks=127.0.0.0/8,[::1]/128
  -o smtpd_error_sleep_time=0
  -o smtpd_soft_error_limit=1001
  -o smtpd_hard_error_limit=1000
  -o smtpd_client_connection_count_limit=0
  -o smtpd_client_connection_rate_limit=0
  -o get_override_options=no_unknown_recipient_checks,no_header_body_checks
  -o local_header_rewrite_clients=
đệ trình inet n - n - - smtpd
  -o syslog_name=postfix/gửi
  -o smtpd_tls_security_level=mã hóa
  -o smtpd_sasl_auth_enable=có
  -o smtpd_client_restrictions=permit_sasl_authenticated,từ chối
  -o smtpd_relay_restrictions=permit_sasl_authenticated,từ chối
  -o content_filter=smtp-amavis:[127.0.0.1]:10026
đón unix n - n 60 1 đón
  -o content_filter=smtp-amavis:[127.0.0.1]:10026

Đây là email được lưu trong data.txt và gửi thủ công nếu khớp với email người nhận trong hệ thống

Đã nhận: từ webmail.test.com (localhost.localdomain [IPv6:::1])
        bởi smart-mahavira.serverip.plesk.page (Postfix) với ESMTPSA id C7E7282E1B;
        Thứ ba, ngày 28 tháng 12 năm 2021 00:36:31 +0000 (UTC)
Xác thực-Kết quả: smart-mahavira.serverip.plesk.page;
        spf=pass (IP người gửi là ::1) [email protected] smtp.helo=webmail.test.com
Đã nhận-SPF: vượt qua (intelligent-mahavira.serverip.plesk.page: kết nối được xác thực)
Phiên bản MIME: 1.0
Ngày: Thứ hai, ngày 27 tháng 12 năm 2021 16:36:31 -08:00
Từ: [email protected]
Tới: alex2 <[email protected]>, alex3 <[email protected]>,
 [email protected]
Chủ đề: Bài kiểm tra đính kèm
Tác nhân người dùng: Roundcube Webmail/1.4.11
ID tin nhắn: <[email protected]>
Người gửi X: [email protected]
Loại nội dung: nhiều phần/hỗn hợp;
 ranh giới="=_5745fc7d762d12dda4165a3e0be576fc"
X-PPP-Message-ID: <164065179196.8458.1248882909976426707@intelligent-mahavira.serverip.plesk.page>
X-PPP-Vhost: test.com

--=_5745fc7d762d12dda4165a3e0be576fc
Mã hóa truyền nội dung: 7bit
Loại nội dung: văn bản/đồng bằng; bộ ký tự = US-ASCII;
 định dạng = chảy

Tệp đính kèm thành công?
--=_5745fc7d762d12dda4165a3e0be576fc
Mã hóa chuyển nội dung: base64
Loại nội dung: hình ảnh/jpeg;
 name=536_PIA23645_PaleBlueDotRevisited_1600.jpg
Nội dung-Bố trí: tập tin đính kèm;
 tên tệp=536_PIA23645_PaleBlueDotRevisited_1600.jpg;
 kích thước = 74009

/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMcaHR0cDov

Vấn đề là không có chủ đề trong email. tiêu đề ẩn bên trong của nó. Xấu xí.

kết quả

  1. Đến từ email nói gmail ..tôi đã kiểm tra thoát sạch Phản hồi từ máy chủ từ xa là: 554 5.7.1 [email protected]: Địa chỉ người nhận bị từ chối: Email chỉ được phép giữa NGƯỜI DÙNG. Người nhận email = [email protected] Sử dụng phương pháp chính sách

  2. Email gửi đi tôi đang gửi email cho người dùng hợp lệ và từ chối/cách ly người khác.. tôi không nhận được hình ảnh bị trả lại. tôi cần có cùng một văn bản cho email gửi đi Sử dụng bộ lọc nội dung đơn giản

lá cờ jp
Không rõ bạn đang cố gắng đạt được điều gì. Có phải đó là email gửi đi từ miền của bạn và bạn muốn kiểm tra người gửi? Hay bạn muốn kiểm tra email đến và bạn muốn kiểm tra người nhận? Hay bạn có một chuyển tiếp mở và ai đó đã sử dụng máy chủ của bạn để gửi thư rác cho người khác? Hoặc ai đó vừa giả mạo email của bạn và sử dụng nó để gửi thư rác và bạn chỉ cần SPF/DKIM/DMARC phù hợp?
Jupiter rules avatar
lá cờ in
Nếu ai đó tấn công email của một trong những người dùng và bắt đầu gửi thư rác bằng cách sử dụng máy chủ của chúng tôi hoặc một số mã trong trang web của chúng tôi đã bị tấn công và một số người sử dụng thông tin đăng nhập của chúng tôi để gửi thư rác. Không có công cụ danh sách xám nào có thể ngăn chặn nó. Vì vậy, tôi đã triển khai hệ thống kiểm tra người nhận gửi đi có trong cơ sở dữ liệu nếu không từ chối. Tôi không thích từ chối vì nó sẽ giết hộp thư của chúng tôi vì ai đó đang sử dụng hộp thư của chúng tôi. Tôi muốn cách ly.Tôi đã từ chối làm việc cuối cùng. Sau 2 tuần suy nghĩ cách thực hiện. Ban đầu sử dụng hook để in thông tin email nhưng nó không làm gì khác.
Nikita Kipriyanov avatar
lá cờ za
Đừng gửi email cho người gửi. Nếu đó là thư rác, bạn sẽ tạo ra một tán xạ ngược gây hại gần như chính thư rác. Ứng dụng của bạn gửi thư chính xác như thế nào? Bạn có sử dụng PHPMailer như thế này không? Nếu không, đây là điều đầu tiên bạn nên làm.
Jupiter rules avatar
lá cờ in
Có người gửi thư php gửi email cho người dùng hệ thống. Ý tưởng của tôi là chặn bất kỳ email nào không có trong hệ thống. Tôi đã sử dụng bộ lọc đơn giản trong postfix cho đến nay. Tuy nhiên, bộ lọc nâng cao hơi khó thực hiện. Tài liệu cho postfix là thực sự xấu. Nó được viết trong bối cảnh của nhà phát triển chứ không phải người triển khai. Luôn luôn thiếu một số lời giải thích. Thiếu các ví dụ là một vấn đề. Bộ lọc đơn giản gửi email nhưng email nào? Còn các tệp đính kèm trong email đó thì sao?
Nikita Kipriyanov avatar
lá cờ za
Vì vậy, PHPMailer có sử dụng SMTP (và xác thực thích hợp hơn) khi kết nối với máy chủ thư của bạn không? Làm thế nào chính xác nó được cấu hình? Dịch vụ Postfix SMTP nào nhận đệ trình của PHPMailer? (Tôi nghi ngờ rằng nó rơi vào `mynetworks` và được cho phép với `permit_mynetworks` hoặc đại loại như thế này và Amavis cũng được định cấu hình để bỏ qua hầu hết các bước kiểm tra đối với các địa chỉ "có trong danh sách trắng". Bạn phải làm lại điều này; hoặc đặt các kiểm tra dịch vụ chính sách trước ` permit_mynetworks` hoặc định cấu hình lại bộ lọc nội dung để không có ngoại lệ.)
Jupiter rules avatar
lá cờ in
Tôi sử dụng phpmailer để gửi email cho khách hàng bằng SMTP ở cổng 25. Tất cả smptpd trong main.cf là dành cho các email đến. Tôi cần thứ gì đó cho các email gửi đi nên tôi chỉ cần trả lại thông báo Từ chối email bằng chính sách. nhưng tôi không thấy tìm thấy cái nào tôi có thể sử dụng. Bản đồ vận chuyển kích hoạt gửi email nhưng nó mong đợi kết quả là bản đồ. Nhiều bảng tra cứu tĩnh không động như quá trình sinh sản.
Jupiter rules avatar
lá cờ in
Bộ lọc đơn giản bắt được nhưng tôi cần phải tự gửi lại email. Nhưng nội dung hiển thị tất cả tiêu đề và nội dung khi nhận được. Vì vậy, tôi phải xem những gì tôi nên gửi. Sự gắn bó sẽ như thế nào.tôi cập nhật kết quả kiểm tra tệp đính kèm sau khi kiểm tra. nếu thất bại, tôi cần tìm hiểu cách bộ lọc nâng cao hoạt động như có vẻ như đang nghe trong bài đăng 10026.
bjoster avatar
lá cờ cn
Điều này chỉ đơn giản là quá nhiều cho một câu trả lời. Chia câu hỏi của bạn (ví dụ) thành bốn phần (tôi nghĩ tôi có thể xem các câu hỏi về Greylisting, RegEx Matching, Postfix configuratrion và Perl) và nhận từng câu trả lời.
Điểm:1
lá cờ za

Hỗ trợ Postfix dịch vụ chính sách. Có thể thực hiện những gì bạn đang yêu cầu bằng cách thiết kế một dịch vụ chính sách. Cũng có thể có những cách khác; cách này chỉ là điều đầu tiên xuất hiện trong tâm trí của tôi.Ví dụ ở cuối trang đó có gần như tất cả những gì bạn cần.

Tuy nhiên, đây là ngõ cụt. Thay vì thiết kế và bảo mật đúng cách một ứng dụng web và máy chủ, bạn cho phép bên độc hại xâm nhập và sau đó cố gắng tránh những hậu quả không thể tránh khỏi. Bạn đã tìm ra cách họ làm điều đó thông qua ứng dụng web của bạn chưa? Bạn đã sửa cái lỗ đó chưa? Đây nên là ưu tiên hàng đầu của bạn.

Bên cạnh đó, các đề xuất chung:

  1. Ứng dụng web của bạn không nên gửi thư theo ý muốn của bên thứ ba. Nó chỉ phải gửi nó khi bạn chắc chắn rằng email sẽ được gửi.
  2. Ứng dụng web nên luôn xác thực đến máy chủ thư. Sẽ rất sai lầm nếu bạn dựa vào email() chức năng của một cái gì đó như thế này. Có một số thư viện PHP biết cách thực hiện xác thực ESMTP, hãy sử dụng một thư viện đó.
  3. Máy chủ thư của bạn nên hạn chế địa chỉ người gửi mà trang web của bạn có thể sử dụng. Và, nó cũng có thể hạn chế luồng thư, bằng cách đặt một số giới hạn (mỗi giờ, mỗi ngày, v.v.); có nhiều cách để làm điều này.
  4. Máy chủ thư có thể kiểm tra thư để tìm thư rác trước khi gửi. Bằng cách này, bạn sẽ giảm bớt thư rác.
Paul avatar
lá cờ cn
@Jupiterrules Nếu điều này trả lời câu hỏi của bạn, vui lòng đánh dấu nó là câu trả lời.
Jupiter rules avatar
lá cờ in
Trên thực tế là Không. Nó chỉ được sử dụng cho Email đến từ bên ngoài. Email gửi đi chỉ có tiêu đề kiểm tra nội dung họ chỉ kiểm tra mẫu. Không thể sử dụng chúng vì cơ sở dữ liệu của tôi có 50000 email người dùng từ nhiều miền khác nhau. MẮC KẸT
Nikita Kipriyanov avatar
lá cờ za
Không có thư "đến" hoặc "đi" từ phối cảnh MTA. Đó là cấu trúc của tâm trí bạn. Tất cả các thư đang "đi qua". Ví dụ: sau khi bạn tạo tập lệnh PHP luôn gửi thư bằng cách sử dụng ESMTP có xác thực, bạn có thể đính kèm bất kỳ kiểm tra nào tới máy chủ SMTP nhận thư gửi này, bao gồm cả những kiểm tra mà bạn cho là hữu ích chỉ dành cho "lọc thư rác đến".
Jupiter rules avatar
lá cờ in
Xin lỗi, tôi đã kiểm tra Chỉ những email đến từ bên ngoài miền của tôi mới bị hạn chế smtp_recipient. Vì vậy, chính sách danh sách xám hoặc chính sách của tôi có thể nắm bắt được. Đối với gửi đi, bộ lọc nội dung bắt được nó nhưng bạn phải thực hiện email vì không có phản hồi cho hệ thống. Tôi sẽ cập nhật sau khi gửi thành công email chính xác cho người gửi và gửi thông báo trạng thái tới syslog và maillog để Fail2ban lấy địa chỉ ip của người gửi để cấm IP
Jupiter rules avatar
lá cờ in
Vì vậy, giải pháp là đây. Email gửi đi từ Người dùng trong hệ thống...tôi sử dụng bộ lọc nội dung để kiểm tra chữ ký. Email đến mình dùng mã kiểu greylisting nhưng kiểm tra user trong hệ thống, nếu không log vào maillog là email bị lỗi. Nó sẽ bị fail2ban chọn và chặn vĩnh viễn sau 3 email sai.

Đă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.