Segurança de redes com Linux Everson Scherrer Borges Willen Borges de Deus
Segurança de Redes com Linux Protocolo TCP/UDP Portas Endereçamento IP Firewall Objetivos Firewall Tipos de Firewall Iptables Tabelas do Iptables Fluxograma Iptables Mão na Massa
Protocolo TCP/UDP A comunicação pela internet é feita, basicamente, através de protocolos, sendo o TCP (Transmission Control Protocol) um dos mais importantes deles. Isso porque o TCP está incluído no conjunto de protocolos que formam o TCP/IP, a base de comunicação via dados de toda a internet. O UDP (User Datagram Protocol) é tido como um protocolo "irmão" do TCP, mas é mais simples e também menos confiável.
Portas Suponha que, você esteja usando um navegador de internet, um cliente de e-mail e um software de comunicação instantânea. Todas essas aplicações fazem uso da sua conexão à internet, mas como o computador faz para saber quais os dados que pertencem a cada programa? Simples, pelo número da porta que cada um utiliza. Por exemplo, se você está usando um programa de FTP, a conexão à internet é feita pela porta TCP 21, que é uma porta convencionada a este protocolo. Se estiver baixando arquivos pelo BitTorrent, uma das portas que vão de 6881 à 6889 estará sendo utilizada para tal atividade.
Portas Ao todo, é possível usar 65536 portas TCP e UDP, começando em 1. As portas de 1 a 1024, são as mais utilizadas já que a aplicação destas é padronizada pela IANA (Internet Assigned Numbers Authority). 21 - FTP 22 - SSH 25 - SMTP 80 - HTTP 110 - POP3 143 - IMAP 443 - HTTPS No Linux, o arquivo /etc/services faz menção a todas as portas e os serviços relacionados. É muito importante ler esse arquivo antes de iniciar a configuração do Firewall.
Endereçamento IP O endereço IP (ou somente IP) é uma seqüência de números composta de 32 bits. Esse valor consiste em um conjunto de quatro grupos de 8 bits. Os endereços IP podem ser usados tanto para referir a redes quanto a um host individual. Classe Gama de Endereços Nº de Endereços por Rede A 1.0.0.0 até 126.0.0.0 16 777 216 B 128.0.0.0 até 191.255.0.0 65 536 C 192.0.0.0 até 223.255.255.254 256 D 224.0.0.0 até 239.255.255.255 Multicast E 240.0.0.0 até 247.255.255.255 Uso futuro; atualmente reservada a testes pela IETF
Endereçamento IP Os endereços IP públicos são exclusivos. Nunca pode haver mais de uma máquina que se conecte a uma rede pública com o mesmo endereço IP, pois os endereços IP públicos são globais e padronizados. Entretanto, as redes privadas que não estão conectadas à Internet podem usar quaisquer endereços de host, contanto que cada host dentro da rede privada seja exclusivo. Porém, não é recomendável que uma rede privada use um endereço qualquer, pois essa rede pode ser conectada à Internet algum dia. O RFC 1918 reserva três blocos de endereços IP para uso interno e privado. Classe Intervalo de endereços Internos RFC 1918 A 10.0.0.0 a 10.255.255.255 B 172.16.0.0 a 172.31.255.255 C 192.168.0.0 a 192.168.255.255
Firewall O conceito de Firewall começou a ser utilizado no final da década de 80, quando simplesmente os roteadores apenas separavam pequenas redes. Os primeiros Firewalls que trabalhavam a segurança de redes, surgiram no início dos anos 90. Era um mecanismo que possuía com um pequeno conjunto de regras, como por exemplo, da REDE A acessar a REDE B, ou a REDE C bloquear a REDE A e assim por diante.
Objetivo do Firewall Um Firewall é uma barreira inteligente entre duas redes, através do qual só passa tráfego autorizado. Este tráfego é examinado pelo Firewall em tempo real e a seleção é feita de acordo com a política de segurança estabelecida. O Firewall tem como vantagem ser muito estável, confiável e permitir muita flexibilidade na programação de regras pelo administrador de redes. Com base em regras configuradas no Firewall, o pacote irá ser autorizado, encaminhado, rejeitado ou abandonado. A filtragem de pacotes nos Firewalls operam na camada 3 do modelo OSI, camada de rede. Roteadores são uma forma muito comum de filtragem de pacotes Firewall. Existem diferentes tipos de Firewall, desenvolvido para filtros de pacotes e aplicativos.
Tipos de Firewall Nível de Aplicação - Este tipo de firewall analisa o conteúdo do pacote para tomar suas decisões de filtragem. Este tipo são mais intrusivos, pois analisam o conteúdo de tudo que passa por ele e permite um controle relacionado com o conteúdo do tráfego. Servidores proxy, como o squid é um exemplo deste tipo de firewall. Nível de Pacotes - Este tipo de firewall toma as decisões baseadas nos parâmetros do pacote, como porta, endereço de origem/destino, estado da conexão, e outros parâmetros do pacote. As regras comumente utilizada no firewall é negar o pacote (DROP) ou liberar o pacote (ACCEPT). O iptables é um excelente firewall que se encaixa nesta categoria.
Iptables O iptables é um firewall em nível de pacotes e funciona baseado no endereço, porta de origem/destino do pacote, prioridade, etc. Ele funciona através da comparação de regras para saber se um pacote tem ou não permissão para passar. Também pode ser usado para modificar e monitorar o tráfego da rede, fazer NAT (Network Address Translation), redirecionamento de pacotes, marcação de pacotes, modificar a prioridade de pacotes que chegam/saem do seu sistema, contagem de bytes, dividir tráfego entre máquinas, criar proteções antispoofing, contra syn flood, DoS, etc.
Tabelas do Iptables A tabela Filter é a tabela padrão do Iptables e trata das situações (chains) implementadas por um Firewall filtro de pacotes. INPUT: Todos os pacotes que entram no host; FORWARD: Todos os pacotes que entram no host, mas que devem ser redirecionados à um host secundário ou outra interface de rede; OUTPUT: Todos os pacotes que saem do host.
Tabelas do Iptables
Tabelas do Iptables A tabela NAT implementa funções de NAT ao host Firewall. Esta tabela por sua vez, possui diversas utilidades, conforme abordado anteriormente. PREROUTING: É utilizada quando há necessidade de se fazer alterações em pacotes antes que os mesmos sejam roteados; OUTPUT: Trata os pacotes emitidos pelo host Firewall; POSTROUTING: Utilizado quando há necessidade de se fazer alterações em pacotes após o tratamento de roteamento.
Tabelas do Iptables
Tabelas do Iptables A tabela MANGLE implementa alterações especiais em pacotes em um nível mais complexo. A tabela mangle é capaz, por exemplo, de alterar a prioridade de entrada e saída de um pacote baseado no tipo de serviço (TOS) o qual o pacote se destinava. PREROUTING INPUT FORWARD OUTPUT POSROUTING
Fluxograma do Iptables
Mão na Massa