Linuxuzmani.Com

Linux Kullanırken Aldığım Notlar

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.

Antispam, Antivirus çalışma şeması

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

Not: Şu etiketleri kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>