Segurança na rede - Firewall

Post on 12-Mar-2016

460 views 28 download

description

Desenvolvimento de uma unidade

Transcript of Segurança na rede - Firewall

Segurança de redes (firewall)

Filtro de pacotes (Firewall) Filosofia do filtro de pacotes Conceito de fluxo de dados IPChains Filtro de pacotes built-in X externo ao kernel Chains Input, output Forward Habilitação do forward de pacotes IPv4 Ações - Accept, reject, deny, masq Políticas de regras Filtrar portas Máscara de endereços Routing e rotas

Firewall

Parede de fogo é um dispositivo de uma rede de computadores que tem por objetivo aplicar uma política de segurança a um determinado ponto da rede.

O firewall pode ser do tipo filtros de pacotes, proxy de aplicações, etc.

Os firewalls são geralmente associados a redes TCP/IP.

Filtro de pacotes

É um conjunto de regras que analisam e filtram pacotes enviados por redes distintas de comunicação. Baseadas na suíte de protocolos TCP/IP. Um filtro de pacotes pode elevar o nível de segurança de uma rede por fazer a filtragem nas camadas 3 e 4 do protocolo TCP/IP, ou seja, nos cabeçalhos do IP e dos protocolos da camada de transporte utilizados (TCP, UDP e outros). Como qualquer informação que entra ou sai de uma rede TCP/IP, obviamente, estará dentro de um pacote IP, o filtro de pacotes poderá bloquear a entrada (ou saída) dessa informação.

Formadora: Anabela Nascimento Página 1

AGRUPAMENTO DE ESCOLAS DE ALCANENAFORMAÇÃO TECNOLÓGICA UFCD 845 TURMA A4

Educação e Formação de Adultos – EFA –

SEC.(Portaria N.º 230/2008,

de 7 de Março)

Filosofia do Filtro de pacotesA filtragem de pacotes é usada para determinar se um pacote tem permissão de entrar ou sair da rede comparando algumas informações de identificação que estão localizadas no cabeçalho do pacote. Todo o tráfego através de uma rede é enviado no formato de pacotes. O inicio de cada pacote informa para onde ele está indo, de onde veio e o tipo do pacote, entre outros detalhes.As possíveis ações a serem tomadas em relação ao pacote são:

Aceitar: o pacote pode seguir até seu destino. Rejeitar: o pacote será descartado, como se a máquina jamais o tivesse recebido. Bloquear: o pacote será descartado, mas a origem do pacote será informada de que esta ação foi tomada.

O filtro de pacotes do Kernel é controlado por regras de firewall, as quais podem ser divididas em quatro categorias: a cadeia de entrada (input chain), a cadeia de saída (output chain), a cadeia de reenvio (forward chain) e cadeias definidas pelo usuário (user defined chain). Para cada uma destas cadeias é mantida uma tabela de regras separada.

Chains

O FILTRO DE PACOTES do Linux funciona mediante regras estabelecidas. Todos os pacotes entram no kernel para serem analisados. As CHAINS (correntes) são as situações possíveis dentro do kernel. Quando um pacote entra no kernel, este verifica o destino do pacote e decide qual chain irá tratar do pacote. Isso se chama roteamento interno. Os tipos de chains irão depender da tabela que estaremos utilizando no momento. Existem 3 tabelas possíveis:

--> filter: é a tabela default. Quando não especificarmos a tabela, a filter será utilizada. Refere-se às atividades normais de tráfego de dados, sem a ocorrência de NAT. Admite as chains INPUT, OUTPUT e FORWARD.

--> nat: utilizada quando há NAT. Exemplo: passagem de dados de uma rede privada para a Internet. Admite as chains PREROUTING, OUTPUT e POSTROUTING.

Formadora: Anabela Nascimento Página 2

AGRUPAMENTO DE ESCOLAS DE ALCANENAFORMAÇÃO TECNOLÓGICA UFCD 845 TURMA A4

Educação e Formação de Adultos – EFA –

SEC.(Portaria N.º 230/2008,

de 7 de Março)

--> mangle: basicamente, trabalha com marcação de pacotes e QoS. Neste tutorial, não trataremos dessa tabela.

Conceito de Fluxo de Dados

O fluxo de dados é o conceito de que a mudança de uma variável deve automaticamente forçar o recálculo dos valores de todas as variáveis dependentes do valor da primeira.

Adicionar uma tarefa de Fluxo de Dados ao controle de fluxo de um pacote, é a primeira etapa na implementação de um fluxo de dados em um pacote. Um pacote pode incluir múltiplas tarefas de Fluxo de Dados, cada qual com seu próprio fluxo de dados. Por exemplo, se um pacote exige que os fluxos de dados sejam executados em uma sequência específica ou que outras tarefas sejam executadas entre os fluxos de dados, você deverá usar uma tarefa de Fluxo de Dados separada para cada fluxo de dados.

IPChains

É o software livre para controlar os filtros de pacotes / firewall capacidades na série 2.2 do kernel Linux. Veio substituir o ipfwadm, mas foi substituído por iptables da série 2.4.

Iptables é uma ferramenta usada para configurar regras de firewall. Existem vários programas de firewall disponíveis em mais sistemas operacionais Linux que ficam em cima e usar comandos iptable.

Formadora: Anabela Nascimento Página 3

AGRUPAMENTO DE ESCOLAS DE ALCANENAFORMAÇÃO TECNOLÓGICA UFCD 845 TURMA A4

Educação e Formação de Adultos – EFA –

SEC.(Portaria N.º 230/2008,

de 7 de Março)

Quando ligamos os nossos sistemas ao exterior, temos de ser extremamente cuidadosos com todas as questões relacionadas com a segurança.Felizmente, o Kernel de Linux possui um mecanismo de firewall que permite controlar, com grande exatidão, quem tem acesso a cada porto IP dos nossos sistemas.

Existem três implementações do firewall: o “ipfwadm”, o “ipchains” e “iptables”.

O “ipfwadm” foi a primeira implementação de firewall para o kernel de Linux e era utilizado na versão 2.0 do kernel. Por sua vez, o “ipchains” passou a ser incluído no kernel a partir da versão 2.2. Na versão 2.4, passou a usar-se o “iptables”, que é bastante mais poderoso do que os seus antecessores.O firewall funciona como um filtro para rejeitar pacotes, de acordo com o endereço origem, o endereço de destino e com o tipo de serviços usado.

Os pacotes podem ser filtrados em três situações: quando entram no sistema (INPUT), quando vão sair do sistema (OUTPUT) e quando são reenviados de uma interface de rede para outra (FORWARD).

São três, as possíveis chains:--> INPUT: utilizada quando o destino final é a própria máquina filtro;--> OUTPUT: qualquer pacote gerado na máquina fltro e que deva sair para a rede será tratado pela chain OUTPUT;--> FORWARD: qualquer pacote que atravessa o fltro, oriundo de uma máquina e direcionado a outra, será tratado pela chain FORWARD.

Em cada uma dessas situações, podemos definir uma cadeia de regras, que são aplicadas sequencialmente a cada pacote. Os pacotes podem ser aceites, rejeitados com aviso do emissor ou rejeitados sem qualquer aviso.

IP Forward

Formadora: Anabela Nascimento Página 4

AGRUPAMENTO DE ESCOLAS DE ALCANENAFORMAÇÃO TECNOLÓGICA UFCD 845 TURMA A4

Educação e Formação de Adultos – EFA –

SEC.(Portaria N.º 230/2008,

de 7 de Março)

Considerações iniciais

O IP FORWARD é um tipo de roteamento. É estabelecido quando colocamos uma máquina entre dois ou mais segmentos de rede, permitindo a livre passagem de pacotes entre estes sempre que for necessário. É importante ressaltar que o roteamento só irá funcionar quando for feito entre REDES DIFERENTES. Não se pode colocar um roteador entre dois segmentos de rede iguais. Esse procedimento não serve apenas para estabelecer a comutação de segmentos. Ele também é útil para diminuir o tráfego na rede como um todo, pois só deixa o pacote mudar de segmento se isso for realmente necessário.

Fazendo o IP FORWARD

Para estabelecermos o IP FORWARD entre dois segmentos de rede, basta:

* inserir um micro com duas placas de rede entre os segmentos de rede, configurando-as corretamente;* definir, em cada máquina, de cada segmento, quem é o seu gateway;* ativar o IP FORWARD via kernel.

O estabelecimento de IP FORWARD entre mais de dois segmentos de rede segue o mesmo princípio, bastando acrescer quantas placas de rede forem necessárias no gateway. Também é possível utilizar placas de fax-modem em conjunto com placas de rede.

Políticas de Regras

As regras do “iptables” são definidas pelas seguintes operações:

Opção: Significado:

-A Adicionar uma nova regra a uma cadeia de regras

-I Inserir uma nova regra, numa posição definida

-R Substituir uma regra existente

-D Apagar uma regra

Formadora: Anabela Nascimento Página 5

AGRUPAMENTO DE ESCOLAS DE ALCANENAFORMAÇÃO TECNOLÓGICA UFCD 845 TURMA A4

Educação e Formação de Adultos – EFA –

SEC.(Portaria N.º 230/2008,

de 7 de Março)

-L

Listar as regras existentes

-F Limpar uma cadeia de regras

-Z

Limpar contadores de pacotes

-N Criar uma nova cadeia de regras

-X Eliminar uma cadeia de regras

Ações

As ações definidas por cada regra, usadas mais frequentemente são as seguintes:

Ação: Significado:

ACCEPT O pacote é aceite

REJECT O pacote rejeitado e a origem é notificada disso

DROP O pacote é simplesmente ignorado: é rejeitado e a origem

não é notificada

LOG Regista cada ocorrência de pacotes que obedeçam a este

filtro nos logs do sistema

MARK Marcar os pacotes com uma marca, para processamento

posterior

SNAT Source Network Address Translation – Altera o endereço de

origem dos pacotes

DNAT Destination Nettwork Address Translation – Altera o

endereço de destino dos pacotes

MASQUERADE Executa IP masquerading: Aplica snat nos pacotes enviados

para o exterior e dnat nas respostas

REDIRECT Redireciona os pacotes para um porto IP da própria

Formadora: Anabela Nascimento Página 6

AGRUPAMENTO DE ESCOLAS DE ALCANENAFORMAÇÃO TECNOLÓGICA UFCD 845 TURMA A4

Educação e Formação de Adultos – EFA –

SEC.(Portaria N.º 230/2008,

de 7 de Março)

máquina

MIRROR Troca os endereços de origem e destino

RETURN

Sai da cadeia de processamento atual, retornando à cadeia

anterior, que havia invocado a atual

Para além destas três cadeias de regras INPUT, OUTPUT e FORWARD, os utilizadores podem criar novas cadeias de regras, para utilizar em situações específicas. As cadeias adicionais tornam o firewall mais flexível e a performance melhora bastante, especialmente em firewalls complexos, com muitas regras, pois estas podem ser subdivididas em grupos.

Filtrar Portas

Em redes TCP/IP e UDP, uma porta é um ponto de extremidade para uma conexão lógica e a forma de que um programa cliente especifica um programa servidor específico em um computador em uma rede. Esta lista de números de porta conhecida especifica a porta usada pelo processo do servidor como sua porta de contato.

Em redes TCP/IP e UDP, uma porta é um ponto de extremidade para uma conexão lógica e a forma como um programa cliente especifica um programa servidor específico em um computador em uma rede. Algumas portas tem números que são designados a eles pela IANA, e estes são chamados "portas conhecidas" que são especificadas na RFC 1700.

Porta números variam de 0 a 65536, mas apenas portas números de 0 a 1024 são reservados para serviços privilegiados e designado como portas bem conhecidas. Esta lista de números de porta conhecida especifica a porta usada pelo processo do servidor como sua porta de contato.

Número da porta Descrição1 TCP Porta de serviço multiplexador (TCPMUX)

5 Entrada de trabalho remoto (RJE)

7 ECHO

18 Protocolo de envio de mensagens (MSP)

Formadora: Anabela Nascimento Página 7

AGRUPAMENTO DE ESCOLAS DE ALCANENAFORMAÇÃO TECNOLÓGICA UFCD 845 TURMA A4

Educação e Formação de Adultos – EFA –

SEC.(Portaria N.º 230/2008,

de 7 de Março)

20 FTP - dados

21 FTP - controle

22 SSH Protocolo de Login remoto

23 Telnet

25 Protocolo de transferência de correio simples (SMTP)

29 MSG ICP

37 Tempo

42 Servidor de nome de host (Nameserv)

43 WhoIs

49 Protocolo de Host de logon (Login)

53 Sistema de nome de domínio (DNS)

69 Protocolo de transferência de arquivo trivial (TFTP)

70 Gopher Serviços

79 Dedo

80 HTTP

103 Padrão x. 400

108 Servidor de acesso para Gateway SNA

109 POP2

110 POP3

115 Protocolo de transferência de arquivo simples (SFTP)

118 Serviços do SQL

119 Grupo de notícias (NNTP )

137 NetBIOS Nome serviço

139 Serviço de datagrama do NetBIOS

143 Intercalar Mail Access Protocol (IMAP)

150 Serviço de sessão NetBIOS

156 SQL Server

161 SNMP

179 Border Gateway Protocol (BGP)

190 Protocolo de controle de acesso de gateway (GACP)

194 Internet Relay Chat (IRC)

197 Serviço de diretório local (DLS)

389 Lightweight Directory Access Protocol (LDAP)

396 Novell Netware sobre IP

443 HTTPS

444 Protocolo de paginação de rede simples (SNPP)

445 Microsoft-DS

458 Apple QuickTime

546 DHCP Cliente

547 Servidor DHCP

563 SNEWS

569 MSN

1080 Meias

Formadora: Anabela Nascimento Página 8

AGRUPAMENTO DE ESCOLAS DE ALCANENAFORMAÇÃO TECNOLÓGICA UFCD 845 TURMA A4

Educação e Formação de Adultos – EFA –

SEC.(Portaria N.º 230/2008,

de 7 de Março)

Máscara de Endereços

Uma máscara de subrede também conhecida como subnet mask ou netmask é um número de 32 bits usada para separar em um IP a parte correspondente à rede pública, à subrede e aos hosts.

Uma subrede é uma divisão de uma rede de computadores - é a faixa de endereços lógicos reservada para uma organização. A divisão de uma rede grande em menores resulta num tráfego de rede reduzido, administração simplificada e melhor performance de rede. No IPv4 uma subrede é identificada por seu endereço base e sua máscara de subrede.

Formadora: Anabela Nascimento Página 9

Protocolos Internet (TCP/IP)

Camada Protocolo

5.Aplicação HTTP , SMTP , FTP , SSH , Telnet , SIP , RDP , IRC , SNMP , NNTP , POP3 , IMAP , BitTorrent , DNS , Ping ...

4.Transporte TCP , UDP , RTP , SCTP , DCCP ...

3.Rede IP (IPv4 , IPv6 ) , ARP , RARP , ICMP , IPsec ...

2.Enlace Ethernet , 802.11 WiFi , IEEE 802.1Q , 802.11g , HDLC , Token ring , FDDI , PPP ,Switch ,Frame relay ,

1.Física Modem , RDIS , RS-232 , EIA-422 , RS-449 , Bluetooth , USB , ...

AGRUPAMENTO DE ESCOLAS DE ALCANENAFORMAÇÃO TECNOLÓGICA UFCD 845 TURMA A4

Educação e Formação de Adultos – EFA –

SEC.(Portaria N.º 230/2008,

de 7 de Março)

Os números de rede e de host para as classes A, B e C a partir de seu IP.

Endereços de Rede e Endereços Lógicos

O termo endereço de rede pode tanto significar o endereço lógico, ou seja o endereço da camada de rede – tal como o endereço IP, como o primeiro endereço (endereço base) de uma faixa de endereços reservada a uma organização.

Os computadores e dispositivos que compõem uma rede – tal como a Internet – possuem um endereço lógico. O endereço de rede é único e pode ser dinâmico ou estático. Este endereço permite ao dispositivo se comunicar com outros dispositivos conectados à rede. Para facilitar o roteamento os endereços são divididos em duas partes:

O endereço (número) da rede que identifica toda a rede/subrede: o endereço de todos os nós de uma subrede começam com a mesma sequência.

O endereço (número) do host que identifica uma ligação a uma máquina em particular ou uma interface desta rede.

Isto funciona de maneira semelhante a um endereço postal onde o endereço de rede representa a cidade e o endereço do host representa a rua. A máscara de subrede é usada para determinar que parte do IP é o endereço da rede e qual parte é o endereço do host.

Classes IPv4

O esquema de endereçamento de rede mais comum é chamado IPv4. Os endereços IPv4 consistem de endereços de 32 bits divididos em 4 octetos e uma máscara de subrede do mesmo tamanho. Há três tipos de redes "classful":

Classe Bits iniciais Início Fim Máscara de Subrede

padrãoNotação CIDR

A 0 1.0.0.1 126.255.255.253 255.0.0.0 /8B 10 128.0.0.1 191.255.255.254 255.255.0.0 /16C 110 192.0.0.1 223.255.255.254 255.255.255.0 /24

Routing – O encaminhamento de pacotes

Formadora: Anabela Nascimento Página 10

AGRUPAMENTO DE ESCOLAS DE ALCANENAFORMAÇÃO TECNOLÓGICA UFCD 845 TURMA A4

Educação e Formação de Adultos – EFA –

SEC.(Portaria N.º 230/2008,

de 7 de Março)

O primeiro passo que temos de executar para ligar um sistema Linux a uma rede é configurar as interfaces de rede.

Contudo, se tentarmos comunicar com outros sistemas imediatamente após as interfaces terem sido configuradas, muito provavelmente não iremos conseguir estabelecer comunicação alguma.

Isto acontece porque o Kernel de Linux necessita de uma tabela de routing, contendo um conjunto de regras de encaminhamento de pacotes.

Estas regras definem a forma como os pacotes destinados ao exterior são encaminhados e que interface de rede devem ser usadas.

Mesmo quando os sistemas só possuem uma interface de rede física, a tabela tem de ser usada, porque existe sempre uma segunda interface de rede virtual, chamada loopback, que serve para o computador comunicar consigo próprio.

Como consequência, logo a seguir à configuração das interfaces de rede, é necessário usar o comando «route» para criar uma tabela de routing.

Formadora: Anabela Nascimento Página 11

AGRUPAMENTO DE ESCOLAS DE ALCANENAFORMAÇÃO TECNOLÓGICA UFCD 845 TURMA A4

Educação e Formação de Adultos – EFA –

SEC.(Portaria N.º 230/2008,

de 7 de Março)