Firewall Com IPTABLES Por João Eriberto
Firewall Com IPTABLES Por João Eriberto
Firewall Com IPTABLES Por João Eriberto
Para fazer o IP FORWARD, o micro roteador dever possuir uma placa de rede com endereo IP pertencente a cada segmento. Tambm deveremos informar, em cada mquina de cada seguimento, quem ser o micro responsvel pelo roteamento. O nome tcnico desse micro gateway.
No caso do esquema anterior, temos as seguintes situaes: * Gateway para 10.0.0.1, 10.0.0.2 e 10.0.0.3: a mquina 10.0.0.10 * Gateway para 172.20.0.1, 172.20.0.2 e 172.20.0.3: a mquina 172.20.0.10 importante que, nos dois lados, todos os micros saibam quem o seu gateway pois, do contrrio, os hosts no sabero para onde enviar os pacotes destinados rede oposta. Exemplo: A mquina 10.0.0.1 sabe que 10.0.0.10 o seu gateway. A mquina 172.20.0.1 no sabe quem o seu gateway. Um ping de 10.0.0.1 para 172.20.0.1 sair de 10.0.0.1, passar por 10.0.0.10, seguir por 172.20.0.10 e chegar em 172.20.0.1. Como 172.20.0.1 no sabe quem o seu gateway para a rede 10.0.0.0, no conseguir responder. O ping vai morrer por timeout. Houve o icmp echo request mas ser impossvel gerar o icmp echo reply.
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 mquina, 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 princpio, bastando acrescer quantas placas de rede forem necessrias no gateway. Tambm possvel utilizar placas de fax-modem em conjunto com placas de rede.
Definindo o gateway
Para definirmos o gateway em cada cliente, devemos: --> No Linux Red Hat/Fedora Editar o arquivo /etc/sysconfig/network e inserir a linha: GATEWAY=ip_do_gateway
Em seguida, devemos reiniciar a rede: #/etc/rc.d/init.d/network restart --> No Linux Slackware Editar o arquivo /etc/rc.d/rc.inet1.conf e configurar a linha: GATEWAY="ip_do_gateway" Em seguida, devemos reiniciar a rede: #/etc/rc.d/rc.inet1 restart --> No Linux Debian Editar o arquivo /etc/network/interfaces e inserir a linha: gateway ip_do_gateway Em seguida, devemos reiniciar a rede: #/etc/init.d/networking restart --> No Windows 9x Nas Propriedades do protocolo TCP/IP, h uma seo gateway. Basta inserir o IP do gateway nessa seo. Exemplo:
--> No Windows XP Nas Propriedades do protocolo TCP/IP, h uma entrada gateway. Basta inserir o IP do gateway. Exemplo:
Teste do roteamento
O teste do roteamento pode ser feito por intermdio do comando ping. Basta "pingar" uma mquina que esteja aps o roteador.
Caso no haja resposta, faa um teste progressivo para tentar deduzir o problema: --> pingue a placa do roteador que esteja dentro do seu segmento de rede; --> pingue a placa do roteador que esteja no outro segmento; --> pingue outra mquina do outro segmento.
O programa IPTRAF poder ajudar a debugar a conexo. Execute a opo "IP traffic monitor" do citado programa na mquina roteadora e verifique se o ICMP echo request est saindo e se o ICMP echo reply est voltando. Se no voltar, o problema estar no segmento de destino do ping.
possvel concluir que um firewall e sim parte uso de outros elementos IPS HLBR, DISPONVEL EM Se preferir, clique aqui
um nico programa, como o Iptables, no constitui dele. Um administrador de rede deve considerar o de segurana. RECOMENDO, DENTRE OUTROS, O USO DO http://hlbr.sourceforge.net, juntamente com o Iptables. para fazer download.
Filtragem de Pacotes
O Iptables um filtro de pacotes. Essa filtragem poder ocorrer em duas sitaes: --> diretamente em uma mquina de destino; --> em uma mquina intermediria responsvel pelo roteamento de dados entre segmentos de rede. Vamos considerar a filtragem de pacotes no caso de controle do roteamento. Ento, vamos configurar uma mquina capaz de tomar decises em relao ao trfego de rede. Assim, analisaremos o filtro de pacotes existente no Linux. Ele verifica apenas o cabealho de cada pacote. Basicamente, s entende endereo IP, mscara de sub-rede, portas e tipos de protocolos IP. No analisa o contedo do pacote e nem identifica ataques. A filtragem de pacotes uma atividade interna do kernel.
Os filtros Linux
O filtro de pacotes, na maioria das vezes, atua como um roteador controlado.
uma atividade interna, uma propriedade, do kernel. So os seguintes, os filtros existentes: --> kernel 2.0.x: ipfwadm; --> kernel 2.2.x: ipchains; --> kernel 2.4.x: iptables; --> kernel 2.6.x: iptables. Obs: um kernel estvel quando o algarismo existente entre os dois pontos par. Exemplo: x.2.x estvel. J o x.3.x no estvel. O Kernel 2.4, por questes de compatibilidade, mantm os filtros ipfwadm e ipchains. No entanto, eles no funcionam completamente com esse kernel. Alm disso, se o ipchains estiver ativo, o iptables no ir funcionar. Assim, no Red Hat, torna-se necessrio entrar no #setup e: --> habilitar o iptables; --> desabilitar o ipchains. Se a distribuio utilizada no possuir o comando #setup, utilize o comando #rmmod ipchains. Cabe ressaltar que o iptables ter os seus mdulos bsicos carregados quando for utilizado pela primeira vez.
So trs, as possveis chains: --> INPUT: utilizada quando o destino final a prpria mquina filtro; --> OUTPUT: qualquer pacote gerado na mquina fltro e que deva sair para a rede ser tratado pela chain OUTPUT; --> FORWARD: qualquer pacote que atravessa o fltro, oriundo de uma mquina e direcionado a outra, ser tratado pela chain FORWARD.
Regras de filtragem
As regras (rules) de fitragem, geralmente, so compostas assim: #iptables [-t tabela] [opo] [chain] [dados] -j [ao] Exemplo: #iptables -A FORWARD -d 192.168.1.1 -j DROP A linha acima determina que todos os pacotes destinados mquina 192.168.1.1 devem ser descartados. No caso: tabela: filter ( a default)
opo: -A chain: FORWARD dados: -d 192.168.1.1 ao: DROP Existem outras possibilidades que fogem sintaxe mostrada anteriormente. o caso do comando #iptables -L, que mostra as regras em vigor.
-P --> Policy (poltica). Altera a poltica da chain. A poltica inicial de cada chain ACCEPT. Isso faz com que o filtro, inicialmente, aceite qualquer INPUT, OUTPUT ou FORWARD. A poltica pode ser alterada para DROP, que ir negar o servio da chain, at que uma opo -A entre em vigor. O -P no aceita REJECT ou LOG. Exemplos: #iptables -P FORWARD DROP #iptables -P INPUT ACCEPT
-A --> Append (anexar). Acresce uma nova regra chain. Tem prioridade sobre o -P. Geralmente, como buscamos segurana mxima, colocamos todas as chains em poltica DROP, com o -P e, depois, abrimos o que necessrio com o -A. Exemplos: #iptables -A OUTPUT -d 172.20.5.10 -j ACCEPT #iptables -A FORWARD -s 10.0.0.1 -j DROP #iptables -A FORWARD -d www.chat.com.br -j DROP
-D --> Delete (apagar). Apaga uma regra. A regra deve ser escrita novamente, trocando-se a opo para -D. Exemplos: Para apagar as regras anteriores, usa-se: #iptables -D OUTPUT -d 172.20.5.10 -j ACCEPT #iptables -D FORWARD -s 10.0.0.1 -j DROP #iptables -D FORWARD -d www.chat.com.br -j DROP Tambm possvel apagar a regra pelo seu nmero de ordem. Pode-se utilizar o -L para verificar o nmero de ordem. Verificado esse nmero, basta citar a chain e o nmero de ordem. Exemplo: #iptables -D FORWARD 4 Isso deleta a regra nmero 4 de forward.
-L --> List (listar). Lista as regras existentes. Exemplos: #iptables -L #iptables -L FORWARD
-F --> Flush (esvaziar). Remove todas as regras existentes. No entanto, no altera a poltica (-P). Exemplos: #iptables -F #iptables -F FORWARD
Chains
As chains j so conhecidas: INPUT --> Refere-se a todos os pacotes destinados mquina filtro. OUTPUT --> Refere-se a todos os pacotes gerados na mquina filtro. FORWARD --> Refere-se a todos os pacotes oriundos de uma mquina e destinados a outra. So pacotes que atravessam a mquina filtro, mas no so destinados a ela.
Dados
Os elementos mais comuns para se gerar dados so os seguintes:
-s --> Source (origem). Estabelece a origem do pacote. Geralmente uma combinao do endereo IP com a mscara de sub-rede, separados por uma barra. Exemplo: -s 172.20.0.0/255.255.0.0 No caso, vimos a sub-rede 172.20.0.0. Para hosts, a mscara sempre ser 255.255.255.255. Exemplo: -s 172.20.5.10/255.255.255.255 Agora vimos o host 172.20.5.10. Ainda no caso de hosts, a mscara pode ser omitida. Caso isso ocorra, o iptables considera a mscara como 255.255.255.255. Exemplo: -s 172.20.5.10 Isso corresponde ao host 172.20.5.10. H um recurso para simplificar a utilizao da mscara de sub-rede. Basta utilizar a quantidade de bits 1 existentes na mscara. Assim, a mscara 255.255.0.0 vira 16. A utilizao fica assim: -s 172.20.0.0/16 Outra possibilidade a designao de hosts pelo nome. Exemplo: -s www.chat.com.br Para especificar qualquer origem, utilize a rota default, ou seja, 0.0.0.0/0.0.0.0, tambm admitindo 0/0.
-d --> Destination (destino). Estabelece o destino do pacote. Funciona exatamente como o -s, incluindo a sintaxe.
-p --> Protocol (protocolo). Especifica o protocolo a ser filtrado. O protocolo IP pode ser especificado pelo seu nmero (vide /etc/protocols) ou pelo nome. Os protocolos mais utilizados so udp, tcp e icmp. Exemplo: -p icmp
-i --> In-Interface (interface de entrada). Especifica a interface de entrada. As interfaces existentes podem ser vistas com o comando #ifconfig. O -i no pode ser utilizado com a chain OUTPUT. Exemplo: -i ppp0 O sinal + pode ser utilizado para simbolizar vrias interfaces. Exemplo: -i eth+ eth+ refere-se eth0, eth1, eth2 etc.
-o --> Out-Interface (interface de sada). Especifica a interface de sada. Similar a -i, inclusive nas flexibilidades. O -o no pode ser utilizado com a chain INPUT.
! --> Excluso. Utilizado com -s, -d, -p, -i, -o e outros, para excluir o argumento. Exemplo: -s ! 10.0.0.1 Isso refere-se a qualquer endereo de entrada, exceto o 10.0.0.1. -p ! tcp Todos os protocolos, exceto o TCP.
--sport --> Source Port. Porta de origem. S funciona com as opes -p udp e -p tcp. Exemplo: -p tcp --sport 80 Refere-se porta 80 sobre protocolo TCP.
--dport --> Destination Port. Porta de destino. S funciona com as opes -p udp e -p tcp. Similar a --sport.
Aes
As principais aes so:
ACCEPT --> Aceitar. Permite a passagem do pacote. DROP --> Abandonar. No permite a passagem do pacote, descartando-o. No avisa a origem sobre o ocorrido. REJECT --> Igual ao DROP, mas avisa a origem sobre o ocorrido (envia pacote icmp unreachable). LOG --> Cria um log referente regra, em /var/log/messages. Usar antes de outras aes.
--------------------------------------#iptables -F Apaga todas as regras sem alterar a poltica. --------------------------------------#iptables -P FORWARD DROP Estabelece uma poltica de proibio inicial de passagem de pacotes entre subredes. --------------------------------------#iptables -A FORWARD -j DROP Todos os pacotes oriundos de qualquer sub-rede e destinados a qualquer sub-rede devero ser descartados. --------------------------------------#iptables -A FORWARD -j ACCEPT Todos os pacotes oriundos de qualquer sub-rede e destinados a qualquer sub-rede devero ser aceitos. --------------------------------------#iptables -A FORWARD -s 10.0.0.0/8 -d www.chat.com.br -j DROP Os pacotes oriundos da sub-rede 10.0.0.0 (mscara 255.0.0.0) e destinados aos hosts cujos endereos IP respondem pelo nome www.chat.com.br devero ser descartados. Note que se a mquina possuir domnios virtuais, todos esses sero bloqueados. --------------------------------------#iptables -A FORWARD -s 10.0.0.0/8 -d www.chat.com.br -j REJECT Os pacotes oriundos da sub-rede 10.0.0.0 (mscara 255.0.0.0) e destinados aos hosts cujos endereos IP respondem pelo nome www.chat.com.br devero ser descartados. Dever ser enviado um ICMP avisando origem. --------------------------------------#iptables -A FORWARD -d www.chat.com.br -j DROP Os pacotes oriundos de qualquer lugar e destinados aos hosts cujos endereos IP respondem pelo nome www.chat.com.br devero ser descartados. --------------------------------------#iptables -A FORWARD -d 10.0.0.0/8 -s www.chat.com.br -j DROP Os pacotes destinados sub-rede 10.0.0.0 (mscara 255.0.0.0) e oriundos aos hosts cujos endereos IP respondem pelo nome www.chat.com.br devero ser descartados. --------------------------------------#iptables -A FORWARD -s www.chat.com.br -j DROP Os pacotes oriundos aos hosts cujos endereos IP respondem pelo nome www.chat.com.br e destinados a qualquer lugar devero ser descartados. --------------------------------------#iptables -A FORWARD -s 200.221.20.0/24 -j DROP Os pacotes oriundos da sub-rede 200.221.20.0 (mscara 255.255.255.0) e destinados a qualquer lugar devero ser descartados. --------------------------------------#iptables -A FORWARD -s 10.0.0.5 -p icmp -j DROP Os pacotes icmp oriundos do host 10.0.0.5 e destinados a qualquer lugar devero ser descartados.
--------------------------------------#iptables -A FORWARD -i eth0 -j ACCEPT Os pacotes que entrarem pela interface eth0 sero aceitos. --------------------------------------#iptables -A FORWARD -i ! eth0 -j ACCEPT Os pacotes que entrarem por qualquer interface, exceto a eth0, sero aceitos. --------------------------------------#iptables -A FORWARD -s 10.0.0.5 -p tcp --sport 80 -j LOG O trfego de pacotes TCP oriundos da porta 80 do host 10.0.0.5 e destinados a qualquer lugar dever ser gravado em log. No caso, /var/log/messages. --------------------------------------#iptables -A FORWARD -p tcp --dport 25 -j ACCEPT Os pacotes TCP destinados porta 25 de qualquer host devero ser aceitos. ---------------------------------------
Observaes importantes
Impasses e ordem de processamento
As regras sero interpretadas na ordem em que aparecerem. Sempre que um pacote se adequar a uma regra, tal regra processar o pacote e a sequncia iptables ser finalizada naquele instante, sem que as regras seguintes atuem. Isso no se aplicar s regras terminadas com -j LOG. Nesse caso, a regra com -j LOG ir atuar, se for o caso, e permitir o prosseguimento da seqencia. Concluso: se houver impasse entre regras, sempre valer a primeira. Assim, entre as regras: #iptables -A FORWARD -p icmp -j DROP #iptables -A FORWARD -p icmp -j ACCEPT Valer: #iptables -A FORWARD -p icmp -j DROP J entre as regras: #iptables -A FORWARD -p icmp -j ACCEPT #iptables -A FORWARD -p icmp -j DROP Valer: #iptables -A FORWARD -p icmp -j ACCEPT Em resumo: ACCEPT --> Pra de processar regras para o pacote atual; DROP --> Pra de processar regras para o pacote atual; REJECT --> Pra de processar regras para o pacote atual; LOG --> Continua a processar regras para o pacote atual;
iptables -A INPUT -s 10.0.0.1 -j DROP iptables -A INPUT -s 10.0.0.2 -p tcp --dport 80 -j ACCEPT iptables -A INPUT -s 172.20.0.0/16 -j ACCEPT Analisando-se o fluxo de um pacote, chegamos ao diagrama:
Agora, vamos abrir a poltica: iptables iptables iptables iptables -P -A -A -A INPUT INPUT INPUT INPUT ACCEPT -s 10.0.0.1 -j DROP -s 10.0.0.2 -p tcp --dport 80 -j ACCEPT -s 172.20.0.0/16 -j ACCEPT
O retorno
Ao se fazer determinadas regras, devemos prever o retorno. Assim, digamos que exista a seguinte situao: #iptables -P FORWARD DROP #iptables -A FORWARD -s 10.0.0.0/8 -d 172.20.0.0/16 -j ACCEPT Com as regras anteriores, fechamos todo o FORWARD e depois abrimos da sub-rede 10.0.0.0 para a sub-rede 172.20.0.0. No entanto, no tornamos possvel a resposta da sub-rede 172.20.0.0 para a sub-rede 10.0.0.0. O correto, ento, seria: #iptables -P FORWARD DROP #iptables -A FORWARD -s 10.0.0.0/8 -d 172.20.0.0/16 -j ACCEPT #iptables -A FORWARD -d 10.0.0.0/8 -s 172.20.0.0/16 -j ACCEPT
IP FORWARD
Caso haja o envolvimento de mais de uma sub-rede, ser necessrio que o IP FORWARD seja ativado para que o iptables funcione corretamente. O IP FORWARD, via kernel, pode ser ativado pelo comando:
#echo 1 > /proc/sys/net/ipv4/ip_forward Cabe lembrar que a reinicializao do daemon de rede far com que o roteamento seja perdido. Uma forma de deixar a regra de roteamento permanentemente ativada, resistindo a qualquer tipo de reinicializao, seria a alterao do arquivo /etc/sysctl.conf: net.ipv4.ip_forward = 1
O carregamento
Na primeira vez em que o iptables for utilizado, poder surgir a mensagem: ip_tables: (c)2000 Netfilter core team No se preocupe. Isso normal. o carregamento dos mdulos necessrios. Caso surjam mensagens de erro, certifique-se de que o ipchains no esteja carregado. Caso esteja, descarregue-o: #rmmod ipchains
Extenses
As extenses permitem filtragens especiais, principalmente contra ataques de hackers. Os exemplos abaixo mostram como controlar os pings que atravessam o filtro:
Contra Ping
#iptables -A FORWARD -p icmp --icmp-type echo-request -j DROP
No faz parte dos meus objetivos o aprofundamento no assunto extenses. Procure por documentos especializados. Consulte a seo de links.
Mais proteo
Existe, ainda, uma regra muito importante que pode ser utilizada como segurana. a proteo contra pacotes danificados, suspeitos ou mal formados. #iptables -A FORWARD -m unclean -j DROP Tambm pode ser utilizado com INPUT.
Mascaramento
O mascaramento uma forma de fazer NAT (Network Address Translation). Com isso, possvel fazer uma rede privada navegar na Internet. A rede solicita os dados para a mquina que faz o mascaramento. Essa busca tais dados na Internet...
No entanto, um host da Internet, por vontade prpria, no consegue ultrapassar o filtro que faz mascaramento, em direo rede:
O nico endereo IP que ir circular na Internet ser o do filtro. O mascaramento tambm possui um esquema de funcionamento. Como haver trocas de endereos, deveremos utilizar a tabela NAT para fazer isso.
Redirecionamento de portas
O redirecionamento de portas ocorre quando desejamos alterar a porta de destino de uma requisio. Exemplo: tudo que for destinado porta 23 de qualquer mquina, quando passar pela mquina filtro, ser redirecionado para a porta 10000 de outro servidor.
Redirecionamento de servidores
Todos os pacotes destinados a um servidor sero redirecionados para outro
servidor.
Proxy transparente
a tcnica que fora o uso de um servidor proxy na rede.
Balanceamento de carga
O balanceamento de carga (load balance) uma tcnica utilizada para distribuir carga entre servidores sincronizados. O load balance o ato de distribuir os clientes aos servidores mais desocupados. Esse trabalho tambm pode ser feito por servidores DNS.
A tabela NAT
A tabela NAT funciona da seguinte forma:
O NAT dividido em: --> SNAT: aplica-se quando desejamos alterar o endereo de origem do pacote. Somente a chain POSTROUTING faz SNAT. O mascaramento um exemplo de SNAT. --> DNAT: aplica-se quando desejamos alterar o endereo de destino do pacote. As chains PREROUTING e OUTPUT fazem DNAT. O redirecionamento de porta, o redirecionamento de servidor, o load balance e o proxy transparente so exemplos de DNAT.
Regras de NAT
Para fazer o mascaramento, deveremos, antes, carregar o mdulo de NAT: #modprobe iptable_nat As regras mais utilizadas, alm da maioria dos recursos descritos para uso com a tabela filter, contm o seguinte:
Chains
Existem as seguintes chains: --> PREROUTING: utilizada para analisar pacotes que esto entrando no kernel para sofrerem NAT. O PREROUTING pode fazer aes de NAT com o endereo de destino do pacote. Isso conhecido como DNAT (Destination NAT); --> POSTROUTING: utilizada para analisar pacotes que esto saindo do kernel, aps sofrerem NAT. O POSTROUTING pode fazer aes de NAT com o endereo de origem do pacote. Isso conhecido como SNAT (Source NAT); --> OUTPUT: utilizada para analisar pacotes que so gerados na prpria mquina e que iro sofrer NAT. O OUTPUT pode fazer aes de NAT com o endereo de destino do pacote. Tambm DNAT.
Opes
-A --> Append (anexar). -D --> Deletar.
Dados
-t --> Table (tabela). Estabelece a tabela a ser utilizada. A tabela default, por omisso, filter. Para o mascaramento ou NAT ser nat. Exemplo: #iptables -t nat -A ...
--to --> utilizado para definir IP e porta de destino, aps um DNAT, ou de origem, aps um SNAT. Deve ser utilizado aps uma ao (-j ao). Assim: -j DNAT --to 10.0.0.2 -j DNAT --to 10.0.0.2:80 -j SNAT --to 172.20.0.2
--dport --> assim como -d define um host de destino, --dport define uma porta de destino. Deve ser utilizado antes de uma ao (-j ao). Antes de --dport, deve ser especificado um protocolo (-p). Exemplo: -d 172.20.0.1 -p tcp --dport 80 -j DNAT --to 10.0.0.2
--sport --> assim como -s define um host de origem, --sport define uma porta de origem. Deve ser utilizado antes de uma ao (-j ao).
Obs: A maioria dos dados bsicos apresentados para a tabela filter continuam valendo. Exemplo: -p servir para definir um protocolo de rede; -d define um
host de destino.
Aes
SNAT --> Utilizado com POSTROUTING para fazer aes de mascaramento da origem. DNAT --> Utilizado com PREROUTING e OUTPUT para fazer aes de redirecionamento de portas e servidores, balanceamento de carga e proxy transparente. Caso a porta de destino no seja especificada, valer a porta de origem. No filtro, a porta que ser redirecionada no pode existir ou estar ocupada por um daemon. MASQUERADE --> Faz mascaramento na sada de dados. REDIRECT --> Redireciona uma requisio para uma porta local do filtro.
#iptables -t nat -A PREROUTING -i eth0 -j DNAT --to 172.20.0.1 Todos os pacotes que entrarem pela eth0 sero enviados para a mquina 172.20.0.1 --------------------------------------#iptables -t nat -A PREROUTING -i eth0 -j DNAT --to 172.20.0.1-172.20.0.3 Aqui haver o load balance. Todos os pacotes que entrarem pela eth0 sero distribudos entre as mquinas 172.20.0.1 , 172.20.0.2 e 172.20.0.3 --------------------------------------#iptables -t nat -A PREROUTING -s 10.0.0.0/8 -p tcp --dport 80 -j REDIRECT --toport 3128 Todos os pacotes TCP que vierem da rede 10.0.0.0, com mscara 255.0.0.0, destinados porta 80 de qualquer host, no sairo; sero redirecionados para a porta 3128 do filtro. Isso o passo necessrio para fazer um proxy transparente. O proxy utilizado dever aceitar esse tipo de recurso. No caso, o Squid, que aceita transparncia, dever estar instalado na mquina filtro, servindo na porta 3128. --------------------------------------#iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j SNAT 200.20.5.0/24 Uma situao interessante: todos os pacotes que sarem da rede 192.168.1.0 sero transformados em 200.20.5.0 . ---------------------------------------
Apesar de estarmos lidando com controlado, h a possibilidade sub-rede. No entanto, isso tem regras especiais de roteamento
um filtro de pacotes, que um roteador de fazermos algumas operaes dentro da mesma que ser bem estudado. Muitas vezes ir exigir esttico (comando #route).
#iptables -t nat -A POSTROUTING -s 10.0.0.10 -o ppp0 -j MASQUERADE #iptables -t nat -A POSTROUTING -s 10.0.0.20 -o ppp0 -j MASQUERADE #iptables -t nat -A POSTROUTING -s 10.5.2.41 -o ppp0 -j MASQUERADE
Execuo de FTP
Para executar sesses de FTP, ser necessrio o carregamento de dois mdulos: #insmod ip_conntrack_ftp #insmod ip_nat_ftp
Salvamento de regras
--> Criando as regras #iptables -t nat -A POSTROUTING -s 10.0.0.10 -o ppp0 -j MASQUERADE #iptables -t nat -A POSTROUTING -s 10.0.0.20 -o ppp0 -j MASQUERADE #iptables -t nat -A POSTROUTING -s 10.5.2.41 -o ppp0 -j MASQUERADE --> Salvando #iptables-save > /etc/iptables.rules --> Recuperao Um script de recuperao, inicializado pelo /etc/rc.d/rc.local, poderia ter a seguinte estrutura: #!/bin/bash echo 1 > /proc/sys/net/ipv4/ip_forward modprobe iptable_nat iptables-restore < /etc/iptables.rules insmod ip_conntrack_ftp insmod ip_nat_ftp
O posicionamento de um filtros de pacotes dentro da rede de extrema importncia para ela. H duas possibilidades bsicas para a utilizao de um filtros de pacotes: filtro isolado e filtro incorporado, sendo este ltimo o mais inseguro e menos desejvel. O filtro ser isolado quando estiver entre mquinas, com funo exclusiva de filtro:
O filtro ser incorporado quando no houver uma mquina isolada como filtro. Nesse caso, as mquinas da rede devero estabelecer, individualmente, as suas prprias regras de filtragem. o sistema mais inseguro:
Nada impede que os dois sistemas sejam utilizados em parceria, oferendo-se assim um alto grau de segurana rede. Cabe ressaltar que no filtro incorporado h maior nvel de insegurana, uma vez que outros processos rodam junto com o filtro. LEMBRE-SE: Como foi dito no item 2. Generalidades, firewall no uma mquina ou um programa. um sistema de segurana composto por filtros de pacotes e estados, proxies, IDS, IPS, antivrus de rede etc. No deixe de conhecer o IPS HLBR, disponvel em http://hlbr.sourceforge.net. Se preferir, clique aqui para fazer download.
Fonte: http://www.eriberto.pro.br/iptables/