Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl v březnu 5,33 % (Windows -4,28 %, OSX +1,19 %, Linux +3,10 %). Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 24,48 %. Procesor AMD používá 67,48 % hráčů na Linuxu.
Společnost Apple slaví padesáté narozeniny. Založena byla 1. dubna 1976.
FreeTube, desktopový klient pro YouTube využívající lokální API, byl vydán ve verzi 0.24.0. Toto velké opravné vydání implementuje SABR (Server-Based Adaptive Bit Rate), což řeší část nedávných problémů s načítáním videí z YouTube, a aktualizuje základní komponenty jako Electron nebo přehrávač Shaka Player.
Je tu opět apríl. O víkendu zmizel kamion s 12 tunami tyčinek KitKat. Firmy to využívají k aprílovým žertům. Groupon má super akci. Koupíte 1 tyčinku a dostanete 100 zdarma. Ryanair si přelepil letadla. Šéf Outlooku se ptá, proč mají v baráku 14 beden tyčinek KitKat (𝕏). Prusa Research představuje Prusa Pro ACU a vysvětluje proč přílišné sušení škodí vaším filamentům. Telefon Sony Xperia má miliónnásobný zoom (𝕏). PC.net představil Super Ultrabox 2600 se zajímavými parametry. Další aprílové novinky například na April Fools' Day On The Web.
Společnost OpenAI, která stojí za chatovacím robotem s umělou inteligencí (AI) ChatGPT, získala od investorů 122 miliard USD (2,6 bilionu Kč). Hodnota společnosti tak dosáhla 852 miliard dolarů (více než 18 bilionů Kč). Nejnovější kolo investování se stalo největší, jaké zatím firma uskutečnila, a peníze mají posílit ambiciózní plány rozšíření výpočetní kapacity, datových center a nábor talentů.
Nástroj k identifikaci občanů v on-line komunikaci s úřady byl dnes dopoledne zhruba dvě hodiny částečně nedostupný. Problém se objevil kolem 09:00 a podařilo se ho vyřešit kolem 11:00. Částečně nedostupná byla služba Národní identitní autority (NIA), problémy podle DIA (Digitální a informační agentura) ovlivňovaly přihlašování například i přes bankovní identitu. „Dostupnost NIA byla plně obnovena, přihlášení k digitálním službám
… více »Eben Upton oznámil další zdražení počítačů Raspberry Pi kvůli růstu cen pamětí a představil Raspberry Pi 4 s 3 GB RAM za 83,75 dolarů.
Anthropic patrně omylem zveřejnil celý zdrojový kód svého CLI nástroje Claude Code prostřednictvím přiloženého sourcemap souboru v npm balíčku. Únik odhalil doposud nijak nezveřejněné funkce jako je například režim v utajení, autonomní agent 'KAIROS', orchestrace multi‑agentů, režim snění nebo dokonce virtuální mazlíček Buddy. Zajímavostí je detekce naštvání uživatele pomocí obyčejného regexpu. Anthropic rychle odstranil sourcemap a vydal opravu, nicméně kopie kódu se již stihly na GitHubu rozšířit mezi prostým lidem.
Copilot automaticky vkládal do pull requestů 'propagační tipy', reklamní text se na GitHubu objevil ve více než jedenácti tisících pull requestech. Po vlně kritiky byla tato funkce zablokována a produktový manažer Tim Rogers připustil, že umožnit Copilotovi upravovat cizí pull requesty bez vědomí autorů byla chyba.
Je 31. března a tedy Světový den zálohování (World Backup Day). Co by se stalo, kdyby Vám právě teď odešel počítač, tablet nebo telefon, který používáte?
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: