Postfix nedir? Kurulumu
- Nedir bu Postfix
- Wietse Zweitze Venema tarafından geliştirilen bir MTA.
http://www.postfix.org
Sendmail’e alternatif olarak geliştirildi.
Ancak Sendmail’den çok daha güvenli ve hızlıdır — ayrıca çok daha fazla özelliklere sahiptir.Postfix Kurulumu
Tüm linux dağıtımlarda Postfix gelir.
Paket yöneticisi ile kurulabilir.
Özelleştirme için kaynak koddan derlenebilir ya da dağıtım paketleri özel olarak baştan derlenebilir.Fedora/Red Hat/CentOS
yum install postfix
Bu paket içindeki özellikler sınırlıdır. Veritabanı, TLS gibi destekler için SRPM’den derlemek gereklidir.
http://postfix.wl0.org/en/ adresinden SRPM indirilebilir
Debian/Ubuntu
apt-get install postfix
postfix-gld, postfix-policyd-spf-perl, postfix-policyd,
postfix-cdb, postfix-dev, postfix-doc, postfix-ldap,
postfix-mysql, postfix-pcre, postfix-pgsql, postfix,
postfix-policyd-spf-pythonPostfix’in temel yapılandırması
-
/etc/postfix dizini
main.cf, master.cf
Düzgün, okunabilir yapılandırma dosyalarıPostfix’in temel yapılandırması : main.cf
myhostname: Postfix’in çalıştığı makinanın tam alan adı (FQDN)
Örnek: myhostname = mail.eminyardim.kim
mydomain: Makinanın alan adı.
Örnek: mydomain = eminyardim.kim
myorigin: Öntanımlı alan adı. Bu alan adının reverse DNS kaydı olması gereklidir:
Örnek: myorigin = eminyardim.kim
inet_interfaces : Sunucunun e-postaları kabul ettiği ağ adres(ler)ini belirten parametredir.
Postfix öntanımlı olarak loopback aygıtını dinler. Dışarıdan e-posta kabul etmek için bu parametreyi değiştirmek gereklidir.
Örnek: inet_interfaces = allmydestination: Postfix’in e-posta kabul edeceği alan adlarının belirtildiği parametredir. Burada önceden yazdığımız mydomain gibi değişkenleri doğrudan kullanabiliriz.
Örnek: $mydomain, planetpostgresql.org
mynetworks : Postfix’in relay edilmesine izin verdiği ip adresi ya da adreslerinin belirtildiği parametre.
Örnek : mynetworks = 127.0.0.1/8, 78.189.47.167/32
home_mailbox : Mailbox/Maildir seçeneklerinin kullanıldığı parametre.
alias_maps : Aliasların tutulduğu dosya.
Örnek: alias_maps= hash:/etc/aliasesPostfix’in temel yapılandırması : master.cf
Giriş seviyesinde bir e-posta sunucusu kurmak için bu dosyayı değiştirmenize gerek yoktur.
Ancak, eğer e-posta sunucunuzun 25. port dışında da(örnek: submission portu) kabul etmesini istiyorsanız:
submission inet n – n – – smtpd
satırını eklemek gereklidir.Postfix ile virüs ve spam engelleme
-
Windows virüslerini engellemek gerekli.
Aslında Windows’un kendisi virüs!
Her ne kadar sunucu Linux olsa da Windows istemciler arasındaki haberleşmelerde bir virüs kontrolü gerekli.
Spamcileri de unutmamak gerekli. -
Anahtar teslimi çözüm:
ClamAV : Antivirüs
http://www.clamav.net/
AMaViS (amavisd-new): MTA ve AV/SpamAssasin arasındaki katman
http://www.ijs.si/software/amavisd/
SpamAssassin : Antispam yazılımı
http://spamassassin.apache.org/ClamAV: Antivirüs yazılımı
Virüs veritabanı oldukça sık güncelleniyor.
Yüksek bir başarımı var.
Açık kaynak kodlu ve ücretsiz.
Hemen hemen her dosyayı inceleme yeteneğine sahip.ClamAV, Amavisd-new ve SpamAssassin dağıtımlarla genelde beraber geliyor
ClamAV için CentOS/Red Hat için DAG deposunu kullanmanızı öneririm. EPEL deposundaki paketlerin yapılandırması biraz dertli 🙂
ClamAV paketleri:
Clamav : ClamAV yazılımı
Clamd: Daemon
Clamav-db: Virüs veritabanı
Hepsini kurmak gerekiyor.ClamAV yapılandırması:
clamd.conf
LocalSocket parametresini belirlemek gerekiyor.
LocalSocket /tmp/clamd.socket
gibi birşey yapılabilir. Bu bilgiyi AMaViS içinde kullanacağız.
Diğer ayarları değiştirmenize genelde gerek yok.
Servisi başlatmayı unutmayın.
Postfix ile virüs ve spam temizleme: AMaViS
MTA ile AV ve SpamAssassin arasındaki kontrolü sağlayan bir yazılım.
Yüksek performanslı. Perl ile geliştiriliyor.
Açık kaynak kodlu ve ücretsizdir.Amavisd yapılandırması: /etc/amavisd.conf
COMMONLY ADJUSTED SETTINGS bölümü ilginizi çekecektir 😉
max_servers, mydomain, QUARANTINEDIR, mynetworks, inet_socket_port$sa_tag_level_deflt
$sa_tag2_level_deflt
$sa_kill_level_deflt
$sa_dsn_cutoff_level
DSN: Delivery Status Notification
$sa_spam_subject_tag
amavisd.conf içinde ClamAV ile ilgili satırlar:
[‘ClamAV-clamd’,
\&ask_daemon, [“CONTSCAN {}\n”, “/tmp/clamd.socket”],
qr/\bOK$/, qr/\bFOUND$/,
qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
# NOTE: run clamd under the same user as amavisd, or run it under its own uid such as clamav, add user clamav to the amavis group, and then add AllowSupplementaryGroups to clamd.conf;
SpamAssassin genelde kutudan çıktığı hali ile yeterli oluyor.
Ancak yoğun sistemlerde bazı ayarlar yapmak gerekebilir.Postfix ile virüs ve spam engelleme – SpamAssassin
-
Fedora / Red Hat / CentOS ayarları
/etc/mail/spamassasin altında ayar dosyaları var
/etc/sysconfig/spamassasin dosyası içinde şu satırı göreceksiniz:
SPAMDOPTIONS=”-d -c -m5 -H”
-m ile aynı anda çalışabilecek child processler ayarlanır. Bunu arttırmak, yoğun sistemlerde maillerin daha hızlı kontrol edilmesini sağlar.
Ubuntu ve Debian’da:
/etc/default/spamassassin
OPTIONS=”–create-prefs –max-children 10 –helper-home-dir”
satırını önceki slaytta anlattığım gibi değiştirebilirsiniz.Postfix’de Virüs ve Spam Engelleme – Postfix tarafı
AmaViS, ClamAV ve SpamAssassin kurmak yeterli değil. Postfix’i bundan haberdar etmek gerekiyor 🙂
Yapılandırmalar main.cf içine, port ile ilgili kısımlar master.cf içine eklenecek.
AMaViS için, main.cf içine::
content_filter = smtp-amavis:[127.0.0.1]:10024
master.cf içine:
smtp-amavis unix – – n – 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
-o max_use=20Yine master.cf içine:
127.0.0.1:10025 inet n – n – – smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_delay_reject=no
-o smtpd_client_restrictions=permit_mynetworks,reject
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_data_restrictions=reject_unauth_pipelining
-o smtpd_end_of_data_restrictions=
-o mynetworks=127.0.0.0/8
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o smtpd_client_connection_count_limit=0
-o smtpd_client_connection_rate_limit=0
-o receive_override_options=no_header_body_checks,no_unknown_recipient_checksPostgrey için, main.cf içine:
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
reject_invalid_hostname,
reject_unauth_pipelining,
reject_non_fqdn_sender,
reject_unknown_sender_domain,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
check_policy_service inet:127.0.0.1:60000,
permitEklenebilecek diğer Postfix parametreleri
smtpd_helo_required = yes
disable_vrfy_command = yesDaha detaylı spam engelleme için ürünün resmi sitesinden devamlı takip edebilirsiniz