Google bude vydávat zdrojové kódy Androidu pouze dvakrát ročně. Ve 2. a 4. čtvrtletí.
Bezpečnostní specialista Graham Helton z Low Orbit Security si všímá podezřelých anomálií v BGP, zaznamenaných krátce před vstupem ozbrojených sil USA na území Venezuely, které tam během bleskové speciální vojenské operace úspěšně zatkly venezuelského diktátora Madura za narkoterorismus. BGP (Border Gateway Protocol) je 'dynamický směrovací protokol, který umožňuje routerům automaticky reagovat na změny topologie počítačové sítě' a je v bezpečnostních kruzích znám jako 'notoricky nezabezpečený'.
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 3,58 %. 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 26,32 %. Procesor AMD používá 67,43 % hráčů na Linuxu.
V Las Vegas probíhá veletrh CES (Consumer Electronics Show, Wikipedie). Firmy představují své novinky. Například LEGO představilo systém LEGO SMART Play: chytré kostky SMART Brick, dlaždičky SMART Tagy a SMART minifigurky. Kostka SMART Brick dokáže rozpoznat přítomnost SMART Tagů a SMART minifigurek, které se nacházejí v její blízkosti. Ty kostku SMART Brick aktivují a určí, co má dělat.
Vládní CERT (GovCERT.CZ) upozorňuje (𝕏) na kritickou zranitelnost v jsPDF, CVE-2025-68428. Tato zranitelnost umožňuje neautentizovaným vzdáleným útočníkům číst libovolné soubory z lokálního souborového systému serveru při použití jsPDF v prostředí Node.js. Problém vzniká kvůli nedostatečné validaci vstupu u cest k souborům předávaných několika metodám jsPDF. Útočník může zneužít tuto chybu k exfiltraci citlivých
… více »V úterý 13. ledna 2025 se v pražské kanceláři SUSE v Karlíně uskuteční 5. Mobile Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj a související infrastrukturu. Akci pořádá David Heidelberg.
… více »Už je 14 dní zbývá do začátku osmého ročníku komunitního setkání nejen českých a slovenských správců sítí CSNOG 2026. Registrace na akci je stále otevřená, ale termín uzávěrky se blíží. I proto organizátoři doporučují, aby se zájemci přihlásili brzy, nejlépe ještě tento týden.
… více »Rok 2026 sotva začal, ale už v prvním týdnu se nashromáždilo nezvykle mnoho zajímavostí, událostí a zpráv. Jedno je ale jisté - už ve středu se koná Virtuální Bastlírna - online setkání techniků, bastlířů a ajťáků, kam rozhodně doražte, ideálně s mikrofonem a kamerou a zapojte se do diskuze o zajímavých technických tématech.
Dějí se i ne zcela šťastné věci – zdražování a nedostupnost RAM a SSD, nedostatek waferů, 3€ clo na každou položku z Číny … více »Vývojáři GNOME a Firefoxu zvažují ve výchozím nastavení vypnutí funkce vkládání prostředním tlačítkem myši. Zdůvodnění: "U většiny uživatelů tento X11ism způsobuje neočekávané chování".
Nástroj pro obnovu dat GNU ddrescue (Wikipedie) byl vydán v nové verzi 1.30. Vylepšena byla automatická obnova z disků s poškozenou čtecí hlavou.
Děkuji všem za pomoc, problém již považuji za vyřešený.
Dovoluji si zneužít blog pro jistý dotaz (a související brainstorming). Zjistil jsem, že SSH spojení přesměrované pomocí DNATu do DMZ po zhruba 20 minutách neaktivity zamrzne. Tento problém jsem lokalizoval na ADSL router (nějaký starý Linux) a jeho conntrack, který má nastaveno ip_conntrack_tcp_timeout_established na 1200 sekund. Není mi ovšem jasné, proč je jeho conntrack v tomto případě vůbec relevantní, když přesměrování je nastaveno přes DNAT v řetězci PREROUTING.
Nastavení iptables přikládám:
# iptables -L -n -v
Chain INPUT (policy ACCEPT 69481 packets, 4188K bytes)
pkts bytes target prot opt in out source destination
15616 911K CFG tcp -- * * 10.0.0.254 0.0.0.0/0 tcp dpt:80 Records Packet's Source Interface
0 0 CFG tcp -- * * 10.0.0.254 0.0.0.0/0 tcp dpt:443 Records Packet's Source Interface
89 17248 ACCEPT all -- ppp0 * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
546 15288 ACCEPT icmp -- ppp0 * 0.0.0.0/0 0.0.0.0/0 icmp type 8 state NEW
977 126K DROP all -- ppp0 * 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT 557K packets, 62M bytes)
pkts bytes target prot opt in out source destination
713K 764M ACCEPT all -- ppp0 * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
7349 441K ACCEPT tcp -- ppp0 * 0.0.0.0/0 10.0.0.254 tcp dpt:22
3 180 ACCEPT tcp -- ppp0 * 0.0.0.0/0 10.0.0.254 tcp dpt:465
5 300 ACCEPT tcp -- ppp0 * 0.0.0.0/0 10.0.0.254 tcp dpt:993
2 120 ACCEPT tcp -- ppp0 * 0.0.0.0/0 10.0.0.254 tcp dpt:995
133 7164 ACCEPT tcp -- ppp0 * 0.0.0.0/0 10.0.0.254 tcp dpt:5269
13 780 ACCEPT tcp -- ppp0 * 0.0.0.0/0 10.0.0.254 tcp dpt:5222
4 240 ACCEPT tcp -- ppp0 * 0.0.0.0/0 10.0.0.254 tcp dpt:5223
31 1672 ACCEPT tcp -- ppp0 * 0.0.0.0/0 10.0.0.254 tcp dpt:25
6 340 ACCEPT tcp -- ppp0 * 0.0.0.0/0 10.0.0.254 tcp dpt:443
457 27056 ACCEPT tcp -- ppp0 * 0.0.0.0/0 10.0.0.254 tcp dpt:80
17792 1066K TCPMSS tcp -- * ppp0 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x02 TCPMSS clamp to PMTU
0 0 DROP all -- ppp0 * 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 67850 packets, 8572K bytes)
pkts bytes target prot opt in out source destination
11029 1213K DROP icmp -- * ppp0 0.0.0.0/0 0.0.0.0/0 icmp type 3
1 56 DROP icmp -- * ppp0 0.0.0.0/0 0.0.0.0/0 state INVALID
A ještě tabulka nat:
# iptables -t nat -L -n -v
Chain PREROUTING (policy ACCEPT 40082 packets, 2518K bytes)
pkts bytes target prot opt in out source destination
7349 441K DNAT tcp -- ppp0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 to:10.0.0.254:22
3 180 DNAT tcp -- ppp0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:465 to:10.0.0.254:465
5 300 DNAT tcp -- ppp0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:993 to:10.0.0.254:993
2 120 DNAT tcp -- ppp0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:995 to:10.0.0.254:995
133 7164 DNAT tcp -- ppp0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5269 to:10.0.0.254:5269
13 780 DNAT tcp -- ppp0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5222 to:10.0.0.254:5222
4 240 DNAT tcp -- ppp0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5223 to:10.0.0.254:5223
31 1672 DNAT tcp -- ppp0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:25 to:10.0.0.254:25
6 340 DNAT tcp -- ppp0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 to:10.0.0.254:443
458 27116 DNAT tcp -- ppp0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 to:10.0.0.254:80
Chain POSTROUTING (policy ACCEPT 15861 packets, 961K bytes)
pkts bytes target prot opt in out source destination
37691 2325K MASQUERADE all -- * ppp0 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 14 packets, 990 bytes)
pkts bytes target prot opt in out source destination
Pokud si to správně pamatuji, tcpdump odhalil, že keep alive pakety jdou nejprve zevnitř sítě ven, ale na vnější stroj se nedostanou. Poté začne keep alive pakety vysílat vnější stroj, ale domů se nedostane (to je mi jasné, paket přijde na vyšší port, a protože chybí conntrack záznam, firewall ho zahodí). Ale proč neprojdou keep alive pakety zevnitř ven, když směřují na 22 a firewall navíc FORWARD nijak ve směru zevnitř ven neomezuje, to mi jasné není. Druhý firewall v síti také neomezuje provoz z DMZ ven, proto jej ani neuvádím jako relevantní.
Za zneužití blogu tímto způsobem se předem omlouvám, ale poradnu bych tím zneužívat nechtěl. Není to problém, který potřebuji vyřešit, spíše bych rád pochopil, proč k tomu dochází. Přemýšlím o tom už několikátý den a stále na to nemohu přijít. Za odpovědi předem děkuji.
Dodatek první: Problém nastává jak v situaci, kdy se klient připojuje zvenčí k SSH serveru v DMZ, tak v situaci, kdy se stroj v DMZ připojuje jako klient k SSH serveru venku.
Dodatek druhý: Jak mne správně upozornil petr_p, délku uchování záznamu o navázaném spojení v conntrack tabulce určuje parametr ip_conntrack_tcp_timeout_established, nikoliv ip_conntack_max, jak jsem uvedl v blogpostu. Hodnota 1200 se tedy skutečně týká ip_conntack_tcp_timeout_established, nikoliv ip_conntrack_max, tj. záznam v conntrack tabulce ADSL routeru o vytvořeném spojení skutečně vyprší po 20 minutách neaktivity. Omlouvám se za mystifikaci.
Dodatek třetí: Problém zmizí, pokud aktivuji DMZ na ADSL routeru, což provede následující změny ve firewallu. Poslední pravidlo pro řetězec FORWARD se změní z DROP na:
0 0 ACCEPT all -- ppp0 * 0.0.0.0/0 10.0.0.254
A v tabulce nat, řetezci PREROUTING se přidají dvě pravidla:
0 0 DNAT all -- ppp0 * 0.0.0.0/0 !veřejná_ip to:0.0.0.0 0 0 DNAT all -- ppp0 * 0.0.0.0/0 veřejná_ip to:10.0.0.254
Dodatek čtvrtý: Průběh celé akce.
tcp 6 1199 CoS6 ESTABLISHED src=klient dst=server sport=59918 dport=22 src=server dst=verejna_ip sport=22 dport=59918 use=1
ip_conntrack_tcp_timeout_established=1200)20:11:13.108303 IP klient.59918 > server.22: P 1841:1889(48) ack 2926 win 757 <nop,nop,timestamp 75970738 1061777273>
Je tedy jasné, že problém je ve firewallu ADSL routeru, ale kde, to netuším.
Dodatek pátý: Asi už to mám. Samozřejmě opravte mne, pokud se mýlím.
Tiskni
Sdílej:
Dvě chyby:
Odpovědi z SSH serveru se nevracejí přes natující stroj, takže ten neaktualizuje conntrack záznam a časem vyprší.
ip_conntrack_max neurčuje životnost záznamu v sekundách, ale velikost conntrack tabulky. To jest kolik záznamů se do tabulky najednou vejde. Když se zaplní, tak si začne jádro stěžovat a nová spojení nebude přidávat.
. Dodávám, že ten firewall jsem nevymyslel já, ten vymyslel výrobce Well PTI-845. Bohužel s tím firewallem nic moc neudělám, přenastavit ho sice můžu, ale jen do příštího rebootu routeru. Totéž se týká nastavení jádra. Mohu leda přesměrovat veškerý provoz na druhý router za tím, což jsem z hlediska bezpečnosti dělat nechtěl. No, uvidím.
Nicméně, asi jsem na to přišel, díky vašemu jinému příspěvku. Jakmile zmizí z conntrack tabulky záznam o vytvořeném spojení, vyleze z maškarády následný paket s nezměněnou (lokální) zdrojovou adresou, takže ho po cestě nejspíš zahodí nějaký jiný router. Pokud se v této hypotéze nemýlím, je to odpověď, kterou jsem hledal, děkuji moc.
-o ppp0 -j MASQUERADE), přesto na tom rozhraní končily pakety s jinou zdrojovou adresou, čímž došlo k ukončení spojení. No a to se dělo tak často, že ani automatické znovunahození spojení z toho neudělalo použitelné připojení. A to byly mj. pakety, ke kterým conntrack ztratil stav. Nakonec jsem lehkým hackem iptables dospěl k sadě pravidel, která úspěšně INVALID pakety s -o ppp0 prostě zahazovala.
Také to může být nějaká chyba v netfilteru, na ADSL routeru je ještě jádro řady 2.4, čili i to je alternativa.
Pokud se nějaký datagram zahodí, pak dojde k znovyvyslání. Tedy za předpokladu, že jde o TCP, což v případě SSH jde.Ano, k tomu skutečně dochází, vnitřní stroj posílá pakety na vnější stroj, ale ty pakety tam prostě nedorazí. Žádný z nich. Zahazuje je něco na cestě. A to ihned po tom, co ADSL router vymaže záznam o daném ESTABLISHED spojení z conntrack tabulky. Čili, buď je zahazuje ADSL router (ale není mi jasné, jakým pravidlem), nebo nějaký router za ním, ovšem ten by zahodil asi jenom paket s jinou zdrojovou adresou než je veřejná IP přidělená ADSL routeru. Ale to nevím jistě, routery O2 nemám pod svou správou (zatím
).
Maškarádují se všechny datagramy bez vyjímky, to je podstata maškarády. Conntracková tabulka je akorát přiřazuje ke spojením.
Ne. Linuxový NAT je plně stavový, co není v tabulce spojení, se pro jistotu nepřekládá. Do tabulky spojení se záznam uloží „jen“ při prvním packetu ze spojení.
MASQUERADE se od SNAT liší v tom, že sleduje adresu rozhraní a při jejím smazáním odstraní všechna spojení překládaná na tuto adresu.
ad ip_conntrack_max)Možná jsem to zvoral a zaměnil
ip_conntrack_max a ip_conntrack_tcp_timeout_established, ale to se budu muset podívat a přístup do DMZ teď nemám (jako na potvoru teď vypadlo DSL, takže se k routeru nedostanu). Prověřím to, jakmile budu mít příležitost, a když tak aktualizuji blogpost.
ad odpovědi z SSH serveru)SSH komunikace normálně prochází, spojení je po navázání aktivní, data procházejí tam a zpět. Takže buď to není ten případ, nebo zase něčemu nerozumím. Dodám ještě, že problém se týká nejen připojení zvenčí na SSH server v DMZ, ale také připojení z DMZ na SSH servery venku.
ip_conntrack_tcp_timeout_established a nikoliv ip_conntrack_max, jak jsem mylně uvedl, omlouvám se.
Abych pravdu řekl, tak jsem vůbec nepochopil o co ti vlastně jde, ale snad to zachrání pár citací:
Connection Tracking - Description
Connection tracking refers to the ability to maintain the state information about connections, such as source and destination IP address and ports pairs, connection states, protocol types and timeouts. Firewalls that do connection tracking are known as "stateful" and are inherently more secure that those who do only simple "stateless" packet processing.
…Connection tracking is done in the prerouting chain, or the output chain for locally generated packets.
Another function of connection tracking which cannot be overestimated is that it is needed for NAT. You should be aware that no NAT can be performed unless you have connection tracking enabled, the same applies for p2p protocols recognition. Connection tracking also assembles IP packets from fragments before further processing.
…
Connection Timeouts
Connection tracking provides several timeouts. When particular timeout expires the according entry is removed from the connection state table. The following diagram depicts typical TCP connection establishment and termination and tcp timeouts that take place during these processes:
…tcp-established-timeout (time; default: 1d) - maximal amount of time connection tracking entry will survive after having seen an acknowledgment (ACK) from connection initiator
…
NAT se dělí na SNAT a DNAT(Source NAT a Destination NAT) a podle toho se přepisuje buď cílová a nebo zdrojová adresa. A maškaráda není nic jiného než SNAT který za zdrojovou adresu automaticky dopisuje adresu rozhraní ze kterého bude paket vycházet. Žádný šotek a nebo černá magie v tom není.