Debian, Postfix, Amavisd-new, SpamAssassin, Razor, DCC, Pyzor ve ClamAV Kullanarak AntiSpam AntiVirus Gateway Mail Server Kurulumu
Kuracağımız sistemi anlatan şema aşağıdaki gibi. Postfix maili alır ve amavise gönderir. Gelen mail içerik olarak kontrol edilir. İzin verilmeyen uzantılar, boyut vb ayarlara bakılır. Daha sonra spamassassin mailin spam olup olmadığına karar vermek için DCC, pyzor ve razordan yardım alır. Eğer belirlediğimiz puanın üzerine çıkan mail olursa spam olarak işaretlenir. Amaviste yapacağımız ayara göre spam olarak işaretlenen mail ya silinir yada ***SPAM*** gibi bir damga vurulur. Eğer spam puanı belirlediğimizden düşük bir mail olursa içerideki mail sunucuya teslim edilmek üzere amavis tarafından postfixe teslim edilir. Böylece sunucumuz smtp proxy (vekil sunucu) vazifesini yerine getirmiş olur.

standart bir debian linux kurulumu yapıyoruz. Burasını detaylı olarak daha sonra anlatacağım. Neler kurulması gerektiğini soran menüde sadece standart seçin.
Uzak erişim sağlamak için ssh ve metin editörü olarak mc kullandığım için bu paketlerin kurulumu ile başlıyorum.
apt-get install mc ssh
Sistem Ayarlarının Kontrolü
Ip adrsinizini sabit (statik) kullanmalısınız. Eğer dinamik ip olarak kurulumu tamamlanmışsa /etc/network/interfaces dosyasını aşağıdaki gibi düzenleyiniz.
cat /etc/network/interfaces
auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet static
address 192.168.18.130
netmask 255.255.255.0
network 192.168.18.0
broadcast 192.168.18.255
gateway 192.168.18.1
dns-nameservers 192.168.18.1
Hosts dosyamızdaki sunucu ismi ve ip tanımlamalarını kontrol ediyoruz. Eğer bilgisayar ismi ve ip adresi aşağıdaki gibi olmasına özen göstermelisiniz.
cat /etc/hosts
127.0.0.1 localhost
192.168.18.130 gate.linuxuzmani.com gate
Kuracağımız sistemde bazı paketlerin daha güncel versiyonlarına ihtiyacımız olacak. bunun için apt-pinning islemi yapacağız. Apt-pinning detaylı bilgiyi http://www.serdaraytekin.com/docs/os/debian/debian-apt-pinning.html adresinden alabiliriniz.
Apt-get Ayarları
mcedit /etc/apt/preferences
Package: *
Pin: release a=unstable
Pin-Priority: 400
Package: *
Pin: release a=testing
Pin-Priority: 450
mcedit /etc/apt/sources.list
# deb cdrom:[Debian GNU/Linux 4.0 r3 _Etch_ - Official i386 NETINST Binary-1 20080218-14:15]/ etch contrib main
deb http://godel.cs.bilgi.edu.tr/debian/ etch main contrib non-free
deb-src http://godel.cs.bilgi.edu.tr/debian/ etch main
deb http://godel.cs.bilgi.edu.tr/debian/ testing main contrib non-free
deb-src http://godel.cs.bilgi.edu.tr/debian/ testing main
deb http://godel.cs.bilgi.edu.tr/debian/ unstable main contrib non-free
deb-src http://godel.cs.bilgi.edu.tr/debian/ unstable main
deb http://security.debian.org/ etch/updates main contrib
deb-src http://security.debian.org/ etch/updates main contrib
deb http://volatile.debian.net/debian-volatile etch/volatile main
Birden fazla paket kaynağı kullandığımız için önbellekte tamamının tutulması için cache limit tanımlaması yapıyoruz.
echo ‘APT::Cache-Limit “25165824″;’ >> /etc/apt/apt.conf
apt-get update
Eğer sisteminiz çift çekirdekli ( Dual Core, Amd X2) işlemciniz varsa daha iyi performans elde etmek için kullandığınız çekirdeği (kernel) smp olan versiyonuna yükseltmenizi tavsiye ederim.
apt-cache search linux-image | grep smp | grep linux-image
linux-image-2.6-686-smp - Linux 2.6 image on PPro/Celeron/PII/PIII/P4 SMP - transition package
linux-image-2.6-k7-smp - Linux 2.6 image on AMD K7 SMP - transition package
apt-get install linux-image-2.6-686-smp
Bu işlemden sonra sistemi yeniden başlatıyoruz.
reboot
Not: Büyük dosyaların iletimi sırasında kayıp olabilir. Bunu engellemek için aşağıdaki system ayarlarını yapabiliriniz. Bunun kararı size kalmış. İsterseniz yapmayabilirsiniz.
echo “net.ipv4.tcp_wmem = 4096 65536 65536″ >>/etc/sysctl.conf
echo “net.ipv4.tcp_rmem = 4096 65536 65536″ >>/etc/sysctl.conf
sysctl -p
Gereksiz Servislerin Kapatılması
Yazıcı servisi lpd ve nfs (network file system) debian ile gelen MTA exim servislerini kullanmayacağımız için açılıştan kaldırıyoruz.
/etc/init.d/lpd stop
update-rc.d -f lpd remove
/etc/init.d/nfs-common stop
update-rc.d -f nfs-common remove
/etc/init.d/portmap stop
update-rc.d -f portmap remove
/etc/init.d/exim4 stop
update-rc.d -f exim4 remove
Inetd (InterNET Daemon) servislerinden kullanmadıklarımızıda kapatıyoruz.
update-inetd –disable time
update-inetd –disable daytime
update-inetd –disable echo
update-inetd –disable chargen
update-inetd –disable ident
update-inetd –disable discard
NTP ( Network Time Protocol) Servisinin Ayarlanması
Ntp servisimizi kuruyoruz.
apt-get install ntp
Sunucumuzun zamanını en doğru haline almak için ntp.org‘a ait zaman sunucularından guncellestiriyoruz.
/etc/init.d/ntp stop
ntpdate 0.pool.ntp.org
ntpdate 1.pool.ntp.org
/etc/init.d/ntp start
Sunucumuzun donanım saatini de güncelleştirelim.
hwclock –systohc
Programların Kurulması
Kurulumda gerekecek ek paketleri yükleyelim.
apt-get install arc arj autoconf automake1.7 bzip2 cabextract db4.4-util libarchive-tar-perl libarchive-zip-perl libauthen-sasl-perl libberkeleydb-perl libconvert-binhex-perl libconvert-tnef-perl libconvert-uulib-perl libdb4.4-dev libdbd-mysql-perl libdbi-perl libdigest-hmac-perl libdigest-sha1-perl libhtml-format-perl libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libio-multiplex-perl libmudflap0-dev libltdl3-dev libio-socket-ssl-perl libio-string-perl unrar arj libio-stringy-perl libio-zlib-perl libldap2 libmail-spf-query-perl libmailtools-perl libmime-perl libnet-dns-perl libnet-ldap-perl libnet-ph-perl libnet-server-perl libnet-snpp-perl libnet-telnet-perl libsocket6-perl libtimedate-perl libtool libunix-syslog-perl liburi-perl libwww-perl lynx lzop make ncftp nomarch pax perl-doc rblcheck unzip zip zlib1g-dev pyzor razor libcompress-zlib-perl psmisc re2c curl lha
İlk olarak spamassassin kuruyoruz.
apt-get install spamassassin
Vekil (proxy) olarak çalışacak Mail sunucumuzu kuruyoruz.
apt-get install postfix postfix-pcre postfix-mysql postfix-ldap
Postfix yapılandırmasında ayar yapmıyoruz. No configuration seçip onaylıyoruz.
Eğer sisteminizde amavis yüklü ise kaldırmanız gerekiyor.
apt-get remove amavisd-new
Amavis programını elle kuracağız.
adduser –group –system –home /var/lib/amavis –shell /bin/sh amavis
mkdir /var/run/amavis
chown amavis:amavis /var/run/amavis
mkdir /etc/amavis
mkdir /etc/amavis/en_US
mkdir /var/lib/amavis/tmp
mkdir /var/lib/amavis/db
mkdir /var/lib/amavis/var
mkdir /var/lib/amavis/virusmails
chown -R amavis:amavis /var/lib/amavis
chmod -R 750 /var/lib/amavis
cd /etc/amavis
wget http://www.linuxuzmani.com/eklenti/amavisd/amavisd.conf
cd /etc/amavis/en_US
rm charset
rm template-dsn.txt
rm template-spam-admin.txt
rm template-spam-sender.txt
rm template-virus-admin.txt
rm template-virus-recipient.txt
rm template-virus-sender.txt
wget http://www.linuxuzmani.com/eklenti/amavisd/charset
wget http://www.linuxuzmani.com/eklenti/amavisd/template-dsn.txt
wget http://www.linuxuzmani.com/eklenti/amavisd/template-spam-admin.txt
wget http://www.linuxuzmani.com/eklenti/amavisd/template-spam-sender.txt
wget http://www.linuxuzmani.com/eklenti/amavisd/template-virus-admin.txt
wget http://www.linuxuzmani.com/eklenti/amavisd/template-virus-recipient.txt
wget http://www.linuxuzmani.com/eklenti/amavisd/template-virus-sender.txt
cd /usr/local/src
wget http://mirrors.catpipe.net/amavisd-new/amavisd-new-2.6.0.tar.gz
tar xzv amavisd-new-2.6.0.tar.gz
cd amavisd-new-2.6.0
test -e /usr/sbin/amavisd-new && cp /usr/sbin/amavisd-new /usr/sbin/amavisd-new-debian
cp amavisd amavisd-new
cp amavisd-new /usr/sbin/amavisd-new
cp amavisd-new /usr/sbin/amavisd-new-2.5.4
cd /etc/init.d
wget http://www.linuxuzmani.com/eklenti/amavisd/amavis-init
mv amavis-init amavis
chmod +x amavis
update-rc.d amavis defaults
cd /etc/cron.daily
wget http://www.linuxuzmani.com/eklenti/amavisd/crondaily-amavisd-new
mv crondaily-amavisd-new amavisd-new
chmod +x amavisd-new
cd /etc/cron.d
wget http://www.linuxuzmani.com/eklenti/amavisd/cron-amavisd-new
mv cron-amavisd-new amavisd-new
dpkg-statoverride –add amavis amavis 755 /var/lib/amavis
dpkg-statoverride –add amavis amavis 755 /var/lib/amavis/virusmails
dpkg-statoverride –add amavis amavis 755 /var/run/amavis
Postfix Konfigürasyonu 1. Bölüm
Sistemimizde yüklü olan postfix versiyonuna göre geçerli sürümü depodan indirmelisiniz. (dpkg -l postfix)
dpkg -l postfix
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==========================-==========================-====================================================================
ii postfix 2.3.8-2+b1 A high-performance mail transport agent
cd /usr/local/src
wget http://ftp.debian.org/debian/pool/main/p/postfix/postfix_2.3.8.orig.tar.gz
tar xzvf postfix_2.3.8.orig.tar.gz
rm postfix_2*
rm amavisd-new-2.5.4.tar.gz
Aşağıdaki komutları işletince cp: overwrite soracaktır. Enter ile devam edin.
cp -i /usr/share/postfix/main.cf.debian /etc/postfix/main.cf
cp -i /usr/local/src/postfix-2.3.8/conf/* /etc/postfix
cp -i /etc/postfix/header_checks /etc/postfix/body_checks
cp -i /etc/postfix/access /etc/postfix/sender_access
Devamı edecek…
To be continued


Yorum Yapın