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.
Gravity Linux je linuxová distribuce určená pro Apple Silicon s čipy M4 a novějšími. Vydána byla alfa verze pro M4 Mac mini. Gravity Linux je fork Asahi Linuxu.
Hister je osobní soukromý vyhledávač, který lze provozovat na vlastním stroji. Umí prohledávat lokální soubory, importovat historii a záložky z webových prohlížečů, procházet vybrané weby a pomocí rozšíření pro Firefox a Chrome indexovat obsah právě navštívených stránek. Nad vytvořeným indexem pak nabízí vyhledávání prostřednictvím webového rozhraní, příkazové řádky a díky podpoře MCP i nástrojům umělé inteligence. Tento
… více »Ministerstvo dopravy uznalo prozatímní schválení asistenčního systému Tesla FSD Supervised vydané nizozemským schvalovacím orgánem RDW. Připojilo se tak k Nizozemsku a dalším pěti evropským státům. Systém je díky tomuto rozhodnutí možné používat za podmínek prozatímního schválení také na území České republiky. Tesla FSD Supervised je asistenčním systémem úrovně 2 podle klasifikace SAE (částečná automatizace řízení). Řidič se
… více »Někteří zákazníci O2 mohou aktuálně zaznamenat zhoršenou dostupnost internetových služeb. Na odstranění potíží se pracuje [Facebook].
Projekt Netfilter/IPtables založil roku 1998 sympatický Rusty Russel, který je také autorem předchůdce IPtables - projektu IPchains. Rusty je také zakladatelem týmu vývojářů (tzv. Netfilter Core Team), kteří se o celý rozsáhlý projekt starají. Projekt se postupem času z prostého paketového filtru obdařeného jen základními vlastnostmi rozrostl do podoby, v jaké jej spatřujeme dnes - totiž do funkčně košatého nástroje, s jehož pomocí lze implementovat i velice složité stavové firewally včetně možnosti práce s překladem adres (Network Address Translation, dále jen NAT) a "trackingu" spojení (connection tracking). Práce s NAT umožňuje zejména "maškarády" (masquarades), "forwardování" portů (port forwarding) a "přesměrovávání" (redirecting). Rusty Russel se i nadále aktivně účastní vývoje projektu, ovšem aktuální osobou číslo jedna je dnes vynikající Harald Welte.
Napsat kvalitní script, který nastaví slušný firewall není zcela jednoduché, ale zase není zapotřebí z toho dělat až přílišnou vědu. Celková koncepce Netfilteru je poměrně složitá, ale věřte mi, že je zároveň až geniálně jednoduchá. Každý nadto k problematice nakonec přistupuje docela jinak, než jak mu radí druzí. Proto prosím přistupujte k tomuto dokumentu spíše nezávazně.
Lidé také uvažují rozdílně, když píší script pro nastavení tabulek Netfilteru. Existují v zásadě dva způsoby, jak můžete při psaní firewallu přemýšlet:
V čem se oba přístupy liší? Řekněme, že když si jen tak "scriptujeme,"
pak v podstatě neděláme nic jiného, než že tabulky paketového filtru
plníme nějakými daty pomocí příslušného prográmku (obvykle
/sbin/iptables), přičemž nás příliš nezajímá, co to vlastně vnitřně
dělá.
Avšak "programujeme-li," pak si klidně v pojmosloví Netfilteru můžeme nahradit slovo "řetězec" (chain) slovem "funkce." Pohybujeme se pak ve sféře kdy nám Netfilter/IPtables umožňuje procedurální vyjádření našich síťově-bezpečnostních potřeb. Netfilter je totiž vnitřně prakticky plnohodnotný programovací jazyk, v němž lze krom zmíněných "funkcí" implementovat i podmínky a dokonce cykly.
Oba zmíněné způsoby uvažování mají význam především psychologický. Praktický efekt je nulový a výsledná tabulka v obou případech stejná. Někomu se prostě firewally píší lépe tak a někomu onak. Rusty Russel například volí druhý ("programovací") způsob. Ostatně aby ne! On je přeci vynikající programátor. Avšak i my, kteří třeba programovat ani vůbec neumíme, se nyní směle pokusíme naučit nastavit svůj první firewall.
V této kapitolce jste zaslechli několik důležitých pojmů jako například "chain" a "tabulka." Vysvětlíme si je v následující sekci, která pojednává obecně o koncepci Netfilteru.
Paketový filtr je software, který prohlíží hlavičky procházejících
paketů a rozhoduje, co se má se kterým paketem stát. Typicky může být
packet zahozen (DROP), akceptován (ACCEPT)
nebo popř. může být informace o něm zalogována (LOG). Obecně těmto akcím říkáme v terminologii Netfilteru "cíl" (target), neboli co se s paketem má stát, kam ho chceme směřovat apod. Lze s ním
samosebou dělat mnohé další, i třeba velice složité, kejkle, pro něž si obvykle vytváříme targety vlastní. Pro
začátek však vystačíme s těmito třemi akcemi.
Dnešní svět je nebezpečný na všech úrovních reality, tedy i na úrovni
reality počítačových sítí. Chceme proto mít kontrolu nad tím, co se k
nám dostane, a co od nás odchází. O něčem bychom rádi věděli, něčeho se
raději zbavíme bez povšimnutí. V obecné rovině nám přesně toto projekt
Netfilter umožňuje. Program iptables je součástí projektu Netfilteru a slouží k
nastavování paketového filteru. Jeho manuálová stránka je velice
rozsáhlá a dobře napsaná. Po pochopení základních způsobů konfigurace
Netfilteru se v ní již pohybujeme poměrně lehce.
Pro začátek máme k dispozici tři vestavěné řetězce, do nichž můžeme ukládat nová pravidla:
INPUTOUTPUTFORWARD
Program iptables nám umožňuje několik základních akcí.
Pohodlně můžeme:
iptables -Niptables -Xiptables -Piptables -Liptables -Fiptables -ZDále máme k dispozici několik způsobů jak nakládat s pravidly uvnitř specifikovaného řetězce:
iptables -Aiptables -Iiptables -Riptables -DTeď, když víme, co všechno můžeme dělat na úrovni celých řetězců pravidel, přejdeme k pravidlům samotným a podíváme se, co všechno nám Netfilter umožní specifikovat. Pro přehlednost si uvedeme jen ty nejdůležitější věci:
Zdrojovou a cílovou adresu lze specifikovat pomocí přepínačů
--source (zdroj) a --destination
(cíl). Oba přepínače mají i své zkrácené verze -s
či --src a -d či --dst. Lze
specifikovat jak symbolické jméno (např. localhost nebo
www.abclinuxu.cz - tuto variantu nedoporučuji) tak IP
adresu či celou síť (např. 127.0.0.1,
12.34.56.78/32, 98.76.54.32/27, pro všechny
adresy vůbec pak 0/0).
Negace většiny specifikací lze docílit znakem vykřičníku. Např.
-s ! 127.0.0.1 vyhoví kterémukoli paketu, který nepřichází
z localhost. Negaci, nebo chcete-li "inverzi", lze použít
pro většinu určujících pravidel, je však vždy raději lepší konzultovat
manuálovou stránku man iptables.
Protokol lze určit pomocí přepínače --protocol
(zkráceně -p). Příkladem může být -p ! tcp,
čemuž by vyhověly všechny datagramy, které nejsou TCP.
Důležitá je též možnost určit síťové zařízené, na němž chceme
filtrovat. Toho lze docílit přepínači --in-interface
(zkráceně -i) pro vstupní interface a
--out-interface (zkráceně -o) pro výstupní
interface.
Je nutné pamatovat na skutečnost, že řetězec
INPUT nemá výstupní interface a že řetězec
OUTPUT nemá vstupní interface. Obě, vstupní i výstupní,
zařízení má pouze řetězech FORWARD.
Dále chceme-li specifikovat například zařízení eth1,
eth2 a eth3, lze tak udělat v jediném
pravidle pomocí znaku "plus" např. takto: -i eth+.
Je-li zapotřebí filtrovat či jinak nakládat s fragmentovanými
pakety. které vznikají vetšinou díky tomu, že příliš velké pakety
některá zařízení neumí přenést, lze tak učinit pomocí přepínače
--fragment (zkráceně -f).
Poté, co jsme probrali nutné minimum k iptables,
obrátíme pozornost k jejich rozšířením.
iptables... a další kapitoly ... (prosím o rezervaci, -- Matouš)
Ukázkový script na nastavení firewallu může vypadat např. takto:
---CUT---
#!/bin/bash
# eth0 - náš interface do světa
# lo+ - viz `man iptables'
# bráníme se proti smurf-proofingu, "mrtvým" chybovým hláškám a IP spoofingu
if [ -e /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts ]; then
/bin/echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
fi
if [ -e /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses ]; then
/bin/echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
fi
# for i in /proc/sys/net/ipv4/conf/* ; do
# /bin/echo "1" > $i/rp_filter
# done
# úplně vymažeme starý firewall
/bin/cat /proc/net/ip_tables_names | while read TABLE; do
/sbin/iptables -t $TABLE -L -n | while read C CHAIN REST; do
if [ "X$C" = "XChain" ]; then
/sbin/iptables -t $TABLE -F $CHAIN
fi
done
/sbin/iptables -t $TABLE -X
done
# a všechno vynulujeme
/sbin/iptables -Z
/sbin/iptables -t nat -Z
/sbin/iptables -t mangle -Z
# úplně vypnout firewall lze přepínačem "stop"
if [ "$1" == "stop" ]; then
# defaultní politika bude akceptovat
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
# a smitec
exit 0;
fi
# defaultní politika bude zahazovat
/sbin/iptables -P OUTPUT DROP
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
# povolíme provoz na loopbacku
/sbin/iptables -A OUTPUT -o lo+ -j ACCEPT
/sbin/iptables -A INPUT -i lo+ -j ACCEPT
# úplně se odříznete od světa přepínačem "panic"
if [ "$1" == "panic" ]; then exit 0; fi
# povolíme všechna odchozí spojení
/sbin/iptables -A OUTPUT -p tcp -o eth0 -j ACCEPT
/sbin/iptables -A OUTPUT -p udp -o eth0 -j ACCEPT
/sbin/iptables -A OUTPUT -p icmp -o eth0 -j ACCEPT
# špatně navazovaná spojení, fragmenty a nesmysly zahazujeme
/sbin/iptables -A INPUT -i eth0 -m state --state INVALID -j DROP
# /sbin/iptables -A INPUT -i eth0 -f -j DROP
/sbin/iptables -A INPUT -i eth0 -p tcp ! --syn -m state --state NEW -j DROP
# bráníme se proti SYN floodu
/sbin/iptables -N STOP_FLOODS
/sbin/iptables -A STOP_FLOODS -m limit --limit 1/s --limit-burst 5 -j RETURN
/sbin/iptables -A STOP_FLOODS -j DROP
/sbin/iptables -A INPUT -i eth0 -p tcp --syn -j STOP_FLOODS
# povolíme již navázaná nebo námi iniciovaná TCP a UDP spojení
/sbin/iptables -A INPUT -i eth0 -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p udp -m state --state ESTABLISHED,RELATED -j ACCEPT
# některé ICMP pakety přeci jenom povolíme, ale floodovat nás nebudou
/sbin/iptables -N CHOOSE_ICMP
/sbin/iptables -A CHOOSE_ICMP -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A CHOOSE_ICMP -p icmp --icmp-type 0 -m length --length 28:84 -j ACCEPT
/sbin/iptables -A CHOOSE_ICMP -p icmp --icmp-type 3 -m length --length 28:84 -j ACCEPT
/sbin/iptables -A CHOOSE_ICMP -p icmp --icmp-type 8 -m length --length 28:84 \
-m limit --limit 1/s --limit-burst 5 -j ACCEPT
/sbin/iptables -A CHOOSE_ICMP -p icmp --icmp-type 11 -m length --length 28:84 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -j CHOOSE_ICMP
# povolíme vzdálené připojení pomocí SSH
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
# povolíme vzdálené připojení pomocí SSH z IP.AD.RE.SA pouze
# /sbin/iptables -A INPUT -i eth0 -s IP.AD.RE.SA -p tcp --dport 22 -j ACCEPT
# odmítneme spojeni na AUTH a resetujeme ho
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 113 -j REJECT --reject-with tcp-reset
# konec
---CUT---
Případný port-scan programem NMap pak dopadne asi takto:
---CUT--- #> nmap -P0 -TInsane NA.SE.IP.ADRESA Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2005-12-24 16:48 CET All 1663 scanned ports on SYMBOLICKE.JMENO.TLD (NA.SE.IP.ADRESA) are: filtered Nmap finished: 1 IP address (1 host up) scanned in 87.792 seconds ---CUT---Zkusme si stroj "pingnout" paketem velkým 1400 bytů.
---CUT--- #> ping -c1 -s 1400 NA.SE.IP.ADRESA PING NA.SE.IP.ADRESA (NA.SE.IP.ADRESA) 1400(1428) bytes of data. --- NA.SE.IP.ADRESA ping statistics --- 1 packets transmitted, 0 received, 100% packet loss, time 0ms ---CUT---
Normální ping ale projde.
---CUT--- $> ping -c1 NA.SE.IP.ADRESA PING NA.SE.IP.ADRESA (NA.SE.IP.ADRESA) 56(84) bytes of data. 64 bytes from NA.SE.IP.ADRESA: icmp_seq=1 ttl=58 time=12.6 ms --- NA.SE.IP.ADRESA ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 12.632/12.632/12.632/0.000 ms ---CUT---
Stejně tak projde mtr bez změny parametrů (používá ICMP pakety, které se ve výchozím nastavení vejdou do specifikovaného rozsahu, mají velikost 64 bytů). Zkusíme-li ale mtr -i 0.1 NA.SE.IP.ADRESA, tak už náš stroj bude vykazovat ztrátovost paketů.
Dokument vytvořil: vladka, 29.8.2005 12:13 | Poslední úprava: Nicky726, 26.3.2009 16:32 | Další přispěvatelé: ©, hmm | Historie změn | Zobrazeno: 14643×
Tiskni
Sdílej: