Courier

Softvérový balík courier

Ďalšie dokumenty

Pridanie novej domény

  • pridanie mena domény do súboru: /etc/courier/hosteddomains/domain-list
    • po zmene je nutné zaktualizovať DB domén príkazom: makehosteddomains
  • pridanie mena domény do súboru: /etc/courier/esmtpacceptmailfor.dir/mydestination
    • po zmene je nutné zaktualizovať DB domén príkazom: makeacceptmailfor
  • nasmerovanie mailu (jedna z dvoch nasledujúcich možností)
    • vytvorenie účtu – priamo s menom domény – viď Sprava uctov
    • vytvorenie aliasu pre účet, ktorý už je na serveri – viď Sprava uctov

Doménový kôš

  • http://perlstalker.amigo.net/tiki/tiki-view_faq.php?faqId=2#q2
  • chceme doručovať poštu pre celú doménu vybranému používateľovi
  • založiť používateľa alias@domena1
  • do jeho home (/var/maildir/alias@domena1) vložiť súbor .courie-default s adresou, komu má byť pošta doručovaná adresa@domena2

Automatické odpovedanie na maily

  • zatiaľ môže definovať len root
  • do /var/maildir/login_pouzivatela je nutné umiestniť nasledujúci skript do súboru .mailfilter
   cc $DEFAULT
   xfilter "reformail -r -t"
   /^To:.*/
   getaddr($MATCH) =~ /^.*/;

   MATCH=tolower($MATCH)
   flock "vacation.lock" {
        `fgrep -iqx "$MATCH" vacation.lst 2>/dev/null || { 
                  echo "$MATCH" >>vacation.lst ; 
                  exit 1 ; 
              } `
   }
   if ( $RETURNCODE == 0 )
   exit
   to "| ( cat - ; echo ''; cat vacation.msg) | $SENDMAIL"
  • do súboru vacation.msg sa umiestni text správy
  • súbory musia byť vlastnené tým, kým má courier nadefinované v userdb (napr. mail)
  • súbory nesmú mať právo pre skupiny a ostatných
  • ak dorazí mail, skript automaticky odpovie správou zo súboru vacation.msg a zaradí odosielateľa do zoznamu adries, ktorým už nemá byť e-mail s oznámením doručovaný
  • každému teda príde práve jedna upomienka, pri poslaní mailu
    • čo je ochrana proti zacykleniu mailov v prípade, že by aj odosielateľ mal nastavený vacation
  • zdroj: http://www.courier-mta.org/?maildropex.html

Rušenie pošty zo zásobníka

Najkôr je nutné zistiť identifikátor, mailu, ktorý ma byť zrušený. To je možné zistiť príkazom: mailq

Samotné odstránenie pošty prebieha príkazom: cancelmsg

Príklad:

    cancelmsg 00042B8F.421E65B3.00003904

Kompletni odstraneni posty pro nejaku domenu príkazom: courier-delete-tomsg.sh domena

Kompletni odstraneni posty od odesilatele príkazom: courier-deletemsg.sh odosielatel

Príklad:

     courier-delete-tomsg.sh xuite.net

Znovu rozoslanie pošty, ktorá uviazla v zásobníku

   courier flush

Zmena adries, odkiaľ sú maily prijímané na doručenie

V súbore /etc/courier/smtpaccess sú definované IP rozsahy, odkiaľ je pošta akceptovaná. Po akejkoľvek zmene je nutné zavolať nasledujúci príkaz, inak sa zmena neprejaví:

   makesmtpaccess

Relay – preposielanie domény, ktorá nehostuje na serveri

  • esmtpacceptmailfor.dir/domena
    • vyšpecifikovať danú doménu
    • zadať: makeacceptmailfor
  • do /etc/courier/esmtproutes pridať
        domena:[ip servera]
    
        Napr.:
        test.cz:[177.222.111.1]

Relay – preposielanie pošty na nadradený server

  • v súbore /etc/courier/esmtproutes je možné špecifikovať servery, ktoré sa starajú o preposielanie pošty, pre jenodtlivé domény
  • úplný relay je možné zabezpečiť pomocou
   :[82.113.57.2]

Nastavenie maximálnej veľkosti akceptovaného mailu

V /etc/courier/esmtpd je nutné nastaviť premennú SIZELIMIT na potrebnú hodnotu, ak nie je špecifikovaná, považuje sa za maximum 10MB

   SIZELIMIT=10485760

Záznam dialogu mail serverov – ladenie komunikácie

V /etc/courier/esmtpd je nutné nastaviť premennú ESMTP_LOG_DIALOG na hodnotu 1

Courier – IMAP – SSL – certifikát

Návod na vygenerovanie príslušného certifikácu pre courier-imap-ssl

  • zmodifikovať /etc/courier/imapd.cnf
  [ req_dn ]
  C=SK
  ST=Slovakia
  L=Moje_mesto
  O=domenka.net
  OU=domenka.net
  CN=mail.domenka.net
  emailAddress=ca@domenka.net
  • zmazať starý certifikát
  rm /usr/lib/courier/imapd.pem
  • vygenerovať nový certifikát
  mkimapdcert
  cp /usr/lib/courier/imapd.pem /etc/courier/
  • reštartnúť démonka
  /etc/init.d/courier-imap-ssl restart

Courier – ostatné certifikáty

ESMTP-SSL:

  rm /usr/lib/courier/esmtpd.pem
  mkesmtpdcert
  cp /usr/lib/courier/esmtpd.pem /etc/courier/
  /etc/init.d/courier-mta-ssl restart

POP-SSL:

  rm /usr/lib/courier/pop3d.pem
  mkpop3dcert
  cp /usr/lib/courier/pop3d.pem /etc/courier/
  /etc/init.d/courier-pop-ssl restart

Migrácia z Mboxov na Maildir (courier)

  wget http://perfectmaildir.home-dn.net/perfect_maildir/perfect_maildir.pl
  chmod u+x perfect_maildir.pl
  • skonvertovať príslušný mailbox do maildiru
  perfect_maildir.pl ~/Maildir < mbox

Clamav – Antivírusová kontrola

Nasledujúcim skriptom je možné nahodiť antivírusovú kontrolu pre Couriera

  cd /etc/courier/filters
  wget http://karmak.org/2004/courier-clamav/clamav-perlfilter
  echo "/etc/courier/filters/clamav-perlfilter" >perlfilter
  echo "all" >perlfilter-mode
  filterctl start perlfilter
  /etc/init.d/courier-mta restart
  /etc/init.d/courier-mta-ssl restart

Maildrop – definícia cesty mailu

V /etc/courier/maildroprc je možné nastaviť, akými kontrolami mail prejde. Zmena sa prejavuje okamžite po uložení súboru.

  # Global maildrop filter file

  import RECIPIENT

  # Spam Filter
  xfilter "/usr/bin/spamc"

  if (/^X-Spam-Status: Yes/)
  {
        to "/var/maildir/spam/Maildir"
  }

  # Sanitizer
  #xfilter "/usr/bin/sanitizer /etc/borax/sanitizer/sanitizer.conf"

  DEFAULT="$HOME/Maildir"

Ochrana proti spamu

  • zamietnutie prijímania mailov z neexistujúcich domén
    • ‚/etc/courier/bofh‘: opt BOFHSPFHELO=pass,none,softfail,neutral,unknown
  • zamietnutie prijímania mailov zo zakázaných domén (načítavané z banlistu na internete)
    • ‚/etc/courier/esmtpd‘: BLACKLISTS="-block=list.dsbl.org,BLOCK -block=sbl.spamhaus.org,BLOCK -block=blackholes.mail-abuse.org,BLOCK -block=relays.mail-abuse.org,BLOCK"

Odstraňovanie mailov

Odstránenie mailov od určitého odosielateľa

  • je možné použiť nástroj courier-deletemsg.sh (nachádza sa vrámci balíka ServerAdmin Tools)
  • zápis: courier-deletemsg.sh emailadresa
  • je možné špecifikovať len časť adresy, v tom prípade budú odstránené všetky adresy, ktoré v sebe obsahujú zadaný reťazec

Odstránenie gigantického množstva mailov

  • pozor! používať veľmi opatrne! nepatrí do rúk deťom:
       cd /var/lib/courier/msgs; for l in  `ls -d -1 *`; do cd $l; for i in `grep www-data * | sed -e 's/:.*//g'`; do rm $i; done; cd /var/lib/courier/msgs ;done
  • skript bol požitý pri odstraňovaní následkov útoku, kedy vzniklo na serveri 27 000 mailov s odosielateľom www-data (pravdepodobne diera v nejakej PHP aplikacii)

Odstranění uživatele

Smazání uživatele couriera

  • odstranis radek s jeho jmenym zaznamem ze souboru:
       /etc/courier/userdb/script
  • potom zadas prikaz na aktualizaci DB:
       makeuserdb
  • Jeho domovsky mailovy adresar ve:
       /var/maildir

musis odstranit rucne.

Poznamka:

  • mail server povazuje adresy s velkymi pismenami za rovnake ako adresy s malymi pismenami. Tj. im_ziSka == im_ziska (to ja len tak pre informaciu 🙂

Otestovani komunikace serveru na postu

  • overeni nastaveni DNS dig -t MX lasquadra.cz @147.251.48.1 (dig -t MX(mail) jakoudomenu @ujakehoserveruoveruji
  • pripojime se telnetem

::

‚telnet mail.lasquadra.cz 25

Trying 82.113.57.2…

Connected to mail.lasquadra.cz.

Escape character is ^].

  1. ns.blucina.net ESMTP

helo ns.blucina.net

  1. ns.blucina.net Ok.

mail from:<kubes@blucina.net>

  1. Ok.

rcpt to:<spravce@lasquadra.cz>

  1. Ok.

data

  1. Ok.

To:

From:

Subject:

.

  1. Ok. 4667F620.00005F3C

quit

  1. Bye.

Connection closed by foreign host.‘

Chyby komunikace předání emailu a jejich odstranění

Vrací li se email s chybou :

  • > STARTTLS
  • < 500 couriertls: connect: error:14094410:SSL
  • > routines:SSL3_READ_BYTES:sslv3 alert handshake failure

je třeba :

  • pridat do /etc/courier/esmtproutes info o tom, ze sa nema sifrovat proti tomu serveru:media4web.cz:/SECURITY=NONEatruhlarstvi.com:/SECURITY=NONE

Chyby outlook a POP3 a jejich odstranění

Zobrazuje li se chyba :

  • > Filesystem notification error blabla errors with the FAM/Gamin library

je třeba :

  • doinstalovat do serveru Gamin (urobi admin sluzby):
       apt-get install gamin

Chyby outlook POP3

vyprsel casovy limit spojeni – nestahuje postu :

  • > vyprsel casovy limit spojeni

je třeba :

  • /etc/courier/pop3d zkontrolovat a navysit mnozstvi povolenych spojeni :
       MAXPERIP=20

problem je v tom, ze pokud je vice IP adres za NATem?, vidi server spojeni jako z jednoho stroje a v tomto ten limit je omezi a nepovoli dalsi spojeni, dokud stare nevyexpiruje.