سلام عليكم
هذه طريقه كنت شوفتها فى احد المواقع جربته وشغاله معى بشكل جيد ولكن تبى تركيز شوي
فى تنفيذها الفكره كلها بأنك بتغير اسم الملف اللى يرسل ملف بريد وتحوله على السرفر بس بعد
عمل log او فلتر
المهم ما اطول عليكم هذه الطريقه
الاول تسكر الexim
وتنقل ملف الsendmailكود PHP:/etc/rc.d/init.d/exim stop
بعدها تسوى الملف اللى متعدل فيه علشان تعرف مين اللى يسوى سبام وكم رساله والمسار يعنى مثلا منتدى او قائمه بريديةكود PHP:mv /usr/sbin/sendmail /usr/sbin/sendmail.hidden
واضف داخلةكود PHP:pico /usr/sbin/sendmail
كود PHP:#!/usr/local/bin/perl
# use strict;
use Env;
my $date = `date`;
chomp $date;
open (INFO, ">>/var/log/spam_log") || die "Failed to open file ::$!";
my $uid = $>;
my @info = getpwuid($uid);
if($REMOTE_ADDR) {
print INFO "$date - $REMOTE_ADDR ran $SCRIPT_NAME at $SERVER_NAME n";
}
else {
print INFO "$date - $PWD - @infon";
}
my $mailprog = '/usr/sbin/sendmail.hidden';
foreach (@ARGV) {
$arg="$arg" . " $_";
}
open (MAIL,"|$mailprog $arg") || die "cannot open $mailprog: $!n";
while (<STDIN> ) {
print MAIL;
}
close (INFO);
close (MAIL);
سوى ملف اللوج وتغير ترخيصة
شغل الeximكود PHP:touch /var/log/spam_log;chmod 0777 /var/log/spam_log
هذا الامر يشوف لك اللى بيرسل سبام من السرفركود PHP:/etc/rc.d/init.d/exim start
هيظر لك اليوزر والرسائلكود PHP:tail - f /var/log/spam_log
اللى تشوفه متكرر كثير كل سطر = رساله ارسلها
ولأن هذا الملف يراقب خادم البريد يجب حذف ما فيه كل فتره واللى تعمله تعدل فى ملف الكونفيج التابع لبرنامج الlogwatch كى يدخله معه لما يحذف
ونفذ هذه الاوامر لتعديل التراخيصكود PHP:pico /etc/logrotate.conf
ابحث عن:
# no packages own wtmp -- we'll rotate them here
/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
}
اضف تحته:
# SPAM LOG rotation
/var/log/spam_log {
monthly
create 0777 root root
rotate 1
}
ولو تريد يرسلك كل يوم على بريدك تقرير بالسبام سوى ملف فى الcron.dailyكود PHP:chattr -i /usr/sbin/sendmail;chmod 711 /usr/sbin/sendmail
عن طريق
اضف داخلةكود PHP:pico /etc/cron.daily/spam.sh
مع تغير البريد طبعاكود PHP:#!/bin/bash
tail -n100 /var/log/spam_log | mail -s "Mail Status" m@myeit.com
وجرب ترسل اى رساله وشوف الload حق السرفر لو ارتفع بتكون سويت شى خطا
وعلشان ترجع السرفر مثل ما كان سوي هذا الامر
كود PHP:rm -f /usr/sbin/sendmail;mv /usr/sbin/sendmail.hidden /usr/sbin/sendmail
سلام عليكم


رد مع اقتباس
