TCP (Transmission control protocol)
e UDP (User Datagram Protocol, são os principais protocolos da
camada de Transporte do modelo OSI (Open Systems Interconection), são
responsáveis pela segmentação de pacotes pela rede.
O protocolo TCP é orientado a
conexão, possui controle de erros, com três fases distintas:
1 - Inicialização de sessão
2 - Manutenção de sessão
3 - Finalização de sessão
O protocolo UDP, não orientado a
conexão, não possui controle de erros. É menos confiável, porém
sua entrega de dados é mais rápida.
Na prática, na estrutura do
netfilter (a camada de transporte em geral), são usadas portas para cada tipo de serviço. Existem
65535 portas, tanto TCP e UDP que podem ser usadas na segmentação
de pacotes numa rede Ethernet.
Uma forma simples de saber qual
porta está vinculada a qual tipo de serviço, é consultar o arquivo
“/etc/services”, em qualquer distribuição Linux:
#cat /etc/services | grep telnet
#cat /etc/services | grep tftp
#cat /etc/services | grep http
Quando criamos uma regra no
iptables, para compreender a sintaxe de uma regra específica, temos
basicamente:
#iptables -t filter -A INPUT -i eth0
-p tcp -s 0/0 -d 192.168.1.100 --sport 1024:65535 --dport 3389 -j
ACCEPT
-Adicionando na cadeia INPUT,
entrando pela interface eth0 ,qualquer endereço de origem, com
destino ao ip 192.168.1.100, com porta TCP de origem dentro do range
de 1024 à 65535 com destino a porta TCP 3389 (Terminal Services) é
aceito.
Entendendo a utilização de portas
TCP quando se inicializa uma conexão.
Acesso há um Web Site por exemplo:
Sua porta TCP de origem sempre será
alta (de 1024 à 65535) aleatório, dentro desse range, não dá para
especificar exatamente qual, a porta de destino será a TCP 80
(pedido de SYN)
Quando o Servidor Web te retorna
uma resposta (ACK), ele utiliza a porta TCP 80 de origem e alguma
porta alta TCP, aleatória dentro do range de 1024 à 65535 para o
destino. Por isso, se utilizarmos alguma regra na cadeia FORWARD
(ByPass) temos que criar uma regra simétrica, na ida e na volta,
exemplo:
#iptables -A FORWARD -i eth1 -o eth0
-p tcp -s 172.16.1.0/24 -d 0/0 --sport 1024:65535 --dport 80 -j
ACCEPT
#iptables -A FORWARD -i eth0 -o eth1
-p tcp -s 0/0 -d 172.16.1.0/24 --sport 80 --dport 1024:65535 -j
ACCEPT
Nenhum comentário:
Postar um comentário