Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Před 25 lety zaplavil celý svět virus ILOVEYOU. Virus se šířil e-mailem, jenž nesl přílohu s názvem I Love You. Příjemci, zvědavému, kdo se do něj zamiloval, pak program spuštěný otevřením přílohy načetl z adresáře e-mailové adresy a na ně pak „milostný vzkaz“ poslal dál. Škody vznikaly jak zahlcením e-mailových serverů, tak i druhou činností viru, kterou bylo přemazání souborů uložených v napadeném počítači.
Byla vydána nová major verze 5.0.0 svobodného multiplatformního nástroje BleachBit (GitHub, Wikipedie) určeného především k efektivnímu čištění disku od nepotřebných souborů.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube).
Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.
Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.
Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.
V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Ř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: