qmail ile üniversite mail sistemi yönetimi Devrim Sipahi Dokuz Eylül Üniversitesi devrim.sipahi@deu.edu.tr



Benzer belgeler
qmail ile üniversite mail sistemi yönetimi Devrim Sipahi Dokuz Eylül Üniversitesi

qmail ile SPAM engelleme Devrim Sipahi Dokuz Eylül Üniversitesi

1 Simscan Nedir? 2 Simscan Nasıl Çalışır?

Sunucuda E Posta Filtreleme Serdar KÖYLÜ Gizem Telekomünikasyon Hizmetleri

Basit ve etkili bir spam engelleme yöntemi

ProFTPD FTP Sunucusu. Devrim GÜNDÜZ. TR.NET Sistem Destek Uzmanı.

Linux'ta Kabuk ve Kabuk Programlama

Çalışma Grupları Eğitimleri. TÜBİTAK ULAKBİM / ANKARA 5-9 Nisan 2010

Ortamınızda A.D. veya LDAP sistemi var ise aşağıdaki linkten KoruMail LDAP-AD isimli dokümanı inceleyebilirsiniz.


Ulak-CSIRT Balküpü Çalışma Grubu

Linux ta komutlar hakkında yardım almak için aşağıdaki komutlar kullanılır : - man - info - whatis - apropos

EXCHANGE 2007 TRANSPORT RULE İLE KULLANICI BAZLI MAİL GÖNDERİM KISITLAMASI... 1 LOTUS DOMINO SERVER'DA İNTERNET MAİL ALIM KISITLAMALARI...

Merak serverı MS Exchange için Antispam ve AntiVirus olarak nasıl kullanabiliriz?

PBS Betiği Hazırlama ve PBS Komutları. Feyza Eryol

1) İlk olarak oluşturduğumuz filtre adı yazılır. (örneğin tatil mesajı, taşı vb gibi.) 2) Sonra filtre için kural belirlenir.

2) Hesabınıza Giriş yaptıktan sonra aşağıdaki ekran karşınıza gelir.

man komut man ls (ls komutu hakkında bilgi verir.) man pwd (pwd komutu hakkında bilgi verir.)

Aktif Dizin Logon/Logoff Script Ayarları Versiyon

3. DOSYA SİSTEMİ VE ÇALIŞMA MANTIĞI

Linux Dosya Yapısı. Eren BAŞTÜRK.

Aşağıda listelenen temel linux komutları bilgisayarınızın komut satırında çalıtırılacaktır.

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 1

Linux Kullanıcıları Derneği ve Elektrik Mühendisleri Odası

BİLGİ İŞLEM DERS 3. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ

Resim 7.20: Yeni bir ileti oluşturma

Regular Expressions Version 0.1

Komutlar (Devam) ls -a > deneme (ls -a komutunun çıktısı deneme isimli. ls -a >> deneme (ls -a komutunun çıktısı deneme

2. Use Dns lookup, Use relay server aralarında seçim yapınız. Biz Dns lookup ile SMTP-mizi çalıştırdık. DNS lookup kısmında domain adınızı yazınız.

Temel Linux Eğitimi 1., 2. ve 3. Bölümler

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Microsoft Outlook 2003 Kurulumu

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1

djbdns İsmail YENİGÜL EnderUNIX Kurucu Çekirdek Üyesi -Eskişehir Osman Gazi Üniversitesi 22 Nisan 2005

Outlook Express ayarları.

Ağ Nedir? Birden fazla bilgisayarın iletişimini sağlayan printer vb. kaynakları, daha iyi ve ortaklaşa kullanımı sağlayan yapılara denir.

Linux işletim sistemlerinde dosya hiyerarşisinde en üstte bulunan dizindir. Diğer bütün dizinler kök dizinin altında bulunur.

Bilgisayar Ağları ve Ağ Güvenliği DR. ÖĞR. ÜYESİ KENAN GENÇOL HİTİT ÜNİVERSİTESİ ELEKTRİK-ELEKTRONİK MÜH.

KÜTÜPHANE YETKİLENDİRMELİ ÖNBELLEKLEME SERVİSİ

Smoothwall URL Filter Kurulumu

QMAIL-LDAP VE CLUSTER

Disk Alanı 100 Mb Mb Mb Mb Mb Mb. Aylık Trafik (Bandwidth) 1 Gb 5 Gb 10 Gb 15 Gb 25 Gb 35 Gb

Outlook ve benzeri programların Ayarları

E-Posta Yönetimi. E-Posta Açma, Silme ve Yönetim Kılavuzu

LİNUX İŞLETİM SİSTEMİNİN KÖPRÜ MODUNDA ÇALIŞTIRILMASI VE GÜVENLİK DUVARI İŞLEMLERİ

BIND ile DNS Sunucu Kurulumu

KABUK PROGRAMLAMA (shell programming- scripting)

FreeBSD Üzerinde VLAN Kullanımı

5651 Sayılı Kanun Hakkında Kanunla ilgili detay bilgiler

FreeBSD Erişim Kontrol Listeleri

Adli Analiz İşlemlerine Başlamak

EK-1 İSTANBUL ÜNİVERSİTESİ BİLGİ İŞLEM DAİRESİ BAŞKANLIĞI HİZMET ENVANTERİ TABLOSU

FreeBSD Üzerinde VLAN Kullanımı

ACTFAX SERVER (ELEKTRONİK FAKS SİSTEMİ) TEKNİK ŞARTNAMESİ

ORDU ÜNİVERSİTESİ BİLGİ İŞLEM DAİRESİ BAŞKANLIĞI HİZMET ENVANTERİ TABLOSU

SquidGuard Kurulumu. Öncelikle gerekli paket temin edilmelidir. adresinden temin edilebilir. Basitçe kurulumu ;

Tellcom.net.tr ve Quiknet.com.tr Eposta Servisleri Aktivasyonu

FTP ve Güvenlik Duvarları

Sözü fazla uzatmadan bu durumlar için bir çözüm yolunu sizlere paylaşmak istiyorum..

AYDES PROJESİ MESAJ KUTUSU EĞİTİM DOKÜMANI

T.C. SOSYAL GÜVENLİK KURUMU BAŞKANLIĞI Genel Sağlık Sigortası Genel Müdürlüğü

YEDEKLEME PROGRAMI KURULUM VE KULLANIMI


ANDROID İŞLETİM SİSTEMİ YÜKLÜ OLAN TELEFON VEYA TABLETLERE ÖĞRENCİ WEBMAIL TANIMLAMA

4.0 Yeni Özellikler. Surgate. L a b s

sunucu uygulaması Devrim Sipahi

Yerel Okul Sunucusu Uygulama Yazılımları Prototipi

1. Mutabakat.zip dosyası açılır. 2. Mutabakat klasörü içindeki Mutabakat.exe dosyası çalıştırılır.

Berqnet Sürüm Notları Sürüm 4.1.0

BATMAN ÜNİVERSİTESİ BİLGİ İŞLEM DAİRE BAŞKANLIĞI HİZMET ENVANTERİ TABLOSU

Web Tasarımının Temelleri

Linux Temelli Zararlı Yazılımların Bulaşma Teknikleri, Engellenmesi ve Temizlenmesi

Toplu İleti Gönderimi

Web Servis-Web Sitesi Bağlantısı

Adli Bilişim Açısından E-posta Sistemi

SMTP Protokolü ve Spam Mail Problemi

Temel Linux Eğitimi. İçindekiler

OMÜ HAVACILIK VE UZAY BİLİMLERİ FAKÜLTESİ METEOROLOJİ MÜHENDİSLİĞİ BÖLÜMÜ MET103 BİLGİSAYAR PROGRAMLAMA I BÜTÜNLEME SINAVI

ÖĞRENME FAALĠYETĠ 3 ÖĞRENME FAALĠYETĠ 3

PHP I PHP I. E. Fatih Yetkin. 26 Eylül 2011

SIMAN KULLANIM KILAVUZU

K12 Uzantılı E Posta Kullanım Ve Kurulum Klavuzu

Exchange Server 2013 Kurulum Sonrası Yapılandırmalar

BSOFTefat E-FATURA ÇÖZÜMÜ

Temel Linux Komutları

Bilgisayar Ağları. Ağı oluşturan cihazlar. Coğrafi koşullara göre ağın sınıflandırılması (LAN, MAN, WAN)

E-Posta Kişisel İletişim Yönetimi

EnderUNIX Yazılım Geliştirme Ekibi. Murat Balaban, Metin Kaya, Cihan Kömeçoğlu.

Kampüs Ağlarında Köprü-Güvenlik Duvarı (Bridge Firewall) ve Transparent Proxy

STANDART OPERASYON PROSEDÜRÜ

LOGO Online Mutabakat ve Finans Süreç Yönetimi. ARTI BİLİŞİM ve DESTEK HİZMETLERİ

TEMEL BİLGİSAYAR. Ders Notları. Yrd. Doç. Dr. Seyit Okan KARA

Web Uygulama Güvenliği Kontrol Listesi 2010

2. SCADA PROGRAMI. TEOS' un size sunduğu bir çok hizmet içerisinde en önemlilerini şöyle sıralayabiliriz:

YILDIZ TEKNİK ÜNİVERSİTESİ

SİBER ESPİYONAJ FAALİYETLERİ VE TÜRKİYE

Kets DocPlace LOGO Entegrasyonu

NETFİLTER VE LİNUX TABANLI BİR FİREBOX TASARIMI

ZWCAD İçindekiler. Önemli. Tek Kullanıcı Sürümü Lisans Kodu Kullanarak Yükleme Kılavuzu

Transkript:

qmail ile üniversite mail sistemi yönetimi Devrim Sipahi Dokuz Eylül Üniversitesi devrim.sipahi@deu.edu.tr

Üniversitelerde kullanılan mail sisteminin iki belirgin özelliği vardır. 1. Çok sayıda kullanıcı (örneğin 9000) 2. Yoğun kullanım a. Normal kullanım ( Toplu mail gönderimi ) b. İstenmeyen trafik ( spam virüs )

Sistem yapısı INTERNET smtp smtp MX-1 MX-2 qsheff + clamav qsheff + clamav smtp smtp smtproutes RELAY-1 RELAY-2 Posta kutuları POP3 goodmailfrom + tarpit smtp goodmailfrom + tarpit smtp kullanıcılar kullanıcılar

Sistem yapısı POSTA KUTULARI Solaris 8 qmail-vpopmail-mysql Sanal kullanıcılar (vpopmail:vchkpw) posta kutusu türü: maildir Ekli dosya tipi kontrolü Log analizi (isoqlog) Alıcı sayısı kısıtlaması Uzunluk kısıtlaması DİĞER SUNUCULAR MX sunucular FreeBSD qmail qsheff clamav RELAY sunucular FreeBSD qmail tarpit: Alıcı sayısı kısıtlaması goodmailfrom: Gönderen kısıtlaması

Genel ve özel duyurulara yönelik çözüm Yerel olarak mail gönderimi bir dosya kopyalama işlemidir. Aynı dosyayı binlerce farklı dizine kopyalamak yerine aynı dosyaya farklı dizinlerden erişimi sağlamak gerekir. Unix sistemlerde ln komutu ile yapılır. Dosya sahibinin aynı olması gerekir.

Programın çalışma mantığı Duyuru maili sunucu üzerindeki farklı bir domaindeki adrese atılır. (Bu adres Bcc kısmına yazılır.) Bu adresteki.qmail dosyasına programın adı yazılır..qmail dosyasının gelen maili bir programa yönlendirme yeteneğinden yararlanılır. /usr/local/bin/program_adı Bu sayede program sadece mail geldiğinde çalışır.

Programın yapısı Önce yetkili kişilerden gelip gelmediği kontrol edilir. # cat mail grep Received grep from grep IP wc -l Sonuç 1 ise gönderen yetkili kişidir. Gönderilen adres mailden çıkarılır. Bu adres BCC kısmına yazıldığı için Delivered-To ile başlayan satırda gözükür. Bu satır kırpıldıktan sonra kalan kısım gecici bir dosyaya yazılır. Bu dosya, kullanıcıların postakutularına linklenir. Kullanıcıların maildir'lerinin bulunduğu dosya bir sql promramcığı ile istenilen sıklıkta güncellenir.

Program örneği ####program başlıyor ###### #!/bin/bash KISI=`grep -l "IP_ADRESİ" /duyuru/maildir/new/* wc -l` echo $KISI if [ $KISI -eq 0 ] then #### Duyuru gonderiliyorsa bekle ### COUNTER=0 while [ -r /usr/local/vpopmail/domains/duyuru/calisiyor ]; do echo $COUNTER sleep 1 let COUNTER=COUNTER+1 done #### Artik bir onceki duyuru gonderilmistir #####

Program örneği #### Yeni duyurunun baslatildiginin isareti ##### echo >/usr/local/vpopmail/domains/duyuru/calisiyor #### Duyurunun gonderildigi adres gizleniyor ##### ve ilgili yere kopyalaniyor #### cat `grep -l "IP" /duyuru/maildir/new/* head -n 1` grep -v \ "Delivered-To:"> /duyuru-`date +%s` cd /usr/local/vpopmail/domains/duyuru/ DuyuruDosya=`ls duyuru* head -n 1` echo "duyurudosya : $DuyuruDosya" ;

Program örneği # Duyurunun gonderilecegi adresler veritabindan okunuyor # cd /usr/local/vpopmail while read INLINE do echo $n ; echo "ln $DuyuruDosya $INLINE/Maildir/new/" #### Duyuru dosyasi kullanicilara linkleniyor ##### ln $DuyuruDosya $INLINE/Maildir/new/ let "n += 1" done < /usr/local/vpopmail/domains/persdir #### Gonderilen duyuru siliniyor #### rm $DuyuruMail

Program örneği #### Linklenen duyuru baska dizine tasiniyor #### mv $DuyuruDosya /usr/local/vpopmail/domains/duyurulmus/ #### Duyurunun calistigini gosteren isaret siliniyor #### rm /usr/local/vpopmail/domains/duyuru/calisiyor else echo "yanlis kisi" fi ### program sonu ####

SPAM yapan adreslerin engellenmesi 3 yöntemle yapılabilmektedir: Firewall, tcpserver programı ve badmailfrom dosyası 1. Firewall spam yapan IP ve IP gruplarının mail sunucuların 25. portuna bağlanmasını engelleyerek sistemin yükünü azaltır. 2. tcp.smtp dosyasına IP_ADRESİ:deny,RELAYCLIENT="" satırı ekleyerek o ip adresinin mail göndermesi engellenir. 3. /var/qmail/control/badmailfrom dosyasına mail adresi veya domain yazılarak o adresin veya domainin mail göndermesi engellenir.

Mail büyüklüğünün sınırlandırılması /var/qmail/control/databytes dosyasına en fazla mail büyüklüğü yazılarak daha büyük mail gönderilmesi engellenir. İstisnalar için tcp.smtp dosyasında IP adresinin yanına IP:allow,RELAYCLIENT="",DATABYTES="1000000" yazılarak o ip için sınır değiştirilebilir. # qmail cdb komutunu unutmamak gerekir.

Virus Kontrolü Qsheff ve clamav ikilisi ile virus kontrolü yapılmaktadır. Ana sunucuya yük bindirmemesi için bu görev MX sunuculara verilmiştir. Donanım bağımsız olması (Pentium 2-3-4) olması sayesinde hizmeti aksatmadan güncelleme ve yükseltme yapılabilmektedir. Ayrıca dosya tipi kontrolü ile de yapılabilmektedir.

Dosya tipi kontrolü programı #!/bin/sh printmsg () { echo "--- dosya tipi virüslü dosyalara benzediğinden engellenmiştir. dosya tipi =$ATTYPE" } checktype () { case $ATTYPE in VBS ZIP PIF SCR JSE EXE COM BAT SHS ) printmsg $ATTYPE exit 100;; # gönderene cevap vermemesi istenirse 100 yerine 99 yazılır. *) ;; esac } ATTACHTYPE=`grep "name=" awk 'BEGIN {FS="."}; {print toupper ($NF)}' cut -c -3` for ATTYPE in $ATTACHTYPE do checktype $ATTYPE done exit 0

Alıcı sayısını kısıtlamak Bunun için tarpit yaması uygulanır. http://www.palomine.net/qmail/tarpit.patch adresindeki yama qmail-smtpd.c dosyasına uygulanır. Bu yama programın akışını değiştirmez. İ ki kontrol dosyasında yazılı iki değişken kullanılır. Tarpit sayısı ---> control/tarpitcount Tarpit süresi ---> control/tarpitdelay Bir mesajdaki alıcı sayısı (To,Cc, Bcc toplanmı) tarpit sayısına ulaştığında tarpit süresi kadar bekletilir. Böylelikle toplu maillerde istemci program zaman aşımına uğrar.

Gönderen adres kontrolü RELAY hakkı verdiğiniz kullanıcıların, size ait olmayan alan isimlerini (domain) kullanmasını engellemek için "goodmailfrom" yaması uygulanır. Bu yama badmailfrom mantığı ile aynıdır. /var/qmail/control/goodmailfrom isimli dosya oluşturulur. İstenen alan isimleri, başlarına "@" işareti ekleyerek yazılır Örnek: @deu.edu.tr @deu.net.tr İstisnalar için GMFCHECK değişkeni kullanılır. Bu değişkenin değeri 0 ise bu kural uygulanmaz. etc/tcp.smtp dosyasına 192.168.0.2:allow,RELAYCLIENT="",GMFCHECK="0" :allow,gmfcheck="0" İkinci satır olmazsa dışardan mail alamazsınız.

"goodmailfrom" yamasının uygulanması İlgili adres: http://www.metesek.com/projects/qmail-gmfcheck/files/ adresindeki uygun yamayı ya patch komutu ile, ya da yamadaki + ile başlayan satırları qmail-smtpd.c dosyasındaki belirtilen yerlere ekleyerek yapabilirsiniz. Sadece ekleme içerir. - ile başlayan satır yoktur.

Kuyruktaki belirli maillerin silinmesi Kuyrukta içinde $1 de yazılı sözcüğü bulan komut find /var/qmail/queue -exec grep -l "$1" {} \; -print uniq Bulunan maili silmek için find /var/qmail/queue -exec grep -l "$1" {} \; -print uniq xargs rm Bozulan kuruk yapısını düzeltmek için (Tek satır) qmail queue grep trouble awk -F" " '{ print $4}' awk 'FS="#" {print $2}' awk 'FS=":" {print $1}' nl -s"find /var/qmail/queue/ -name " cut -c7-80 sh xargs rm

Kaynaklar 1. http://cr.yp.to qmail resmi sitesi 2. http://www.qmail.org 3. http://www.lifewithqmail.org/lwq.html Mail listesinde aramayapmak için 4.http://www-archive.ornl.gov:8000/ Türkçe kurulum belgesi 5.http://www.enderunix.org/documents/qmail.html İngilizceKurulum belgesi 6.http://www.flounder.net/qmail/qmail-howto.html Tarpit yaması 7. http://www.palomine.net/qmail/tarpit.patch goodmailfrom yaması 8. http://www.metesek.com/projects/qmail-gmfcheck/files/ Bu belgenin adresi: 9. http://web.deu.edu.tr/izmirunix/seminer/deumail.sxi