abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 18:00 | IT novinky

    DuckDuckGo AI Chat umožňuje "pokecat si" s GPT-3.5 Turbo od OpenAI nebo Claude 1.2 Instant od Anthropic. Bez vytváření účtu. Všechny chaty jsou soukromé. DuckDuckGo je neukládá ani nepoužívá k trénování modelů umělé inteligence.

    Ladislav Hagara | Komentářů: 0
    včera 14:22 | IT novinky

    VASA-1, výzkumný projekt Microsoftu. Na vstupu stačí jediná fotka a zvukový záznam. Na výstupu je dokonalá mluvící nebo zpívající hlava. Prý si technologii nechá jenom pro sebe. Žádné demo, API nebo placená služba. Zatím.

    Ladislav Hagara | Komentářů: 2
    včera 04:44 | Nová verze

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 140 (pdf) a HackSpace 77 (pdf).

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

    ESPHome, tj. open source systém umožňující nastavovat zařízení s čipy ESP (i dalšími) pomocí konfiguračních souborů a připojit je do domácí automatizace, například do Home Assistantu, byl vydán ve verzi 2024.4.0.

    Ladislav Hagara | Komentářů: 0
    18.4. 22:11 | IT novinky Ladislav Hagara | Komentářů: 0
    18.4. 20:55 | Nová verze

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 1.1 specifikace OpenXR (Wikipedie), tj. standardu specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro AR (rozšířenou realitu) a VR (virtuální realitu). Do základu se z rozšíření dostalo XR_EXT_local_floor. Společnost Collabora implementuje novou verzi specifikace do platformy Monado, tj. open source implementace OpenXR.

    Ladislav Hagara | Komentářů: 2
    18.4. 17:22 | Nová verze

    Byla vydána nová verze 0.38.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 4.4 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 13
    18.4. 17:11 | Nová verze

    ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzích 1.3.1, 1.2.3 a 1.0.6. Ve verzi 1.3.1 je mimo jiné řešena bezpečnostní chyba CVE-2024-20380.

    Ladislav Hagara | Komentářů: 2
    18.4. 12:11 | IT novinky

    Digitální a informační agentura (DIA) oznámila (PDF, X a Facebook), že mobilní aplikace Portál občana je ode dneška oficiálně venku.

    Ladislav Hagara | Komentářů: 10
    18.4. 05:11 | Komunita

    #HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.

    Ladislav Hagara | Komentářů: 2
    KDE Plasma 6
     (68%)
     (11%)
     (2%)
     (20%)
    Celkem 566 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Stavíme poštovní server – 12 (TLS)

    25. 1. 2010 | Lukáš Jelínek | Sítě | 23546×

    Mnoho lidí si zvyklo posílat e-mailem i velmi citlivá data. Přitom bezpečnost této technologie je srovnatelná s bezpečností pohlednice nebo korespondenčního lístku. Přestože pro skutečně bezpečnou komunikaci je třeba, aby byla každá zpráva zašifrována ještě před předáním do poštovního komunikačního řetězce (a naopak dešifrována až po výstupu z něj), mnohé zvědavé uši lze odstavit i šifrováním na úrovni komunikačních kanálů.

    Obsah

    O šifrování obecně

    link

    Proč šifrovat

    link

    Lidé se často obávají úniku citlivých informací. Přitom svěřují takové informace technologii, která již z principu nemůže být bezpečná. Ochranu proti neoprávněnému narušení důvěrnosti komunikace sice zajišťuje trestní zákoník a jeho poměrně tvrdé tresty (v extrémním případě až 8 let vězení), nicméně ani toto nedokáže odradit zvědavce (například z řad zaměstnanců poskytovatelů internetového připojení), kteří se rádi podívají, jaká data kolem nich tečou a co zajímavého obsahují. V extrémním případě může dokonce někdo nějaká data podvrhnout.

    Kvalitní ochranu zajistí jen takové šifrování, které pokrývá celou cestu od odesílatele k příjemci. Pro takové účely jsou vhodné různé metody asymetrického šifrování, při kterém příjemce zveřejní svůj veřejný klíč, takže mu kdokoliv může poslat zašifrovanou zprávu – dešifrovat ji však může jen oprávněný příjemce svým tajným klíčem.

    Takové šifrování je velmi bezpečné, nicméně není úplně nejjednodušší na používání. Obě komunikující strany musí používat stejnou technologii (např. PGP), je potřeba nějak zajistit její použití v rámci odesílání a příjmu zprávy (buď ručně, nebo integrací do poštovního klienta – to zatím není tak úplně samozřejmost) a v neposlední řadě se musí šifrovací klíč dostat od příjemce k odesílateli (samozřejmě tak, aby bylo zaručeno, že patří skutečně onomu příjemci).

    Proto se v praxi takovéto řešení používá zatím poměrně zřídka. Přesto se lze ale pokusům o získání obsahu zpráv poměrně úspěšně bránit šifrováním alespoň části přenosového řetězce – tedy komunikací mezi klienty a servery, též samozřejmě mezi servery navzájem. Pro tyto účely se obvykle používá standardizovaná technologie TLS (příp. starší technologie SSL).

    Při tomto řešení je pochopitelně potřeba považovat tuto e-mailovou komunikaci stále za nešifrovanou, protože „ucho“ může číhat přímo na některém ze serverů nebo v úseku, kde šifrování není podporováno (třeba i jen od cílového serveru do klienta příjemce).

    Technologie TLS a SSL

    link

    Technologie TLS (Transport Layer Security) slouží, jak už anglický název napovídá, k bezpečnému přenosu dat na úrovni transportní vrstvy. To znamená, že se pro vyšší komunikační vrstvy (například relační nebo aplikační, jak je definuje model OSI) jeví transparentní a komunikace může probíhat v zásadě stejně, jako kdyby se komunikovalo jen pomocí „holé“ transportní vrstvy, tedy u Internetu typicky protokolu TCP. SSL je starší verzí této komunikační technologie – dnes se využívá TLS 1.0, což je mírně upravená a hlavně standardizovaná (RFC 2246) verze staršího protokolu SSL 3.0. Pokud se dnes hovoří o TLS/SSL, bere se obvykle v úvahu jen TLS 1.0 a novější verze, přestože se servery někdy konfigurují tak, aby kvůli kompatibilitě se starými programy podporovaly i staré protokoly.

    „V zásadě stejně“ (bohužel i bohudík) neznamená „úplně stejně“. Například komunikace, která vyžaduje analýzu nebo dokonce modifikaci přenášených dat, nebude přes TLS fungovat nebo bude vyžadovat jiné chování. Typickými případy jsou využití NAT v kombinaci s protokolem FTP v aktivním režimu nebo využití protokolu HTTP s virtuálními servery (hlavička Host) – na tohle je potřeba si dát pozor.

    TLS zajišťuje jednak samotné šifrování různými algoritmy (podle konfigurace a podle toho, co obě komunikující strany podporují), ale současně také ověření totožnosti jedné nebo obou stran – není totiž nic platné šifrování, když se komunikuje s podvodníkem, který se vydává za legitimní protistranu. Obvykle se používá jen ověření serveru, protože totožnost klienta není potřeba ověřovat (anonymní přístup k webu apod.) nebo je ověřována jiným způsobem (většinou jméno a heslo), nicméně možnost ověření klienta je v řadě případů užitečná.

    Pro kontrolu totožnosti se používají certifikáty podle standardu X.509. Lze používat „samopodepsané“ certifikáty – s tím, že budou na protistraně certifikát nebo kořenový certifikát vlastní certifikační autority nainstalovány. Pro veřejné použití jsou ale vhodnější certifikáty podepsané certifikační autoritou, jejíž kořenový certifikát je poskytován v rámci používaných programů (používá se označení „důvěryhodné autority“, i když v některých případech to s tou důvěrou není až tak horké), protože pak není relativně bezpečná komunikace omezena na malou množinu komunikujících stran.

    TLS pro poštovní komunikaci

    link

    V rámci poštovní komunikace lze TLS použít pro všechny komunikační protokoly, tedy SMTP, IMAP i POP3. Předpokladem je, aby komunikaci podporovaly příslušné programy (i když to úplně striktní podmínka není – existují řešení jako stunnel, která poskytnou TLS i programům bez podpory této technologie). Také je samozřejmě potřeba si připravit potřebný certifikát nebo více certifikátů.

    Další důležitou věcí je, že TLS lze využívat ve dvou režimech – implicitně a explicitně. Implicitní režim znamená, že komunikace probíhá od počátku šifrovaně, resp. ihned po sestavení komunikačního kanálu proběhne sestavení TLS komunikace a jinak komunikovat nelze. Explicitní režim se naopak zapíná z nešifrovaně probíhající komunikace. Implicitní režim vyžaduje samostatný port (na kterém server naslouchá jen pro účely této komunikace), kdežto režim explicitní probíhá na běžném portu určeném původně pro nešifrovanou komunikaci.

    Výhodou explicitního režimu (realizovaného pomocí rozšíření STARTTLS) je, že není třeba mít otevřen samostatný port. Po připojení klienta server deklaruje, že podporuje STARTTLS, načež klient může – pokud je tak nastaven – následně odeslat příkaz STARTTLS (nebo jeho jinou konkrétní reprezentaci) a zahájit tak sestavování šifrované komunikace. Nevýhodou je naopak nutnost podpory přímo v rámci příslušného aplikačního protokolu a také nemožnost tento režim používat s klienty bez podpory TLS (u kterých se u implicitního režimu použije stunnel).

    Zprovoznění TLS na poštovním serveru

    link

    Pro používání TLS na e-mailovém serveru je nejprve potřeba splnit několik předpokladů. Především musí být programy zkompilovány a nainstalovány s podporou této technologie (např. přes knihovnu OpenSSL, případně GNU TLS), což může u některých distribucí znamenat instalaci dodatečných balíčků. Obecně ale jak Postfix, tak Dovecot bývají připraveny k takovému nasazení, takže víc než doinstalace příslušné komponenty nebývá potřeba.

    Dalším předpokladem je příprava certifikátů. Pokud se bude certifikát používat jen pro ověřování totožnosti serveru, stačí mít pro daný stroj jediný certifikát. Ten si lze připravit například pomocí nástroje openssl (návodů, jak to udělat, je na Internetu plno, například přímo na webu OpenSSL). Pokud bude certifikát samopodepsaný, lze si všechno udělat přímo na serveru – má-li být ale certifikát podepsán důvěryhodnou autoritou, nezbývá, než si vygenerovat požadavek (CSR, Certificate Signing Request) a ten předat zvolené autoritě, která ho za určitý finanční obnos podepíše.

    Pokud se nechává certifikát podepisovat důvěryhodnou autoritou, je třeba splnit požadavky autority, typicky například na dobu platnosti. Standardní doba platnosti je 1 rok, nicméně v některých případech může být tato doba jiná. U samopodepisovaných certifikátů je režim mnohem volnější.

    Certifikát se na server nainstaluje tak, aby k němu měly přístup programy, které ho používají. Často se dává například do /etc/ssl/certs, kde bývají nainstalovány také kořenové certifikáty certifikačních autorit. Tajný klíč, který k certifikátu přísluší, se umísťuje na bezpečné místo (např. /etc/ssl/private), kam má přístup jen root. Tyto cesty se pak použijí v konfiguraci programů.

    Certifikát musí být ve formátu PEM, klíč musí být nezašifrovaný (bez hesla). Lze použít klíč a certifikát RSA nebo DSA (u Postfixu 2.6 společně s OpenSSL 0.9.9 také ECDSA). Následující popis je určen pro RSA, nicméně přizpůsobení pro klíče a certifikáty s jinými algoritmy je snadné (v podstatě se jen v názvech parametrů _key_, resp. _cert_ nahradí _dkey_, či _eckey_ atd.). Certifikát a příslušný klíč mohou být každý ve svém souboru, jak je uvedeno výše, ale funguje i varianta ve společném souboru – pak ovšem musí být na tento soubor uplatněna přístupová práva jako pro klíč.

           

    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ář

    25.1.2010 01:06 dracul
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 12 (TLS)
    mala reklamka: na cartifikat pro server doporucuju toto http://www.startssl.com/?app=1 je to zadarmo;)
    25.1.2010 09:17 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Postfix jako implicitní TLS klient
    Zajímalo by mě, jestli Postfix umí vystupovat jako implicitní TLS klient. Například Exim to neumí a next-hop relaye se musí honit přes stunnel. (Ano, odchozí servery Telecomu neumí explicitní TLS.)
    Luk avatar 25.1.2010 18:30 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Postfix jako implicitní TLS klient
    Zajímalo by mě, jestli Postfix umí vystupovat jako implicitní TLS klient.
    Pokud vím, tak neumí.
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    26.1.2010 07:16 Lampa
    Rozbalit Rozbalit vše Re: Postfix jako implicitní TLS klient
    Co to je implicitni klient ?

    STARTLS ?
    Luk avatar 26.1.2010 17:31 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Postfix jako implicitní TLS klient
    Právě naopak. Jak píšu v článku, STARTTLS je naopak explicitní. Implicitní je, pokud se od začátku komunikuje pomocí TLS (tj. začíná se hned sestavením TLS relace). Implitní TLS klient je takový klient, který se připojí k serveru hned pomocí TLS, obvykle na speciálním portu (u SMTP je to 465).
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    27.1.2010 07:32 Lampa
    Rozbalit Rozbalit vše Re: Postfix jako implicitní TLS klient
    smtpd_tls_wrappermode=yes neni to co potrebujete ?
    Luk avatar 27.1.2010 14:57 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Postfix jako implicitní TLS klient
    To řeší serverovou stranu, nikoli klientskou.
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    28.1.2010 08:44 Lampa
    Rozbalit Rozbalit vše Re: Postfix jako implicitní TLS klient
    sorry omlouvam se, http://www.postfix.org/postconf.5.html#smtp_tls_security_level
    1.2.2010 22:30 juras
    Rozbalit Rozbalit vše Re: Postfix jako implicitní TLS klient
    Co exim a "tls_on_connect_ports = 465"?

    viz. http://www.exim.org/exim-html-4.69/doc/html/spec_html/ch39.html#SECID284
    2.2.2010 11:48 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Postfix jako implicitní TLS klient

    Exim teď používám, takže vím, co neumí:

    Exim supports these clients by means of the tls_on_connect_ports global option.
    25.1.2010 09:35 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Autorizace klienta Dovecotu certifikátem

    Vzhledem k tomu, že legislativa donutila úřady pořídit šifrovací zařízení, chtěl bych, aby je naši úředníci mohli použít pro přístup do poštovních schránek přes IMAP.

    Díval jsem se do dokumentace Dovecotu, a nikde jsem nenašel, jak spárovat klientský certifikát a přihlašovací jméno uživatele. Vzpomínám si na hádání loginu z položek DN nebo SAN certifikátu, ale to obecně nefunguje.

    I z toho, co jste napsal, mi vyšlo, že sice dokážu ověřit, že klient disponuje certifikátem vydaným autorizovaným vydavatelem (v našem státě to znamená, že byl vydán existující a správné osobě), ale už nezjistím, kdo se mi to přihlašuje.

    Tudíž potřebuji namapovat otisk certifikátu na konkrétního uživatele.

    Protože mám fyzické (nevirtuální) uživatele a používám PAM, napadlo mě použít některý z pokusných modulů, které autentizaci řeší porovnáním certifikátu (respektive ověřením podpisu nesmyslu) s certifikátem uloženým v domovském adresáři uživatele.

    Jenže jsem nezjistil, jak a jestli umí Dovecot poskytnout certifikát klienta z TLS relace PAMu. Navíc dotyčné moduly často operují lokálním šifrovacím zařízením, nikoliv s certifikátem ze sítě. (Je celkem možné, že PAM na tohle nemá standardizované rozhraní.)

    Zkoušel někdo něco takového?

    25.1.2010 12:19 Lampa
    Rozbalit Rozbalit vše Re: Autorizace klienta Dovecotu certifikátem
    # Which field from certificate to use for username. commonName and # x500UniqueIdentifier are the usual choices. You'll also need to set # ssl_username_from_cert=yes. #ssl_cert_username_field = commonName

    http://wiki.dovecot.org/SSL/DovecotConfiguration (na konci stranky)
    25.1.2010 15:22 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Autorizace klienta Dovecotu certifikátem
    Jenže v kanonickém jméně takového certifikátu nebývá novakf, ale František Novák.
    25.1.2010 22:25 Honza Jaroš | skóre: 6 | blog: moje_strana_plotu | Bohnice
    Rozbalit Rozbalit vše Re: Autorizace klienta Dovecotu certifikátem
    No od toho se snad nechá měnit ta hodnota "ssl_cert_username_field", ne? Tak to prostě nenasměrujete na kanonické jméno, ale na jiné pole v certifikátu.

    Školy nemám a v praxi to nepoužívám, ale přijde mi to logické... :-)
    25.1.2010 23:00 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Autorizace klienta Dovecotu certifikátem

    Jenže stejně nepoužitelné mohou být i ostatní hodnoty. Proto rozumné systémy se orientují podle otisku certifikátu. Navíc, když si certifikáty nevydáváte sám, tak se může stát, že přijde někdo, kdo bude mít zrovna v položce, kterou jsem si vybral kolizní hodnotu.

    26.1.2010 07:16 Lampa
    Rozbalit Rozbalit vše Re: Autorizace klienta Dovecotu certifikátem
    http://wiki.dovecot.org/SSL/DovecotConfiguration

    With v1.1.alpha5 and later you can change the field with ssl_cert_username_field = name setting (parsed using OpenSSL's OBJ_txt2nid() function). x500UniqueIdentifier is a common choice.

    ssl_cert_username_field = subjectKeyIdentifier

    resp se podivejte do souboru obj_mac.h z knihovny libssl a vyberte si udaje LN_XXXX ktery se vam hodi

    to jsou pouze teoreticke poznatky na zaklade dostupnych informaci, neovereno v praxi
    Luk avatar 25.1.2010 23:15 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Autorizace klienta Dovecotu certifikátem
    To má ale dva problémy - jednak těch polí ve standardním zaručeném certifikátu moc není, hlavně ale je potřeba vytvořit vazbu mezí tím uživatelským jménem a tím polem (které s používaným uživatelským jménem není shodné). Nenapadá mě žádné čisté řešení.
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    26.1.2010 11:03 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Autorizace klienta Dovecotu certifikátem

    Ještě mám jeden nápad:

    Klient použije certifikát v TLS a do přihlašovacího dialogu vyplní uživatelské jméno.

    PAM by vzal název účtu z přihlašovacího jména a nejprve jako heslo by použil certifikát. Vzor certifikátu by byl v domovském adresáři nebo v LDAPu. Teprve v druhém kole by jako heslo použil heslo z přihlašovacího dialogu.

    Ale nevím, jak moc to znásilňuje PAM a otravuje uživatele.

    26.1.2010 09:05 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 12 (TLS)
    Je to jen můj dojem, nebo článek omylem nebyl zařazen do seriálu Stavíme poštovní server?
    Luk avatar 26.1.2010 17:34 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 12 (TLS)
    Stalo se to asi nedopatřením - už jsem napsal Robertovi.
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    26.1.2010 17:42 Robert Krátký | skóre: 94 | blog: Robertův bloček
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 12 (TLS)
    Opraveno.
    27.1.2010 14:29 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 12 (TLS)
    U šestého dílu se nezobrazuje rozcestník první/poslední/předchozí/další
    Quando omni flunkus moritati
    27.1.2010 15:42 Robert Krátký | skóre: 94 | blog: Robertův bloček
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 12 (TLS)
    Mně ano. Jaký máš prohlížeč?
    27.1.2010 23:33 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 12 (TLS)
    Opera 10.1. Akorát teda doma (stejný prohlížeč) se u šestého dílu zobrazuje. Tady se prozměnu nezobrazuje u pátého dílu poté, co jsem ze šestého přelezl na pátý kliknutím na ten rozcestník. (Totéž platí při přechodu ze čtvrtého na pátý)
    Quando omni flunkus moritati
    24.2.2010 20:07 travel21
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 12 (TLS)
    Dobrý den, při používání TLS se mi na klientských stanicích zobrazuje po i instalaci certifikátu tato hláška:

    Server, ke kterému jste připojeni, používá zabezpečovací certifikát, který nelze ověřit. Certifikát, který lze používat jako koncovou entity, je používán jako CA, nebo naopak. Chcete dále používat tento server?

    Chápu, že nejde ověřit, když vystupuju jako vlastní CA - to mi je jasné ale nechápu tu entitu. Tedy nevím jaký vliv to má na funkci ale ta hlaška mě každou chvíli vyjede v outlooku když chci odeslat email přes svuj server z místa mimo mysubnet a docela mě to otravuje.

    Můžete mi někdo říci zda je to chyba nebo vlastnost woken. V logu vidím že TLS spojení při přnosu funguje.

    Založit nové vláknoNahoru

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