Zítra 23. září proběhne Maker Faire Mladá Boleslav, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Byla vydána beta verze Ubuntu 23.10 s kódovým názvem Mantic Minotaur. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 23.10 mělo vyjít 12. října 2023.
Josef Průša informuje o nových verzích firmwarů pro tiskárny Original Prusa, 5.0.0 pro MK4 a MK3.9 a 5.1.0-alpha1 pro MINI, díky kterým jsou tiskárny mnohem rychlejší.
Mastodon (Wikipedie), svobodná federalizovaná sociální síť, byl vydán ve verzi 4.2. Z novinek je vypíchnuto vylepšené vyhledávání.
Ben Hawkes publikoval pod názvem The WebP 0day analýzu bezpečnostní chyby CVE-2023-4863 v knihovně WebP / libwebp s řadou zajímavých odkazů. Pravděpodobně se jedná o stejnou chybu jako BLASTPASS (CVE-2023-41064 a CVE-2023-41061) v macOS, iOS, iPadOS a watchOS. Zpracování (zobrazení) speciálně připraveného obrázku nebo přílohy vedlo ke spuštění útočníkem připraveného kódu.
Myš je pro kočku: Prohlížeče je dalším dílem ze série článků Myš je pro kočku, kde Edvard Rejthar ukazuje, jak lze počítač ovládat bez myši. Používáte ve webových prohlížečích zkratky Ctrl+(Shift)+Tab, Ctrl+(Shift)+PgDn/PgUp, F6, (Shift)+Alt+Enter nebo F7?
Vývojáři mobilní Datovky prosí o pomoc s testováním beta verze mobilní Datovky s novým grafickým rozhraním, podporou pro tmavý režim a podporou pro VoDZ. Aplikace je zatím dostupná pouze pro zařízení Android a je umístěna v samostatném instalačním kanále Datovka Beta. Tento kanál slouží pro testovaní nové funkcionality a grafického uživatelského rozhraní. Datovka Beta se instaluje jako samostatná aplikace s vlastními daty, která
… více »Harlequin byl vydán ve verzi 1.0.0. Jedná se o TUI (Text User Interface) IDE (Integrated Development Environment) k systému pro správu SQL OLAP databází DuckDB.
Po roce a půl od představení DALL·E 2 představila společnost OpenAI novou verzi DALL·E 3 svého AI systému pro generování "realisticky vypadajících obrázků nebo uměleckých děl" na základě popisu v přirozeném jazyce, viz příklad "kosmonaut na koni fotorealisticky". Jednou z novinek je integrace s ChatGPT.
Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 133 (pdf) a HackSpace 70 (pdf).
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: