Postfix'i kasutamine Debianiga: erinevus redaktsioonide vahel

Allikas: Kuutõrvaja
Mine navigeerimisribaleMine otsikasti
Imre (arutelu | kaastöö)
Imre (arutelu | kaastöö)
181. rida: 181. rida:
===Cyrus===
===Cyrus===


Postkastihalduse tarkvara Cyrus sisaldab muu hulgas selliseid kompoenente
Postkastihalduse tarkvara Cyrus sisaldab muu hulgas selliseid komponente


* haldusvahendid (cyradm programm)
* imap server
* imap server
* pop3 server
* pop3 server
* imtest imap test-klient
* testkliendid (IMAP serveri testklientprogramm imtest)


Cyrus'e kasutuselevõtmiseks tuleb sooritada näiteks selline tegevuste järgnevus
Cyrus tarkvaraga saab pealnäha sarnase tulemuse, so postkastide pidamise saavutada üsna mitmel erineval moel. Käesolev tekst kirjeldab järgmisete omadustega juhtumit
 
* kõik Cyruse protsessid töötavad ühes ja samas operatsioonisüsteemi eksemplaris
* Cyruse kasutajad tulevad välisest PostgreSQL andmebaasist SASL ja omakorda PAM abil
* Cyruse postkastidesse saabuvad kirjad Postfix MTA'st LMTP protokolli kasutamise teel
* Cyruse postkastidele on ligipääs IMAP ja POP3 serverite kaudu, krüptitud ja krüptimata andmevahetust võimaldades
 
Sellisel moel käivitatud Cyruse kasutuselevõtmiseks tuleb sooritada näiteks selline tegevuste järgnevus


* paigaldada vajalik hulk Cyrus'e komponent
* paigaldada vajalik hulk Cyrus'e komponent
* paigaldada vajalik hulk SASL komponente
* valmistada ette PostgreSQL andmebaas
* paigaldada vajalik hulk PAM komponente
* valmistada ette PAM komponent
* valmistada ette SASL komponent
* moodustada kasutajale Cyruse postkast
* seadistada Cyrus käima koostöös Postfixiga
* seadistada Cyrus käima koostöös Postfixiga
* moodustada kasutajatele Cyruse postkastid
 
====Cyrus tarkvara paigaldamine====


Cyrus'e paigaldamiseks tuleb öelda
Cyrus'e paigaldamiseks tuleb öelda
199. rida: 210. rida:
   # apt-get install cyrus-pop3d-2.2 cyrus-imapd-2.2 cyrus-doc-2.2 cyrus-clients-2.2 cyrus-admin-2.2 libsasl2-modules libsasl2-2 sasl2-bin
   # apt-get install cyrus-pop3d-2.2 cyrus-imapd-2.2 cyrus-doc-2.2 cyrus-clients-2.2 cyrus-admin-2.2 libsasl2-modules libsasl2-2 sasl2-bin


Cyrus tarkvara seadistamine toimub peaasjalikult selliste seadistusfailide muutmise teel
Cyrus tarkvara seadistamine toimub peaasjalikult seadistusfaili /etc/imapd.conf muutmise teel


* /etc/imapd.conf
====PostgreSQL andmebaasi ettevalmistamine====
* /etc/default/saslauthd


====Kasutajate haldus====
PostgreSQL andmebaasi tabelis hoitakse Cyruse kasutajate autentimiseks vajalikke andmeid.


Cyrus töö käigus kasutatakse mitmeid nö andmebaase
====PAM komponendi ettevalmistamine====
 
* postkastide andmebaas
* Cyruse kasutajate andmebaas (läbi SASL'i nt PAM kaudu ja nt omakorda PostgreSQLi andmebaasist)


PostgreSQLi andmebaasi kasutamiseks peab paigaldama paketi üldotstarbelise paketi libpam-pgsql
PostgreSQLi andmebaasi kasutamiseks peab paigaldama paketi üldotstarbelise paketi libpam-pgsql
215. rida: 222. rida:
   # apt-get install libpam-pgsql
   # apt-get install libpam-pgsql


ning seadistusfaili /etc/pam_pgsql.conf sisuga
PAM komponendi ettevalmistamine toimub failide /etc/pam.d/imap ning /etc/pam_pgsql.conf abil


  # cat /etc/pam.d/imap
  auth        required    pam_pgsql.so
  account    required    pam_pgsql.so
  password    required    pam_pgsql.so
ning
  # cat /etc/pam_pgsql.conf
   host = andmebaasi.hostname
   host = andmebaasi.hostname
   database = andmebaasinimi
   database = andmebaasinimi
229. rida: 244. rida:
   pw_type = md5
   pw_type = md5


ning /etc/pam.d/imap failis ridu
====SASL komponendi ettevalmistamine====
 
SASL kompoenendi seadistamine toimub faili /etc/default/saslauthd abil.
 
====Cyruse administratiivne kasutaja ja kasutajate haldus====
 
Cyrus töö käigus kasutatakse mitmeid nö andmebaase


  auth        required    pam_pgsql.so
* postkastide andmebaas
  account    required    pam_pgsql.so
* Cyruse kasutajate andmebaas (läbi SASL'i nt PAM kaudu ja nt omakorda PostgreSQLi andmebaasist)
  password    required    pam_pgsql.so


ning /etc/imapd.conf failis peavad sisalduma read
ning /etc/imapd.conf failis peavad sisalduma read

Redaktsioon: 15. detsember 2008, kell 22:11

Sissejuhatus

Postfix on postiedastusagent (ingl. k. mail transport agent, MTA). Postiedastusagendi ülesanne on võtta epost võrgust või lokaalselt vastu ja anda edasi

  • postijaotusagendile (ingl. k. mail delivery agent, MDA) kirjade kasutajate postkastidesse jaotamiseks
  • järgmisele postiedastusagendile
  • viiruste analüüsi süsteemile
  • spami analüüsi süsteemile

Postiedastusagent on epostisüsteemi keskne komponent, mis ühendab kokku kõik eposti liikumisega toimuvad tegevused

                   internet (teised MTA'd)
 
                            | ^
                            v |
                           _____
 spämmi analüüs   <---->  |     | <---- lokaalne meilisaatja (nn /usr/sbin/sendmail STDIO)
 viiruste analüüs <---->  | MTA | <---- MTA klient, nt Icedove või Thunderbird
                          |_____| ----> postijaotusagent nt Cyrus või lihtsamal juhul kopeeritakse kiri faili /var/mail/kasutajanimilinefail

Eesmärk

Eesmärgiks on seadistada käima selliste omadustega postiedastusagent

  • võtab vastu domeenide loomaaed.tartu.ee ja www.loomaaed.tartu.ee posti
  • saadab mart@loomaaed.tartu.ee aadressile saadetud kirja edasi aadressile
  • salvestab priit@loomaaed.tartu.ee aadressile saadetud kirja faili /var/mail/mart
  • võimaldab saata välja alamvõrkudest 192.168.0.0/24 ja 172.16.0.0/24 posti

Tarkvara paigaldamine

Postfix tarkvara saab paigaldada Debiani paketihaldusest öeldes

 bash# apt-get install postfix

Tavaliselt siis eemaldatakse vaikimisi Debiani standard operatsioonisüsteemi kooseisus esinev Exim Postfixi vastu. Postfixi paigaldamisel tuleb valida 'General type of configuration', 'valime Internet Site'

  • No configuration
  • Internet Site
  • Internet with smarthost
  • Satellite system
  • Local only

Seejärel küsitakse 'mail name' väärtust, see hakkab esinema läbi selle postisüsteemi välja saadetud kirjade eposti aadresside @ märgist paremal

 loomaaed.tartu.ee

Seejärel tekitatakse kasutaja, genereeritakse seadistusfailid ja käivitatakse Postfix.

 Setting up postfix (2.3.8-2) ...
 Adding group `postfix' (GID 105) ...
 Done.
 Adding system user `postfix' (UID 104) ...
 Adding new user `postfix' (UID 104) with group `postfix' ...
 Not creating home directory `/var/spool/postfix'.
 Creating /etc/postfix/dynamicmaps.cf
 Adding tcp map entry to /etc/postfix/dynamicmaps.cf
 Adding group `postdrop' (GID 106) ...
 Done.
 setting myhostname: ria-pg1a.test.kit
 setting alias maps
 setting alias database
 changing /etc/mailname
 setting myorigin
 setting destinations: loomaaed.tartu.ee, ria-pg1a.test.kit, localhost.test.kit, localhost
 setting relayhost: 
 setting mynetworks: 127.0.0.0/8
 setting mailbox_command
 setting mailbox_size_limit: 0
 setting recipient_delimiter: +
 setting inet_interfaces: all
  
 Postfix is now set up with a default configuration.  If you need to make 
 changes, edit
 /etc/postfix/main.cf (and others) as needed.  To view Postfix configuration
 values, see postconf(1).
 
 After modifying main.cf, be sure to run '/etc/init.d/postfix reload'.
 
 Running newaliases
 Stopping Postfix Mail Transport Agent: postfix.
 Starting Postfix Mail Transport Agent: postfix.

Postfixiga on seotud failisüsteemis sellised kataloogid ning failid

  • /etc/postfix - Postfixi seadistusfailid
  • /etc/mailname
  • /var/spool/postfix - saba (ingl. k. queue)
  • /var/log/mail.log - logi
  • /usr - programmifailid ja teegid ning dokumentatsioon, erinevates kataloogides, 'dpkg -L postfix' ütleb

Seadistamine

Süsteemist väljuva posti ümbriku muutmiseks tuleb kasutada mail.cf failis rida

 smtp_generic_maps = hash:/etc/postfix/generic

ning /etc/postfix/generic ise sisaldab näiteks selliseid ridu

 www-data@arvuti.sisedomeen   www-bounce@valisdomeen.ee
 root@arvuti.sisedomee       www-bounce@valisdomeen.ee

Muudatuste kehtestamiseks tuleb generic'ikile vastav andmebaas moodustada käsuga

 # postmap /etc/postfix/generic

ning laadida reload'iga Postfix.

Kasutamine

Aliase olemasolu kontrollimiseks sobib öelda

 # postmap -q mart@loomaaed.tartu.ee pgsql:/etc/postfix/pgsql-local.cf

Logi

Jõudlus

Amavis

Põhimõtteliselt Amavis tarkvara iseseisvalt sisulist lisaväärtust postisüsteemile ei paku, aga ta võimaldab ühendada Postfix'i kokku väliste teenustega, näiteks viiruste analüüsi tarkvaraga ClamAV.

Amavis paigaldatakse öeldes

 # apt-get install amavisd-new

Vaikeseadistustega Amavis sobib kasutamiseks

  • Amavis kuulab soketil 127.0.0.1:10024
  • Amavis pöördub MTA poole aadressile 127.0.0.1:10025

Selleks, et Postfix kõik talle laekunud posti saadaks läbi Amavisi peab lisama main.cf faili rea

 content_filter=amavisfeed:[127.0.0.1]:10024

ning faili master.cf lisama sektsioonid

 amavisfeed unix    -       -       n       -       2     smtp
    -o smtp_data_done_timeout=1200
    -o smtp_send_xforward_command=yes
    -o smtp_tls_note_starttls_offer=no
 
 127.0.0.1:10025 inet n    -       n       -       -     smtpd
    -o content_filter=
    -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 smtpd_restriction_classes=
    -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_checks,no_milters
    -o local_header_rewrite_clients=
    -o smtpd_milters=
    -o local_recipient_maps=
    -o relay_recipient_maps=

ClamAV

ClamAV on vaba tarkvaraline viirustõrjeprogramm, mille kasutamisel tarvitatakse ClamAV tasuta viiruste kontrolli andmebaasi teenust.

Tarkvara paigaldatakse tavaliselt Debian volatile arhiivis, selleks peab /etc/apt/sources.list sisaldama esimese reana

 deb http://ftp.aso.ee/debian-volatile lenny/volatile main contrib non-free

Paigaldamiseks tuleb öelda

 # apt-get install clamav

Vaikeseadistustega ClamAV sobib kasutamiseks.

Cyrus

Postkastihalduse tarkvara Cyrus sisaldab muu hulgas selliseid komponente

  • haldusvahendid (cyradm programm)
  • imap server
  • pop3 server
  • testkliendid (IMAP serveri testklientprogramm imtest)

Cyrus tarkvaraga saab pealnäha sarnase tulemuse, so postkastide pidamise saavutada üsna mitmel erineval moel. Käesolev tekst kirjeldab järgmisete omadustega juhtumit

  • kõik Cyruse protsessid töötavad ühes ja samas operatsioonisüsteemi eksemplaris
  • Cyruse kasutajad tulevad välisest PostgreSQL andmebaasist SASL ja omakorda PAM abil
  • Cyruse postkastidesse saabuvad kirjad Postfix MTA'st LMTP protokolli kasutamise teel
  • Cyruse postkastidele on ligipääs IMAP ja POP3 serverite kaudu, krüptitud ja krüptimata andmevahetust võimaldades

Sellisel moel käivitatud Cyruse kasutuselevõtmiseks tuleb sooritada näiteks selline tegevuste järgnevus

  • paigaldada vajalik hulk Cyrus'e komponent
  • valmistada ette PostgreSQL andmebaas
  • valmistada ette PAM komponent
  • valmistada ette SASL komponent
  • moodustada kasutajale Cyruse postkast
  • seadistada Cyrus käima koostöös Postfixiga

Cyrus tarkvara paigaldamine

Cyrus'e paigaldamiseks tuleb öelda

 # apt-get install cyrus-pop3d-2.2 cyrus-imapd-2.2 cyrus-doc-2.2 cyrus-clients-2.2 cyrus-admin-2.2 libsasl2-modules libsasl2-2 sasl2-bin

Cyrus tarkvara seadistamine toimub peaasjalikult seadistusfaili /etc/imapd.conf muutmise teel

PostgreSQL andmebaasi ettevalmistamine

PostgreSQL andmebaasi tabelis hoitakse Cyruse kasutajate autentimiseks vajalikke andmeid.

PAM komponendi ettevalmistamine

PostgreSQLi andmebaasi kasutamiseks peab paigaldama paketi üldotstarbelise paketi libpam-pgsql

 # apt-get install libpam-pgsql

PAM komponendi ettevalmistamine toimub failide /etc/pam.d/imap ning /etc/pam_pgsql.conf abil

 # cat /etc/pam.d/imap
 auth        required    pam_pgsql.so 
 account     required    pam_pgsql.so
 password    required    pam_pgsql.so

ning

 # cat /etc/pam_pgsql.conf
 host = andmebaasi.hostname
 database = andmebaasinimi
 user = cyrus_auth
 password = cyrus_auth_parool
 table = skeeminimi.tabelinimi
 user_column = username
 pwd_column = passwd
 expired_column = expire_status
 newtok_column = newtok
 debug
 pw_type = md5

SASL komponendi ettevalmistamine

SASL kompoenendi seadistamine toimub faili /etc/default/saslauthd abil.

Cyruse administratiivne kasutaja ja kasutajate haldus

Cyrus töö käigus kasutatakse mitmeid nö andmebaase

  • postkastide andmebaas
  • Cyruse kasutajate andmebaas (läbi SASL'i nt PAM kaudu ja nt omakorda PostgreSQLi andmebaasist)

ning /etc/imapd.conf failis peavad sisalduma read

 sasl_mech_list: PLAIN
 sasl_pwcheck_method: saslauthd

Testimiseks sobib kasutada Cyrus tarkvaraga kaasa tulevat imap klienti imtest, näiteks selliselt

 $ imtest -a mart -u mart localhost -w mardiparool
 S: * OK smtp2a Cyrus IMAP4 v2.2.13-Debian-2.2.13-14+b3 server ready
 C: C01 CAPABILITY
 S: * CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ NAMESPACE UIDPLUS ID NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY SORT     THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE IDLE
 S: C01 OK Completed
 C: L01 LOGIN mart {7}
 S: + go ahead
 C: <omitted>
 S: L01 OK User logged in
 Authenticated.
 Security strength factor: 0
 . list "" "*"
 * LIST (\HasChildren) "." "INBOX"
 . OK Completed (0.000 secs 6 calls)
 . logout
 * BYE LOGOUT received
 . OK Completed
 Connection closed.