LINUXZONE






 >> Hlavní stránka

(1751/28.09.2010)


 >> Administrace

(161/05.08.2010)


 >> Literatura

(312/14.09.2010)


 >> Bezpečnost

(347/17.09.2010)


 >> Programování

(307/19.04.2010)


 >> Distribuce

(98/16.09.2010)


 >> Síťování

(86/03.06.2010)


 >> Lokalizace

(10/15.09.2004)


 >> Aplikace

(176/12.08.2010)


 >> Multimedia

(32/31.03.2006)


 >> Hardware

(45/02.03.2007)


 >> Začínáme

(229/09.09.2010)


 >> Aktuálně

(564/20.09.2010)


 >> RELAX

(213/28.09.2010)


 >> Jinde vyšlo

přehled ostatních serverů




 Coolhousing




Coolhousing - Vas poskytovatel dedikovanych serveru




 Přihlášení




Login:
Heslo:
 uložit v prohlížeči


Nejste-li ješte zaregistrováni, můžete tak učinit zde.





 Vyhledávání




Hledaný výraz:
v klíčových slovech
v titulku
v anotaci
v textu








 Reklama









 Servis




*   Vaše náměty a připomínky
Máte k Linuxzone.cz nějaké připomínky nebo náměty? Našli jste na stránkách chybu? Dejte nám o tom vědět pomocí formuláře nebo v diskuzi.
Komentářů: 60
*   Podpořte Linuxzone.cz
Chcete podpořit náš server umístěním odkazu nebo zveřejněním backendu? Zde najdete vše potřebné.
*   Pište pro Linuxzone.cz
Máte zájem podílet se na obsahu Linuxzone.cz ať už jako redaktoři nebo i jinak? Dejte nám o sobě vědět!





 Aktuálně z bezpečnosti




-- 
6.12.2005, 19:01
Na serveru informit.com vyšla ukázková kapitola týkající se práce s řetězci z knihy Secure Coding in C and C++. (lz)

-- 
3.12.2005, 12:34
Bugtraq: Format String Vulnerabilities in Perl Programs. (lz)

-- 
3.12.2005, 12:32
Linux Advisory Watch December 2nd 2005. (lz)

-- 
23.10.2005, 13:28
Rozhovor na téma klasické zálohování versus CDP. (lz)

-- 
23.10.2005, 13:24
Linux Advisory Watch October 21st 2005. (lz)

další >>





 Aktuálně o software




-- 
6.12.2005, 19:07
Potřebujete-li pod linuxem rozchodit bezdrát založený na čipsetech Broadcom 43xx, konečně existuje linuxový ovladač. (lz)

-- 
6.12.2005, 19:04
Byla uvolněna verze Xen 3.0.0 virtualizační technologie XEN. (lz)

-- 
6.12.2005, 18:59
Byla uvolněna verze X11R6.9/X11R7 RC 3 grafickérho rozhraní X Window System. (lz)

-- 
3.12.2005, 12:45
Co je nového okolo projektu Amanda (open source zálohovací software)? Více na osnews.com. (lz)

-- 
3.12.2005, 12:40
Jak to akuálně v linuxu vypadá s podporou SATA.. (lz)

další >>





 Aktuálně z IT




-- 
3.12.2005, 12:51
Novellu se daří prodej linuxových produktů, oproti loňskému roku se Novell dočkal výrazného nárůstu. (lz)

-- 
3.12.2005, 12:48
Třetí verzi licence GPL by měla být publikována během jara 2007. (lz)

-- 
23.10.2005, 13:20
V Peru nyní mají zákon, který umožňuje nasazení open source software ve vládní správě. (lz)

-- 
23.10.2005, 13:14
Proč se Microsoft bojí Google? (lz)

-- 
27.9.2005, 22:01
Peru má zákon podporující free software. (lz)

další >>





 Nejčtenější články









 Nejlepší články









 Anketa




Používáte nějaké rozšíření bezpečnostního modelu linuxového jádra?

Openwall (17%)

LIDS (11%)

Pax/Grsecurity (3%)

SELinux (6%)

RSBAC (1%)

jiné (1%)

používám standardní jádro (62%)







Linuxzone.cz - server o Linuxu pro programátory, administrátory a fanoušky.
Provozuje společnost Impossible.
ISSN: 1213-8738





Poštovní server s virtuálními účty trochu jinak II

Tento článek je volným pokračováním článku Poštovní server s virtuálními účty trochu jinak.

SASL ověřování přes Dovecot

Pomocí příkazu postconf zjistíme, zda Postfix umí SASL ověřování přes Dovecot:

# postconf -a
cyrus
dovecot

Do konfiguračního souboru Postfixu /etc/postfix/main.cf přidáme:

...
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks,
                               permit_sasl_authenticated,
                               reject_unauth_destination
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth

a znovunačteme konfiguraci pro Postfix. Do konfiguračního souboru Dovecotu /etc/dovecot/dovecot.conf přidáme:

...
auth default {
  mechanisms = plain
  passdb passwd-file {
    args = /etc/dovecot/passwd
  }
  userdb static {
    args = uid=51 gid=51
  }
  socket listen {
    client {
      path = /var/spool/postfix/private/auth
      mode = 0660
      user = postfix
      group = postfix
    }
  }
}

a znovunačteme konfiguraci pro Dovecot.

Další typy ověřování mohou být například:

mechanisms = plain login cram-md5 digest-md5

Podrobné informace najdeme na stránce Authentication Mechanisms.

Pomocí programu telnet otestujeme, jaké jsou nabízeny typy ověřování. Předpokládám, že servery pro SMTP a IMAP protokol běží na standardních portech:

# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 server ESMTP Postfix
EHLO pc.domena1.xx
250-server
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN CRAM-MD5 DIGEST-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
QUIT
221 2.0.0 Bye
Connection closed by foreign host.

# telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK Dovecot ready.
a01 CAPABILITY
* CAPABILITY IMAP4rev1 SASL-IR SORT THREAD=REFERENCES MULTIAPPEND 
UNSELECT LITERAL+ IDLE CHILDREN NAMESPACE LOGIN-REFERRALS STARTTLS 
AUTH=PLAIN AUTH=LOGIN AUTH=CRAM-MD5 AUTH=DIGEST-MD5
a01 OK Capability completed.
a02 LOGOUT
* BYE Logging out
a02 OK Logout completed.
Connection closed by foreign host.

Typy ověřování by v obou případech měly být stejné. Testování funkčnosti ověřování SASL je popsáno například na stránce Testing SASL authentication in the Postfix SMTP server.

Skript pro snadnou údržbu virtuálních účtů

Pomocí bash skriptu vmail.sh lze provádět snadnou správu všech virtuálních účtů. K tomu stačí jediný jednoduchý textový soubor, po jeho rozparsování se pomocí skriptu vygenerují všechny potřebné konfigurační soubory pro Postfix i Dovecot. A nakonec se automaticky provede načtení nové konfigurace.

V konfiguračním souboru platí následující syntaxe:

  • Řádky začínající znakem '#', mezery a prázdné řádky jsou ignorovány, například:
    # toto je poznamka
    
  • Jednotlivé domény jsou popsány v sekcích, každá sekce začíná znakem '@' a názvem domény. Sekce končí bud začátkem další sekce nebo koncem souboru. Například:
    @domena1.xx
    
  • V rámci sekce jsou definováni jednotliví virtuální uživatelé a jejich hesla. Jméno uživatele a heslo jsou odděleny znakem '*'. Heslo může být buď v normálním textu nebo již zakódované pomocí programu dovecotpw. Například:
    josef*heslo
    franta*{CRYPT}omNJtqTs2QvTY
    
    Aby parser rozpoznal, že jde o již zakódované heslo, je nutné za '*' uvést typ kódování uzavřený ve složených závorkách '{' a '}'. Typ kódování je nutné napsat pouze pomocí VELKÝCH PÍSMEN, číslic a znaku '-'. Nakonec je uvedeno zakódované heslo. Tento tvar je výstup programu dovecotpw.
    
    
  • V sekci mohou být definovány i přezdívky (aliasy). Za názvem přezdívky je znak ':' a za ním následuje seznam účtů nebo emailů navzájem oddělených buď mezerou nebo čárkou, například:
    emil:emil,emil@jinam.xx
    
    Na serveru musí existovat učet 'user'. Pak v souboru /etc/aliases bude třeba:
    user:/home/user/soubor_s_postou
    
    nebo
    user:|/usr/bin/nejaky_program
    
    Po změně v souboru /etc/aliases nezapomeňte na příkaz newaliases, o tento soubor se skript nestará!

Všechny konfigurační soubory nutné pro Postfix a Dovecot uvedené v prvním díle, dostaneme po rozparsování tohoto jednoduchého souboru vmail.conf:

@domena1.xx
     josef*heslo
     pepa:josef
     frantici:franta@domena2.xx,franta@domena3.xx

@domena2.xx
     emil*{MD5}$1$xxmfJp2Z$Xsz0LQxTf4ChK.sMm8QKI0
     emil:emil,emil@jinam.xx
     franta*{SSHA}KgzVZlGq9+JlT5kGWEtk4nT1+dlPZOE7

@domena3.xx
     franta*{CRYPT}omNJtqTs2QvTY

Skript vmail.sh provádí pouze syntaktickou kontrolu, ne logickou. Skript může spustit pouze root. Před prvním spuštěním je nutné nastavit několik důležitých proměnných:

  • Pro ladění, je-li nastaveno true, připraví se pouze kopie konfiguračních souboru (soubory .tmp), ale neprovede se změna konfigurace mail serveru:
    debug=false
    
  • Umístění implicitního konfiguračního souboru, jinak lze zadat i jako parametr skriptu:
    confname="vmail.conf"
    
    V tomto případě je konfigurační soubor ve stejném adresáři jako skript.
    
    
  • Používat schránku typu maildir (jinak mbox):
    maildir=true
    
  • Implicitní kódování hesla (z výpisu 'dovecotpw -l'). Tato volba se využívá, pokud není pro daného uživatele v konfiguračním souboru vmail.conf nastaveno již zakódované heslo. Pro zvýšení bezpečnosti je lepší použít cokoliv jiného, třeba "CRYPT":
    defaultPasswordScheme="PLAIN"
    
  • Kde jsou uloženy konfigurační soubory pro Postfix:
    vdomains="/etc/postfix/vdomains"
    vmailboxes="/etc/postfix/vmailboxes"
    valiases="/etc/postfix/valiases"
    
  • Kde je uložen konfigurační soubor s hesly pro Dovecot:
    vpasswd="/etc/dovecot/passwd"
    
  • Každá doména by měla mít některé důležité adresy pro administrátory. Pravděpodobně to bude alias směřující na Váš email. Pak stačí tento email vložit do proměnné baseUser a skript automaticky doplní aliasy pro každou doménu:
    baseUser="nekdo@nekde.xx"
    baseMails=( postmaster abuse )
    
    Potom budou u každé domény vybrané aliasy směřovat na adresu nekdo@nekde.xx.
    
    
  • Umístění programu dovecotpw:
    dovecotpw="/usr/sbin/dovecotpw"
    
  • Umístění programu postmap:
    postmap="/usr/sbin/postmap"
    
  • Program a jeho parametr ("reload", "force-reload", ...) pro znovunačteni konfigurace pro Dovecot:
    initDovecot="/etc/init.d/dovecot"
    initDovecotParam="reload"
    

Po tomto nastavení je již vše připraveno. Po editaci souboru vmail.conf stačí spustit skript:

# ./vmail.sh
domena1.xx
domena2.xx
domena3.xx
changing configuration mail server         done
Reload service dovecot                     done

Skript konfigurační soubor rozparsuje do jednotlivých souborů pro Postfix a Dovecot. Nakonec provede znovunačtení jejich konfigurace. Pokud nastane chyba, skript Vás na ni upozorní a změnu konfigurace pochopitelně neprovede.

Download komentovaného skeletu konfiguračního souboru a bash skriptu je zde: vmail.tgz (3.2 KiB). Nezapomeňte nastavit jako vlastníka uživatele root a práva také pouze pro roota, konfigurační soubor by rozhodně neměl být čitelný pro normálhího uživatele na serveru.

Zvýšení bezpečnosti

Jako vylepšení bezpečnosti poštovního serveru s virtuálními účty, se doporučuje vytvořit na serveru uživatele s UID a grupu s GID ne menší jak 100. Vytvoříme tedy uživatele vmail (bez shellu) třeba s UID 999 a skupinu vmail s GID 999. Uživatel vmail pak bude jediným členem skupiny vmail. Tento uživatel také bude vlastníkem adresáře (práva 700), kde je ukládána pošta, v tomto příkladu je to /var/spool/mail. Pak provedeme drobné změny v konfiguračních souborech:

/etc/postfix/main.cf:

...
virtual_minimum_uid = 999
virtual_uid_maps = static:999
virtual_gid_maps = static:999

/etc/dovecot/dovecot.conf:

...
  userdb static {
    args = uid=999 gid=999
  }
  socket listen {
    client {
      ...
      user = vmail
      group = vmail
...

A to je vše...

Kontakt

Další části seriálu:

Autor: Jiří Jozif, 30. 04. 2008, 00:00
Sekce Administrace, Komentářů: 0
Průměrné hodnocení: 0,38

o Poslat e-mailem
o Tisk článku
o Uložit do profilu


 Přispějte nám




Líbil se Vám tento článek? Můžete ho ocenit zavoláním na tel. číslo 906 460 134.
Cena hovoru za 1 minutu je 46 Kč.





 Hodnocení článku




Článek hodnotím jako:  [1] výborný   [2] dobrý   [3] průměr   [4] špatný   [5] hrůza  





 Komentáře







PŘIDAT KOMENTÁŘ ZOBRAZ VŠE >>










2002 © Impossible, s.r.o.   >> Kontaktujte redakci >> Právní upozornění >> Reklama