Hướng Dẫn Khắc Phục Lỗi Spam Mail Trên VPS

Thông thường, các nhà quản lý hoặc đơn vị cung cấp VPS sẽ tắt VPS của bạn nếu phát hiện tình trạng Spam Mail trên VPS mà bạn đang sử dụng. Vậy tình trạng này là do đâu và cách khắc phục Spam Mail trên VPS như thế nào. Trong bài viết này chúng ta cùng tìm hiểu và khắc phục.

  • Dấu hiệu nhận biết vps bạn bị spam mail trên vps

Nhận biết:

  • VPS của bạn tự nhiên chậm, RAM và CPU tăng cao
  • Email không đến được người nhận
  • DirectAdmin thông báo lượng mail gửi ra nhiều
  • Địa chỉ IP bị Blacklist

Nguyên nhân:

  • Nếu là máy chủ website có thể source code bạn có vấn đề. Hãy chắc chắn rằng các module, plugin, theme là đáng tin cậy.
  • SMTP spam: Có thể tài khoản nào đó bị đánh cắp
  • User chủ động spam mail ra ngoài (Email Marketing)

1. Hướng dẫn khắc phục lỗi Spam Mail trên VPS

* Nguyên nhân

Không phải tự nhiên mà VPS gửi Email Spam đồng loạt như vậy. Thông thường, tình trạng Spam Mail trên VPS sảy ra khi một trong số các website của chúng ta trong VPS sử dụng Theme hoặc Plugin, module không rõ nguồn gốc hay code được chia sẻ tràn lan trên mạng (download ở những nơi không uy tín)…. Bị dính virut, mã độc.

Bên cạnh đó, có thể một tài khoản nào đó bị đánh cắp SMTP để spam mail. Chúng ta cũng không thể ngoại trừ trường hợp chính chúng ta hoặc user nào đó chủ động Spam mail ra ngoài (Email Marketing)

Trường hợp cuối cùng là do hàm mail() được enable (bật) và bị lạm dụng.

2. Xác định

Đầu tiên, các bạn hãy SSH vào VPS sau đó sử dụng lệnh bên dưới để kiểm tra số lượng mail trong queue.

exim -bpc

Nếu kết quả trả về lớn hơn 100 thì cũng đồng nghĩa với việc VPS đang thực hiện spam mail ra ngoài. Như hình bên dưới là VPS đang Spam kinh khủng tởm.

Tiếp theo chúng ta sẽ kiểm tra danh sách mail trong queue để biết cụ thể user account mail nào đang thực hiện spam bằng cách sử dụng lệnh. Kết quả trả về như bạn sẽ thấy trong VPS của bạn

exim -bp

Tiếp tục, các bạn hãy kiểm tra log mail để xem chi tiết hơn.

cd /var/log/exim
tail -n 100 mainlog |more

Hoặc sử dụng lệnh này sẽ liệt kê log theo user được truy vấn

tail -n 10000 mainlog |grep user@example.com |more

Bạn cũng có thể kiểm tra nội dung Email bằng

exim -Mvh [id] // id dạng 1YlI6V-0004K0-MT

3.Khắc phục Spam Mail trên VPS

Bên trên là chúng ta kiểm tra xem VPS của mình có đang Spam Mail hay không. Còn bây giờ hãy cùng mình khắc phục tình trạng Spam Mail trên VPS.

Đầu tiên chúng ta cần thực hiện xóa/gửi toàn bộ/một mail trong queue. Thứ tự hoặc bạn có thể tùy chọn theo cách bạn thấy hợp lý nhất là được.

Xóa 1 mail trong queue, id dạng 1YlI6V-0004K0-MT

exim -Mrm {message-id}

Xóa toàn bộ mail trong queue

exim -bp | awk ‘{ print $3 }’ | xargs exim -Mrm

Chạy lệnh xong bạn sẽ thấy như thế này nghĩa là đã xóa.

Xóa tòa bộ mail trong frozen

exim -bpr | grep frozen | awk {‘print $3’} | xargs exim -Mrm

Nếu bạn đang chủ động Spam Mail thì bạn có thể sử dụng lệnh bên dưới để gửi toàn bộ mail trong queue

/usr/sbin/exim -bp |awk ‘{print $3}’ | xargs -n 1 -P 40 /usr/sbin/exim -v -M

Thực hiện config và stop service exim

Để config các bạn chạy lệnh bên dưới và tự chỉnh sửa bất kỳ 1 dòng nào sau đó lưu lại

vim /etc/exim.conf

Hoặc bạn tắt luôn đi cho lành

/etc/init.d/exim stop

Tắt hàm mail() – Disable hàm mail()

Đầu tiên chúng ta cần phải xác định xem file php.ini đang nằm ở đâu trong VPS bằng

php -i | grep php.ini

Kết quả trả về tùy vào VPS của bạn. Hình dưới là kết quả của mình và nó nằm trong /etc/php.ini

Bạn có thể kiểm tra xem hàm nào đang bị disable (tắt)

grep disable_functions /etc/php.ini

Lệnh này sẽ disable (tắt) hàm mail() – Tắt xong thử kiểm tra bằng lệnh bên trên xem tắt được chưa nhé.

sed -i ‘s/disable_functions =/disable_functions = mail/’ /etc/php.ini

Sau đó hãy Restart service httpd

/etc/init.d/httpd restart

* Cuối cùng:

Như vậy là bạn đã hoàn tất cách khắc phục những Lỗi Spam Mail Trên VPS. Hi vọng các bạn sẽ thích bài viết này và chúc các bạn thành công

 

Be the first to comment

Leave a Reply

Your email address will not be published.


*