Mailserver s virtuálními účty HOWTO

Z Gentoo Linux Wiki

Přejít na: navigace, hledání

Obsah

[editovat] Úvod

E-maily jsem vždycky považoval za něco jako černou skříňku - fungovaly a neměl jsem ponětí jak. Možná už jsem na to trochu přišel, takže kdo máte zájem rozeběhnout dobře spravovatelný e-mailový server, můžete zkusit následující HowTo. Jeho výsledkem by měl být SMTP a POP3/IMAP server, který:

  • pro ukládání údajů o doménách, schránkách a aliasech používá MySQL databázi
  • umožňuje použít SSL/TLS šifrování (SSL šifrování zatím není popsáno pro Postfix)
  • používá SMTP autorizaci
  • obsahuje zákládní obranu proti SPAMu

V MySQL databázi není všechno - každá doména v tomto howto používá vlastní systémový účet, který musí být vytvořen. To ale není příliš velký problém zautomatizovat.

[editovat] Výběr programů

Brzy jsem zjistil, že jenom s jedním programem si nevystačím (jaký to objev). Budeme potřebovat:

  • SMTP server, který se bude starat o doručování pošty z našeho počítače a stejně tak i o přijímání pošty. Ve chvíli, kdy ale poštu přijme a chceme si jí přečíst třeba v Outlooku, tak budeme potřebovat i
  • POP3 / IMAP server. Většina programů umí oba protokoly s tím, že IMAP je jakožto novější protokol preferovaný. Z toho důvodu budu dále psát jenom o IMAP serveru

[editovat] SMTP server - Postfix

Postfix je moderní SMTP server, jehož základy napsal známý bezpečnostní expert Wietse Venema. Je napsán s ohledem na bezpečnost, snadnou konfiguraci a má výbornou dokumentaci. Postfix mi od začátku perfektně vyhovoval, takže jsem neměl potřebu zkoušet jiné SMTP servery. Dalším důvodem je, že k Postfixu byla vydána velice dobrá kniha Postfix - kompletní průvodce.
Kniha popisuje verzi 2.1, což není příliš velký problém - postupy v ní uvedené budou fungovat. Ve skutečnosti mě překvapila na české podmínky neobvyklou aktuálností.

[editovat] IMAP server - Dovecot

Výběr vhodného IMAP serveru byl na druhou stranu trochu utrpení, pokud bych to měl vzít popořadě, tak jsem postupně vyzkoušel:

  • Courier-IMAP z vcelku jednoduchého důvodu - je to nejpoužívanější IMAP server ve všech možných HowTos. Vadila mi u něj jediná maličkost a to, že v klientech typu MS Outlook blbě zobrazoval hierarchii IMAP složek a bez další konfigurace Outlooku to nebylo možné změnit. Je to prkotina, ale já jsem perfekcionista a nechtěl jsem se s tím smířit.
  • Cyrus-IMAP (prý) extrémně výkonný IMAP server, který používá vlastní formát úložiště, hromadu indexů atd. Na druhou stranu má i podivný nástroj cyr-adm, není příliš user-friendly a má mizernou dokumentaci. A hlavní důvod je, že mi po nějaké chvíli přestal automaticky vytvářet mailboxy a nedokázal jsem to spravit, takže dalším v pořadí a mým celkovým vítězem se stal
  • Dovecot. Poměrně mladý projekt (13. dubna 2007 vyšla stabilní verze 1.0.0), který je napsán s ohledem na bezpečnost (autor vypsal odměnu za nalezení bezpečnostní chyby), má jednoduchou konfiguraci a dobrou dokumentaci.

[editovat] Instalace

Rozhodnul jsem se v obou případech použít testovací balíčky z Gentoo. U Postfixu to je z důvodu, že verze 2.3 umožňuje použití Dovecot-SASL pro SMTP autorizaci (viz dále) kromě standardního Cyrus-SASL. To by mi umožnilo obejít se bez dalšího běžícího démona, další konfigurace a dalšího mizerně zdokumentovaného kusu softwaru. U Dovecotu jsem to udělal, protože stále není k dispozici stabilní verze a každý další RC většinou opravuje něco navíc. Z toho důvodu se snažím mít vždy aktuální verzi.

[editovat] Nastavení Portage

[editovat] /etc/portage/package.keywords

Že chceme testovací balíčky je potřeba nastavit:

# echo '=net-mail/dovecot-1.0* ~x86' >> /etc/portage/package.keywords
# echo '=mail-mta/postfix-2.3* ~x86' >> /etc/portage/package.keywords

[editovat] USE flagy

Pro Postfix budeme chtít podporu MySQL a Dovecot-SASL, naopak se docela dobře obejdeme bez PAMu.

# echo 'mail-mta/postfix -pam dovecot-sasl' >>/etc/portage/package.use

mysql mám mám v globálních USE flags v /etc/make.conf, stejně tak v nich mám i ssl a hardened
Pro Dovecot opět MySQL a vypnout PAM, navíc ještě zapnout podporu pro POP3.

# echo 'net-mail/dovecot -pam pop3d' >> /etc/portage/package.use

[editovat] Instalace

Pokud jste už instalovali například Vixie-cron, tak ten jako jednu ze svých závislostí používá Simple SMTP server, který Postfix blokuje a je potřeba ho nejdřív odinstalovat:

# emerge -avC ssmtp

A teď opravdu můžeme začít:

# emerge -av dovecot postfix
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild  N    ] net-mail/dovecot-1.0_rc2  USE="mysql pop3d ssl -debug -doc -ipv6 -kerberos -ldap -mbox -pam -postgres -vpopmail" 0 kB
[ebuild  N    ] mail-mta/postfix-2.3.0  USE="dovecot-sasl hardened mysql ssl -cdb -ipv6 -ldap -mailwrapper -mbox -nis -pam -postgres -sasl"  0 kB
Total size of downloads: 0 kB
Would you like to merge these packages? [Yes/No] y

[editovat] MySQL

Všechno je hotové a začíná pořádná práce...

[editovat] Tabulky

Předpokládám, že databázi už máte založenou a že se jmenuje například db. V té potom vytvořte tabulky podle následujících SQL příkazů:
Toto schéma je bohužel úplně nevhodné pro použití například s Ruby on Rails. Pokud budete používat RoR na administraci, tak je potřeba ho odpovídajícím způsobem upravit a dále upravit SQL příkazy pro Postfix a Dovecot (níže).

[editovat] Domény

CREATE TABLE `domain` (
  `dom_id` int(11) unsigned NOT NULL default '0',
  `dom_name` varchar(255) collate utf8_czech_ci NOT NULL default ,
  PRIMARY KEY  (`dom_id`),
  UNIQUE KEY `dom_name` (`dom_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;

nebo

CREATE TABLE `domain` (
 `dom_id` INT(11) unsigned NOT NULL ,
 `dom_name` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_czech_ci NOT NULL ,
 PRIMARY KEY (`dom_id`) ,
 UNIQUE (`dom_name`)
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_czech_ci;

[editovat] E-mailové účty

CREATE TABLE `email_user` (
  `emlu_user` varchar(64) collate utf8_czech_ci NOT NULL default ,
  `emlu_password` varchar(32) collate utf8_czech_ci NOT NULL default ,
  `emlu_domain` int(11) unsigned NOT NULL default '0',
  `emlu_homedir` varchar(255) collate utf8_czech_ci NOT NULL default ,
  PRIMARY KEY  (`emlu_user`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;

[editovat] Aliasy

CREATE TABLE `email_alias` (
  `emla_domain` int(11) unsigned NOT NULL default '0',
  `emla_alias` varchar(64) collate utf8_czech_ci NOT NULL default ,
  `emla_destination` varchar(64) collate utf8_czech_ci NOT NULL default ,
  PRIMARY KEY  (`emla_alias`,`emla_destination`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;

Dále založíme uživatele pro přístup k těmto tabulkám. Z důvodu bezpečnosti je mnohem lepší nápad, když každá služba používá svého vlastního uživatele pro MySQL pouze s nezbytně nutnými právy.

mysql> GRANT SELECT ON db.domain TO 'postfix'@'localhost' IDENTIFIED BY 'secret';
mysql> GRANT SELECT ON db.email_user TO 'postfix'@'localhost';
mysql> GRANT SELECT ON db.email_alias TO 'postfix'@'localhost';
mysql> GRANT SELECT ON db.email_user TO 'dovecot'@'localhost' IDENTIFIED BY 'secret';

[editovat] Data

Vložíme do MySQL databáze alespoň nějaká data. K tomu jenom pár poznámek:

  • dom_id a emlu_domain musí odpovídat uid Unixového uživatele domény
  • emlu_user je celá e-mailová adresa
  • emlu_password je CRYPT heslo uživatele
  • emlu_homedir je cesta k e-mailové schránce relativně od virtual_malbox_base. Musí vždy končit lomítkem, aby Postfix věděl, že má použít formát maildir.

A to je vše, můžeme popojet...

[editovat] Postfix

[editovat] Základní nastavení

Základní a nejvíce upravovaným konfiguračním souborem Postfixu je /etc/postfix/main.cf. Když si ho otevřete ve svém oblíbeném editoru, tak zjistíte, že je velice dobře okomentovaný a používá klasický formát parametr = hodnota (pro hodnoty přes více řádků je potřeba každý další začínat odsazením).
Pokud si chcete ušetřit zbytečnou práci s pozdějšími updaty pomocí etc-update nebo dispatch-conf, tak prostě piště všechny svoje nové věci na konec souboru. Jako první je dobré nastavit parametr mynetworks. Ten určuje které IP adresy se budou brát jako lokální pro potřeby povolení/odeslání pošty. Osobně povoluji pouze localhost:

mynetworks =                    127.0.0.0/8

Jako druhé je nastavení adresáře, který bude sloužit jako základní cesta ke schránkám, takže například:

virtual_mailbox_base =          /var/mail

Postfix automaticky vytvoří adresář s e-mailovou schránkou, nevytvoří ale tuším adresář nad ním, tzn. pokud budete dále rozlišovat účty podle domén, tak musíte pro každou doménu vytvořit adresář ve virtual_mailbox_base.
Jako třetí a poslední je nastavení "map". Mapy jsou úložiště s levou částí (klíčem) a pravou částí (hodnotou). Některé z nich mají pouze levou část, tzn. testuje se jestli v nich záznam je, hodnota už není zajímavá. Mapy mohou mít spoustu různých formátů, my ale chceme mít všechno perfektně spravovatelné, takže použijeme MySQL. Na konec souboru přidejte:

virtual_uid_maps =              mysql:/etc/postfix/mysql-virtual-uids-map.cf
virtual_gid_maps =              static:1000
virtual_alias_maps =            mysql:/etc/postfix/mysql-virtual-aliases-map.cf
virtual_mailbox_domains =       mysql:/etc/postfix/mysql-virtual-domains-map.cf
virtual_mailbox_maps =          mysql:/etc/postfix/mysql-virtual-mailbox-map.cf

Vytvoření jednotlivých souborů je popsáno dále. virtual_gid_maps mapuje uživatele na group id odpovídajícího unixového uživatele. V mém případě mají všichni gid 1000, proto jsem použil mapu static. Pokud to pro vás neplatí, tak není problém si vytvořit vlastní mapu podle následujícího vzoru.
Zde je docela pěkne vidět, že pro rozeběhnutí Postfixu není potřeba udělat prakticky nic. Postfix v základní konfiguraci není open-relay a začne okamžitě doručovat na lokální účty. Osobně si myslím, že takhle by měl fungovat každý SW :-)

[editovat] MySQL mapy

MySQL mapy jsou soubory popisující SQL příkazy pro získávání nastavení a potřebné parametry pro připojení k MySQL databázi. Platí, že jeden soubor obsahuje vždy jednu mapu. Pokud jste použili tabulky podle předchozího návodu, tak můžete vytvořit soubory takto:

[editovat] Domény

/etc/postfix/mysql-virtual-domains-map.cf:

user =          postfix
password =      secret
hosts =         localhost
dbname =        db
query =         SELECT "1" FROM domain WHERE dom_name = '%s';

[editovat] UID

/etc/postfix/mysql-virtual-uids-map.cf:

user =          postfix
password =      secret
hosts =         localhost
dbname =        db
query =         SELECT emlu_domain FROM email_user WHERE emlu_user= '%s'

[editovat] E-mailové schránky

/etc/postfix/mysql-virtual-mailbox-map.cf

user =          postfix
password =      secret
hosts =         localhost
dbname =        db
query =         SELECT emlu_homedir FROM email_user WHERE emlu_user = '%s'

[editovat] Aliasy

/etc/postfix/mysql-virtual-aliases-map.cf

user =          postfix
password =      secret
hosts =         localhost
dbname =        db
query =         SELECT emla_destination FROM email_alias WHERE emla_alias = '%s'


Postfix musí mít k těmto souborům právo pro čtení. Pokud stejně jako já používáte roota s umask 077, tak to nepoletí. Nejlepší způsob je nastavit jim skupinu na skupinu pod kterou Postfix běží a práva na 640.

# chown :postfix /etc/postfix/mysql*
# chmod 640 /etc/postfix/mysql*

Tento formát map je funkční od verze 2.2, z toho důvodu není popsaný v Postfix knize. Je ale mnohem přehlednější, proto jsem ho použil. Starý způsob je stále funkční, je ale možné, že v dalších verzích bude odstraněn.

[editovat] Ready, steady, go

Postfix potřebuje ke svému behu existující soubor s aliasy. Ty nemají nic společného s aliasy v MySQL, ale prostě musí existovat, takže spusťe:

# newaliases

Nakonec Postfix spustíme odpovídajícím init.d skriptem:

# /etc/init.d/postfix start

a přidáme do runlevelu default:

# rc-update add postfix default

Teď se můžete připojit na port 25, napsat EHLO mydomain a kochat se tím, že se něco děje :-) Na testování odesílání e-mailů přes telnet jsem dost líný (i když to jde), takže si raději vytvořím testovací účet v e-mailovém klientu a zkouším tak. Pokud zpráva dorazí v pořádku, tak to poznáte jednak z logu, ve kterém se objeví něco na způsob:

Jul 22 20:18:39 localhost postfix/qmgr[4095]: A0BEBB00030C: from=<user@domain.tld>, size=4334, nrcpt=1 (queue active)
Jul 22 20:18:39 localhost postfix/virtual[4105]: A0BEBB00030C: to=<user@domain.tld>, relay=virtual, delay=0.24,
delays=0.14/0.06/0/0.04, dsn=2.0.0, status=sent (delivered to maildir)

a zároveň se můžete na zprávu podívat přímo v jejím úložišti (virtual_mailbox_base / emlu_homedir / new).

[editovat] Troubleshooting

[editovat] Kontrola konfigurace a logování

Správnou syntaxi konfiguračních souborů můžete ověřit pomocí:

# postfix check

Když je všechno v pořádku, tak příkaz nic nevrací.

[editovat] Logování

Postfix standardně loguje do /var/log/mail.log. Pokud informace, které podává z nějakého důvodu nestačí, tak je dobré zvýšit ukecanost (verbosity) logování. Pro to přidejte -vv (čím více v, tím větší verbosity) na konec řádku smtp v souboru /etc/postfix/master.cf a restartujte Postfix.

[editovat] Logování SQL dotazů

Je možné zapnout logování SQL dotazů přímo na úrovni MySQL. V souboru /etc/mysql/my.cnf nastavte

log = /tmp/mysqld.sql

[editovat] Dovecot

[editovat] Základní nastavení

Hlavní nastavení Dovecotu se nachází v souboru /etc/dovecot.conf. Soubor opět používá formát parametr = hodnota, s tím, že určité části konfigurace uzavírá mezi složené závorky, například:

protocol imap {
}

V souboru je potřeba provést pár změn:

[editovat] Povolit POP3

protocols = imap imaps pop3 pop3s

[editovat] Povolit plaintext autentifikaci

Pokud si dokážete vynutit používání SSL/TLS, tak to není potřeba, v opačném případě nastavte:

disable_plaintext_auth = no

[editovat] Formát cesty ke schránce

Cestu ke schránce budeme vždy vracet přímo z MySQL:

default_mail_env = maildir:%h

Další možností je mít schránky nějak standartizované, pokud například budete mít všechno v /var/mail/domena.tld/user/, tak můžete použít:

default_mail_env = maildir:/var/mail/%d/%u/

[editovat] POP3 UIDL formát

Bez mučení se přiznám, že vůbec netuším o co jde, ale POP3 protokol bez toho nefunguje. V komentářích je napsáno, že to musí být nastaveno na nejlépe na %08Xu%08Xv, takže proč se toho nedržet:

protocol pop3 {
  pop3_uidl_format = %08Xu%08Xv
}

[editovat] Přihlašování

Vše se nastavuje v sekci auth default. Zakomentujeme existující nastavení a zapneme ověřování hesla přes SQL a uživatele pomocí prefetch. Výsledek bez komentářů bude vypadat takto:

auth default {
  mechanisms = plain
  passdb sql {
    args = /etc/dovecot-sql.conf
  }
  userdb prefetch {
  }
  user = root
}

[editovat] Připojení k MySQL

V /etc/dovecot-sql.conf musíme nastavit připojení k MySQL databázi. Soubor je opět hodně dobře okomentovaný, takže napíšu jenom funkční konfiguraci:

driver =                mysql
connect =               host=/var/run/mysqld/mysqld.sock dbname=db user=dovecot password=secret
default_pass_scheme =   CRYPT
password_query =        SELECT emlu_user AS user, emlu_password AS password, CONCAT('/var/mail/', emlu_homedir) AS userdb_home,
emlu_domain AS userdb_uid, 1000 AS userdb_gid FROM email_user WHERE emlu_user = '%u'

[editovat] Ready, steady, go

To je vše, nyní můžete Dovecot spustit

/etc/init.d/dovecot start

připojit se pomocí svého e-mailového klienta a začít stahovat poštu. Nakonec opět přidat do odpovídajícího runlevelu:

# rc-update add dovecot default

[editovat] Troubleshooting

Dovecot opět loguje do /var/log/mail.log. Standardně loguje jenom přihlášení a odhlášení uživatele a některé chyby, pro ladění přihlašování (s ničím jiným snad ani problém být nemůže) povolte volby auth_verbose, auth_debug a případně i auth_debug_passwords v /etc/dovecot.conf:

auth_verbose = yes
auth_debug = yes
# pokud chcete vidět i heslo odeslané z e-mailového klienta
auth_debug_passwords = yes

Na rozdíl od Postfixu není potřeba logovat MySQL dotazy, Dovecot se o to postará.

[editovat] Nastavení SASL

Máme funkční SMTP server, který má ale jednu nevýhodu - umožňuje posílat e-maily pouze na lokální domény, do zbytku internetu pouze z localhostu (nebo co jste nastavili do mynetworks). Nejjednodušší cesta jak můžete zpřístupnit SMTP server uživatelům je použít SASL protokol, který si vynutí autorizaci (SMTP protokol byl navržený v dobách "přátelského" internetu, takže autorizaci neobsahuje).

[editovat] Dovecot

V sekci auth default v souboru /etc/dovecot.conf zapněte vytvoření socketu pro uživatele postfix:

auth default {
  mechanisms = plain login
  socket listen {
    client {
      path = /var/spool/postfix/private/auth
      mode = 0660
      user = postfix
      group = postfix
    }
  }
}

[editovat] Postfix

Do souboru /etc/postfix/main.cf přidáme několik nových nastavení:

# povolit SASL autorizaci
smtpd_sasl_auth_enable =        yes
# povolit pokazene klienty (od koho asi?)
broken_sasl_auth_clients =      yes
# nastavit Dovecot-SASL
smtpd_sasl_type = dovecot
# nastavit spravnou cestu
smtpd_sasl_path = private/auth
# a to hlavni - nastavit pravidla, ktera se kontroluji ve chvili kdy dojde SMTP prikaz RCPT TO:
# standartni nastaveni je smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination
# diky cemuz neni Postfix open-relay
smtpd_recipient_restrictions =
        permit_sasl_authenticated
        permit_mynetworks
        reject_unauth_destination

[editovat] Ready, steady, go

Restartujte Postfix i Dovecot

# /etc/init.d/dovecot restart && /etc/init.d/postfix restart

nastavte si ve svém e-mailovém klientu že SMTP server požaduje ověření a že uživatelské jméno i heslo jsou shodné se serverem příchozí pošty a můžete posílat zprávy i do zbytku internetu.

[editovat] Obrana proti SPAMu

Na závěr bych chtěl přidat pár pravidel, kterými je možné SMTP server ochránit před nešikovnými spammery (a těch je dost, což brzy zjistíte při prohlížení logu). V žádném případě to nemá nahradit pokročilé filtry jako SpamAssassin a jiné, zachytí to ale dost SPAMů, kterými by se potom tyto filtry musely zabývat.
Analýza e-mailu Bayesovským filtrem je mnohem náročnější na procesrový čas než jednoduchá kotrola jestli klient odeslal správně HELO nebo EHLO příkaz, navíc e-mail je potřeba nejdříve celý přijmout.

Všechna nastavení budou v souboru /etc/postfix/main.cf:

# Klienti musi zacit komunikaci HELO nebo EHLO. Normalni klienti to delaji
smtpd_helo_required     =       yes
# Muzeme zahodit nesikovne spammery jeste pred zacatkem komunikace po prikazu HELO(EHLO)
smtpd_helo_restrictions =
        permit_sasl_authenticated
        permit_mynetworks
        reject_invalid_hostname
        reject_non_fqdn_helo_hostname
        reject_unauth_pipelining
# par omezeni pro odesilatele
smtpd_sender_restrictions =
        permit_sasl_authenticated
        permit_mynetworks
        reject_unknown_sender_domain
        reject_non_fqdn_sender
        reject_unauth_pipelining
# a par omezeni pro prijemce, aby se Postfix nemusel zabyvat zpravama,
# ktere nema kam dorucit a plnil tim frontu
smtpd_recipient_restrictions =
        permit_sasl_authenticated
        permit_mynetworks
        reject_unauth_destination
        reject_non_fqdn_recipient
        reject_unknown_recipient_domain

Většina těchto omezení má svoje opodstatnění v odpovídajících RFC. Prakticky se nemůže stát, aby to zablokovalo odesílání autorizovaného uživatele, prozatím se mi pouze jednou stalo, že došlo k zablokování příjmu pošty z nějakého domácího SMTP serveru se špatně nastaveným hostname. To je vše, teď stačí znovu nahrát konfiguraci

# postfix reload

a trochu otestovat. Nejlepší je vždy vyzkoušet jestli je možné:

  • odeslat poštu na jiný server, pokud je zapnuto SMTP ověřování
  • přijmout poštu odeslanou na náš server z jiného

Zároveň nesmí jít odeslat e-mail z našeho serveru bez přihlášení, tím se server stává open-relay a velice rychle míří na černou listinu.

[editovat] Postfix - poslední detaily

Pro náš server můžeme v klidu vypnout službu biff. Biff zasílá Unixovým uživatelům upozornění na přijaté maily, pokud jsou ale všichni uživatele virtuální, tak to ztrácí smysl.

biff = no

Další zbytečnost je VRFY, neboli kontrola jestli e-mail existuje. Skvělá věc pro spammery, takže je lepší ji vypnout.

disable_vrfy_command = yes

[editovat] Odkazy

K problematice e-mailů je na internetu ohromné množství znalostí, uvedu ty nejzajímavější, ze kterých jsem čerpal:

  • Virtual Mailhosting System with Postfix Guide - postarší, ale stále použitelné Gentoo Howto, které používá Postfix + Courier-IMAP + Cyrus-SASL
  • HOWTO Email: A Complete Virtual System - návod na vytvoření kompletního e-mailového systému. Je potřeba si z něj vybrat pouze odpovídající části.
  • Dokumentace Postfixu - jedna z nejlepších dokumetací, které jsem doposud viděl. Kromě příkladů obsahuje i abecedně řazený přehled všech konfiguračních direktiv pro main.cf (asi tak 95% z nich nebudete nikdy potřebovat).
  • PostfixWiki - opravdu velká hromada návodů k Postfixu.
  • DovecotWiki - ne tak skvělá dokumentace jako k Postfixu, ale stále dobře použitelná.
  • RFC 822 a RFC 2822 - základní RFC, popisující doručování zpráv na internetu (resp. ehm, ARPA Internetu). Pouze pro hard core administrátory.

Titulek odkazu