banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành *nix Mail Queue bị overload.  XML
  [Question]   Mail Queue bị overload. 26/12/2010 08:30:28 (+0700) | #1 | 227824
[Avatar]
daudau
Member

[Minus]    0    [Plus]
Joined: 02/09/2006 16:30:39
Messages: 148
Offline
[Profile] [PM]
Chào các bạn,

Hiện tại mình đang quản lý một server Mail (QMail) chạy Control Panel là Plesk 8.6 (CentOS 5.4)

Nhưng thời gian gần đây mình gặp phải 1 tình trạng như sau:
Khi vào Mail Queue thì thấy rất nhiều Email được gửi ra (trung bình khoảng 2500 đến 5000 Email nằm trong hàng đợi).
Trên QMail này có enable Relaying.

Nhưng mình không xác định được, người gửi này dùng cơ chế gì để gửi Email ra ngoài.

1. Mình đã thử disable Email Relaying nhưng vẫn thấy họ gửi ra được.
2. Kiểm tra domain được dùng gửi email ra ngoài có nằm trên server hay ko thì không có.
3. Header của email được gửi ra ngoài thì có nội dung sau:

Received: (qmail 3390 invoked by uid 10002); 24 Dec 2010 14:53:44 +0800
To: amanda_batista@bol.com.br
Subject: aviso importante email
Date: Fri, 24 Dec 2010 14:53:44 +0800
From: AVISO POR EMAIL <bradesco@bradescosa.com>
Message-ID: <08470b056839efd2b5b482349a79d936@acbsingapore.com>
X-Priority: 3
X-Mailer: PHPMailer [version 1.73]
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/html; charset="iso-8859-1" 


Có phải người này đã dùng script PHPMailer để gửi email dưới dạng SMTP_Auth để gửi ra ngoài ko?
Và script PHPMailer được chạy trên domain acbsingapore.com (domain này nằm trên hệ thống) Nhưng Email của domain này thì lại đang dùng của google Apps và việc dùng Email account trên tài khoản hosting này đang bị disable. smilie Nhưng mình kiểm tra script trong account hosting này thì có thấy source PHPMailer

Nhờ các bạn có thể giúp mình một vài gợi ý để tìm ra nguyên nhân và cấm được tình trạng spam mail này không?
Và trên QMail khi phát hiện 1 domain không hợp lệ gửi email ra ngoài, Mình có thể lọc bỏ được chứ? trong trường hợp này là email có đuôi domain là: bradescosa.com

Mình cũng đã tiến hành đọc log của QMail
/usr/local/psa/var/log/maillog
Tuy nhiên cũng không phát hiện được điều gì.

Xin cảm ơn.
[Up] [Print Copy]
  [Question]   Mail Queue bị overload. 26/12/2010 10:25:40 (+0700) | #2 | 227827
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
Bồ disable relaying cụ thể như thế nào?
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Mail Queue bị overload. 26/12/2010 11:31:21 (+0700) | #3 | 227831
[Avatar]
xnohat
Moderator

Joined: 30/01/2005 13:59:19
Messages: 1210
Location: /dev/null
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!] [MSN]
Theo dòng

X-Mailer: PHPMailer [version 1.73]

Thì người dùng đã gửi mail ra ngoài bằng Script này . PHPMailer là một script gửi mail nổi tiếng bằng PHP, nó hỗ trợ gửi mail bằng sendmail, SMTP, mail()

Nếu gửi bằng Sendmail và mail() thì bồ có thể disable mail relay để chặn

Còn bằng SMTP thì phải chặn outgoing connection tới một remote port 25
iJust clear, "What I need to do and how to do it"/i
br
brBox tán gẫu dời về: http://www.facebook.com/hvaonline
[Up] [Print Copy]
  [Question]   Mail Queue bị overload. 26/12/2010 16:09:40 (+0700) | #4 | 227845
[Avatar]
daudau
Member

[Minus]    0    [Plus]
Joined: 02/09/2006 16:30:39
Messages: 148
Offline
[Profile] [PM]

conmale wrote:
Bồ disable relaying cụ thể như thế nào? 


Chào anh commale,

Trên Plesk có hỗ trợ tính năng Close Relaying




Và em đã close theo như trên hình.

====

xnohat wrote:
Theo dòng

X-Mailer: PHPMailer [version 1.73]

Thì người dùng đã gửi mail ra ngoài bằng Script này . PHPMailer là một script gửi mail nổi tiếng bằng PHP, nó hỗ trợ gửi mail bằng sendmail, SMTP, mail()

Nếu gửi bằng Sendmail và mail() thì bồ có thể disable mail relay để chặn

Còn bằng SMTP thì phải chặn outgoing connection tới một remote port 25 


Về việc script PHPMailer thì mình có biết về sản phẩm này,
Tuy nhiên các anh có thể cho biết thêm ý nghĩa của dòng này được chứ?

Message-ID: <08470b056839efd2b5b482349a79d936@acbsingapore.com>  


Mình có tham khảo ở đây nhưng thật sự chưa hiểu rõ lắm:
http://cr.yp.to/immhf/thread.html

Theo nhận định của mình thì PHPMailer này được sử dụng trên tài khoản hosting acbsingapore.com nhưng check lại thì lại không thấy email account nào được tạo. Nên không có việc dùng PHPMailer để gửi spam dưới dạng smtp_auth. Bên cạnh đó tính năng email của tài khoản này cũng đang bị disable.

Còn về việc chặn outgoing connection tới một remote port 25 mình chưa được rõ ý của bạn lắm,
Giả sử nếu mình chặn như vậy sẽ ảnh hướng tới những User khác chứ, mình có thể chặn outgoing connection to a specific user được chứ?

Khi mình check log:
tail -f /usr/local/psa/var/log/maillog | grep amtp_auth

Thì cũng ko thấy 1 user nào được chứng thực quá nhiều lần trong 1 thời gian ngắn để xác định chính tài khoản đó được chứng thực để gửi mail ra ngoài.



[Up] [Print Copy]
  [Question]   Mail Queue bị overload. 27/12/2010 10:43:18 (+0700) | #5 | 227879
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
Nếu qmail trên máy chủ này cho phép "localhost" relay (và thường là như vậy) và ai đó dùng phpmailer để gởi mail ngay từ localhost thì không có cách gì cản được hết. Nên điều tra thật kỹ coi thử ai có quyền cái phpmailer để gởi mail ra hàng loạt như vậy và ngăn chặn nó chớ "cấm relay" ở đây không có tác dụng gì hết.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Mail Queue bị overload. 27/12/2010 13:26:17 (+0700) | #6 | 227884
[Avatar]
daudau
Member

[Minus]    0    [Plus]
Joined: 02/09/2006 16:30:39
Messages: 148
Offline
[Profile] [PM]

conmale wrote:
Nếu qmail trên máy chủ này cho phép "localhost" relay (và thường là như vậy) và ai đó dùng phpmailer để gởi mail ngay từ localhost thì không có cách gì cản được hết. Nên điều tra thật kỹ coi thử ai có quyền cái phpmailer để gởi mail ra hàng loạt như vậy và ngăn chặn nó chớ "cấm relay" ở đây không có tác dụng gì hết. 


Cảm ơn anh,
Em nghĩ là họ dùng script PHPMailer gửi spam bằng cách dùng hàm mail().

Tuy nhiên việc xác định chỉnh xác tài khoản hosting nào thì hơi khó 1 chút, (Vì trên server với hơn 40 tài khoản)

Mình có giải pháp nào monitor để biết chính xác script nằm ở đâu gửi không anh?

Do chưa hiểu về dòng này:

Message-ID: <08470b056839efd2b5b482349a79d936@acbsingapore.com>  


Phải chăng chính là domain này: acbsingapore.com. Vì domain này đang được host trên server.

Theo em hiểu thì cái dòng Message-ID dùng để định danh các email gửi ra và nhận vào, phục vụ cho việc phân phối mail?
[Up] [Print Copy]
  [Question]   Mail Queue bị overload. 27/12/2010 14:14:56 (+0700) | #7 | 227887
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

daudau wrote:

Mình cũng đã tiến hành đọc log của QMail
/usr/local/psa/var/log/maillog
Tuy nhiên cũng không phát hiện được điều gì.
 

Bạn đã xem kỹ tại thời điểm trong header (24 Dec 2010 14:53:44 +0800) chưa?
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Mail Queue bị overload. 27/12/2010 15:49:02 (+0700) | #8 | 227897
[Avatar]
daudau
Member

[Minus]    0    [Plus]
Joined: 02/09/2006 16:30:39
Messages: 148
Offline
[Profile] [PM]

quanta wrote:

daudau wrote:

Mình cũng đã tiến hành đọc log của QMail
/usr/local/psa/var/log/maillog
Tuy nhiên cũng không phát hiện được điều gì.
 

Bạn đã xem kỹ tại thời điểm trong header (24 Dec 2010 14:53:44 +0800) chưa?
 


Sau đây là lệnh grep file log:

grep "14:53:44" maillog

Dec 24 14:53:44 hostname.com qmail-queue-handlers[3427]: Handlers Filter before-queue for qmail started ...
Dec 24 14:53:44 hostname.com qmail-queue-handlers[3427]: from=bradesco@bradescosa.com
Dec 24 14:53:44 hostname.com qmail-queue-handlers[3427]: to=amandaponcio@bol.com.br
Dec 24 14:53:44 hostname.com qmail-queue-handlers[3427]: hook_dir = '/var/qmail//handlers/before-queue'
Dec 24 14:53:44 hostname.com qmail-queue-handlers[3427]: recipient[3] = 'amandaponcio@bol.com.br'
Dec 24 14:53:44 hostname.com qmail-queue-handlers[3427]: handlers dir = '/var/qmail//handlers/before-queue/recipient/amandaponcio@bol.com.br'
Dec 24 14:53:44 hostname.com qmail: 1293173624.970413 new msg 13045710
Dec 24 14:53:44 hostname.com qmail: 1293173624.970580 info msg 13045710: bytes 2447 from <bradesco@bradescosa.com> qp 3428 uid 10002
Dec 24 14:53:44 hostname.com qmail-queue-handlers[3427]: starter: submitter[3428] exited normally
Dec 24 14:53:44 hostname.com qmail-queue[3430]: mail: all addreses are uncheckable - need to skip scanning (by deny mode)
Dec 24 14:53:44 hostname.com qmail-queue[3430]: scan: the message(drweb.tmp.mK3jY0) sent by bradesco@bradescosa.com to amandasuzuki@bol.com.br should be pa ssed without checks, because contains uncheckable addresses 


Có khoảng 8 cái nội dung giống thế này chỉ khác địa chỉ của recipient tại thời điểm "Dec 24 14:53:44".

Em nghĩ khả năng relay mail qua SMTP_auth chắc có thể loại bỏ, Chỉ còn trường hợp gửi mail bằng mail() của PHP.
Vấn đề còn lại làm sao để monitor phát hiện được PHPMailer đang được host trên account để cảnh báo User đó. Các bạn có thể chia sẽ một vài kinh nghiệm là sao có thể monitor được script chứ? Hoặc chỉ còn giải pháp là disable mail() trên tất cả tài khoản host.
[Up] [Print Copy]
  [Question]   Mail Queue bị overload. 27/12/2010 17:02:05 (+0700) | #9 | 227900
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

daudau wrote:

Mình có giải pháp nào monitor để biết chính xác script nằm ở đâu gửi không anh?
 

daudau wrote:

Có khoảng 8 cái nội dung giống thế này chỉ khác địa chỉ của recipient tại thời điểm "Dec 24 14:53:44".
...
Vấn đề còn lại làm sao để monitor phát hiện được PHPMailer đang được host trên account để cảnh báo User đó.
 

Bạn soi lại log xem các mail được gửi đi có đều đặn không. Nếu có, thì thử kiểm tra cron job xem. Nếu không, thì có thể dùng cách "trâu bò":
Code:
# grep -lr "phpmailer" /path/to/dir
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Mail Queue bị overload. 28/12/2010 12:22:58 (+0700) | #10 | 227944
[Avatar]
daudau
Member

[Minus]    0    [Plus]
Joined: 02/09/2006 16:30:39
Messages: 148
Offline
[Profile] [PM]

quanta wrote:

daudau wrote:

Mình có giải pháp nào monitor để biết chính xác script nằm ở đâu gửi không anh?
 

daudau wrote:

Có khoảng 8 cái nội dung giống thế này chỉ khác địa chỉ của recipient tại thời điểm "Dec 24 14:53:44".
...
Vấn đề còn lại làm sao để monitor phát hiện được PHPMailer đang được host trên account để cảnh báo User đó.
 

Bạn soi lại log xem các mail được gửi đi có đều đặn không. Nếu có, thì thử kiểm tra cron job xem. Nếu không, thì có thể dùng cách "trâu bò":
Code:
# grep -lr "phpmailer" /path/to/dir
 


Cảm ơn anh quanta,

Vậy thì chỉ còn cách thủ công vậy "trâu bò" như anh nói smilie

Các spam mail này ko gửi ra đều đặn mà theo em để ý thì diễn ta tầm 9:00 AM đếm tầm 12:00AM sau đó đến chiều thì tầm 2:30PM đến 5:00PM. nhưng số lượng cũng rất thất thường chứ không theo kiểu như crontab.

Việc gửi email quá nhiều dẫn đến qmail bị overload và mail nằm trong hàng đợi lấu, gây nên tình trạng các user trên server gửi và nhận email chậm.

Kết quả là em đã disable hàm mail(), tiếp tục theo dõi server và chờ xem có khách hàng nào liên lạc với mình hay không? smilie
[Up] [Print Copy]
  [Question]   Mail Queue bị overload. 11/01/2011 19:09:23 (+0700) | #11 | 229242
[Avatar]
giobuon
Member

[Minus]    0    [Plus]
Joined: 10/09/2006 06:25:46
Messages: 72
Offline
[Profile] [PM]
Cách đấy cũng không phải là hay. Sao bạn không bỏ quyền được gửi từ localhost và cấp cho mỗi người một số account mail nhất định?
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|