E posta servisi
Download
1 / 18

E-Posta Servisi - PowerPoint PPT Presentation


  • 406 Views
  • Uploaded on

E-Posta Servisi. SMTP.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' E-Posta Servisi' - mora


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

SMTP

  • İnternette elektronik posta alışverişinin düzgün bir şekilde yapılabilmesi; bu görevi yürütecek sunucuların ve istemcilerin ortak bir dil konuşmalarını sağlamak amacıyla, SMTP geliştırilmiştir. SMTP, Simple MaiI Transfer Protocol kelimelerinin ilk harflerinden oluşmuş bir kısaltmadır.

  • E-posta servisinin sunucu-istemci mimarisinde çalışmasını sağlayan MTA, MUA, LDA gibi programlar vardır. Bunlardan en önemlisi olan MTA (Mali Transfer Agent) tüm e-posta sunucularında çalışması gereken sunucu programıdır. MUA(Mail User Agent) ise İstemci makinelerde çalışan, kullanıcıların e-posta okumak yada göndermek için kullandıkları programlardır. En çok kullanılan MUA pragramlarından bazıları Microsoft Outlook, Outlook Espress, Eudora, Evolution ve Pinedır.

  • Kullanıcılar e-posta gönderecekleri zaman kullandıkları MUA programı, yapılan ayarda belirtilen MTA ile TCP/25 port üzerinden bağlanır.

  • MTA ile MUA arasındaki haberleşme SMTP protokolü tarafından belirlenmış komutlar ve cevaplar ile sağlanır. E-posta bir sonraki hedefine ulaşmak üzere MTA’ya gider. MTA bu e-postayı aldıktan sonra hedef e-posta adresinin kendi üzerinde (yerelde) tanımlı olup olmadığına bakar. Hedef e-posta dresinin yerel tanımlı olması durumunda, e-posta yerel dağıtım programına (LDA) iletilir. LDA (Local Delivery Agent) e-postayı sistemde ilgili yere (hedef e-posta adresine sahip kullanıcının posta kutusuna) yazar.

  • Eğer hedef e-posta adresi yerelde tanımlı değilse MTA haberleşmesi gereken sunucusu bulur ve uzaktaki MTA ile SMTP protokolü üzerinden konuşarak e-postanın hedef sunucuya iletilmesini sağlar.


Dns e posta li kisi
DNS E-Posta İlişkisi

  • Mail exchanger (MX) kayıtları belirli bir domain için e-posta kabul eden sunucuları gösterirler. Bu sunucular e-postayı hedef adrese dağıtan yada yönlendiren (virus/spam flltreleme) sunucular olabilirler. MTA’lar, kendilerine iletilen e-postaların alıcıları kendi üzerlerinde (yerelde) tanımlı değilse ilgili domain ıçin MX sorgusu yaparlar ve haberleşerek, e-postayı iletmesi gereken sunucuyu bulurlar. Benzer şekilde diğer sunucuların kendisini bulabilmeleri için A ve PTR kayıtlarının yanısıra MX kayıtları da olmalıdır.

  • Yapılan MX kayıtlarındaki öncelik değerli e-posta servisinin sürekliliğini ve yük paylaşımlı çalışmasını sağlayacak şekilde ayarlanabilir. Öncelik değeri düşük MX kaydına sahip sunucu e-postayı ilk kabul edecek sunucudur, öncelik değeri daha yüksek olan sunucu ise diğer sunucunun servis veremediği durumlarda yedek sunucu olarak e-postaları kabul edecektir. Farklı bir yaklaşımla eşit öncelik değerine sahip sunucular e-posta trafiğini paylaşırlar.


Linux ta e posta servisi
Linux’ta E-Posta Servisi

  • Linux işletim sistemi üzerinde çalışabilecek temel MTA programları Sendmail, Qmail, Exim, Postfix ve LDA programları ise Procmail ve Maildrop’tur. Red Hat ve Fedora Linux Dağıtımları ile gelen MTA programları Sendmail ve Postfıs, LDA programı ise procmail’dlr.

  • Sendmall programı ilk olarak Eric Ailman tarafından Berkeley Üniversitesinde geliştirilmiştir. İlk olarak delivermail isimi ile birlikte ve ARPAnet üzerinde çalışacak şekilde tasarlanmıştır. TCP protokolünün ortaya çikması ve bir ağ üzerinde bulunabilecek sistem sayısındaki inanılmaz artış sonrası SMTP protokolünün de tasarlanmasıyla beraber sendmail programı yazılmıştır.

  • E-posta servisi verecek bir sunucuda sendmail ve procmail programlarının kurulu olması gerekir.


Sendmail kurulum
Sendmail Kurulum

  • Sendmail kaynak kodundan kurulabileceği gibi Fedora dağıtımı ile birlitkte gelen rpmler kullanılarak da kurulabilir. Sendmail servisini kullanabilmemiz için temel olarak sendmail ve procmail rpmlerinin kurulu olması gereklidir.

  • Fedora Core 4 ile gelen

    sendmail sürümü sendmail-8,13,4-2,

    procmail sürümu procmail-3.22-16dir.


Sendmail yap land rma
Sendmail Yapılandırma

  • Sendmail paketi birçok parçadan oluşur. Paket kurulduktan sonra sistemde yeni programlar, dosyalar, dizinler ve servisler oluşur. Sendmail’in temelini yapılandırma dosyası oluşturur ve bu dosya sayesinde işlemler gerçekleşir.

  • Temel yapılandırma dosyası /etc/mail/sendmail.cf dir. Bunun yanında birçok ek dosya ile çeşitli yapılandırmalar yapdabillr.


Sendmail cf ve sendmail mc
sendmail.cf ve sendmail.mc

  • sendmail.cf yapılandırma dosyasında iki şekilde değişiklik yapılabilir.

  • İlk yol bu dosyaya üstünde gerekli değişikliği dosyayı açıp içinde gerekli değişikliği yapmaktır.

  • İkinci yöntem sendmail.cf dosyasını sendmail.mc dosyasından üretmektir. Bu dosyadan sendmail.cf üretmek için dosyanın bulunduğu dizin olan /etc/mail dizininde make komutunu yürütmek yeterlidir. “make” komutu ile sendmail.cf dosyasının oluşturulabilmesi için sendmail-cf paketinin kurulu olması gereklidir. Eğer kurulu değilse aşağıdaki gibi uyarı mesajı alınır.

    [[email protected] mail]# make

    WARNİNG: ‘sendmail.mc’ is modified. Please install package sendmail-cf to update your configuration.

    Fedora Core 4 ile gelen sendmail-cf sürümü sendmail-cf -8.13.4-2’dür.

    [[email protected] sendmail]# rpm –ivh sendmail-cf-8.13.4-2.1386.rpm

    Preparing... ###################################### (1004)

    1:sendmail-cf ###################################### (1004)


Sendmail cf ve sendmail mc1
sendmail.cf ve sendmail.mc

  • /etc/maii/sendmail.mc dosyası macro formatında yapılandırma dosyasıdır. Sendmail.cf dosyası oluşturulurken M4 işleyicisi sendmail.mc dosyasını işleyerek sendmail.cf’yi oluşturur. Dosyanın macro formatında olmasının bir çok avantajı vardır.

  • Sendmailin yeni versiyonlarının çıkmasıyla birlikte sendmaile yeni özellikler gelir. Buna paralel olarak da sendmail.cf’nin yapısı değişir. Sendmail’in güncellenmesinden sonra eski sendmail.cf yeni versiyonda çalışmayabilir, Ancak make komutu ile sendmail.mc ile tekrar sendmail.cf dosyasının oluşturulması yeniden yapılandırma yapmaktan kurtarır.

  • Aynı sendmail.mc dosyasında farklı sistemlere uygun sendmail.cf oluşturulabilir. Örneğin aynı sendmail.mc dosyası hem Fedora, hem HP-UX hem de Solaris’de işletim sisteminde çalışan sendmail’de kullanılabilir. Bu platformlarda sendmail.cf yeniden oluşturulduğunda farklılıklar olduğu rahatlıkla görülebilir.

  • Gerekli yapılandırma sendmail.cf dosyasında elle değişiklik yaparak oluşturuluyorsa sistem yöneticisinin make komutunun kullanılması sendmail.cf’nin yeniden oluşturulmasına ve yapılan değişikliklerin kaybolmasına neden olacaktır.


Sendmail yap land rma1
Sendmail Yapılandırma

Sendmail sunucusu varsayılan yapılandırmada sadece kendi üstünden gelen istekleri yanıtlar ve sadece loopback adresi (127.0.0.1) dinler.

[[email protected] ~]# netstat -atn|grep 35

tcp 0 0127.0.0.1:5335 0.0.0.0:* LİSTEN

İnternet üstünden gelen postaları da kabul edebilmesi için yapılandırmada aşağıdaki değişiklik yapılmalıdır. Sendmail.mc’de aşağıdaki değişiklik yapılmalıdır.

Önce → DAEMON_OPTIONS(` Port=smtp,Addr=127.0.0.1,Name=MTA`)

Sonra → DAEMON_OPTIONS(` Port=smtp,Name=MTA`)

sendmail.cf dosyasının yeniden oluşturulmasından sonra sendmail.cf’de aşağıdaki alan da değişecektir.

Önce → O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA

Sonra → O DaemonPortOptıons= Port=smtp, Name=MTA


Sendmail yap land rma2
Sendmail Yapılandırma

Sendmail’in çalışma mantığında gelen e-postalar öncelikle kuyruğa alınır. Daha sonra kuyruktaki e-postalar işlenerek bunların hedefe ulaşması sağlanır. Eğer e-postanın gideceği sunucu servis dışı olduğunda e-posta kuyrukta beklemeye devam eder. Sunucunun yükünün arttığı durumlarda, kapalı olduğu yada bağlantı isteklerini geri çevirdiği durumlarda e-posta kuyrukta bekler. Kuyrukta bekleyen e-postalar belirli aralıklarla tekrar gönderilmeye çalışılırlar, tekrar deneme süresi /etc/sysconfig/sendmail dosyasında QUEUE ile belirtilir.

[[email protected] ~]#cat /etc/sysconfig/sendmail|grep QUEUE

QUEUE=1h

Varsayılan değeri 1 saattir, bu değer istenilen şekilde değiştirilebllir. Örneğin 20 dakika yapmak için bu değeri 20m yapıp, servisi yeniden başlatmak yeterlidir.


Sendmail yap land rma3
Sendmail Yapılandırma

Sendmail belli bir süre bu postayı göndermeyi denedikten sonra hala e-postayı gönderemediyse kullanıcıya e-postayı gönderemediğini bildiren ve ne kadar daha süre daha göndermeye çalışacağını bildiren bir e-posta yollar. Varsayılan olarak 4 saat sonunda kullanıcıya uyan mesajı yollanır ve 5 gün boyunca posta yollanmaya çalışılır. Kullanıcıya uyarı mesajı yollanması için beklenen sürenin 4 saatten daha küçük bir değere çeklimesi yararlı olacaktır.Bu değerler sendmail.mc’de aşağıdaki satırlarda belirtillr.

dnl define(‘confTO_QUEUEWARN’ , ‘4h’) dnl

dnl define(‘confTO_QUEUERETURN’ , ‘5d’) dnl

sendmail.cf de aşağıdaki satırlarla bu değerler belirtilir.

O Timeout, queuereturn=5d

O Timeout, queuewarn=4h

Kuyrukta bekleyen e-postaları görmek için mailq veya sendmail —bp komutu kullanılabilir.


Etc maii local host names
/etc/maiI/local-host-names

Sendmail’in kabul edeceği e-posta domainleri /etc/mail/local-host-names dosyasında belirtilir. Dosyadaki domainleri sendmail üstünde tuttuğunu anlayarak, bu domainlere gelen mailleri üstüne alır. Bu dosyanın kullanılabiliyor olması için sendmail.mc aşağıdaki satırın bulunması gerekir.

FEATURE(‘use_cw_file’)

Standart yapılandırmada bu satır ekli olarak gelir. Bu özellik ile sendmail.cf dosyasında aşağıdaki satır üretilmiş olur.

Fw/etc/mail/local-host-names

local-host-names dosyası kullanılmadan da bu yapdandırma yapılabilir. Bunun için sendmail.cf

dosyasında LOCAL_DOMAIN deyimi kullanılabilir.

LOCOL_DOMAIN(‘myo.fatih.edu.tr’)

LOCOL_DOMAIN(‘lab3.fatih.edu.tr’)


Alias lar
Alias’lar

Alias işlemi alıcının adresini bir veya birden fazla alıcı adresiyle değiştirme işlemidir. Alıcı adresi olarak bir kullanıcı, birden fazla kullanıcı içeren bir liste, bir program, bir dosya veya bunların karışık

olarak kullanımı olabilir. Aliaslar ile

- bir kullanıcıya birden fazla adresten e-posta gelmesi

- tek bir adresten birden fazla kullanıcıya e-posta iletimi

- e-postaları dosyalara eklemeyi

  • e-postaların programlar veya scriptlerle filtrelenmesi sağ lanabilir.

    Varsayılan alias dosya yolu /etc/aliases’dır. Bu dosyanın yerini değiştirmek için sendmailmc’de

    define (‘ALIAS_FILE’, /ets/aliases’) dnl

    değiştirilebilir. sendmail.cf dosyanın yeniden oluşturulmasından sonra sendmail.cf’de aşağıdaki alan da değişecektir.

    # location of aliasfile

    O AliasFile=/etc/aliases


Alias lar 2
Alias’lar (2)

  • Alias dosyasının yapısında her satırda bir alias bulunur. Eğer satırın başında boşluk veya tab varsa o satır üst satır ile birleşik sayılır. Eğer satır başında # işareti varsa o satır göz ardı edilir. Bir alias satırı aşağıdaki gibidir.

  • Yerel: alias

  • Her satırının “#” işaretinden önceki kısmı yereldeki adresi belirtir, “#” işaretinden sonraki kısım bu yerel adrese gelen e-postanın kime dağılacağını belirtir. Eğer satırda “:” işareti olmazsa hata loglarda hata mesajı alınacak ve bu satır göz ardı edilecektir.

  • root:gulshat, [email protected]

  • Yukardaki aliasda root’a gelen e-postalar yereldeki gulshat ku lanıcısına ayrıca da [email protected] adresine yollanacaktır. Böylece her iki adrese de e-posta göndermek yerine tek bir adrese göndererek 3 kullanıcıya da postanın iletilmesi sağlanmış olur. Varsayılan yapılandırmada yerel kullanıcılar dışında bir adrese yönlendirme yapılamıyor. Bu özellik için sendmail.mc’ye aşağıdaki satır eklenmeli ve sendmail.cf oluşturulmalıdır.

  • MODIFY_MAILER_FLAGS(‘smtp’, ‘+A’)


Alias lar 3
Alias’lar (3)

  • Alias dosyasında 4 farklı tip alias tanımlanabilir.

  • LHS: kullanıcı

  • LHS: /file

  • LHS: |program

  • LHS: :include: liste_yolu

  • user : e-postanın ulaştırılacağı adrestir. Bu adres yerelde veya dışarıda bir adres olabilir.

  • /fiIe : e-postanın ekleneceğl dosyayı belirtir. Bu durumda belirtilen dosyanın sonuna gelen posta eklenir.

  • |program: e-postanın yönlendirileceği programı belirtir. Gelen posta | işareti ile belirtilen programla işlenir. Programa yönlendirilen aliaslarda dikkatli olmak gereklidir, dikkatsiz yapılan yönlendirmeler güvenlik açıklarına neden olabilir.

  • :include: e-postanın yönlendirileceği listeyi belirtir. Liste_yolu alanı listenin bulunduğu yolu belirtir. Bu yoldaki dosyada alıcıların adresleri “,” ile belirtilmiş bir şekilde bulunmalıdır.


Alias lar 4
Alias’lar (4)

Alias dosyasının her posta geldiğinde okunması servisi ciddi şekilde yavaşlatacağı için sendmail alias dosyasının yerine alias veritabanını kullanır. Alias dosyası değiştirildikten sonra bu veritabanı tekrar oluşturulmalıdır. Bu işlem aşağıdaki newaliases veya sendmail -bi komutlardan birini kullanarak yapılabilir.

[[email protected] ~]# newaliases

/etc/aliases: 76 aliases, longest 10 bytes, 765 bytes total

Alias dosyasında hata olması durumunda alias veritabanı oluşturulurken uyarı alınacaktır.


Forward
.forward

.forward dosyası kullanıcının kendisine gelen e-postaya uugulanacak işlemi belirler. .forward dosyası kullanıcının ev dizininde bulunmalıdır. Bu dosya ile gelen postayı başka bir adrese, bir dosyaya yada bir programa yonlendirebilir.

[[email protected] gulshat]$ cat .forward

\esat

/users/home/gulshat/postayedek

[email protected]

Yukardaki .forward dosyasırıın ilk satırında gelen postanın yereldeki esat kullancısının posta kutusuna yönlendirilmesi sağlanıyor.

İkinci satır ile postayedek dosyasına postanın bir kopyasının yazılmasını sağlıyor

son satır ise postanın bir kopyasının [email protected] adresine yollanmasını sağlıyor.


Masquerading
Masquerading

  • Sendmail sunucusu üstünden gönderilen e-postaların sonuna kendi isimlerini eklerler. Masquarading işlemi ile gönderilen postaların sonuna sunucu isminin yerine domain isminin eklenmesi sağlanır. Örneğin: mail.fatih.edu.tr isimli bir sunucu üstünden gulshat kullnıcısı e-posta yolladığında e-postanın gönderen kısmında [email protected] adresi görünür. Gönderen domain ismini değiştirmek için sendmail.mc’ge aşağıdaki gibi MASQUARDE tanımı yapılabilir.

    MASQUERADE_AS (‘fatih.edu.tr’) dnl


ad