Hướng dẫn khắc phục VPS bị Spam Mail

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).
  • Do hàm mail() được enable và bị lạm dụng.

Cách xác định

Bước 1: Kiểm tra số lượng mail trong queue

Nếu con số >100 thì cũng đồng nghĩa là VPS đang thực hiện spam mail ra ngoài.

exim -bpc

Bước 2: Kiểm tra danh sách mail trong queue

Kiểm tra để biết cụ thể user account mail nào đang thực hiện spam.

exim -bp

Bước 3: Kiểm tra log mail

cd /var/log/exim

Sau đó thực hiện command:

tail -n 100 mainlog |more

Hoặc:

tail -n 10000 mainlog |grep user@example.com |more    //lệnh này sẽ liệt kê log theo user được truy vấn

Bước 4: Kiểm tra nội dung mail

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

Cách khắc phục

Bước 1:  Xóa/gửi mail trong queue

exim -Mrm {message-id}                                            // xóa 1 mail trong queue, id dạng 1YlI6V-0004K0-MT
exim -bp | awk '{ print $3 }' | xargs exim -Mrm                  // xóa tòa bộ mail trong queue
exim -bpr | grep frozen | awk {'print $3'} | xargs exim -Mrm    // xóa tòa bộ mail trong frozen
/usr/sbin/exim -bp |awk '{print $3}' | xargs -n 1 -P 40 /usr/sbin/exim -v -M        //gửi toàn bộ mail trong queue

Bước 2: Thực hiện config và stop service exim

vim /etc/exim.conf                 //Chỉnh sửa bất kỳ 1 dòng nào sau đó lưu lại
/etc/init.d/exim stop                //Stop service exim

Bước 3: Disable hàm mail()

php -i | grep php.ini              //Xác định file php.ini

Giả sử kết quả trả về file php.ini nằm trong /usr/local/php54/lib/php.ini

grep disable_functions /usr/local/php54/lib/php.ini                                         //Kiểm tra xem hàm nào bị disable
sed -i 's/disable_functions =/disable_functions = mail/' /usr/local/php54/lib/php.ini      //Thực hiện disable hàm mail()
/etc/init.d/httpd restart                                                                  //Restart service httpd

Bước 4: Giới hạn email gửi ra

Nếu có sử dụng control DirectAdmin, thực hiện giới hạn email mỗi user được gửi phép gửi ra mỗi ngày.

Login vào control DirectAdmin với quyền admin –> tìm đế mục Extra Features  –> click Administrator Setting.

Bước 5: Suspend user

Tiến hành suspend user có account mail đang thực hiện spam, sau đó download full source code + database về local và thực hiện scan virus với các chương trình antivirus để kiểm tra.

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top