Na WWDC25 byl představen balíček Containerization a nástroj container pro spouštění linuxových kontejnerů na macOS. Jedná se o open source software pod licencí Apache 2.0 napsaný v programovacím jazyce Swift.
Do 16. června do 19:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | červen 2025 doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.
Apple na své vývojářské konferenci WWDC25 (Worldwide Developers Conference, keynote) představil řadu novinek: designový materiál Liquid Glass, iOS 26, iPadOS 26, macOS Tahoe 26, watchOS 26, visionOS 26, tvOS 26, nové funkce Apple Intelligence, …
Organizátoři konference LinuxDays 2025, jež proběhne o víkendu 4. a 5. října 2025 v Praze na FIT ČVUT, spustili přihlašování přednášek (do 31. srpna) a sběr námětů na zlepšení.
Po roce byla vydána nová stabilní verze 25.6.0 svobodného multiplatformního multimediálního přehrávače SMPlayer (Wikipedie).
DNS4EU, tj. evropská infrastruktura služeb DNS založená na vysoce federovaném a distribuovaném ochranném ekosystému, byla spuštěna v testovacím režimu [𝕏]. Na výběr je 5 možností filtrování DNS.
Skriptovací programovací jazyk PHP (PHP: Hypertext Preprocessor, původně Personal Home Page) dnes slaví 30 let. Přesně před třiceti lety, 8. června 1995, oznámil Rasmus Lerdorf vydání PHP Tools (Personal Home Page Tools) verze 1.0.
Ve středu v 17:00 byl ve Francii zablokován přístup k PornHubu a dalším webům pro dospělé. K 17:30 došlo k nárůstu počtu registrací Proton VPN o 1 000 % [𝕏]. Dle nového francouzského zákona jsou provozovatelé těchto webů povinni ověřovat věk uživatelů prostřednictvím průkazu totožnosti nebo platební karty.
Před 32 lety, 6. června 1993, byl spuštěn první český WWW server (ještě pod TLD .cs), pro potřeby fyziků zabývajících se problematikou vysokých energií.
Střílečku Borderlands 2 lze v rámci výprodeje série Borderlands na Steamu získat zdarma napořád, když aktivaci provedete do 8. června 19:00.
#!/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: