abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 23:55 | Komunita

LTS (Long Term Support) podpora Ubuntu 12.04 LTS (Precise Pangolin) skončila po 5 letech od jeho vydání, tj. v dubnu 2017. V březnu 2017 ale Canonical představil placenou ESM (Extended Security Maintenance) podporu, díky které je Ubuntu 12.04 podporováno do dubna 2020. Dnes Canonical potvrdil ESM podporu také pro Ubuntu 14.04 LTS (Trusty Tahr), jehož LTS podpora skončí v dubnu 2019.

Ladislav Hagara | Komentářů: 0
včera 15:00 | Nová verze

Byla vydána verze 3.0.0 frameworku pro vývoj multiplatformních desktopových aplikací pomocí HTML, CSS a JavaScriptu Electron (YouTube, GitHub). Electron byl původně vyvíjen pro editor Atom pod názvem Atom Shell. Dnes je na Electronu postavena celá řada dalších aplikací.

Ladislav Hagara | Komentářů: 0
včera 14:44 | Nová verze

Po půl roce vývoje od vydání verze 6.0.0 byla vydána verze 7.0.0 překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, clang-tools-extra a LLD.

Ladislav Hagara | Komentářů: 0
včera 13:44 | Nová verze

Byla vydána verze 3.0.0 knihovny pro vykreslování grafů v programovacím jazyce Python Matplotlib (Wikipedie, GitHub). Přehled novinek a galerie grafů na stránkách projektu. Zrušena byla podpora Pythonu 2.

Ladislav Hagara | Komentářů: 0
včera 00:22 | Komunita

V Norimberku probíhá do pátku ownCloud conference 2018, tj. konference vývojářů a uživatelů open source systému ownCloud (Wikipedie) umožňujícího provoz vlastního cloudového úložiště. Přednášky lze sledovat online. Videozáznamy jsou k dispozici na YouTube. Při této příležitosti byl vydán ownCloud Server 10.0.10. Z novinek lze zdůraznit podporu PHP 7.2. Vydán byl také ownCloud Desktop Client 2.5.0. Vyzkoušet lze online demo ownCloudu.

Ladislav Hagara | Komentářů: 1
včera 00:11 | Pozvánky

Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.

xkucf03 | Komentářů: 0
18.9. 16:11 | Komunita

Vývojáři relačního databázového systému PostgreSQL oznámili, že schválili svůj Code of Conduct (CoC) aneb kodex chování vývojářů PostgreSQL.

Ladislav Hagara | Komentářů: 20
18.9. 14:44 | Nová verze

Byla vydána verze 1.0 poštovního serveru Courier (Wikipedie). Aktualizovány byly také související balíčky jako Courier authentication library, Courier-IMAP, SqWebMail, maildrop nebo Cone.

Ladislav Hagara | Komentářů: 0
18.9. 02:22 | Zajímavý software

Společnost ​Versity Software otevřela svůj archivační souborový systém ScoutFS. Zdrojové kódy jsou k dispozici na GitHubu (kernel space, user space) pod licencí GPLv2.

Ladislav Hagara | Komentářů: 28
18.9. 00:44 | Nová verze

Byla vydána verze 4.2 programovacího jazyka Swift (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu. Ke stažení jsou oficiální binární balíčky pro Ubuntu 18.04, Ubuntu 16.04 a Ubuntu 14.04. Přehled novinek ve videozáznamu přednášky z WWDC 2018.

Ladislav Hagara | Komentářů: 6
Na optické médium (CD, DVD, BD aj.) jsem naposledy vypaloval(a) data před méně než
 (13%)
 (15%)
 (20%)
 (23%)
 (25%)
 (4%)
 (1%)
Celkem 370 hlasů
 Komentářů: 33, poslední 16.9. 11:55
Rozcestník

Oddělení MSA a MTA

15. 1. 2010 | Lukáš Jelínek | Sítě | 11438×

Message Submission Agent

link

Pod tímto tajemným názvem (zkracovaným jako MSA) se skrývá věc, která formálně existuje už hodně dlouho, nicméně v praxi na ni člověk moc nenarazí. Jde o klasický problém „slepice-vejce“. Protože to nikdo nepoužívá, nikdo to nezavádí. A protože to nikdo nezavádí, nikdo to nepoužívá.

Snad i malé dítě už dnes ví, že SMTP služba běží standardně na portu 25. Na tento port se připojují serverové i klientské programy a jeho prostřednictvím probíhá veškerá e-mailová komunikace. Jenže to má některé nepříjemné důsledky, proto vznikl nápad, že se to rozdělí. Port 25 bude sloužit jen pro doručování pošty (tedy komunikace mezi servery, vystupování jako Mail Transfer Agent), kdežto pro odesílání z klientů se použije port jiný, konkrétně 587. Zabývá se tím RFC 2476, nově také draft RFC 4409.

Právě v čísle portu spočívá onen problém s „nepoužíváním“. V poštovních klientech je jako výchozí port nastaven téměř vždy 25 a změna na 587 mnohdy znamená, že se uživatel musí zanořit do hloubi nastavení poštovního účtu a číslo portu tam změnit. Na druhou stranu, pokud by tam bylo 587, u většiny poskytovatelů by to nyní nefungovalo a uživatel by byl opět nucen trápit se s nastavováním. Je otázkou, do jaké míry je vhodným řešením „automatická konfigurace“ použitá například v programu Mozilla Thunderbird 3.

Výhody separace MSA a MTA

link

Za „normálních“ okolností, tedy tak, jak je většina poštovních serverů nastavena, se tentýž server chová nejen jako Mail Transfer Agent, ale de facto také jako Mail Submission Agent, byť ne se všemi specifiky. To přináší různé problémy, související s ochranou proti spamu a s konfigurací serveru.

Pokud se však role oddělí, situace se zjednoduší. MTA běžící na portu 25 se bude starat jen o vlastní doručování – nebude tedy přijímat jinou poštu, než kterou přímo doručí do místních schránek. Odpadá tím potřeba řešit předávání dál (relaying), protože nic takového se prostě nekoná.

Naopak samostatný MSA nebude obsluhovat žádné schránky, bude se starat jen a pouze o příjem pošty od klientů a její předávání cílovým MTA. Proto bude také vždy vyžadovat autentizaci klientů, čímž se eliminuje nelegitimní přístup (jak od spammerů jako takových, tak i od primitivnějších spambotů na ovládnutých počítačích; chytřejší spamboty samozřejmě mohou v některých případech získat a používat autentizační údaje).

S tím souvisí možnost bezproblémového přístupu na MSA i ze sítí, kde je blokován port 25, jakkoli jde taková blokace proti podstatě Internetu. Dále může MSA řešit některé drobné problémy klientů (například absenci některých hlaviček). Principiální výhodou separace je pak samostatná konfigurace MSA a MTA, bez nutnosti dělat kompromisy a hledat styčné body mezi požadavky jednotlivých rolí. Každá ze služeb se konfiguruje zcela samostatně, změna v MTA většinou nemá žádné dopady na MSA a naopak.

Konfigurace programu Postfix – společný stroj

link

Postfix může být nakonfigurován tak, aby plnil kteroukoli z oddělených rolí (MSA a MTA). Může to fungovat tak, že bude Postfix figurovat v obou rolích, ať již na stejném, nebo na různých strojích. Jiným řešením je použít Postfix jen pro jednu z rolí a na druhou nasadit jiný software. Záleží čistě na volbě správce, jakou cestou se vydá.

Pokud obě role sdílí stejný stroj, nastává problém, jak nakonfigurovat dvě služby odlišně, přestože jsou poskytovány stejným modulem Postfixu. Řešení je dvojí. Buď se použije služba postmulti, která je přímo určena ke spouštění více instancí s různou konfigurací. Služba je ovšem obsažena až ve verzi 2.6, která není k dispozici v repozitářích řady distribucí. Navíc je konfigurace poměrně složitá, takže přesahuje rámec tohoto článku (využití postmulti bude náplní jednoho z pozdějších dílů seriálu).

Druhou možností je předání potřebných parametrů přes příkazovou řádku služby. Toto řešení je velmi jednoduché na konfiguraci a lze ho používat i se staršími verzemi Postfixu, byť není až tak úplně čisté a systematické.

Toto řešení spočívá v tom, že bude základní konfigurace v main.cf připravena pro MTA a v master.cf se přímo u služby submission použijí takové parametry příkazové řádky, aby byla konfigurace přizpůsobena funkci MSA. Soubor main.cf může mít například následující obsah:

myhostname = postak.moje.domena
myorigin = $mydomain

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

virtual_mailbox_base = /var/mail/virtual
virtual_mailbox_domains = ldap:/etc/postfix/ldap/vdomains.cf
virtual_mailbox_maps = ldap:/etc/postfix/ldap/vmailbox.cf
virtual_alias_maps = ldap:/etc/postfix/ldap/virtual.cf

virtual_minimum_uid = 100
virtual_uid_maps = static:100
virtual_gid_maps = static:100

smtpd_client_restrictions = permit

smtpd_sender_restrictions =
    permit_mynetworks,
    reject_non_fqdn_sender,
    reject_unknown_sender_domain,
    check_sender_access hash:/etc/postfix/access,
    permit

smtpd_recipient_restrictions =
    reject_non_fqdn_recipient,
    permit_sasl_authenticated,
    reject_unauth_destination,
    permit

smtpd_helo_required = yes
disable_vrfy_command = yes

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = no
broken_sasl_auth_clients = yes

content_filter = smtp-amavis:[127.0.0.1]:10024

Všimněte si, že se definují parametry SASL, přestože je autentizace vypnutá (smtpd_sasl_auth_enable = no). To je proto, aby se co nejméně parametrů muselo definovat přes příkazovou řádku služby submission. Takto nakonfigurovaný MTA bude přijímat poštu pouze pro místní schránky, což je zajištěno pravidlem reject_unauth_destination v sadě smtpd_recipient_restrictions. Pravidlo permit_sasl_authenticated se neuplatní, protože je autentizace vyřazena z činnosti (nicméně se uplatní po jejím zapnutí – viz dále).

Teď je potřeba nakonfigurovat MSA. Příslušný řádek master.cf, který je potřeba přidat, bude vypadat takto:

submission      inet  n       –       –       –       –       smtpd
  -o smtpd_sasl_auth_enable=yes
  -o virtual_mailbox_domains=
  -o content_filter=

První řádek je úplně stejný jako u situace, kdy MSA a MTA běží na samostatných strojích. Aktivuje se jím služba submission pro MSA. Na dalších řádcích jsou již zmiňované parametry příkazové řádky. První říká, že se zapne autentizace SASL (u MTA je zcela logicky vypnutá, nepoužívá se). Další řádek vypíná domény pro virtuální doručování (tím je zajištěno, že se nebude nikam doručovat) a konečně poslední parametr vypne filtr obsahu (zde je zbytečný).

Toto vše je samozřejmě jen velmi jednoduché využití rozdělení rolí MTA a MSA. Lze pokročit ještě dále a například definovat rozdílné politiky šifrování TLS (pokud se používá), rozdílnou přísnost na syntaktickou validitu (u MTA se bude pouze hodnotit filtrem obsahu, kdežto u MSA lze dát striktní pravidla, která zajistí odmítnutí zprávy ještě před převzetím). Lze také pomocí MSA kontrolovat shodu obálkového odesílatele (příkaz MAIL FROM) s povolenými adresami autentizovaného uživatele a/nebo nastavovat identifikaci odesílatele (Sender-ID).

Konfigurace programu Postfix – dva stroje

link

Pokud běží každá ze služeb na vlastním stroji, ať už fyzickém či virtuálním, stačí na daném stroji brát v úvahu jen jeho vlastní roli a na tu druhou se neohlížet. Jako první přijde na řadu MTA, tedy server doručující do schránek.

Soubor master.cf lze ponechat v té podobě, v jaké byl v minulém dílu, čili žádná služba submission, která přibyla v případě společného stroje, zde není. Soubor main.cf lze naopak použít v podobě uvedené výše, byť parametry okolo autentizace (smtpd_sasl_type apod.) jsou zde zbytečné a lze je vynechat.

Dalším krokem je připravit konfigurační soubory pro MSA. V souboru master.cf se smaže/zakomentuje internetová služba smtp, místo ní bude služba submisssion:

#smtp           inet  n       –       –       –       –       smtpd
submission      inet  n       –       –       –       –       smtpd

Tím se aktivuje služba běžící na portu 587 (submission) namísto původní služby na portu 25 (smtp). Port 25 zůstane uzavřený, nic na něm nepoběží.

Dále se musí zajistit přístup k autentizaci, protože Dovecot běží jinde (tam, kde jsou umístěny schránky, tj. například na MTA). Možnosti jsou v zásadě dvě – buď se spustí samostatná instance programu Dovecot, která bude pracovat se stejnou databází jako instance poskytující přístup k poště (použitelné u databáze MySQL apod. nebo LDAP), anebo se umožní vzdálený přístup pro autentizaci na jediné instanci.

První možnost je jednodušší, spočívá pouze v tom, že se Dovecot nainstaluje na stroj určený pro MSA a nadefinuje se mu speciální konfigurace. Tato konfigurace nebude obsahovat komunikaci pomocí protokolů pro přístup k poště (čili Dovecot nebude naslouchat na příslušných portech ani nepoběží služby, které komunikaci zajišťují), Dovecot bude poskytovat pouze autentizační služby. Konfigurační soubor dovecot.conf bude vypadat například takto:

protocols = none

disable_plaintext_auth = no

auth default {
  mechanisms = plain login cram-md5 digest-md5 ntlm

  passdb ldap {
    args = /etc/dovecot/ldap.conf
  }

  userdb ldap {
    args = /etc/dovecot/ldap.conf
  }

  user = dovecot-auth

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

Příklad je samozřejmě určen pro řešení s uživateli v adresáři LDAP. Parametr protocols je nastaven na none (žádné protokoly) a ze sekcí zůstala pouze auth default, která konfiguruje autentizaci.

Kdo nechce instalovat Dovecot na MSA, může zvolit metodu druhou, tedy vzdálenou autentizaci. Problém je však v tom, že Dovecot poskytuje autentizační služby pouze přes lokální (unixový) socket, nikoli přes internetový. Jedinou možností je tedy využít programy typu socat, které dokáží tento nedostatek obejít vytvořením internetového spoje mj. mezi lokálními sockety. Netřeba snad dodávat, že komunikace by měla být vždy nastavena jako šifrovaná a náležitě ověřovaná (server i klient), aby nebylo možné se neoprávněně dostat k uživatelským heslům.

SSL/TLS a problematika šifrování

link

Zejména v posledních letech se šifrování komunikace stává vysloveně nutností, protože zvědavé uši mohou číhat kdekoliv. A když už se nešifrují jednotlivé zprávy, je žádoucí šifrovat alespoň komunikace mezi klientem a serverem i mezi jednotlivými servery. Celý příští díl seriálu proto bude zaměřen na záležitosti související se šifrováním poštovní komunikace, a to jak SMTP, tak POP3 a IMAP.

       

Hodnocení: 100 %

        špatnédobré        

Nástroje: Tisk bez diskuse

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

15.1.2010 08:36 bigBRAMBOR | skóre: 31
Rozbalit Rozbalit vše Re: Stavíme poštovní server – 11 (greylisting, MSA)
nevyhody greylistingu kompenzuji autowhitelisintgem. Pokud server uspesne poslechne, a zareaguje na greylisting tak jak ma, je na predem urcenou dobu zarazen do whitelistu. Treba na 14 dni.

geoip - zjistuji automaticky lokaci IP adresy. Nektere staty mam cele na whitelistu. To sice trochu snizuje ucinost, ale vetsina spamu jde z pár lokací.
15.1.2010 09:21 w3432
Rozbalit Rozbalit vše Re: Stavíme poštovní server – 11 (greylisting, MSA)
vetsina spamu jde z pár lokací.

vazne? jak moc je to spolehlive? ja mel za to, ze vetsina spamu jde z botnetu takze jsou ty zdrojove ip tak nejak "normalne" rozdeleny :)
15.1.2010 10:29 bigBRAMBOR | skóre: 31
Rozbalit Rozbalit vše Re: Stavíme poštovní server – 11 (greylisting, MSA)
pomery v % treba zde

tudis maily z CR a SK nezdrzuju, samozrejme to o neco poslehlivost snizi, ale nijak dramaticky
Luk avatar 15.1.2010 14:19 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
Rozbalit Rozbalit vše Re: Stavíme poštovní server – 11 (greylisting, MSA)
nevyhody greylistingu kompenzuji autowhitelisintgem. Pokud server uspesne poslechne, a zareaguje na greylisting tak jak ma, je na predem urcenou dobu zarazen do whitelistu. Treba na 14 dni.
To je například u Postgreye standardní chování a zmiňuji ho, i když ne přesně takhle. Nicméně to nekompenzuje nevýhody greylistingu. Hlavní nevýhodou je to, že první zpráva dojde vždycky pozdě, není-li greylisting přímo vyřazen (například pro konkrétní doménu odesílatele).
LinuxMarket - linuxový e-shop | LinuxEXPRES - linuxový magazín | OpenOffice.cz - portál uživatelů OpenOffice/LibreOffice
17.1.2010 23:23 J
Rozbalit Rozbalit vše Re: Stavíme poštovní server – 11 (greylisting, MSA)
A nechce to spis trochu osvety ? Odkdy je mail garantovana sluzba ? Od kdy maji maily chodit v radu vterin ? Aktualne mam na firemnim mailserveru vcelku brutalni nastaveni (chodilo cca 4-5k spamu/den) + cca 20 - 30 vyjimek (bridilove co si neumej nastavit svy DNS/servery). Jasne ze tam koncej i "nespamovy" maily, ale pokud chce nekdo jezdit po silnici, tak si taky musi nejdriv udelat ridicak. Pokud je nekdo dobytek a neumi si to nastavit nebo neni schopen o konfiguraci nekoho pozadat ... ma proste smulu.
17.1.2010 23:55 Ondrej 'SanTiago' Zajicek
Rozbalit Rozbalit vše Re: Stavíme poštovní server – 11 (greylisting, MSA)
A nechce to spis trochu osvety ? Odkdy je mail garantovana sluzba ? Od kdy maji maily chodit v radu vterin ?

Osveta by mela byt v tom, ze by uzivatele meli vedet, ze e-mail muze fungovat v radu sekund a pokud tomu tak neni, tak se s tim nemusi smirit a muzou prejit k jinemu poskytovateli, u ktereho to tak fungovat bude.
18.1.2010 10:10 bigBRAMBOR | skóre: 31
Rozbalit Rozbalit vše Re: Stavíme poštovní server – 11 (greylisting, MSA)
a kde jim maily budou chodit nejenom rychle, ale taky jim jich prijde daleko vic - treba o tech 5k :-D
15.1.2010 08:52 trekker.dk | skóre: 71
Rozbalit Rozbalit vše Re: Stavíme poštovní server – 11 (greylisting, MSA)
Někdy také zpráva nemusí být doručena vůbec, protože je odesílající server špatně nastaven
Jo, například si plete chybu 4xx s 5xx (a tvrdí, že to nejde doručit), posílá odesílateli zprávu o tom, že se to doručí později (a odesílatel si následně myslí, že vůbec),...
Quando omni flunkus moritati
Prokop Mikule avatar 15.1.2010 09:31 Prokop Mikule | skóre: 9
Rozbalit Rozbalit vše Re: Stavíme poštovní server – 11 (greylisting, MSA)
Celkem zajimave je nakombinovat postgrey s postfwd (http://postfwd.org/). Selektivni greylisting pro dynamicke rozasahy apod.
15.1.2010 12:53 honza
Rozbalit Rozbalit vše Re: Stavíme poštovní server – 11 (greylisting, MSA)
Byla nebyla jedna implementace greylistingu

Firma A s greylistem se snažila doručit do firmy B, která u každého emailu kontrolovala existenci odesilatele. Email přišel z A do B, kde došlo k ověřování. Firma B byla při ověřování odmítnuta, protože nebyla v databázi greylistu. Email byl firmou B odmítnut, protže neexistoval uživatel ve firmě A ...

15.1.2010 13:53 Father Hurley
Rozbalit Rozbalit vše Re: Stavíme poštovní server – 11 (greylisting, MSA)
To je ponekud zmatena pohadka.
15.1.2010 14:47 Radovan Garabík
Rozbalit Rozbalit vše Re: Stavíme poštovní server – 11 (greylisting, MSA)
Email byl firmou B odmítnut, protže neexistoval uživatel ve firmě A

... a tu administrátor (nevieme ktorý) urobil chybu. Správne nastavený greylisting vráti 4xx kód, a správne nastavené overovanie existencie odosielateľa 4xx nepovažuje za neexistenciu, ale vráti tiež 4xx, takže A sa pokúsi za pár minút, kedy už B bude v databáze a A vráti úspech a B mail prijme.

Používam obidve, aj greylisting aj overovanie, a mail medzi dvojicou takýchto serverov bez problémov prejde na tretí pokus.
20.1.2010 15:11 st. Grumpa | skóre: 12
Rozbalit Rozbalit vše Jde to i bez greylistingu
Několik let jsem byl nadšeným instalátorem greylistingu, ale už nejsem. Konfigurace serveru je tak jednodušší a množství neodfiltrovaného spamu prakticky nestouplo. Spamassassin je prostě bůh. Spouštím ho v MailScanneru - další boží věcička a doplní-li se o MailWatch jsem šťastný a spokojený správce. Dobré maily ve spamu nekončí a doručeného spamu je minimálně. Co víc si uživatel může přát? Snad jen šíleného admina, který mu kvůli purifikaci netu hází obchodní maily do karantény, nebo je radší vůbec odmítá. Nemyslím si, že koncový uživatel by měl pykat. Tohle si mají admini vyřizovat mezi sebou, ne? :o)
6.9.2013 11:53 Denny
Rozbalit Rozbalit vše Re: Stavíme poštovní server – 11 (greylisting, MSA)
Vím že tohle je starý článek, ale líbila se mi myšlenka per user zapínání/vypínání postgrey. Ale vůbec jsem z článku nepochopil jak to má autor vymyšlený. Ani google mi na prvních pár dotazů nepomohl. Tak snad jen pro někoho kdo by sem zabloudil,...

nadefinoval jsem si vlastni tridu restrictions
smtpd_restriction_classes = postgrey_r_class
postgrey_r_class = check_policy_service inet:127.0.0.1:10023
restrikce příjemců
smtpd_recipient_restrictions = reject_unauth_pipelining,
                reject_non_fqdn_sender,
                reject_unknown_recipient_domain,
                permit_sasl_authenticated,
                reject_unauth_destination,
                check_recipient_access proxy:mysql:/etc/postfix/sql/mysql_virtual_postgrey_maps.cf,
                permit
takhle to pravděpodobně bude hlásit že proxy není nastavená na tu tabulku, tak si jen vyjeďte postconf -d default a pridejte si ji
proxy_read_maps = $local_recipient_maps ... proxy:mysql:/etc/postfix/sql/mysql_virtual_postgrey_maps.cf
a pak jeste query pro mysql takhle
SELECT IF(`postgrey` = 1,'postgrey_r_class','OK') FROM `mailbox` WHERE `username` = '%s' AND `active` = '1'
takle pokud je postgrey z dtb 1 tak se zavola nově nadefinovaná třída, pokud ne tak OK a postfix skočí na další pravidlo. Mělo jit nadefinovat vypinaní/zapinání jednotlivých restriction (třeba různé externí blacklisty)

Založit nové vláknoNahoru

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.