rosedu tech talks prezentarea 15: iptables

Upload: rosedu

Post on 09-Apr-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables

    1/21

    IPTABLES- de la simplu la complex -

    Rzvan Dobre

    [email protected]

  • 8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables

    2/21

    Agenda1. Introducere n iptables

    QA

    2. Utilizri de baz Demo 1

    3. Utilizri avansate

    Demo 2

    4. Best practices

    5. QA

    4 dec. 20102 IPTABLES

  • 8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables

    3/21

    Introducere n IPTABLES

    Ce este iptables?

    Utilitar ce permite configurarea unui firewall linux

    Folosete hookurile disponibile n kernelul linux

    Ce este un firewall? Echipament/soft de protejare a unei reele

    O list de reguli aplicate traficului

    Accept sau Drop

    Este necesar un firewall?

    4 dec. 20103 IPTABLES

  • 8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables

    4/21

    Introducere n IPTABLES

    Tipuri de firewall-uri

    Den all

    Oprete tot traficul mai puin cel util

    Cel mai des ntlnit permite un control bun al traficului

    Accep all

    Accept tot traficul mai puin cel nepermis

    4 dec. 20104 IPTABLES

  • 8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables

    5/21

    Introducere n IPTABLES

    Modaliti de grupare a regulilor

    Tabele

    Scop predefinit

    Regulile de filtrare se adaugn tabela filter, etc

    , , ,

    Lanuri (Chain-uri)

    Permit inspectarea pachetelor ntr-un anumit moment al

    procesrii lor Prerouting, Input, Forward, Output, Postrouting

    Corespund hookurilor din kernel (netfilter)

    4 dec. 20105 IPTABLES

  • 8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables

    6/21

    Introducere n IPTABLES Drumul pachetelor prin kernel

    Input OutputProcesul local

    Networkinterface Prerouting Forward

    NetworkinterfacePostrouting

    4 dec. 20106 IPTABLES

  • 8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables

    7/21

    Introducere n IPTABLES Maparea ntre tabele i chainuri

    Filter NAT Mangle

    Prerouting Input OutputForward Postrouting

    4 dec. 20107 IPTABLES

  • 8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables

    8/21

    Introducere n IPTABLES Parcurgerea regulilor

    Secvenial

    Pn la primul match

    Dac nu exist nici un match

    Se aplic o politica implicit

    Sintax iptables t table op chain match j action

    Table filter, nat, mangle

    Op Append, Insert, Delete, List

    Action ACCEPT, DROP, MASQUERADE, etc.

    4 dec. 20108 IPTABLES

  • 8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables

    9/21

    Enough talk lets fight QA

    4 dec. 20109 IPTABLES

  • 8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables

    10/21

    Utilizri de baz

    Setarea politicii implicite

    iptables -P chain target

    Ex.: # iptables P INPUT DROP

    Politica implicit se aplic ultima

    Atenie:

    putei rmne pe afar

    4 dec. 201010 IPTABLES

  • 8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables

    11/21

    Utilizri de baz Exemple de reguli simple

    Input

    # iptables t filter -A INPUT --source 10.0.0.0/24 j ACCEPT

    Output # iptables t filter I OUPUT --destination 10.0.0.0/24 \

    j DROP

    MASQUERADE # iptables t nat A POSTROUTING --source 192.168.0.0/16 \

    --out-interface eth0 j MASQUERADE

    Debuging

    # iptables L n v --line-numbers

    Documentaie man iptables

    4 dec. 201011 IPTABLES

  • 8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables

    12/21

    Utilizri de baz Mini script

    V1

    #!/bin/bash

    iptables F # sterge (flush) regulile anterioare

    iptables P INPUT ACCEPT

    i tables A INPUT tc s 10.0.0.0 24 --d ort 22 ACCEPT

    iptables A INPUT p tcp -dport 22 j DROP

    V2 ?

    #!/bin/bash

    iptables F # sterge (flush) regulile anterioare

    iptables P INPUT ACCEPT

    iptables A INPUT p tcp --dport 22 j DROP

    iptables A INPUT p tcp s 10.0.0.0/24 -dport 22 j ACCEPT

    4 dec. 201012 IPTABLES

  • 8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables

    13/21

    Demo 1 Suntei administrator de reea la o firm i primii ca

    sarcin s oprii accesul la youtube.com.

    1. Oprii tot traficul2. Oprii doar traficul http

    4 dec. 201013 IPTABLES

  • 8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables

    14/21

    Utilizri avansate

    Module State reguli bazate pe starea conexiunii

    NEW, RELATED, ESTABLISHED

    Recent crearea unei liste temporare de bad-guys Time reguli bazate pe time

    Access permis doar intr-un anumit interval orar

    etc

    4 dec. 201014 IPTABLES

  • 8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables

    15/21

    Utilizri avansate State

    Scop: se permit doar pachetele de rspuns

    FirewallInterne

    tLAN

    NEW

    RELATED

    eth0 eth1

    # iptables -A INPUT -i eth0 -m state \

    --state NEW -j DROP

    sau

    # iptables -A INPUT -i eth0 -p tcp --syn \

    -j DROP

    4 dec. 201015 IPTABLES

  • 8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables

    16/21

    Utilizri avansate Forward

    Scop: LAN1 nu poate accesa LAN2

    eth0

    FirewallInterne

    t

    LAN1eth1

    eth2

    # iptables P FORWARD ACCEPT

    # iptables A FORWARD i eth1 o eth2 j DROP

    # iptables A FORWARD i eth2 o eth1 j DROP

    4 dec. 201016 IPTABLES

  • 8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables

    17/21

    Utilizri avansate SNAT

    Scop: LAN1 poate accesa internetul

    eth0

    FirewallInterne

    t

    LAN1eth1

    eth2

    10.0.0.0/24

    141.85.1.1

    # iptables -t nat -A POSTROUTING \

    -o eth0 -s 10.0.0.0/24 \

    -j SNAT --to-source 141.85.1.1

    . . .

    4 dec. 201017 IPTABLES

  • 8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables

    18/21

    Utilizri avansate DNAT

    Scop: accesarea HOST1 din internet

    eth0

    FirewallInterne

    t

    HOST1eth1

    80

    8080

    10.0.0.

    1

    # iptables t nat A PREROUTING i eth0 p tcp \

    --dport 80 j DNAT --to-destination 10.0.0.1:8080

    # iptables t nat A PREROUTING i eth0 p udp \

    --dport 80 j DNAT --to-destination 10.0.0.1:8080

    4 dec. 201018 IPTABLES

  • 8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables

    19/21

    Demo 2 Configurai ROUTER-ul astfel nct:

    1. Staiile din reeaua local s aibe acces la internet

    2. Serverele s nu aibe acces n reeaua local

    4 dec. 201019 IPTABLES

  • 8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables

    20/21

    Best practices Dont lock yourself out!

    Acceptai ntotdeauna conexiunile de pe loopback

    Oprii tot traficul de care nu avei nevoie

    Limitai numrul de conexiuni/sec pentru serviciile cenecesit autentificare

    fail2ban, denyhosts

    Oprii traficul suspicios

    Flaguri TCP nevalide

    Ex.: cristmass tree Pachete IP nevalide

    Ex.: pachete din internet cu sursa din reeaua local

    4 dec. 201020 IPTABLES

  • 8/8/2019 ROSEdu Tech Talks Prezentarea 15: iptables

    21/21

    QA

    4 dec. 201021 IPTABLES

    ?