Bogdan Ionescu rozběhl webový server na jednorázové elektronické cigaretě.
Byla vydána beta verze Ubuntu 25.10 s kódovým názvem Questing Quokka. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 25.10 mělo vyjít 9. října 2025.
Bola vydaná nová verzia 4.13 security platformy Wazuh. Prináša nový IT hygiene dashboard, hot reload dekodérov a pravidiel. Podrobnosti v poznámkách k vydaniu.
Americký výrobce čipů Nvidia investuje pět miliard dolarů (přes 100 miliard Kč) do konkurenta Intel, který se v poslední době potýká s vážnými problémy. Firmy to včera oznámily ve společné tiskové zprávě. Dohoda o investici zahrnuje spolupráci při vývoji čipů pro osobní počítače a datová centra. Akcie společnosti Intel na zprávu reagovaly výrazným růstem.
Dlouholetý balíčkář KDE Jonathan Riddell končí. Jeho práci na KDE neon financovala firma Blue Systems, která ale končí (Clemens Tönnies, Jr., dědic jatek Tönnies Holding, ji už nebude sponzorovat), někteří vývojáři KDE se přesunuli k nově založené firmě Techpaladin. Pro Riddella se již nenašlo místo. Následovala debata o organizaci těchto firem, které zahraniční vývojáře nezaměstnávají, nýbrž najímají jako kontraktory (s příslušnými důsledky z pohledu pracovního práva).
V Amsterdamu probíhá Blender Conference 2025. Videozáznamy přednášek lze zhlédnout na YouTube. V úvodní keynote Ton Roosendaal oznámil, že k 1. lednu 2026 skončí jako chairman a CEO Blender Foundation. Tyto role převezme současný COO Blender Foundation Francesco Siddi.
The Document Foundation, organizace zastřešující projekt LibreOffice a další aktivity, zveřejnila výroční zprávu za rok 2024.
Byla vydána nová stabilní verze 7.6 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 140. Přehled novinek i s náhledy v příspěvku na blogu.
Byla vydána verze 1.90.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
GNUnet (Wikipedie) byl vydán v nové major verzi 0.25.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.
#!/bin/bash iptables -F iptables -X iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP iptables -N spoofing iptables -A spoofing -m limit --limit 1/minute --limit-burst 10 -j LOG --log-prefix "iptables spoofing: " iptables -A spoofing -s 192.168.0.0/16 -j DROP iptables -A spoofing -s 172.16.0.0/12 -j DROP iptables -A spoofing -s 10.0.0.0/8 -j DROP iptables -N syn_flood iptables -A syn_flood -m limit --limit 1/s --limit-burst 5 -j ACCEPT iptables -A syn_flood -m limit --limit 1/minute --limit-burst 10 -j LOG --log-prefix "iptables syn_flood: " iptables -A syn_flood -p TCP --tcp-flags SYN,ACK SYN,ACK -m conntrack --ctstate NEW -j REJECT --reject-with tcp-reset iptables -A syn_flood -m limit --limit 1/minute --limit-burst 10 -j LOG --log-prefix "iptables syn_flood_drop: " iptables -A syn_flood -j DROP iptables -N ssh-whitelist iptables -A ssh-whitelist -j RETURN iptables -N ssh-blacklist iptables -A ssh-blacklist -m recent --name blacklist --set iptables -A ssh-blacklist -m limit --limit 1/minute --limit-burst 10 -j LOG --log-prefix "iptables ssh-blacklist: " iptables -A ssh-blacklist -j DROP iptables -N ssh iptables -A ssh -j ssh-whitelist iptables -A ssh -m recent --update --name blacklist --seconds 43200 --hitcount 1 -j DROP iptables -A ssh -m recent --set --name short iptables -A ssh -m recent --set --name long iptables -A ssh -m recent --update --name short --seconds 60 --hitcount 5 -j ssh-blacklist iptables -A ssh -m recent --update --name long --seconds 1800 --hitcount 20 -j ssh-blacklist iptables -A ssh -j ACCEPT iptables -N tcp_p iptables -A tcp_p -p TCP --dport 465 -j ACCEPT iptables -A tcp_p -p TCP --dport 993 -j ACCEPT iptables -A tcp_p -p TCP --dport 995 -j ACCEPT iptables -A tcp_p -p TCP --dport 113 -j REJECT iptables -A tcp_p -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A tcp_p -m limit --limit 1/minute --limit-burst 10 -j LOG --log-prefix "iptables tcp_p: " iptables -A tcp_p -p TCP -j DROP iptables -N udp_p iptables -A udp_p -p UDP -d 224.0.0.251 --dport 5353 -j ACCEPT #multicast DNS iptables -A udp_p -p UDP -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A udp_p -m limit --limit 1/minute --limit-burst 10 -j LOG --log-prefix "iptables udp_p: " iptables -A udp_p -p UDP -j DROP iptables -N icmp_p iptables -A icmp_p -p ICMP --icmp-type echo-request -m limit --limit 2/s --limit-burst 5 -j ACCEPT iptables -A icmp_p -p ICMP --icmp-type 0 -j ACCEPT iptables -A icmp_p -p ICMP --icmp-type 3 -j ACCEPT iptables -A icmp_p -p ICMP --icmp-type 11 -j ACCEPT iptables -A icmp_p -m limit --limit 1/minute --limit-burst 10 -j LOG --log-prefix "iptables icmp_p: " iptables -A icmp_p -p ICMP -j DROP iptables -A INPUT -p ALL -i lo -j ACCEPT iptables -A tcp_p -i eth0 -p TCP --syn -j syn_flood iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ssh iptables -A INPUT -i eth0 -j spoofing iptables -A INPUT -p TCP -j tcp_p iptables -A INPUT -p UDP -j udp_p iptables -A INPUT -p ICMP -j icmp_p
iptables -A tcp_p -i eth0 -p TCP --syn -j syn_flood ... iptables -A syn_flood -p TCP --tcp-flags SYN,ACK SYN,ACK -m conntrack --ctstate NEW -j REJECT --reject-with tcp-reset
Pokud mne paměť neklame, součástí podmínky --syn
je i to, že ACK není nastaven, takže to druhé pravidlo by nemělo mít žádný smysl.
Podobně je zbytečné testovat znovu protokol v chainech tcp_p
, udp_p
a icmp_p
, když do nich stejně posíláte jen pakety s příslušným protokolem.
Také mi nedává smysl to (jediné) pravidlo v ssh-whitelist
: cokoli přidáte za něj, nebude mít žádný efekt; a pokud budete vkládat před něj, tak nebude mít pro změnu žádný efekt tohle pravidlo.
Imho kazdy rozumny ISP resi spoofing rezervovanych rozsahu za tebe a stejne zadne site neforwardujes.
Naopak by bylo dobré u spojení zvenku kontrolovat cílovou adresu, jestli je to ta správná, zejména pokud tam jsou nějací démoni, kteří jsou nakonfigurovaní, aby "poslouchali jen na vnitřním rozhraní / lokální smyčce".
UDP multicast ma skutecne RELATED,ESTABLISHED stav?
Proč? To jsou dvě různá pravidla.
Pokud mne paměť neklame, součástí podmínky --syn je i to, že ACK není nastaven, takže to druhé pravidlo by nemělo mít žádný smysl.
Také mi nedává smysl to (jediné) pravidlo v ssh-whitelist: cokoli přidáte za něj, nebude mít žádný efekt; a pokud budete vkládat před něj, tak nebude mít pro změnu žádný efekt tohle pravidlo.
Udelej ten 'limit burst' globalne na cele rozhrani, usetris 10 pravidel a cele to divadlo kolem filtrovani.
Osobne davam 'connecting tracking' na zacatek..
#!/bin/bash iptables -F iptables -X iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP iptables -N spoofing iptables -A spoofing -m limit --limit 1/minute --limit-burst 10 -j LOG --log-prefix "iptables spoofing: " iptables -A spoofing -s 192.168.0.0/16 -j DROP iptables -A spoofing -s 172.16.0.0/12 -j DROP iptables -A spoofing -s 10.0.0.0/8 -j DROP iptables -N syn_flood iptables -A syn_flood -m limit --limit 1/s --limit-burst 5 -j ACCEPT iptables -A syn_flood -m limit --limit 1/minute --limit-burst 10 -j LOG --log-prefix "iptables syn_flood: " iptables -A syn_flood -j DROP iptables -N ssh-whitelist iptables -A ssh-whitelist -s 1.2.3.4 -j ACCEPT #IP adresu lze podvrhnout iptables -A ssh-whitelist -j RETURN iptables -N ssh-blacklist iptables -A ssh-blacklist -m recent --name blacklist --set iptables -A ssh-blacklist -m limit --limit 1/minute --limit-burst 10 -j LOG --log-prefix "iptables ssh-blacklist: " iptables -A ssh-blacklist -j DROP iptables -N ssh iptables -A ssh -j ssh-whitelist iptables -A ssh -m recent --update --name blacklist --seconds 43200 --hitcount 1 -j DROP iptables -A ssh -m recent --set --name short iptables -A ssh -m recent --set --name long iptables -A ssh -m recent --update --name short --seconds 60 --hitcount 5 -j ssh-blacklist iptables -A ssh -m recent --update --name long --seconds 1800 --hitcount 20 -j ssh-blacklist iptables -A ssh -j ACCEPT iptables -N tcp_p iptables -A tcp_p --dport 465 -j ACCEPT iptables -A tcp_p --dport 993 -j ACCEPT iptables -A tcp_p --dport 995 -j ACCEPT iptables -A tcp_p --dport 113 -j REJECT iptables -A tcp_p -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A tcp_p -m limit --limit 1/minute --limit-burst 10 -j LOG --log-prefix "iptables tcp_p: " iptables -A tcp_p -j DROP iptables -N udp_p iptables -A udp_p -d 224.0.0.251 --dport 5353 -j ACCEPT #multicast DNS iptables -A udp_p -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A udp_p -m limit --limit 1/minute --limit-burst 10 -j LOG --log-prefix "iptables udp_p: " iptables -A udp_p -j DROP iptables -N icmp_p iptables -A icmp_p --icmp-type echo-request -m limit --limit 2/s --limit-burst 5 -j ACCEPT iptables -A icmp_p --icmp-type 0 -j ACCEPT iptables -A icmp_p --icmp-type 3 -j ACCEPT iptables -A icmp_p --icmp-type 11 -j ACCEPT iptables -A icmp_p -m limit --limit 1/minute --limit-burst 10 -j LOG --log-prefix "iptables icmp_p: " iptables -A icmp_p -j DROP iptables -A INPUT -p ALL -i lo -j ACCEPT iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ssh iptables -A INPUT -p TCP --tcp-flags SYN,ACK SYN,ACK -m conntrack --ctstate NEW -j REJECT --reject-with tcp-reset iptables -A INPUT -i eth0 -p TCP --syn -j syn_flood iptables -A INPUT -i eth0 -j spoofing iptables -A INPUT -p TCP -j tcp_p iptables -A INPUT -p UDP -j udp_p iptables -A INPUT -p ICMP -j icmp_p
iptables -A tcp_p -m state --state ESTABLISHED,RELATED -j ACCEPTTzn. protoze duveruji sestavenym spojenim, dam pravidlo na zacatek, abych urychlil prochazeni paketu firewallem. UDP pakety "zadne" stavy nemaji, tzn. nasledujici pravidlo neni uplne korektni:
iptables -A udp_p -m state --state ESTABLISHED,RELATED -j ACCEPTStejne mi cela ta sarada kolem SSH prijde proste zbytecna, ale asi to proste vidim jinak a jeste jedne veci nerozumim, rikas postovni server, ale nevidim 25, jak to?
iptables -A INPUT --p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT --p ALL -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A syn_flood -m limit --limit 1/s --limit-burst 5 -j tcp_p
" kde jsem měl ACCEPT
.#!/bin/bash iptables -F iptables -X iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP iptables -A INPUT -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p ALL -i lo -j ACCEPT iptables -N ssh-whitelist iptables -A ssh-whitelist -s 1.2.3.4 -j ACCEPT iptables -A ssh-whitelist -j RETURN iptables -N ssh-blacklist iptables -A ssh-blacklist -m recent --name blacklist --set iptables -A ssh-blacklist -m limit --limit 1/minute --limit-burst 10 -j LOG --log-prefix "iptables ssh-black: " iptables -A ssh-blacklist -j DROP iptables -N ssh iptables -A ssh -j ssh-whitelist iptables -A ssh -m recent --update --name blacklist --seconds 43200 --hitcount 1 -j DROP iptables -A ssh -m recent --set --name short iptables -A ssh -m recent --set --name long iptables -A ssh -m recent --update --name short --seconds 60 --hitcount 5 -j ssh-blacklist iptables -A ssh -m recent --update --name long --seconds 3600 --hitcount 20 -j ssh-blacklist iptables -A ssh -j ACCEPT iptables -N spoofing iptables -A spoofing -s 192.168.0.0/16 -j DROP iptables -A spoofing -s 172.16.0.0/12 -j DROP iptables -A spoofing -s 10.0.0.0/8 -j DROP iptables -N tcp_p iptables -A tcp_p -p TCP --dport 25 -j ACCEPT iptables -A tcp_p -p TCP --dport 465 -j ACCEPT iptables -A tcp_p -p TCP --dport 993 -j ACCEPT iptables -A tcp_p -p TCP --dport 995 -j ACCEPT iptables -A tcp_p -p TCP --dport 113 -j REJECT iptables -A tcp_p -p TCP --sport 443 -j ACCEPT iptables -A tcp_p -j RETURN iptables -N syn_flood iptables -A syn_flood -m limit --limit 1/s --limit-burst 5 -j tcp_p iptables -A syn_flood -m limit --limit 1/minute --limit-burst 10 -j LOG --log-prefix "iptables syn_flood: " iptables -A syn_flood -j DROP iptables -N udp_p iptables -A udp_p -p UDP -d 224.0.0.251 --dport 5353 -j ACCEPT #multicast DNS iptables -A udp_p -j RETURN iptables -N icmp_p iptables -A icmp_p -p ICMP --icmp-type echo-request -m limit --limit 2/s --limit-burst 5 -j ACCEPT iptables -A icmp_p -p ICMP --icmp-type 0 -j ACCEPT iptables -A icmp_p -p ICMP --icmp-type 3 -j ACCEPT iptables -A icmp_p -p ICMP --icmp-type 11 -j ACCEPT iptables -A icmp_p -j RETURN iptables -A INPUT -p TCP --dport 22 -m state --state NEW -j ssh iptables -A tcp_p -p TCP --tcp-flags SYN,ACK SYN,ACK -m conntrack --ctstate NEW -j REJECT --reject-with tcp-reset #DRDoS" iptables -A tcp_p -i eth0 -p TCP --syn -j syn_flood #vyzaduji venkovni rozhrani iptables -A INPUT -i eth0 -j spoofing #venkovni rozhrani iptables -A INPUT -p TCP -j tcp_p iptables -A INPUT -p UDP -j udp_p iptables -A INPUT -p ICMP -j icmp_p iptables -A INPUT -m limit --limit 1/minute --limit-burst 10 -j LOG --log-prefix "iptables drop: "
Pro pripojeni na SSH z nepredvidatelnych mist mam VPNKolik si navlikas kondomu pri soulozi? Navic SSH potrebuje jednoduche TCP spojeni, to ti pusti ven i v blbem pakistanskem hotelu narozdil od VPN. Uz od prehistorickych dob v minulem tisicleti provozuji na mnoha serverech SSH na vysokych portech (hlavne kvuli tomu, aby mi to nelogovalo automaty) a nemam sebemensi problem.
Je opravdu tak přínosné ušetřit několik pravidel?Velice, samozrejme zalezi na konfiguraci a zatizeni serveru v provozu, ale netfilter je obecne v performance killer. Osobne znam pripady, kdy unload celeho netfilteru dovoli serveru obsluhovat o 50k spojeni za vterinu vice. Opravdu kazde pravidlo skrze ktere paket projde je znat, takze opravdu se vyplati ESTABLISED spojeni povolit hned na zacatku. A pak podle poctu paketu, ktere skrze ne projdou, takze obecne nasledovane asi nestavovymi sluzbami, jako je DNS, pak sluzby s velkym poctem kratkych spojeni (http,smtp) a nakonec veci jako je SSH kde na vterine nesejde. Dal z pohledu bezpecnosti bych Vam doporucil zamyslet se nad tabulkou OUTPUT, hodilo by se zakazat navazovani spojeni jinam nez na povolene/zname sluzby a servery. Zanesnadni to pripadnemu utocnikovy, ktery ovladne nejakou sluzbu, aby zneuzil server ke svym nekalym zamerum (dokud nema roota).
Tiskni
Sdílej: