POSTFIX

Elementy uslugi pocztowej

postfix - wysylanie (smtp)
dovecot - sprawdzanie i odbieranie poczty (pop3/imap)
/etc/postfix/main.cf - conf parameters
/etc/postfix/master.cf - daemon conf
MUA - odczytywanie , tworzenie , nadawanie wiadomosci
MTA - przesylanie wiadomosci. Zezwala/Odrzuca przyjecie wiadomosci ; relay ; queque
MDA - ostateczne dostarczenie (local), przechowywanie wiadomosci

Bounce/Reject

Reject - MTA nie akceptuje wiadomosci
Bounce - MTA akceptuje wiadomosc, ale nie moze jej dostarczyc

Protokoły

SMTP - WYSYŁANIE wiadomosci.
Opisuje komunikacje miedzy dwoma hostami przez internet w celu wymiany wiadomosci.
Wystepuje pomiedzy MUA-wysylanie-MTA, MTA-submission/transmission-MTA

POP - ODBIERANIE wiadomosci ; pobiera wszystkie wiadomosci
IMAP - ODBIERANIE wiadomosci; zarzadzanie pobieraniem wiadomosci
SASL - DEFINIUJE wymiany danych autentyfikacji miedzy klientem a serwerem.

błędy smtp: 2xx-ok 3xx-komenda ok, serwer czeka na nastepna komende 4xx-komenda ko, retry 5xx-komenda ko, problem permamebnt

POP/IMAP są używane do ODZYSKIWANIA wiadomości.
Opisuja jak odzyskiwawac wiadomosci z message store (directory na serwerze).
MUA-pobieranie-POP/IMAP

SMTP

SMTP to względnie prosty, tekstowy protokół, w którym określa się co najmniej jednego odbiorcę wiadomości
(w większości przypadków weryfikowane jest jego istnienie),
a następnie przekazuje treść wiadomości. Demon SMTP działa najczęściej na porcie 25.
Łatwo przetestować serwer SMTP przy użyciu programu telnet.
Elementy uslugi pocztowej Protokoły: Postfix dla usera jest prawie niewidoczny, z punktu widzenia internetu odgrywa glowna role

Seciruty w postfix

POP3 (Post Office Protocol version 3)
protokół internetowy z warstwy aplikacji pozwalający na odbiór poczty elektronicznej ze zdalnego serwera do lokalnego komputera poprzez połączenie TCP/IP
jedynie pobieranie i kasowanie poczty
przyklad seji pop3
podaje identyfikator użytkownika, którego poczta będzie ściągana, podaje hasło
prosi o listę wiadomości oczekujących na ściągnięcie
ściąga pierwszą (i akurat w tym przypadku ostatnią) z wiadomości
kasuje wiadomość po jej ściągnięciu
kończy sesję (polecenie quit).

IMAP

(Internet Message Access Protocol) to internetowy protokół pocztowy zaprojektowany jako następca POP3.
IMAP - nastepca POP3
- zarządzanie wieloma folderami pocztowymi oraz pobieranie i operowanie na listach znajdujących się na zdalnym serwerze.
- pozwala na ściągnięcie nagłówków wiadomości i wybranie, które z wiadomości chcemy ściągnąć na komputer lokalny.
- pozwala na wykonywanie wielu operacji, zarządzanie folderami i wiadomościami.
- korzysta z protokołu TCP oraz portu 143, natomiast IMAPS - również korzysta z TCP oraz portu 993

Techniczna

/etc/postfix - conf
# master.cf - master daemon uruchamia pozostale uslugi Postfixa # main.cf - glowny conf. my origin - defaultowa domain jesli nie podana /usr/libexec/postfix - daemony
/var/spool/postfix - queue

postconf - test
postmap - przeksztalca pliki na lookup tables ; podglad
postqueue, postsuper, postcat

/var/spool/postfix

/var/spool/postfix/active /var/spool/postfix/bounce /var/spool/postfix/corrupt /var/spool/postfix/deferred - bedzie retry /var/spool/postfix/hold

MX (DNS) - mail routing info , mail exchangers. mowi MTA gdzie wysylac wiadomosci

myhostname - fqdn, musi byc ustawione inaczej postfix wezmie z systemu mydestination - domeny, dla ktorych postfix dostarczy lokalnie wiadomosc
relay_domains - postifx wie ze ma je zaakceptowac i przeslac do innego serwera

MUA - pickup - cleanup - incoming queue

master.cf

- daemon master uruchamia pozostale uslugi kiedy sa potrzebne
- dash (-) oznacza wartosc defaultowa

service - nazwa uslugi
type - transport type
inet network sockets - moze sie komunikowac z LOKALNYMI procesami/z procesami na INNYCH serwerach w sieci
- network socket uzywa kombinacji (hostname/IP) + (port/symbolic name -> /etc/services)
unix unix domain sockets - komunikacja z LOKALNYMI procesami
fifo named pipes - komunikacja z LOKALNYMI procesami

private - dostepny dla systemu POSTFIX (y)/ PUBLICZNY (n)
unpriv - y uruchamiane jako unpriviledged user- $mail_owner ; n to root
chroot - dodatkowe zabezpieczenie, komponent uruchamiany w $queue_directory ; - ustawienie y wymaga dodatkowych konfiguracji
wakeup - ? to uzycie tylko wtedy, gdy komponent jest aktualnie uzywany ; 0 to nie jest wymagany (to defaultowe ustawienie)
maxproc - ilosc procesow jednoczesnie ; $default_process_limit ; default 100 ; 0 brak limitu ; wydajnosc serwera
command + args - $daemon_directory -

Limity

- ilosc przychodzacej poczty
- rozmiar wiadomosci
- dlugosc lini w wiadomosci
- ilosc bledow komunikacji z klientem przed rozlaczeniem

przepisywanie adresu

- myorigin - dodanie nazwy domeny do niekompletnego adresu
- canonical_maps - tabela mapowania adresow. canonical = standardowy. Czesto uzywa sie tego do zmiany formatu z wewnetrznego na publiczny

1. plik /etc/postfix/canonical
jdoe@example.com john.doe@example.com
jdoe@example.com john.doe@example-outside.com
modyfikacja main.cf: $canonical_maps ; postmap /etc/postfix/canonical; postfix reload

- maskowanie hostname
sluzy do ukrycia nazw hostow
masquerade_domains = example.com ; wtedy host@server1.example.com jest tlumaczony na host@example.com
masquerade_exceptions = admin, root

relocated users - /etc/postfix/relocated
@example.com test.com - wszystkie maile do example.com zostana odrzucone z informacja, ze zmienila sie domena

Nieistniejacy uzytkownik
luser_relay = catchall (konto w systemie)
local_recipient_maps =

qmgr - zarzadzanie kolejka

manager zarzadza 5 kolejkami: incoming, active, deferred, hold, and corrupt
- postsuper and postqueue - manualne zarzadzanie kolejkami
- incoming ->active ->delivery agent albo deferred (temporary delivery problem; jezeli sie utrzymuje to bounce do nadawcy)
- kolejka corrupt - nieczytelne wiadomosci - kazda kolejka ma swoja lokalizacje /var/spool/postfix/active /var/spool/postfix/bounce /var/spool/postfix/corrupt /var/spool/postfix/deferred /var/spool/postfix/hold
- powiadomienie o bledach - mozna skonfigurowac jako wiadomosc dla administratora. $notify_classes

Narzedzia

  • Listing messages - postqueue -p/mailq
  • Deleting messages - postsuper -d XYZ
    ● Holding messages - kolejka do przetrzymania dopoki recznie nie wyslemy - postsuper -h - ustawia wiadomosc na onhold. wyslanie - postsuper -H ● Requeuing messages - mielismy wiadomosci deferred np. przez blad konfiguracji, to robimy requeue. postsuper -r ● Displaying messages - postcat -q ● Flushing messages - natychmiastowa proba dostarczenia. postqueue -f/postqueue -s strona 95