Curso Superior de Tecnologia em Redes de Computadores
Disciplina - Segurança de Redes
Unidade 3 – Segurança Perimetral(Filtro de Pacotes)


            Prof. Leandro Cavalcanti de Almeida
              lcavalcanti.almeida@gmail.com
                     @leandrocalmeida
Segurança
Perimetral

             Filtro de Pacotes
                         Proxy
                    Hardening
                          VPN
                       IDS/IPS
Netfilter
Filtro de Pacotes
                    Iptables
Software
Aplicativos
          IPTABLES


Kernel
         NETFILTER



  Hardware
Tabelas             Chains

Filter          input / foward /
                output
Nat      prerouting / postrouting /
         output
Mangle prerouting / input / forward
          output / postrouting
Internet




           Filter     input / foward /
                      output

           Nat prerouting / postrouting /
               output


           Mangle   prerouting / input / forward
                           output / postrouting
Execute ...

# iptables ­L 

# iptables ­L ­t filter

# iptables ­L ­t nat

# iptables ­L ­t mangle
Observe...


# iptables ­A (adiciona 
uma regra)
# iptables ­I (insere uma 
regra)
# iptables ­R(sobreescreve 
uma regra)
# iptables ­D (remove uma 
regra)
Qual a diferença entre
adicionar e inserir?
- A opção ' -I ' é utilizada em tempo de
execução, ou seja, regras temporárias
- A opção ' -A ' coloca a sempre no final da
chain
- A opção ' -I ' coloca a regra no início da
chain
- Entretanto, é possível específicar a
posição (# iptables ­I CHAIN 4)
Especificações de
Filtragem:
Camadas 2,3 e 4
Camada 2
                     Opções:
                       ' i' --in-interface
                       -
                      ' o' –out-interface
                      -

Pacotes analizados pelas chains OUTPUT e POSTROUTING
não trabalham com interface de entrada, logo não é
permitido utilizar a opção -i nestas chains.
Da mesma forma, as chains INPUT e PREROUTING não
trabalham com interface de saída, logo não é permitido
utilizar a opção -o nestas chains
Camada 3
                Opções:
                 -s , --src, --source
                 -d, --dst, --destination

Origem e Destino podem ser endereços IP,
subredes ou nomes DNS
Camada 4
                       Opções:
                        -p , --protocol
                        tcp, udp, icmp

Para icmp, você pode especificar tipos de mensagens:
--icmp-type
Para udp você pode especificar: --sourceport / -sport ou
--destination-port / -dport
Para tcp você pode especificar: -sport ou -dport e além
dos flags(SYN ACK FIN RST URG PSH ALL NONE) com a
opção –tcp-flags
Já existe um projeto para o
  netfilter trabalhar com a
  Camada 7(aplicação)
Application Layer Packet Classifier for Linux


http://l7-filter.sourceforge.net/
Especificações do
Alvo (target)
ACCEPT
DROP
REJECT
LOG
Qual a diferença entre DROP
e REJECT?
O alvo DROP, descarta o pacote
imediatamente
O alvo REJECT descarta e pacote e envia
uma resposta ao ip de origem:
icmp port unreachable
Sendo possível customizar com
­­reject­with
NAT – Network
Address Translation
-O roteador altera o cabeçalho do
 pacote no campo endereço
de origem, colocando seu IP
- O roteador guarda as informações
destas alterações no arquivo
/proc/net/ip_conntrack
- Quando o pacote volta o
roteador desfaz a alteração
SNAT – Source Network Address
Translations
DNAT – Destination Network Address
Translations

Unidade3 seg perimetral