Internetový prohlížeč Ladybird ohlásil tranzici z programovacího jazyka C++ do Rustu. Přechod bude probíhat postupně a nové komponenty budou dočasně koexistovat se stávajícím C++ kódem. Pro urychlení práce bude použita umělá inteligence, při portování první komponenty prohlížeče, JavaScriptového enginu LibJS, bylo během dvou týdnů pomocí nástrojů Claude Code a Codex vygenerováno kolem 25 000 řádků kódu. Nejedná se o čistě autonomní vývoj pomocí agentů.
Byl vydán Mozilla Firefox 148.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Nově lze snadno povolit nebo zakázat jednotlivé AI funkce. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 148 bude brzy k dispozici také na Flathubu a Snapcraftu.
Byla vydána nová verze 22.1.0, tj. první stabilní verze z nové řady 22.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools a Libc++.
X86CSS je experimentální webový emulátor instrukční sady x86 napsaný výhradně v CSS, tedy bez JavaScriptu nebo dalších dynamických prvků. Stránka 'spouští' assemblerovový program mikroprocesoru 8086 a názorně tak demonstruje, že i prosté CSS může fungovat jako Turingovsky kompletní jazyk. Zdrojový kód projektu je na GitHubu.
Po šesti letech byla vydána nová verze 1.3 webového rozhraní ke gitovým repozitářům CGit.
Byla vydána nová verze 6.1 linuxové distribuce Lakka (Wikipedie), jež umožňuje transformovat podporované počítače v herní konzole. Nejnovější Lakka přichází s RetroArchem 1.22.2.
Matematický software GNU Octave byl vydán ve verzi 11.1.0. Podrobnosti v poznámkách k vydání. Vedle menších změn rozhraní jsou jako obvykle zahrnuta také výkonnostní vylepšení a zlepšení kompatibility s Matlabem.
Weston, referenční implementace kompozitoru pro Wayland, byl vydán ve verzi 15.0.0. Přehled novinek v příspěvku na blogu společnosti Collabora. Vypíchnout lze Lua shell umožňující psát správu oken v jazyce Lua.
Organizace Apache Software Foundation (ASF) vydala verzi 29 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Ústavní soud na svých webových stránkách i v databázi NALUS (NÁLezy a USnesení Ústavního soudu) představil novou verzi chatbota využívajícího umělou inteligenci. Jeho posláním je usnadnit veřejnosti orientaci v rozsáhlé judikatuře Ústavního soudu a pomoci jí s vyhledáváním informací i na webových stránkách soudu, a to i v jiných jazycích. Jde o první nasazení umělé inteligence v rámci webových stránek a databází judikatury českých soudů.
Soubor skriptů pro nastavení pravidel firewallu
Pro nastavování pravidel do firewallu jsem si udělal sadu jednoduchých a přehledných skriptů. Pravidla mohou být u velké sítě dost složitá. Častý bývá požadavek snadného přenosu těchto pravidel na jiný počítač, například na pobočce. Pravidla bývají v takovém případě podobná, mění se pouze nastavení ip adres a podobně.
Nastavovat pravidla přes klikací prostředí samozřejmě je možné (například kmyfirewall), ale i zde se ztrácí přehlednost, nastavit složitější věci je extrémně pracné, a v neposlední řadě nelze taková pravidla spravovat v nějakém verzovacím systému - nelze se snadno vrátit k předchozímu stavu.
Klikadla pro nastavení všeho možného navíc všeobecně trpí dvěma neduhy: nic nelze zdokumentovat přímo na místě (příklad: registr windows) a odstranění nějakého pravidla "na zkoušku" s tím, že když se to neosvědčí, obnoví se původní stav, není možné (příklad: registr windows). V textových skriptech je možná jak dokumentace, tak podmíněné zpracování kusu kódu, případně zakomentování kódu.
V dobách dřevěných jsem nastavoval pravidla v jenom velkém souboru. Přehlednost s rostoucí složitostí vzala rychle za své. Časem jsem vypracoval systém podobný systému popsanému v tomto článku, jeho nevýhodou však byla filosofie "Jedno pravidlo - jeden soubor". Protože například transparentní přístup na IMAP server je potřeba nastavovat v NAT (dvakrát - jednou pro vnitřní síť a jednou pro internet) a ve FORWARD pravidlech taky dvakrát (zvenku dovnitř a zevnitř dovnitř), každá podobná služba se i v případě jednoduchého firewallu se dvěma síťovými kartami nastavovala ve čtyřech souborech. Pokud se k tomu přidala ještě demilitarizovaná zóna, pravidel a souborů ještě přibylo.
Přepracovaný systém pro tvorbu pravidel firewallu změnil filosofii na "jedna služba - jeden soubor". Transparentní přístup na IMAP v přepracované verzi se tak nastavuje v jediném souboru (zapisuje se do více pravidel najednou).
Jednoduchou verzi pro dvě síťové karty vám nyní nabízím.
Download: http://bravenec.org/cs/howto/firewall/FW-1.0.tgz
V hlavním adresáři FW je několik souborů:
firewall - spustitelná dávka, která projde a nastaví všechna pravidla přímo do kernelu. Na konci se volá uložení pravidel do systému (určeno pro Gentoo Linux).
nastaveni - textový soubor s nastavením. Zde musíte zadat IP adresy svých síťových karet. Také zde máte možnost povolit a přesměrovat některé služby přístupné z internetu (například poštu) a vyřizované v počítači někde ve vnitřní síti (ideálně v demilitarizované zóně, ale to se v tomto jednoduchém příkladě neřeší).
rules - podadresář se samotnými pravidly. V tomto adresáři jsou další podadresáře uvedené čísly (podle čísel se řídí pořadí volání).
V adresáři jsou další podadresáře. Každý podadresář shromažďuje příbuzná pravidla:
000.common - pravidla jako defaultní policy, antispoofing, synflood, icmp a podobně. Tato pravidla jsou vždy volaná z jiných pravidel.
100.pravidla - základní rozdělení do pravidel. Pravidla jsou pojmenovaná podle směru:
Pravidla jsou minimalistická, obsahují jen nezbytná nebo obvyklá nastavení. Počítá se s tím, že další pravidla se budou přidávat v následujících souborech.
300.zevnitr - soubory s pravidly pro přístupy z vnitřní sítě. Namátkou:
400.zvenku - soubory s pravidly pro přístupy z vnější sítě. Namátkou:
500.sluzby - Soubory pro zpřístupnění služeb. Služby zde uvedené mají dvě věci společné - server obsluhující službu je umístěný ve vnitřní síti a přístup na tuto službu musí být stejný jak z vnitřní sítě, tak z vnější sítě. Typickým příkladem je například http server. Ten může běžet ve vnitřní síti (počítač je z internetu nedostupný), ale stránky musejí být přístupné svou url adresou (například http://bravenec.org/) jak z vnitřní sítě, tak z internetu. Stejným způsobem je nutné přitsupovat typicky k poště (imap.bravenec.org a smtp.bravenec.org).
999.konec - ukončení pravidel vytvořených v adresáři 100.pravidla. Obvykle je zde pouze logování a drop paketů, které prošly až sem.
Pravidla mohou být velmi jednoduchá. Takto se například povoluje přístup přes ssh na firewall z vnitřní sítě:
IPTABLES -A in-loc -p tcp --dport ssh -j ACCEPT
IPTABLES je skutečně zapsané velkými písmeny - jde o wrapper kolem volání iptables (kvůli výpisům). Syntaxe je jinak stejná.
Složitější pravidla (obvykle služby) mohou být košatější:
if [ "$IMAPS" != "" ]; then
###########
# zvnějšku
IPTABLES -t nat -A pre-out -p tcp --dport imaps -d $OUTER -j DNAT --to $IMAPS
IPTABLES -A out-in -p tcp --dport imaps -d $IMAPS -j ACCEPT
###########
# zevnitř
IPTABLES -t nat -A pre-in -p tcp --dport imaps -d $OUTER -j DNAT --to $IMAPS
IPTABLES -A in-in -p tcp --dport imaps -d $IMAPS -j ACCEPT
IPTABLES -t nat -A in-post \
-p tcp --dport imaps -d $IMAPS \
-j SNAT --to $INNER
fi
Pro vytvoření dalších pravidel stačí zkopírovat podobný soubor a upravit adresy a porty.
Pravidla jsou určená pro jednoduchý firewall se dvěma síťovými kartami. Pokud byste potřebovali oddělit demilitarizovanou zónu od vnitřní sítě (typicky http server nebo poštovní server), můžete firewall rozšířit o další síťovou kartu a o další pravidla (dmz-in, dmz-out, out-dmz, in-dmz, dmz-dmz). Pravidlo pro IMAPS by pak mohlo vypadat například takto:
if [ "$IMAPS" != "" ]; then
###########
# zvnějšku
IPTABLES -t nat -A pre-out -p tcp --dport imaps -d $OUTER -j DNAT --to $IMAPS
IPTABLES -A out-dmz -p tcp --dport imaps -d $IMAPS -j ACCEPT
###########
# zevnitř
IPTABLES -t nat -A pre-in -p tcp --dport imaps -d $OUTER -j DNAT --to $IMAPS
IPTABLES -A in-dmz -p tcp --dport imaps -d $IMAPS -j ACCEPT
###########
# z dmz (kvůli webmailu)
IPTABLES -t nat -A pre-dmz -p tcp --dport imaps -d $OUTER -j DNAT --to $IMAPS
IPTABLES -A dmz-dmz -p tcp --dport imaps -d $IMAPS -j ACCEPT
IPTABLES -t nat -A dmz-post \
-p tcp --dport imaps -d $IMAPS \
-j SNAT --to $INNER
fi
Tiskni
Sdílej:
Tak si hraji se shorewall... je to docela ulehčení, ale člověk aby stejně znal iptables a navíc k tomu shorewall. Nakonec jsem stejně skončil u pravidel jako:
SSH/DNAT net loc:10.10.1.106 SSH/DNAT loc loc:10.10.1.106
Když takhle přesměruji zvenku dovnitř a zevnitř dovnitř port, návod mi vůbec nepomůže a shorewall vyrobí paskvil, který mě nepustí ven, vždy mě přesměruje dovnitř.
Nutné je vyrábět pravidla takto:
SSH/DNAT net loc:10.10.1.106 DNAT loc loc:10.10.1.106 tcp 22 22 83.214.293.13
A už zase dělám stejnou věc dvěma různými způsoby. Pokud teď ještě zjistím, že IP adresu nelze nahradit nějakou symbolickou hodnotou, budu shorewallem poněkud zklamaný. Znamenalo by to totiž, že každý počítač bych musel konfigurovat víceméně ručně.
Zabrousil jsem na web http://www.fwbuilder.org/ - chápu dobře, že to je klikací? To by ovšem dost významně snižovalo použitelnost takového udělátka...