abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

24.6. 01:23 | Komunita

Phoronix spustil 2017 Linux Laptop Survey. Tento dotazník s otázkami zaměřenými na parametry ideálního notebooku s Linuxem lze vyplnit do 6. července.

Ladislav Hagara | Komentářů: 2
23.6. 22:44 | Nová verze

Po třech měsících vývoje od vydání verze 5.5.0 byla vydána verze 5.6.0 správce digitálních fotografií digiKam (digiKam Software Collection). Do digiKamu se mimo jiné vrátila HTML galerie a nástroj pro vytváření videa z fotografií. V Bugzille bylo uzavřeno více než 81 záznamů.

Ladislav Hagara | Komentářů: 1
23.6. 17:44 | Nová verze

Byla vydána verze 9.3 open source alternativy GitHubu, tj. softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech, GitLab. Představení nových vlastností v příspěvku na blogu a na YouTube.

Ladislav Hagara | Komentářů: 3
23.6. 13:53 | Nová verze

Simon Long představil na blogu Raspberry Pi novou verzi 2017-06-21 linuxové distribuce Raspbian určené především pro jednodeskové miniaturní počítače Raspberry Pi. Společně s Raspbianem byl aktualizován také instalační nástroj NOOBS (New Out Of the Box Software). Z novinek lze zdůraznit IDE Thonny pro vývoj v programovacím jazyce Python a především offline verzi Scratche 2.0. Ten bylo dosud možné používat pouze online. Offline bylo možné používat pouze Scratch ve verzi 1.4. Z nového Scratchu lze ovládat také GPIO piny. Scratch 2.0 vyžaduje Flash.

Ladislav Hagara | Komentářů: 1
22.6. 14:24 | Nová verze

Opera 46, verze 46.0.2597.26, byla prohlášena za stabilní. Nejnovější verze tohoto webového prohlížeče je postavena na Chromiu 59. Z novinek lze zmínit například podporu APNG (Animated Portable Network Graphics). Přehled novinek pro vývojáře na blogu Dev.Opera. Oznámení o vydání zmiňuje také první televizní reklamu.

Ladislav Hagara | Komentářů: 0
22.6. 13:37 | IT novinky

I čtenáři AbcLinuxu před dvěma lety vyplňovali dotazníky věnované Retro ThinkPadu. Nyní bylo potvrzeno, že iniciativa Retro ThinkPad je stále naživu a Lenovo připravuje speciální edici ThinkPadu jako součást oslav jeho 25. výročí.

Ladislav Hagara | Komentářů: 28
22.6. 10:22 | Komunita

Bylo oznámeno, že frontend a runtime programovacího jazyka D bude začleněn do kolekce kompilátorů GCC (GNU Compiler Collection). Správcem byl ustanoven Iain Buclaw.

Ladislav Hagara | Komentářů: 7
21.6. 18:47 | IT novinky
Bulharská firma Olimex je známá jako výrobce kvalitních mini arm desek, u nichž se snaží být maximálně open source. Kromě velké otevřenosti taktéž zaručují dlouhodobou podporu výroby, což je vítáno ve firemním prostředí. Nyní firma ohlásila ESP32-GATEWAY, malou IoT desku s Wifi, Bluetooth, Ethernetem a 20 GPIO porty za 22EUR. Tato malá deska je ořezanou verzí ESP32-EVB.
Max | Komentářů: 21
21.6. 18:00 | Zajímavý článek

LinuxGizmos (v dubnu loňského roku přejmenován na HackerBoards a v lednu letošního roku zpět na LinuxGizmos) zveřejnil výsledky čtenářské ankety o nejoblíbenější jednodeskový počítač (SBC) v roce 2017. Letos se vybíralo z 98 jednodeskových počítačů (Tabulky Google). Nejoblíbenějšími jednodeskovými počítači v letošním roce jsou Raspberry Pi 3 Model B, Raspberry Pi Zero W a Raspberry Pi 2 Model B.

Ladislav Hagara | Komentářů: 0
21.6. 14:22 | Pozvánky

Ne-konference jOpenSpace 2017 se koná od 13. do 15. října 2017 v hotelu Farma u Pelhřimova. Registrace účastníků je nutná. Více informací na stránkách ne-konference.

Zdenek H. | Komentářů: 0
Chystáte se pořídit CPU AMD Ryzen?
 (6%)
 (31%)
 (1%)
 (9%)
 (44%)
 (9%)
Celkem 837 hlasů
 Komentářů: 65, poslední 1.6. 19:16
    Rozcestník

    Dotaz: iptables porty

    21.1.2010 20:53 f1lo | skóre: 16
    iptables porty
    Přečteno: 1860×
    Příloha:
    Dobrý den,

    Budu server stěhovat z domova (kde my jede MikroTik - spravuju ho přes WinBox) do serverovny a tak bude třeba pravidla pro porty nastavit přímo na serveru.

    Jedu na Debian stable a nejspíše bude nejlepší využít iptables, ale nemám s ním natolik dobré zkušenosti (mám na serveru nějaký skript na zákaz určitých IP - hackeři apod., ale to je tak vše) a tak bych Vás chtěl poprosit o menší příklad, jak by vypadaly takové 2 pravidla: 1.Pravidlo, které by zákázalo všechny ostatní porty, než ty které povolím v dalších pravidlech - viz bod 2. 2.Pravidlo, které povolí komunikaci na portu 3306 (pro příklad)

    Pro přehled Vám zde ukážu obrázek, jak jsem to do teď nastavoval přes WinBox.

    Řešení dotazu:


    Odpovědi

    21.1.2010 23:09 Petr Šobáň | skóre: 79 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: iptables porty
    #!/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
    
    
    
    22.1.2010 07:30 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: iptables porty
    DROP na INVALID pakety je špatný, 'mkay?
    In Ada the typical infinite loop would normally be terminated by detonation.
    22.1.2010 15:26 f1lo | skóre: 16
    Rozbalit Rozbalit vše Re: iptables porty
    Super, děkuji moc. Jen se ještě zeptám, abych měl jasno.

    Proč, když je pravidlo pro zakázání portu, je tam -i eth0 a u pravidla pro povolení tam toto není? Děkuji
    22.1.2010 15:30 f1lo | skóre: 16
    Rozbalit Rozbalit vše Re: iptables porty
    A ještě jsem se zapomněl zeptat, proč se musí zvlášť zakazovat port 113? Vždyť to nepustí žádné jiné porty, než ty které povolím (v našem případě 80 a 3306) ne?
    22.1.2010 15:34 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: iptables porty
    řekl bych oboje protože to je blbě... to -i eth0 je tam zbytečné a ten port 113 je tam extra kvůli tomu, že pán používá default DENY, a zjistil že když chodí na irc, tak trpí
    In Ada the typical infinite loop would normally be terminated by detonation.
    22.1.2010 17:31 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: iptables porty
    Port 113 není tak úplně zakázaný. Je rozdíl mezi DROP a REJECT. Dříve existovaly služby, které pokud jste využíval, se vás snažily autentizovat zpětným kontaktem na port 113. Pokud byste příchozí pakety na 113 zahazoval, s největší pravděpodobností by vás daná služba odmítla, popřípadě by (vám) tam vznikla velká prodleva než vyprší její timeout pro autentizaci. Např. při navazování nějakého ftp. spojení. V současnosti se to snad (...) už nepoužívá, ale "jeden nikdy neví:)".
    22.1.2010 20:11 Petr Šobáň | skóre: 79 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: iptables porty
    Prostě je to stará verze iptables co jsem používal kdysi a -i eth0 je tam proto že tam bylo více zařízení atd.... atd....

    Prostě jsem skopíroval část ze svého firewalu aby byla inspirace.

    Pokud chcete celý tak jsem používal toto: (dnes už je i tento starý a PC jsou zapojena jinak - možná tam jsou chybičky, ale tehdy to stačilo)
    #!/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
    
    
    dmnc_net avatar 4.2.2010 10:59 dmnc_net | skóre: 12 | blog: dmnc
    Rozbalit Rozbalit vše Re: iptables porty
    $IPTABLES -A IN_FW -s 96.0.0.0/4 -j logdrop # rezervovano podle IANA
    POZOR, 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.
    22.1.2010 16:34 qiRzT | skóre: 14 | blog: U_Marvina
    Rozbalit Rozbalit vše Re: iptables porty
    Já radši používám něco v tomhle stylu (okomentovaný výstup z iptables-save):
    # 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 2010
    
    Oproti 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.
    Důležité je vědět jak problém vyřešit, zbytek zvládne i cvičená opice...
    22.1.2010 16:51 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: iptables porty
    tady je zase problém s tím, že je REJECT na INVALID :)

    nemluvě o tom, že icmp není ping...

    abych jen nekibicoval, tak já používám cca toto.
    #!/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
    
    
    In Ada the typical infinite loop would normally be terminated by detonation.
    22.1.2010 20:06 qiRzT | skóre: 14 | blog: U_Marvina
    Rozbalit Rozbalit vše Re: iptables porty
    No neni no.. dovolil jsem si jistou "jak se te jazykové konstrukci říká". Nicméně tvrzení, že tím řádkem povoluju ping není taky úplně špatně - bez toho řádku by nidko pomocí pingu nezjistil, jestli můj počítač odpovídá.

    Co znamená, že je REJECT na INVALID a proč je to problém?
    Důležité je vědět jak problém vyřešit, zbytek zvládne i cvičená opice...
    vencour avatar 22.1.2010 20:10 vencour | skóre: 55 | blog: Tady je Vencourovo | Praha+západní Čechy
    Rozbalit Rozbalit vše Re: iptables porty

    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é.

    Ty nejhlubší objevy nečekají nutně za příští hvězdou. Jsou uvnitř nás utkány do vláken, která nás spojují, nás všechny.
    22.1.2010 21:10 qiRzT | skóre: 14 | blog: U_Marvina
    Rozbalit Rozbalit vše Re: iptables porty
    OK, to dává smysl. Proč je ale špatně i DROP, ten nic neposílá, nebo se pletu? A jak to řeší předchozí skript? Nikde tam není něco jako --state INVALID.
    Důležité je vědět jak problém vyřešit, zbytek zvládne i cvičená opice...
    22.1.2010 21:32 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: iptables porty
    Přesně tak, ten skript to neřeší. INVALID packety si musí vyřešit hostitel sám, protože někdy je správná odpověď DROP a někdy REJECT.
    In Ada the typical infinite loop would normally be terminated by detonation.
    22.1.2010 22:25 qiRzT | skóre: 14 | blog: U_Marvina
    Rozbalit Rozbalit vše Re: iptables porty
    A neprotiřečí si to s tím co psal vencour? Mohl bys to přiblížit nebo aspoň nějaký odkaz, kde by to bylo vysvětlené. Resp. je mi jasné, že v tom mém případě to mnohdy zbytečně generuje další paket. Ale jestli to dobře chápu, tak INVALID znamená, že ten paket je nějak poškozený, proč ho potom nezahodit? Co nadělá vyšší vrstva? Nebo jde jen o to, že tím pádem někde dojde k timeoutu, kdežto když bych ho nezahodil, tak se může (na vyšší vrstvě) generovat nějaký chybový paket?
    Důležité je vědět jak problém vyřešit, zbytek zvládne i cvičená opice...
    23.1.2010 07:45 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: iptables porty
    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.

    In Ada the typical infinite loop would normally be terminated by detonation.
    vencour avatar 23.1.2010 09:37 vencour | skóre: 55 | blog: Tady je Vencourovo | Praha+západní Čechy
    Rozbalit Rozbalit vše Re: iptables porty

    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.

    Ty nejhlubší objevy nečekají nutně za příští hvězdou. Jsou uvnitř nás utkány do vláken, která nás spojují, nás všechny.
    23.1.2010 10:44 qiRzT | skóre: 14 | blog: U_Marvina
    Rozbalit Rozbalit vše Re: iptables porty
    Dík za vysvětlení, pořád se mám co učit :-) 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? Nemůže takový paket být zpracován už jako RELATED,ESTABLISHED?

    A ještě jeden dotaz - myslel jsem si že POLICY (tj. -P) se nastavuje jako globální záležitost - to na co se nenajde pravidlo, na to se použije POLICY. V tomhle smyslu, ale moc nerozumím tomu skriptu - přijde mi to jako:

    -P INPUT DROP

    nějaká pravidla

    -P INPUT ACCEPT

    To první -P INPUT DROP mi přijde zbytečné, pač se to na konci přehodí. Nebo je to tak, že -P je součást toho řetězce? Kde se pletu?

    Dík.
    Důležité je vědět jak problém vyřešit, zbytek zvládne i cvičená opice...
    23.1.2010 12:00 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: iptables porty
    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 ACCEPT
    To 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.
    In Ada the typical infinite loop would normally be terminated by detonation.
    23.1.2010 15:53 qiRzT | skóre: 14 | blog: U_Marvina
    Rozbalit Rozbalit vše Re: iptables porty
    Dík za vysvětlení :-)
    Důležité je vědět jak problém vyřešit, zbytek zvládne i cvičená opice...
    7.2.2010 12:09 f1lo | skóre: 16
    Rozbalit Rozbalit vše Re: iptables porty
    Vaše řešení se mi zdá nejpřehlednější a nejlépe řešené a splňuje přesně to, co jsem požadoval.

    Jen se ještě zeptám, v skriptu jsem zahlédl ip6tables, tzn. mohu tento skript využít i pro ipv6?

    Děkuji
    9.2.2010 06:30 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: iptables porty
    Díky.

    IPv6 se použít dá, ale v tom co jsem poslal jsem zapomněl ještě na jednu pasáž a sice
    for type in neighbour-solicitation echo-request; do
            ip6tables -A INPUT -j ACCEPT -m state --state NEW \
                    -p ipv6-icmp --icmpv6-type $type
    done
    
    kde 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.

    In Ada the typical infinite loop would normally be terminated by detonation.
    9.2.2010 21:32 f1lo | skóre: 16
    Rozbalit Rozbalit vše Re: iptables porty
    Dobře, děkuji mnohokrát, moc jste mi pomohl.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.