Byla vydána nová verze 1.13.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.
Organizátoři konference LinuxDays zveřejnili program letošního ročníku a spustili registraci návštěvníků. LinuxDays 2026 se uskuteční 3. a 4. října v areálu ČVUT v pražských Dejvicích, na Fakultě informačních technologií. Těšit se můžete na 70 přednášek a workshopů od 66 přednášejících. Konference bude rozdělena do pěti sálů s různou kapacitou. Vstup na LinuxDays je jako obvykle zdarma, stačí včas vyplnit registrační formulář. Opět je možné si na akci zakoupit oběd, ale je třeba to udělat předem, na místě už to nebude možné.
Google Chrome 153 byl prohlášen za stabilní. Nejnovější stabilní verze 153.0.8010.36 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 230 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Open-source hra Shattered Pixel Dungeon (Wikipedie) byla vydána ve verzi 4.0.0. Přehled novinek v příspěvku na blogu.
Apple dnes představil (YouTube) iPhone Duo, iPhone 18 Pro, Watch Series 12, Watch Ultra 4 a AirPods 5.
Společnost System76 představila pracovní stanici Thelio Mira AI s předinstalovaným Pop!_OS s prostředím COSMIC nebo Ubuntu. Nakonfigurovat lze až s 16jádrovým CPU AMD Ryzen 9 9950X, 192 GB DDR5 RAM, dvěma GPU NVIDIA RTX Pro 6000 a 192 GB GPU pamětí.
DigitalOcean je sponzorem nadace Omacom Foundation stojící za linuxovou distribucí Omarchy. Přislíbená částka je 3 miliony dolarů, tj. 1 milion dolarů ročně po dobu tří let.
Na stránkách PostgreSQL bylo představeno LibreDB Studio. Jedná se o open-source self-hostované SQL IDE pro (nejenom) PostgreSQL v prohlížeči. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Byla vydána nová verze 12.0 media serveru Jellyfin (Wikipedie). Přehled novinek v poznámkách k vydání. Pro vyzkoušení je k dispozici Demo Server. Jellyfin je fork media serveru Emby, původně Media Browser.
V MikroTik RouterOS bylo nalezeno šest zranitelností společně pojmenovaných MikroTrick umožňujících útočníkovi, pokud má přístup k SSH, získat plnou kontrolu nad zařízením bez nutnosti autentizace. Ve verzích RouterOS 7.25beta3, 7.24.2, 7.23.4 a 6.49.21 je již opraveno.
#!/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: