Dánské ministerstvo pro digitální záležitosti má v plánu přejít na Linux a LibreOffice [It's FOSS News].
V úterý Google vydal Android 16. Zdrojové kódy jsou k dispozici na AOSP (Android Open Source Project). Chybí (zatím?) ale zdrojové kódy specifické pro telefony Pixel od Googlu. Projekty jako CalyxOS a GrapheneOS řeší, jak tyto telefony nadále podporovat. Nejistá je podpora budoucích Pixelů. Souvisí to s hrozícím rozdělením Googlu (Google, Chrome, Android)?
Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.101 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.101 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
V Brně na FIT VUT probíhá třídenní open source komunitní konference DevConf.CZ 2025. Vstup je zdarma, nutná je ale registrace. Na programu je celá řada zajímavých přednášek, lightning talků, meetupů a workshopů. Přednášky lze sledovat i online na YouTube kanálu konference. Aktuální dění lze sledovat na Matrixu, 𝕏 nebo Mastodonu.
Vyloučení technologií, které by mohly představovat bezpečnostní riziko pro stát, má umožnit zákon o kybernetické bezpečnosti, který včera Senát schválil spolu s novelami navazujících právních předpisů. Norma, kterou nyní dostane k podpisu prezident, počítá rovněž s prověřováním dodavatelů technologií pro stát. Normy mají nabýt účinnosti od třetího měsíce po jejich vyhlášení ve Sbírce zákonů.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.6.
Po Red Hat Enterprise Linuxu a AlmaLinuxu byl v nové stabilní verzi 10.0 vydán také Rocky Linux. Přehled novinek v poznámkách k vydání.
Bylo vydáno Eclipse IDE 2025-06 aneb Eclipse 4.36. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.
Americká filmová studia Walt Disney a Universal Pictures podala žalobu na provozovatele populárního generátoru obrázků pomocí umělé inteligence (AI) Midjourney. Zdůvodňují to údajným porušováním autorských práv. V žalobě podané u federálního soudu v Los Angeles označují firmu za „bezednou jámu plagiátorství“, neboť podle nich bez povolení bezostyšně kopíruje a šíří postavy z filmů jako Star Wars, Ledové království nebo Já, padouch, aniž by do nich investovala jediný cent.
Ultra Ethernet Consortium (UEC), jehož cílem je optimalizace a další vývoj Ethernetu s důrazem na rostoucí síťové požadavky AI a HPC, vydalo specifikaci Ultra Ethernet 1.0 (pdf, YouTube).
Řešení dotazu:
#!/bin/sh echo "0" > /proc/sys/net/ipv4/ip_forward MOJE_IP=192.168.3.67 /sbin/iptables -X /sbin/iptables -F INPUT /sbin/iptables -F OUTPUT /sbin/iptables -F FORWARD /sbin/iptables -P INPUT DROP /sbin/iptables -P OUTPUT DROP /sbin/iptables -P FORWARD DROP # local /sbin/iptables -A OUTPUT -o lo -j ACCEPT /sbin/iptables -A INPUT -i lo -j ACCEPT # to co jsme navázali my /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #nase odchozi pakety povolime /sbin/iptables -A OUTPUT -s $MOJE_IP -j ACCEPT # WWW povolime /sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT # povolime vas port tcp 3306 /sbin/iptables -A INPUT -p tcp --dport 3306 -j ACCEPT # odmitne port 113 auth /sbin/iptables -A INPUT -i eth0 -p TCP --dport 113 -j REJECT
#!/bin/sh echo "1" > /proc/sys/net/ipv4/ip_forward # rp_filter na zamezeni IP spoofovani for interface in /proc/sys/net/ipv4/conf/*/rp_filter; do echo "1" > ${interface} done # Modul pro FTP prenosy /sbin/modprobe ip_conntrack_ftp /sbin/modprobe ip_nat_ftp # Cesta k programu iptables IPTABLES="/sbin/iptables" # IP a broadcast adresa a rozhrani vnitrni site LAN1_IP="10.0.0.2" LAN1_BCAST="10.0.0.255/32" LAN1_IFACE="eth0" INET_IP="194.228.223.93" INET_IFACE="eth1" # Firevall /sbin/iptables -X /sbin/iptables -F INPUT /sbin/iptables -F OUTPUT /sbin/iptables -F FORWARD /sbin/iptables -t nat -X /sbin/iptables -t nat -F POSTROUTING /sbin/iptables -t nat -F PREROUTING /sbin/iptables -t nat -F OUTPUT /sbin/iptables -P INPUT DROP /sbin/iptables -P OUTPUT DROP /sbin/iptables -P FORWARD DROP /sbin/iptables -t mangle -X /sbin/iptables -t mangle -F OUTPUT /sbin/iptables -t mangle -F PREROUTING # MASKARADA /sbin/iptables -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to $INET_IP # TOS flagy slouzi k optimalizaci datovych cest. Pro ssh, ftp a telnet # pozadujeme minimalni zpozdeni. Pro ftp-data zase maximalni propostnost $IPTABLES -t mangle -A PREROUTING -p tcp --sport ssh -j TOS --set-tos Minimize-Delay $IPTABLES -t mangle -A PREROUTING -p tcp --dport ssh -j TOS --set-tos Minimize-Delay $IPTABLES -t mangle -A PREROUTING -p tcp --sport ftp -j TOS --set-tos Minimize-Delay $IPTABLES -t mangle -A PREROUTING -p tcp --dport telnet -j TOS --set-tos Minimize-Delay $IPTABLES -t mangle -A PREROUTING -p tcp --sport ftp-data -j TOS --set-tos Maximize-Throughput # # Pridavne retezce pro snazsi kontrolu na rezervovane adresy # # Zahazovat a logovat (max. 5 x 3 pakety za hod) $IPTABLES -N logdrop $IPTABLES -F logdrop $IPTABLES -A logdrop -m limit --limit 5/h --limit-burst 3 -j LOG --log-prefix "Log droop: " --log-level 6 $IPTABLES -A logdrop -j DROP # V tomto retezci se kontroluje, zda prichozi pakety nemaji nesmyslnou IP adresu $IPTABLES -N IN_FW $IPTABLES -F IN_FW $IPTABLES -A IN_FW -i $LAN1_IFACE -s 192.168.0.0/16 -j logdrop # rezervovano podle RFC1918 $IPTABLES -A IN_FW -i $INET_IFACE -s 10.0.0.0/8 -j logdrop # ---- dtto ---- $IPTABLES -A IN_FW -s 172.16.0.0/12 -j logdrop # ---- dtto ---- $IPTABLES -A IN_FW -s 96.0.0.0/4 -j logdrop # rezervovano podle IANA $IPTABLES -A IN_FW -s 127.0.0.0/8 -j logdrop $IPTABLES -A IN_FW -i $INET_IFACE -s $INET_IP -j logdrop # ... dalsi rezervovane adresy mozno doplnit podle # http://www.iana.com/assignments/ipv4-address-space # Blokování spamerů $IPTABLES -A IN_FW -s 61.72.0.0/13 -j logdrop $IPTABLES -A IN_FW -s 61.80.0.0/12 -j logdrop $IPTABLES -A IN_FW -s 61.154.0.0/255.255.0.0 -j logdrop $IPTABLES -A IN_FW -s 195.166.224.0/19 -j logdrop $IPTABLES -A IN_FW -s 65.182.134.212/27 -j logdrop $IPTABLES -A IN_FW -s 65.182.134.224/29 -j logdrop $IPTABLES -A IN_FW -s 65.182.134.232 -j logdrop $IPTABLES -A IN_FW -s 65.182.134.233 -j logdrop $IPTABLES -A IN_FW -s 65.6.55.0/255.255.255.0 -j logdrop $IPTABLES -A IN_FW -s 130.228.184.234 -j logdrop $IPTABLES -A IN_FW -s 62.166.232.0/22 -j logdrop # Retezec pro stanoveni limitu prichozich SYN konexi (ochrana pred SYN floods) # propusti pouze 4 SYN segmenty/sec $IPTABLES -N syn-flood $IPTABLES -F syn-flood $IPTABLES -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN $IPTABLES -A syn-flood -j DROP # FORWARD # Navazovani spojeni ala Microsoft - # Paket navazuje spojeni, ale nema nastaveny priznak SYN, pryc s nim $IPTABLES -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP # Nechceme rezervovane adresy na rozhrani $IPTABLES -A FORWARD -j IN_FW $IPTABLES -A FORWARD -p tcp --syn -j syn-flood $IPTABLES -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 5 -j ACCEPT # Routing pouze pro navazana spojeni (stavovy firewall) $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT # Sluzbu AUTH neni dobre filtrovat pomoci DROP, protoze to muze # vest k prodlevam pri navazovani nekterych spojeni. Proto jej # sice zamitneme, ale tak, aby nedoslo k nezadoucim prodlevam. $IPTABLES -A FORWARD -p TCP --dport 113 -j REJECT --reject-with tcp-reset #AUTH server #Zakázání něktrerých služeb které se nesmí routovat $IPTABLES -A FORWARD -p tcp --dport 23:25 -j logdrop $IPTABLES -A FORWARD -p udp --dport 23:25 -j logdrop $IPTABLES -A FORWARD -p tcp --dport 137:139 -j logdrop $IPTABLES -A FORWARD -p udp --dport 137:139 -j logdrop $IPTABLES -A FORWARD -p tcp --dport 67:69 -j logdrop $IPTABLES -A FORWARD -p udp --dport 67:69 -j logdrop $IPTABLES -A FORWARD -p tcp --dport 445 -j logdrop $IPTABLES -A FORWARD -p udp --dport 445 -j logdrop # Routing ze sítě do internetu povolen $IPTABLES -A FORWARD -i $LAN1_IFACE -o $INET_IFACE -j ACCEPT # Ostatni pakety budou zahozeny, tak je budeme logovat (12 x 5 pkt/hod) $IPTABLES -A FORWARD -m limit --limit 12/h -j LOG --log-prefix "FORWARD drop: " --log-level 6 # # Retezec INPUT # # Navazovani spojeni ala Microsoft - # Paket navazuje spojeni, ale nema nastaveny priznak SYN, pryc s nim $IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j DROP # local $IPTABLES -A INPUT -i lo -j ACCEPT # Nejprve se zbavime nezadoucich adres $IPTABLES -A INPUT -j IN_FW # Odfiltrovat pokusy o syn-flooding $IPTABLES -A INPUT -p tcp --syn -j syn-flood # Odfiltrovat pokusy o zahlceni icmp $IPTABLES -A INPUT -p icmp -j syn-flood $IPTABLES -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 5 -j ACCEPT # Pakety od navazanych spojeni jsou v poradku $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Stejne jako pakety z lokalni site, jsou-li urceny pro nas $IPTABLES -A INPUT -i $LAN1_IFACE -d $LAN1_IP -j ACCEPT $IPTABLES -A INPUT -i $LAN1_IFACE -d $LAN1_BCAST -j ACCEPT $IPTABLES -A INPUT -i $LAN1_IFACE -d $INET_IP -j ACCEPT # Pravidla pro povolene sluzby # WWW $IPTABLES -A INPUT -p tcp --dport 80 -j ACCEPT # DC #/sbin/iptables -A INPUT -p tcp --dport 9176 -j ACCEPT # DC #/sbin/iptables -A INPUT -p udp --dport 9176 -j ACCEPT # edonkey #/sbin/iptables -A INPUT -p tcp --dport 4662 -j ACCEPT # edonkey #/sbin/iptables -A INPUT -p udp --dport 4662 -j ACCEPT # edonkey #/sbin/iptables -A INPUT -p tcp --dport 4663 -j ACCEPT # edonkey #/sbin/iptables -A INPUT -p udp --dport 4663 -j ACCEPT #SMTP $IPTABLES -A INPUT -p tcp --dport 25 -j ACCEPT $IPTABLES -A INPUT -p udp --dport 25 -j ACCEPT # Sluzbu AUTH neni dobre filtrovat pomoci DROP, protoze to muze # vest k prodlevam pri navazovani nekterych spojeni. Proto jej # sice zamitneme, ale tak, aby nedoslo k nezadoucim prodlevam. $IPTABLES -A INPUT -p TCP --dport 113 -m limit --limit 12/h -j LOG --log-prefix "INPUT drop: " --log-level 6 $IPTABLES -A INPUT -p TCP --dport 113 -j REJECT --reject-with tcp-reset #AUTH server # Vsechno ostatni je zakazano - tedy logujeme, maxim. 12x5 pkt/hod $IPTABLES -A INPUT -m limit --limit 12/h -j LOG --log-prefix "INPUT drop: " --log-level 6 # # Retezec OUTPUT # # local $IPTABLES -A OUTPUT -o lo -j ACCEPT # TOS flagy slouzi k optimalizaci datovych cest. Pro ssh, ftp a telnet # pozadujeme minimalni zpozdeni. Pro ftp-data zase maximalni propostnos $IPTABLES -t mangle -A OUTPUT -o $INET_IFACE -p tcp --sport ssh -j TOS --set-tos Minimize-Delay $IPTABLES -t mangle -A OUTPUT -o $INET_IFACE -p tcp --dport ssh -j TOS --set-tos Minimize-Delay $IPTABLES -t mangle -A OUTPUT -o $INET_IFACE -p tcp --sport ftp -j TOS --set-tos Minimize-Delay $IPTABLES -t mangle -A OUTPUT -o $INET_IFACE -p tcp --dport ftp -j TOS --set-tos Minimize-Delay $IPTABLES -t mangle -A OUTPUT -o $INET_IFACE -p tcp --dport telnet -j TOS --set-tos Minimize-Delay $IPTABLES -t mangle -A OUTPUT -o $INET_IFACE -p tcp --sport ftp-data -j TOS --set-tos Maximize-Throughput # Povolime odchozi pakety, ktere maji nase IP adresy $IPTABLES -A OUTPUT -s $LAN1_IP -j ACCEPT $IPTABLES -A OUTPUT -s $INET_IP -j ACCEPT # Ostatni pakety logujeme (nemely by byt zadne takove) $IPTABLES -A OUTPUT -j LOG --log-prefix "OUTPUT drop: " --log-level 6 # LOGUJ OSTATNI #/sbin/iptables -A OUTPUT -j LOG --log-prefix "OUTPUT drop posledni: " --log-level 6 #/sbin/iptables -A INPUT -j LOG --log-prefix "INPUT drop posledni: " --log-level 6 #/sbin/iptables -A FORWARD -j LOG --log-prefix "FORWARD drop posledni: " --log-level 6
$IPTABLES -A IN_FW -s 96.0.0.0/4 -j logdrop # rezervovano podle IANAPOZOR, tento obrovsky pool 96.0.0.0/4 uz nejakou dobu neni rezervovany (http://www.iana.com/assignments/ipv4-address-space) a nektere rozsahy jsou dokonce pouzity na uzemi CR.
# Generated by iptables-save v1.4.1.1 on Fri Jan 22 16:22:30 2010 *filter #vsechny chainy povolime :INPUT ACCEPT [552271:431396236] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [552271:431396236] #povolime port 22 -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT #povolime nase spojeni -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT #povolime ping -A INPUT -i eth0 -p icmp -j ACCEPT #-A INPUT -i eth0 -j LOG #odkomentovat, pokud chceme vsechno ostatni logovat #o ostatnim rekneme, ze je to nedostupne -A INPUT -i eth0 -j REJECT --reject-with icmp-port-unreachable COMMIT # Completed on Fri Jan 22 16:22:30 2010Oproti predchozimu je tu rozdil v tom, ze kdyz zadas iptables -F, tak se vsechno povoli. Coz se muzes ocenit pri vzdalenem pristupu, protoze je IMHO mensi sance, ze si odriznes vlastni spojeni.
#!/bin/sh for tables in iptables ip6tables; do $tables -P INPUT DROP $tables -P FORWARD DROP for tab in filter nat mangle; do $tables -t $tab -F $tables -t $tab -X done done for tables in iptables ip6tables; do $tables -A INPUT -j ACCEPT -i lo # prostor pro povolování služeb for port in 22 443; do $tables -A INPUT -j ACCEPT -p tcp \ -m state --state NEW --dport $port done done iptables -A INPUT -j ACCEPT -m state --state NEW \ -p icmp --icmp-type echo-request for tables in iptables ip6tables; do $tables -A INPUT -m state --state NEW -j REJECT -p tcp --reject-with tcp-reset $tables -A INPUT -m state --state NEW -j REJECT $tables -P INPUT ACCEPT $tables -P FORWARD ACCEPT done
Když je paket vadnej, proč bys na něj měl vůbec odpovídat? Čili proč generovat další provoz, vyšší vrstvy se už mají o něco postarat, pokud jim to něco bude chybět, od toho je tcp spolehlivé.
Když je paket vadnej, proč bys na něj měl vůbec odpovídat? Čili proč generovat další provoz, vyšší vrstvy se už mají o něco postarat, pokud jim to něco bude chybět, od toho je tcp spolehlivé.Potíž je v tom, co si o invalid myslí netfilter a tcp. Momentálně je v netfilteru INVALID považován každý packet, který nějakým způsobem "nesedí". Například může patřit platnému spojení ale mít špatný checksum. V tom případě normální TCP packet zahodí a počká si na nové odvysílání. Pokud byste provedli nad tímto packetem REJECT, tak zabijete platné spojení. Na druhou stranu jsou INVALID i packety, které nepatří žádnému spojení. A na takové packety (resp. jejich podstatnou část) odpovídá TCP stack REJECTem, tedy posláním RST. Pokud budete takové pakety zahazovat, může to vyústit v zajímavé důsledky. Například si někdo může nastavit IP adresu shodnou s Vámi a celkem beztrestně s ní navazovat TCP spojení. Podtrženo sečteno, normální TCP stack se chová v různých situacích různě. Netfilter neumí tyto situace dost dobře rozlišit... pokud se přikloníte k jedné akci, budete se odchylovat od standardního chování. K čemuž bych ještě připojil malý dovětek o DROP obecně (tj. na nové spojení). Je to také jedno z porušení standardního chování. Dělat mrtvého brouka nepřináší žádný bezpečnostní benefit. Je lepší se chovat standardně, tj. tak, jako by dané služby byly zavřené, například pomocí takové sady pravidel, jak jsem uvedl výše.
Jo taky pravda, musel jsem jednou zkoumat chování vpn klienta a iptables mi dané pakety klasifikovaly jako vadné. Tak jsem přidal vpn bránu jako "-d X accept" a "-s X accept" a bylo po problémech.
Takže jestli tomu dobře rozumím, tak s tím mým nastavením se mi může stát to, že někdy přijdu tcp spojení, který by jinak (pokud bych INVALID paket předal dál) vydrželo?Ano, zrovna tuhle anomálii jsem už viděl i "naživo". Zkuste na pomalé lince začít něco stahovat a pravděpodobně na to narazíte taky.
Nemůže takový paket být zpracován už jako RELATED,ESTABLISHED?Neznám vnitřnosti netfilteru tak detailně, abych na to odpověděl; zkuste se zeptat v mail listu netfilteru. Kdysi tam nějaká diskuse kolem toho byla a výsledkem byl modul "unclean", jehož osud je ale nejistý, existuje-li ještě.
-P INPUT DROP nějaká pravidla -P INPUT ACCEPTTo je jen pojistka proti tomu, když ten skript někdo pustí na běžícím stroji. Na začátku se vyprazdňuje celá konfigurace (-F a -X), takže pokud by tam zůstal ACCEPT, tak máte otevřené dveře do doby, než skript nastaví další pravidla. Ta doba nemusí být nutně zanedbadelná, zvlášť u delších skriptů. BTW další poučka zní že tento skript se spustí ještě předtím, než nahodíte jakýkoliv interface (snad kromě loopbacku), jinak se vystavujete stejnému problému, neboť konfigurace firewallu po startu počítače je ACCEPT.
for type in neighbour-solicitation echo-request; do ip6tables -A INPUT -j ACCEPT -m state --state NEW \ -p ipv6-icmp --icmpv6-type $type donekde to podstatné je ten "neighbour-solicitation". (Patří to někam kolem toho jak se povoluje ten ipv4 ping.) A pak dále má smysl pro každou povolenou službu použít for cyklus s iptables i ip6tables, tak jak je naznačeno.
Tiskni
Sdílej: