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
Leave a Reply