Introdução ao Firewall Linux
Artigo dedicado a comandos e conceitos básicos de um firewall no Linux utilizando o iptables.
Protocolos
Para entender como configurar, filtrar, bloquear ou permitir conexões de rede, você deve conhecer e entender muito bem como essas funcionam. O protocolo mais usado é o TCP/IP, utilizado tanto em redes internas como também na internet.
O TCP/IP é um conjunto de protocolos, sendo os protocolos TCP e IP os mais importantes. Os protocolos da suíte TCP/IP são:
Características do TCP:
TCP/IP
Transfer Control Protocol / Internet Protocol. Ele foi desenvolvido para ser um protocolo roteável e serve como padrão para redes de longa distância (WAN's) e para acesso a internet.O TCP/IP é um conjunto de protocolos, sendo os protocolos TCP e IP os mais importantes. Os protocolos da suíte TCP/IP são:
- TCP - Transmission Control Protocol, protocolo orientado a conexão. Fornece confiável, full-duplex, de um conjunto de bytes para um processo do usuário.
- UDP - User Datagram Protocol, protocolo sem conexão. Não há garantia que os datagramas UDP alcancem o seu destino.
- IP - Internet Protocol. Entrega dos pacotes para serviços TCP,UDP e ICMP.
- IGMP - Internet Management Group Protocol. Entrega de pacotes multicast.
- ICMP - Internet Control Protocol. Tratamento de erros e controle de informações entre gateways e hosts.
- ARP - Address Resolution Protocol. Mapeia um endereço IP em um endereço de hardware. Não é utilizado em todas as redes.
Características do TCP:
- Transferência contínua de dados;
- Confiabilidade;
- Controle de fluxo;
- Multiplexação;
- Conexões lógicas;
- Full Duplex.
Cabeçalho TCP
-------------------------------------------------------------- | Porta de Origem | Porta de Destino | -------------------------------------------------------------- | Numero de Seqüência | -------------------------------------------------------------- | Numero de Confirmação | -------------------------------------------------------------- | Tamanho do | Reservado | Bits de | Janela | | Cabeçalho | | Código | | -------------------------------------------------------------- | Soma de Verificação | Urgente | -------------------------------------------------------------- | Opções | -------------------------------------------------------------- | Dados | --------------------------------------------------------------
- Porta de origem -> Número da porta de chamada;
- Porta de destino -> Número da porta chamada;
- Número de sequência -> Número usado para garantir o sequenciamento correto dos dados que chegam;
- Número de confirmação -> Próximo octeto TCP esperado;
- Tamanho do cabeçalho -> Número de palavras de 32 bits no cabeçalho;
- Reservado -> Definido como zero;
- Bits de código -> Funções de controle, como configurações e término de uma sessão;
- Janela -> Número de octetos que o dispositivo pretende aceitar;
- Soma de verificação -> Soma de verificação calculada dos campos de cabeçalho e dados;
- Urgente -> Indicação do fim dos dados urgentes;
- Opção -> Um definido momento: tamanho máximo do segmento TCP;
- Dados -> Dados do protocolo.