Google Chrome 154 byl prohlášen za stabilní. Nejnovější stabilní verze 154.0.8037.57 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 108 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Vláda sníží v příštím roce výdaje na IT služby státu o 1,4 miliardy korun. Úspory má umožnit lepší koordinace nákupu služeb napříč resorty prostřednictvím nového zmocněnce. Celkové roční výdaje státu na informační technologie a digitalizaci se podle údajů ministerstva průmyslu a obchodu pohybují okolo 20 až 25 miliard korun ročně, pro letošek bylo na 320 projektů vyčleněno 21 miliard.
Irská komise pro ochranu dat (DPC) uložila americké technologické společnosti Google ze skupiny Alphabet pokutu 403 milionů eur (9,8 miliardy Kč) za neoprávněné nakládání s údaji o poloze uživatelů. Firma podle komise porušila evropské nařízení o ochraně osobních údajů (GDPR). DPC uvedla, že při šetření zjistila, že si lidé nemuseli být vědomi skutečnosti, že jejich poloha byla využívána například k ovlivňování prostřednictvím reklam nebo k odvozování jejich zájmů, a mohli tak ztratit kontrolu nad svými osobními údaji.
Byla oznámena beta verze nového video kodeku Pyrowave pro streamování her v Steam Remote Play. S vysokou propustností a nízkou latencí. S podporou HDR a YUV 4:4:4.
Byl vydán Sublime Text 4 Build 4213. Sublime Text (Wikipedie) je proprietární multiplatformní editor textových souborů a zdrojových kódů. Ke stažení a k vyzkoušení je zdarma. Pro další používání je nutná licence v ceně 99 dolarů. Spolu se Sublime Merge je cena 168 dolarů.
Firma Anthropic, tvůrce AI modelu Claude, začala v oblasti Sanfranciského zálivu v tichosti provozovat vlastní biotechnologickou laboratoř. Anthropic prý chce pomocí AI urychlit hledání léků na nemoci, jimž farmaceutický průmysl dle názoru firmy věnuje příliš málo pozornosti. Firma tvrdí, že laboratoř se zatím soustředí především na základní biologii, nikoli přímo na vývoj léčiv. Farmaceutický výzkum je pro generálního ředitele Daria Amodeie velice osobní téma, jeho otec zemřel na hepatitidu C několik málo let před objevením účinné léčby.
Vědci z Googlu dokončili mapu všech neuronových spojení v mozku (tzv. konektom) samečka mušky octomilky obecné (drosophila melanogaster), hlavním cílem je komparativní analýza s již zmapovaným mozkem samičky. S tímto veřejně dostupným modelem, čítajícím přibližně 160 000 neuronů, se začali bavit nadšenci. Mozek mouchy pohání experimentálního kryptoburzovního bota Stonkfly, případně si zahrál počítačové hry Beat Saber, Mario64 a samozřejmě DOOM (gameplay videa). Ani mozek samičky nezůstal stranou, vyzkoušel si Minecraft.
Alibaba Cloud je dalším sponzorem nadace Omacom Foundation stojící za linuxovou distribucí Omarchy. Přislíbená částka je 3 miliony dolarů, tj. 1 milion dolarů ročně po dobu tří let. Stejná částka jako u DigitalOcean.
Byla vydána nová verze 262 správce systému a služeb systemd (Wikipedie, GitHub).
Canonical oznámil vydání Zephyr 26.04 LTS. Jedná se o komerční distribuci operačního systému pro mikrokontroléry Zephyr (Wikipedie) s podporou až 15 let.
Dnes si ukážeme konfiguraci pro road warrior scénář. Autentizace bude probíhat sdíleným klíčem a výměna klíču bude realizována pomocí IKE démona racoon. Vzhledem k tomu, že bohužel zatím nejčastějším případem, kdy je někomu umožněn přístup do interní sítě zvenčí, je nějaký pán z vedení, ukážeme si, jak využít integrovaného L2TP/IPSec klienta, který je standardně ve Windows 2000/XP. A když už ten přístup bude hotový, ukážeme si, jak se tam dostane sysadmin z Linuxu.
Přehledné porovnání kladů a záporů L2TP/IPSec lze nalézt na http://www.jacco2.dds.nl/networking/freeswan-l2tp.html#ProsCons.
K realizaci našeho scénáře potřebujeme nějakou implementaci protokolu L2TP.
Protokol L2TP (Layer Two Tunneling Protocol) je popsán v RFC 2661. L2TP je v podstatě rozšířením protokolu PPP, který umožňuje spojení pouze mezi přístupovým zařízením (NAS) a klientem. L2TP tento problém odbourává a umožňuje, aby koncová zařízení byla kdekoliv v IP síti. V Linuxu je prakticky L2TP používáno tak, že L2TP vrstva se domluví na specifických parametrech protokolu a vlastní spojení už opět realizuje pppd démon.
Implementace použitá pro naše testování se nachází na http://www.l2tpd.org. Tamtéž lze nalézt odkazy na další implementace. Implementace l2tpd je kompletně v user-space. Několik pokusů o implementaci v kernelu zůstává na mrtvém bodě. Projekt jako takový také není zrovna příliš ve středu zájmu. Poslední verze 0.69 vyšla někdy v roce 2002. Od té doby se nashromáždilo několik patchů, které jsou třeba pro správnou funkčnost.
Patchovaný balíček udržuje Jacco de Leeuw na adrese: http://www.jacco2.dds.nl/networking/freeswan-l2tp.html#L2TPoverview
Pro Debian se udržuje balíček na této stránce: http://packages.qa.debian.org/l/l2tpd.html. Tamtéž by měl být zapracovaný patch na poslední bezpečnostní problém ( http://www.securityfocus.com/archive/1/365211).
Při použití s kernelem 2.6 je třeba mít povolené
CONFIG_LEGACY_PTYS=y.
Alternativní implementace: http://www.mail-archive.com/l2tpd-devel@l2tpd.org/msg00153.html.
Mimochodem, taková poznámka k patentům: http://www.jacco2.dds.nl/networking/freeswan-l2tp.html#Patent
Racoon je implementace IKEv1 protokolu sloužícího pro automatickou výměnu klíčů. Podporuje autentizaci pomocí certifikátů, sdíleného klíče, kerberosu a rozpracována je podpora plain RSA klíčů. Ta je důležitá pro interoperabilitu se *Swan implementacemi. V některém z dalších dílů třeba také na nějakou ukázku dojde ;).
Při testování byla použita distribuce Fedora Core 2, ale stejné chování lze očekávat i u SuSE apod. Balíček, ve kterém se racoon nachází, se jmenuje ipsec-tools.
Podpora pro IPSec je již i v balíku initscripts, takže lze standardně
používat konfigurační soubory typu ifcfg-ipsec0,
keys-ipsec0. Parametry lze najít v
/etc/sysconfig/network-scripts/ifup-ipsec nebo v dokumentaci k
distribuci. Průvodce nastavením IPSecu můžeme spustit příkazem
system-config-network. Konfigurace se nevztahuje na L2TP.
V našem případě ovšem zůstaneme u ruční konfigurace.
Konfigurační soubor pro racoon je /etc/racoon/racoon.conf a obsahuje:
Dále si uvedeme parametry, které jsou podstatné pro náš příklad. Ostatní
parametry lze nalézt v manuálových stránkách - man
racoon.conf. Konfiguraci bereme z pohledu, že racoon je příjemce
spojení. Parametry tedy znamenají, jaké hodnoty jsou akceptovatelné. Pokud
bude racoon iniciátor (klient), budou hodnoty znamenat, jaké parametry
požaduje od druhé strany. Mezi komunikujícími musí nastat vzájemná shoda v
požadovaných a akceptovatelných parametrech.
log <level>; #level - notify, debug, debug2path pre_shared_key "/etc/racoon/psk.txt";listen, padding, timerObsahují direktivy, které umožňují přesněji specifikovat, na jakém portu má racoon poslouchat. Dále obsahují nastavení kolem časovačů a nastavení formátu vyplňování paketů - padding.
remoteremote anonymous { exchange_mode main; generate_policy on; proposal { encryption_algorithm 3des; hash_algorithm md5; authentication_method pre_shared_key; dh_group modp1024; }}sainfosainfo anonymous { encryption_algorithm 3des; authentication_algorithm hmac_md5; compression_algorithm deflate;}Konfigurační soubor tedy bude ve finále vypadat takto:
path pre_shared_key "/etc/racoon/psk.txt";
|
Jak už někoho určitě napadlo (minimálně ty, co se tím živí), abychom klienta mohli ověřit, musíme ho nějak identifikovat. V případě, že identifikaci nijak zvlášť nespecifikujeme, bere racoon jako bernou minci IP adresu klienta. To ovšem znamená, že tuto adresu potřebujeme vždy vědět předem.
Soubor se sdílenými hesly by potom vypadal nějak takto.
# psk.txt
|
Toto řešení se nám ovšem nelíbí, protože je velmi pravděpodobné, že někdo bude mít adresu dynamickou. Dle kapitoly 4.6.2.1 v RFC 2407 máme tyto možnosti identifikace klienta:
| ID Type Value |
|---|
RESERVED 0 |
ID_IPV4_ADDR 1 |
ID_FQDN 2 |
ID_USER_FQDN 3 |
ID_IPV4_ADDR_SUBNET 4 |
ID_IPV6_ADDR 5 |
ID_IPV6_ADDR_SUBNET 6 |
ID_IPV4_ADDR_RANGE 7 |
ID_IPV6_ADDR_RANGE 8 |
ID_DER_ASN1_DN 9 |
ID_DER_ASN1_GN 10 |
ID_KEY_ID 11 |
V situaci, kdy nám stačí jedno sdílené heslo pro všechny klienty (např.
máme 5 manažerů) a používáme autentifikaci pomocí L2TP, bychom potřebovali
ID_IPV4_ADDR_SUBNET 4. Tato možnost bohužel zatím není v
racoonu implementována (hledá se nový majitel tohoto kousku kódu ;)).
Soubor se sdílenými hesly by potom mohl vypadat nějak takto.
# psk.txt
|
Vyhnout se tomuto problému je možné při použití jiné metody
identifikace. Například lze použít ID_FQDN 2. V konfiguraci
racoona (klient) potom použijeme v sekci remote direktivu
peers_identifier fqdn "fakt.jsem.to.ja.ver.mne.cz";.
V konfiguraci racoona (server) použijeme v sekci remote
direktivu peers_identifier fqdn;. Soubor se sdílenými hesly by
potom vypadal takto.
# psk.txt
|
Po tom, co se přátelsky poplácáme po rameni, zase raději vychladneme, protože nastavit způsob identifikace ve windows pravděpodobně nepůjde.
Další věc je, že takto peers_identifier fqdn
"fakt.jsem.to.ja.ver.mne.cz"; si identifikaci může nastavit
kdokoliv.
V okamžiku, kdy máme hotovou konfiguraci racoona, musíme zajistit
pravidla, podle kterých se spojení bude šifrovat. Níže uvedený skript
zařídí, že paket jdoucí na port 1701 (l2tp) musí být šifrovaný. V okamžiku,
kdy se klient pokusí spojit pomocí L2TP/IPSec, se spustí proces, ve kterém se
ustanoví IPSec tunel. Na straně serveru racoon se díky direktivě
generate_policy on; vygenerují pravidla pro komunikaci s
klientem. Tímto šifrovaným tunelem již potom dále probíhá L2TP
komunikace.
#!/bin/sh
|
Politika se nastavuje pomocí nástroje setkey - více man
setkey. Pro testování doporučuju pouštět racoon na popředí a mít v
konfiguraci zapnutý debug: bash# racoon -F.
Hlavní konfigurační soubor pro l2tpd je
/etc/l2tpd/l2tpd.conf a obsahuje:
lnsLNS je zkratka pro L2TP Network Server. Konfigurace v této sekci se tedy vztahují k nastavení serveru.
[lns default] ip range = 10.10.10.10-10.10.10.100local ip = 10.10.10.1require chap = yesrefuse pap = yesrequire authentication = yesname = LinuxVPNserverppp debug = yespppoptfile = /etc/ppp/options.l2tpdlac
LAC je zkratka pro L2TP Access Concentrator. Konfigurace v této sekci se tedy vztahují k nastavení klienta. Jelikož konfigurujeme server, zůstane tato sekce prázdná. Konfigurační soubor tedy bude ve finále vypadat takto:
# l2tpd.conf
|
V souboru /etc/ppp/options.l2tpd jsou již klasické parametry pro PPP
démona.
ipcp-accept-local
|
V souboru /etc/ppp/chap-secrets uvedeme jména a hesla
uživatelů, kterým chceme umožnit připojení.
# Secrets for authentication using CHAP
|
Pro testování doporučuju pouštět l2tpd na popředí: bash# l2tpd
-D.
Možností jak nastavit OS Windows bude zřejmě více, já uvedu ten, který znám.
Start - Nastavení - Ovládací panely - Síťová připojení. Vlevo nahoře je odkaz na Vytvořit nové připojení. Dále postupujeme takto: Připojit k firemní síti - Připojení k VPN - zadáme libovolný název připojení - zadáme ip/fqdn adresu našeho VPN serveru - dokončíme.
Dále je potřeba nastavit sdílené heslo (PSK - Pre Shared Key). V konfiguraci serveru jsme si zvolili PSK "hladjemujnepritel". Spustíme vlastnosti připojení a heslo zadáme do nastavení protokolu IPSec - viz obrázek.
Uložíme vlastnosti a zkusíme vytočit připojení. Tam ještě zadáme uživatelské jméno a heslo, které musí odpovídat chap-secrets na VPN serveru.
Konfigurace klienta je v podstatě stejná jako konfigurace serveru. V
sekci remote uvedeme místo "anonymous" IP adresu našeho VPN
serveru. Konfigurační soubor bude vypadat takto:
# racoon.conf
|
Pravidla, podle kterých se kernel rozhoduje, zda pakety šifrovat, či ne, opět zavedeme pomocí nástroje setkey.
#!/bin/sh
|
V konfiguračním souboru /etc/l2tpd/l2tpd.conf nyní
potřebujeme sekci lac. Parametrem lns říkáme, na
jaké adrese sedí náš přístupový VPN server.
[global]
|
V souboru /etc/ppp/options.l2tpd je změn více. Důležité je
uvést name, protože tímto říkáme lns, jakým uživatelským
jménem se budeme autentizovat.
noauth
|
Záznam pro toto jméno musíme tedy mít v chap-secrets.
# chap-secrets
|
Pokud máme konfigurace připraveny, můžeme připojení spustit.
bash# echo "c vpn" > /var/run/l2tp-control
|
Parametr "c vpn" znamená, že l2tpd má iniciovat spojení (c
jako connect) podle sekce lac s názvem "vpn".
L2tpd se pokusí připojit na port 1701 na přístupovém VPN serveru. Protože VPN server má v politice nastaveno, že vše, co jde na port 1701, musí být šifrované, spustí se proces ustanovení šifrovaného IPSec tunelu. Jakmile se podaří tunel sestavit, proběhne již zabezpečeným kanálem autentizace na úrovni l2tp. Klient je připojen, je mu přidělena ip adresa a může vesele firemní poštou posílat hanbaté obrázky a provádět jiné podobné běžné pracovní úkony.
Jedním z velkých problémů, který ještě není uspokojivě vyřešen, je průchod NATem. Podpora NAT traversal pro transport mód v racoonu zatím není implementována.
Dnes ukázaný scénář je vhodný spíše pro malé sítě a firmy, kde změna sdíleného hesla není problémem. Lepší správu v případě velkého množství klientů nám zabezpečí použití certifikátů. Jakým způsobem nahradit sdílený klíč pomocí certifikátů si ukážeme příště.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: