Byl publikován přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) za uplynulé dva měsíce. Servo zvládne už i Gmail. Zakázány jsou příspěvky generované pomocí AI.
Raspberry Pi Connect, tj. oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče, byla vydána v nové verzi 2.5. Nejedná se už o beta verzi.
Google zveřejnil seznam 1272 projektů (vývojářů) od 185 organizací přijatých do letošního, již jednadvacátého, Google Summer of Code. Plánovaným vylepšením v grafických a multimediálních aplikacích se věnuje článek na Libre Arts.
Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.
OpenSearch (Wikipedie) byl vydán ve verzi 3.0. Podrobnosti v poznámkách k vydání. Jedná se o fork projektů Elasticsearch a Kibana.
PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.
Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.
Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.
Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.
iptables -A INPUT -p tcp -m iprange --dst-range 192.168.2.1-192.168.2.10 -j ACCEPTTakhle to vypadá správně a neškodně, ale jakmile je v povoleném rozsahu (
192.168.2.1-192.168.2.10
) náhodou i stanice na které to právě testuji (např. 192.168.2.5
) tak firewall jako by neexistoval a všechny porty počítače se z vnějšku tváří jako otevřené.
Jakmile má stanice náhodou IP mimo rozsah (např. 192.168.2.11
) tak vše funguje jak má, z vnějšku je dostupné jen omezené "portové okénko" na případný GnomeMeeting nebo bittorent.
Jak jste asi poznali, síťařina není můj obor, ale zvolená politika sítě i síť sama se mi zdá natolik jednoduchá, že bych to snad i já mohl rozchodit, ne?
P.S.
Pro zájemce kompletní skript:
#!/bin/sh # Flush all chains iptables --flush # vychozi politika, vsechno prichozi zahazuj iptables -P INPUT DROP # Allow unlimited traffic on the loopback interface iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT # Allow DNS resolution iptables -A OUTPUT -p udp --destination-port 53 -m state --state NEW -j ACCEPT iptables -A OUTPUT -p tcp --destination-port 53 -m state --state NEW -j ACCEPT # vsechno z vnitrni (domaci) site povol, tcp, udp, .. iptables -A INPUT -p tcp -m iprange --dst-range 192.168.2.1-192.168.2.10 -j ACCEPT # volne "portove" okento pro okolni svet iptables -A INPUT -p tcp --dport 7001:7010 -j ACCEPT
To je ale jasné, protože tím pravidlem povolujete veškerý příchozí provoz na IP adresy v rozsahu. Pokud je tedy "vaše" adresa v rozsahu, povolil jste si na svůj počítač jakýkoliv příchozí provoz. Vy zřejmě chcete povolit veškerý příchozí provoz z daného rozsahu adres. Místo --dst-range tak flákněte --src-range a bude.
Místo --dst-range tak flákněte --src-range a bude...no tohle mi taky vrtalo hlavou. Logické se zdá právě to co říkáte vy. To je tak když opisujete přesně co neznáte. Problém je že většina návodů popisuje konfiguraci dedikovaného firewallu, chránícího síť za sebou, kdežto já se snažím nastavit firewall přímo na koncové stanici. Takže některé "směrovky" asi budou obráceně.
-p all
?
-p
sa nepovoluju porty ale protokoly, icmp by sa hodilo a myslim si ze je v poriadku aj -p all
.
Pripadne je mozne obmedzit icmp len pre male packety napr. cez -m length --length 0:1000
icmp
, tohle by mohlo být možná ještě účinnější
# Propoustime pouze ICMP ping iptables -A INPUT -i $INET_IFACE -p icmp --icmp-type echo-request -j ACCEPT(ze skriptu od Herona)
iptables -A INPUT -i $INET_IFACE -p icmp -m length --length 0:100 --icmp-type echo-request -j ACCEPTpotom take daco:
ping ipecka -s 10000nebude fungovat
Dost dobře nechápu, jak to může fungovat.
iptables -A INPUT -p tcp -m iprange --dst-range 192.168.2.1-192.168.2.10 -j ACCEPT
Tímto povilíte všechno pro všechny IP v tom rozsahu. Takže co vám to dělá, je správné.
Podle:
-m state --state NEW
soudím, že chcete používat stavový firewall. Chybí vám tam pravidlo:
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Co politiky pro ostatní chainy?
Zkrátka a dobře, tak jednoduché to nebude. Pokud chcete, můžete si stáhnout (a upravit) můj firewall (skript je řešený jako služba pro FC4, ale jistě si z toho vytáhnete vše potřebné).
Můj script je určen přímo pro můj PC. Routuju ještě na LAN2_IFACE. Ale to je všechno.
Moje síť:
INET_IFACE -- veřejná IP, cesta do Internetu LAN1_IFACE -- lokálka LAN2_IFACE -- lokálka, sem routuju Internet.
U mě beží: FTP, WWW, SVN, SSHD. Proto ty input pravidla. A funguji i jako http proxi cache a dns cache (pro LAN2).
Připomněl jste mi, že bych to mohl dopsat jako dokumentaci k tomu skriptu.
$LAN1_IFACE == $INET_IFACE
,
takže vaše elegantní pravidlo na neomezování vnitřní sítě:
# Lokalni sit nebudeme omezovat $IPTABLES -A INPUT -i $LAN1_IFACE -j ACCEPT..přesně to co bych potřeboval, je pro mě nepoužitelné :( Musím tam dostat nějak to rozmezí IP adres. Je to vůbec bezpečné testovat vnitřní síť podle rozsahu IP adres? Je reálné riziko podvrhu?
Jestli dobře rozumím vašemu problému: Máte router, který vám přiděluje adresu (DHCP) v rozsahu .1 až .10 (nebylo by lepší to nastavit natvrdo?). Potřebujete k sobě routovat nějaké porty z venku. A spoučastně potřebujete přístup na to druhé PC. Btw jakou adresu má router?
Pokud jsem to pochopil právně, tak si to nastavte: INPUT z IProutru filtrujte a povolte jen ty porty, které potřebujete. A ostatní IP z vnitřní sítě nechte otevřené.
#implicitně zahodíme vse $IPTABLES -P INPUT DROP #povolime vnitrni sit $IPTABLES -A INPUT -s rozsah_adres_vnitrnich_PC -j ACCEPT #z routru jen na povolené porty $IPTABLES -A INPUT -s ip_adresa_routeru -p protokol --dport vase_porty -J ACCEPT #pro navazana spojeni $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPTJe to vůbec bezpečné testovat vnitřní síť podle rozsahu IP adres? Je reálné riziko podvrhu?
Jak reálné je riziko podvrhu nevím. Ale uvědomte si, že útočník se stejně může připojit jen na programy, které u vás běží a poslouchají na síťovce. Viz netstat -lnp
. Pokud budete mít dobře konfigurované služby a spuštěné jen ty, co nutně potřebujete, nemáte se čeho bát.
Ale uvědomte si, že útočník se stejně může připojit jen na programy, které u vás běží a poslouchají na síťovce.
To je hojně rozšířený omyl, který vychází z historické terminologie, jež se traduje z pradávných dob, kdy jeden interface mohl mít jen jednu přiřazenou IP adresu. Ve skutečnosti nic takového jako "poslouchat jen na určitém rozhraní" neexistuje. Proces naslouchá prostřednictvím socketu a ten má určitou (lokální) adresu. Ta je buď 0.0.0.0
a pak socket přijme jakoukoli komunikaci, nebo je nenulová a pak socket přijme jen komunikaci, která má odpovídající cílovou adresu. To, na jaký interface příslušné pakety přišly, v tom nehraje nejmenší roli. Pokud to chcete zohlednit, je třeba to provést pomocí pravidel netfilteru, na úrovni aplikace to provést nelze.
#implicitně zahodíme vse $IPTABLES -P INPUT DROPTohle je jasné
#povolime vnitrni sit $IPTABLES -A INPUT -s rozsah_adres_vnitrnich_PC -j ACCEPTTohle mě zajímá, liší se
-m iprange --src-range 192.168.2.1-192.168.2.10
co navrhuje Jiří Veselský
od -s 192.168.2.1-192.168.2.10
co navrhujete vy?
A taky by asi chtělo nastavit protokoly ne? Takže -p all
. Nebo to se myslí defaultně?
#z routru jen na povolené porty $IPTABLES -A INPUT -s ip_adresa_routeru -p protokol --dport vase_porty -J ACCEPTJe zaručené že příchozí požadavek z internetu (vněšku) bude mít vždy adresu routeru? Router dělá NAT, tak asi jo. A když by NAT nedělal - teď se ptám ze zvědavosti - to by šlo toto pravidlo použít také? Ten parametr -J (jump) má být asi malé -j
#pro navazana spojeni $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPTTohle je něco jako optimalizace? Je to nezbytné? No, všichni mi to doporučují, tak to tam dám, proč ne :) Pokud budete mít dobře konfigurované služby a spuštěné jen ty, co nutně potřebujete, nemáte se čeho bát. Mám puštěný VNC server, zaheslovaný, ale přes šifrovaný kanál to zrovbna nejede, takže potenciál ke zneužití tu obávám se, je. VNC musí být bezpečně dostupné jen z vnitřní sítě!
Bez urážky, naučte se nejprve něco o sítích.
Nenapsal jsem vám skript pro copy-paste, a to ani není cílem diskuse.
Tohle mě zajímá, liší se -m iprange --src-range 192.168.2.1-192.168.2.10 co navrhuje Jiří Veselský od -s 192.168.2.1-192.168.2.10 co navrhujete vy?Pro rozsah adres použijte --src-range
, pro jednu adresu -s
. Myslel jsem, že tohle je jasné.
#pro navazana spojeni $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPTTohle je něco jako optimalizace? Je to nezbytné? No, všichni mi to doporučují, tak to tam dám, proč ne :)
Není to optimalizace. Je to povolení pro navázané spojení. Když prohlížečem jdete na nějaký web, tak se vám musí vrátit packety zpět. A protože už je spojení navázané (šel jste ven), tak se pustí i dovnitř aniž byste to nastavoval jako povolený port.
Nebudu to už psát jako pravidla pro iptables, jen pseudokódem:
1) DROP INPUT
2) INPUT ACCEPT rozsah vnitrnich adres (mimo adresu routeru)
3) INPUT ACCEPT port1 z adresy routeru
...
4) INPUT ACCEPT portn z adresy routeru
5) INPUT ACCEPT navázaných spojení
Dá se to doplnit o logování, TOS, ICMP flood filter atd. Vše najdete v mém skriptu
Tiskni
Sdílej: