Escolar Documentos
Profissional Documentos
Cultura Documentos
http://www.zago.eti.br/rewall/dicas-iptables.html
Ajuste o device de acordo com sua rede, ppp0 como no exemplo acima para conexes via modem discado ou ADSL conectado via pppoe, conexes de ADSL com IP xo ou obtido por DHCP o device eth0, altere no exemplo acima para o device em uso. Passo 3 - Congure a estao para navegar, precisa congurar o gateway e DNS, com esta congurao a estao navega sem restrio alguma, veja mais dicas sobre compartilhamento de internet em http://www.zago.eti.br/adsl-compartilhar.txt Somente depois que conseguir navegar a partir de uma estao, passe para a congurao do rewall. Passo 4 - Explore os logs, no esquea da grande fonte de informaes que so registradas nos logs, no servidor abra um console e procure o que tem abaixo de /var/log, por exemplo, aps congurar o Squid e implementar a regra de redirecionamento, as estaes no navegam, um bom comeo analizar os logs do Squid, execute a linha de comando.
tail -f /var/log/squid/access.log
Este comando exibe no console as mensagens de log, exibe em tempo real, no momento em que esto sendo formadas, tente a navegao na estao e veja os resultados no console, at aqui ca fcil isolar o problema, se navegava antes do redirecionamento e agora no navega, j sabe onde procurar, inicie vericando se o Squid est rodando, conguraes do squid, diretivas, ACL, permisses nos arquivos e diretrios utilizados pelo squid, documentao de congurao do Squid, pegue a mensagem de erro e coloque na caixa de pesquisa do Google.. Procure tambm nas mensagens de outros arquivos de log do sistema, qualquer dvida volte ao inicio e v testando passo a passo, seja um bom observador, antes de pedir ajuda, procure identicar a regra ou condio que ocorre, tente outras opes. FAQ, dicas e indicao de material sobre log em geral. http://www.zago.eti.br/rewall/log-iptables.txt http://www.zago.eti.br/rewall/log.txt Lembrando que as regras acima no tem proteo alguma, maquinas de cara para a internet precisa de um rewall minimo, os exemplos
1 de 6
28-10-2011 14:14
http://www.zago.eti.br/rewall/dicas-iptables.html
acima so regras para compartilhar e no oferece proteo, portanto precisa criar seu rewall, testar e monitorar, vejas as indicaes de alguns modelos, ferramentas testes.
Carregar conguraes que salvou com Listar no console as regras em uso; Salvar em arquivo;
use
iptables -L
2 de 6
28-10-2011 14:14
http://www.zago.eti.br/rewall/dicas-iptables.html
Edio de script, utilize editores simples, no shell local ou em conexes remotas via ssh, utilize o editor "vi" ou "mc", veja dicas sobre eles em. http://www.zago.eti.br/vi.txt http://www.zago.eti.br/mc.txt Arquivos de congurao podem ser editados e manipulados com simples editor de texto, seja para fazer toda a congurao ou simples ajustes, pode utilizar ferramentas como webmin e renar os ajustes com seu editor de texto preferido, pode copiar estes arquivos de outra instalao, portanto que vontade para fazer a seu modo, veja mais dicas de como manipular arquivos de congurao em http://www.zago.eti.br/modelos/A-menu-modelos.html
Iniciar, parar, reiniciar, status Comandos teis Onde cam as regras de iptables
Em scripts precisa informar o caminho completo para chamar o Iptables. Dependendo da distro ou verso, pode estar em locais diferentes, utilize o comando whereis para localizer, exemplo.
[zago@aula zago]$ whereis iptables iptables: /usr/sbin/iptables
COMO INICIAR (CARREGAR) O MODULO IPTABLES? Coloque no inicio do script o comando correspondente a cada modulo, carregue somente os modulos necessrios. Como fazer NAT (compartilhar internet) modprobe iptable_nat INSTALAR: qualquer regra de rewall que utilize Iptables requer a instalao do modulo ou compilar o kernel com ele embutido, prera trabalhar com modulos, este procedimento adotado pela maioria das distros. Dependendo do perl de instalao, pode incluir o no este modulo, use as ferramentas de sua distro para conferir se j est instaladou ou instalar quando for o caso. Alguns exemplos via linha de comando, precisa tornar root no console para instalar pacotes; Instalar via apt-get apt-get install iptables Via smart. smart install iptables Via Synaptic, procure, selecione e instale o pacote iptables. Via rpm a partir do diretrio onde salvou ou download ou montou o CD, rpm -ivh iptables-verso.rpm --replacepkgs Como ver se est instalado? Use a ferramenta de sua distro, exemplo no CL9, via synaptic procure pelo pacote iptables ou via rpm, exemplo: # rpm -qa | grep iptables iptables-1.2.7a-26694cl ajuda:
iptables -h
modulos e ajuda
IPtables pode ser compilado com diversas bibliotecas. Precisa carregar o modulo antes da regra que o utiliza, o local pode ser diferente conforme a distro, no SUSE 10.1 procure em /sys/module/, tente ltrar os modulos sobre iptables com ls -la /sys/module/ip* Quando falhar o comando, procure identicar se foi compilado com a biblioteca ou ter que compilar seu iptables novamente. Copia de parte de um rewall, (carregar modulos)
##### carregar /sbin/modprobe /sbin/modprobe /sbin/modprobe /sbin/modprobe /sbin/modprobe /sbin/modprobe /sbin/modprobe modulos iptable_nat ip_conntrack ip_conntrack_ftp ip_nat_ftp ipt_LOG ipt_REJECT ipt_MASQUERADE
3 de 6
28-10-2011 14:14
http://www.zago.eti.br/rewall/dicas-iptables.html
log do iptables
Para registrar as ocorrencias em log precisa carregar o
/sbin/modprobe ipt_LOG ipt_LOG,
Exemplo de uma regra para registrar log de todos acessos na porta 80, identicar o registro com "FIREWALL: http: ".
$iptables -A INPUT -p tcp --dport 80 -i $EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL: http: "
Esta regra registra as ocorrencias em /var/log/rewall, cada acesso tem um registro neste formato.
Jun 15 19:20:15 linux-speedy kernel: FIREWALL: http: IN=eth0 OUT= MAC=00:02:e3:0f:0b:26:00:04:16:00:c0:54:08:00 SRC=201.68.202.124 DST=200.204.198.164 LEN=44 TOS=0x00 PREC=
Use tail ou outra ferramenta para acompanhamento ou ltro. veja os resultados de:
iptables -t filter -L INPUT iptables -L INPUT -n
Explicando: A primeira linha carrega o modulo pra fazer NAT. A segunda linha faz o mascaramento a tercera linha ativa o IP forward, repasse de pacote pras demais maquinas da rede interna, veja mais exemplos abaixo. Conexo via modem discado ou ADSL com IP dinamico que requer rp-pppoe, nestas conexes a interface ppp0, segue o exemplo com ppp0
modprobe iptable_nat
4 de 6
28-10-2011 14:14
http://www.zago.eti.br/rewall/dicas-iptables.html
Conexo via ADSL com IP xo e outras conexes que utiliza a interface eth0.
modprobe iptable_nat iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward
A diferena entre as duas regras acima a interface de saida pra internet, eth0 ou ppp0 Existem outras regras e maneiras, nos proximos exemplos tem mais exemplos sobre uso da regra com NAT. a tercera linha ativa o IP forward, repasse de pacotes para as demais maquinas da rede interna. Outras maneiras de ativar o mesmo servio (acionar o IP forwarding). alterar em /etc/sysctl.conf, de
net.ipv4.ip_forward = 0
para
net.ipv4.ip_forward = 1
Ou altere em /etc/syscong/network, de
# FORWARD_IPV4=no # not used anymore. see /etc/sysctl.conf
para
FORWARD_IPv4="yes"
Lembre que somente uma dever ser utilizada, prero acrescentar no escript esta regra:
echo 1 > /proc/sys/net/ipv4/ip_forward
e no utilizo as outras mencionadas acima. Conferir se repasse est habilidade (forward), execute:
cat /proc/sys/net/ipv4/ip_forward
Retornando 1 est habilitado, retornando zero no est habilitado, caso tenha dado o comando para fazer forward e no resultado acima est retornando 1, ento tem algum erro, provavel erro de digitao. regras do mascaramento ver as regras do iptables
iptables --list iptables -L cat /proc/net/ip_masquerade iptables --list -n -v
Regra para barrar um IP especico acrescente a linha abaixo em seu script depois do ip_forward:
/usr/bin/iptables A -OUTPUT -p tcp -s IPBLOQUEADO -j DROP
Onde: eth0 = placa de rede de cara pra net, ajuste na sua instalao 22 a porta que quero redicionar pra outra maquina (22 a porta default utilizada nas conexes por ssh), pode ser alterada. 192.168.1.53 o IP reservado da maquina interna que vai atender a conexo. Na maquina remota (internet) a conexo disparada para o IP do rewall, a regra acima redireciona para a estao, um exemplo de linha de comando para conexo via ssh;
ssh user@IP, ou ssh zago@200.200.200.200, quando este pedido chega no Firewall com IP 200.200.200.200 automaticamente redirecionado para a estao com IP 192.168.1.53 que atender o pedido e completar a conexo.
$iptables -t nat -A PREROUTING -p tcp -s 0/0 --dport 22 -i eth0 -j DNAT --to 192.168.1.53:22
Outra opo, usar porta diferente no cliente, assim pode redirecionar cada porta para estaes especicas, tambm pode
5 de 6
28-10-2011 14:14
http://www.zago.eti.br/rewall/dicas-iptables.html
redirecionar com troca de porta, neste exemplo a 2222 ser redirecionada para 22, nesta regra vai redirecionar para a estao, somente os pedidos que chegam na porta 2222, os demais pedidos na porta 22 ou outra qualquer sero tratados por outras regras.
$iptables -t nat -A PREROUTING -p tcp -s 0/0 --dport 2222 -i eth0 -j DNAT --to 192.168.1.53:22
Pode congurar o ssh para ouvir em outra porta, ou at mesmo manter a default, neste exemplo foram mantidas, tanto o rewall como estao esto ouvindo na porta 22, o uso da porta 2222 foi utilizando somente na linha de comando e na regra de iptables, a regra de redirecionamento funciona somente para os pedidos que chegam na porta 2222, a linha de comando na internet tem que indicar a porta, exemplo;
ssh -p 2222 zago@200.200.200.200
o (-p 2222) serve para indicar a porta, os pedidos que chegarem na porta 22 seguem outras regras, pode ser redirecionada para outra maquina ou atendida pela prpria maquina do rewall. Restringindo o redirecionamento somente a determinado IP permitindo que somente conexes com origem no IP 200.204.198.164 , sejam redirecionadas para a estao, qualquer conexo com origem em IP diferente no sero redirecionadas, exemplo da regra;
$iptables -t nat -A PREROUTING -p tcp -s 200.204.198.164 --dport 2222 -i eth0 -j DNAT --to 192.168.1.3:22
Como pode notar, so varias opes, nem todos os servios permitem a troca da porta, alguns requer regras mais complexas, mas sempre tem meios de dicultar o acesso de estranhos, mesmo sobre ssh tem muito mais. Somente voce sabe o que tem a proteger, portanto implemente as medidas de segurana, a nalidade aqui dicas sobre redirecionamento, sobre segurana e outras dicas, continue pesquisando.... Para facilitar a organizao por assunto, algumas regras esto no FAQ especico sobre o pacote ou servio, como exemplo, as regras de redirecionamento sobre VNC esto no FAQ sobre VNC, Bittorrent idem, consulte o tutorial ou FAQ especico. Veja algumas indicaes abaixo. FAQ com mensagens da Linux-br http://www.zago.eti.br/rewall/redirecionamento.txt VNC - redirecionar pedidos que chegam da internet para estao atras de rewall http://www.zago.eti.br/vnc.txt Bittorrent - regras para habilitar acessarem rede http://www.zago.eti.br/bittorrent.html
Indicaes...
Documentation about the netlter/iptables project Tem alguns documentos em Portugus. http://www.netlter.org/documentation/ L7-lter - classica pacotes como Kazaa, HTTP Jabber, Citrix, Bittorrent, FTP Gnucleus, eDonkey2000, etc., identica e permite criar , , regras de rewall, veja mais em; http://l7-lter.sourceforge.net/ Excelente tutorial, vale a pena consultar - (em Ingls) http://iptables-tutorial.frozentux.net/iptables-tutorial.html Pgina principal sobre iptables e rewall. http://www.zago.eti.br/A-menu-rewall.html Acesso aos FAQ montado com seleo de respostas esclarecedoras na lista Linux-br. http://www.zago.eti.br/rewall/ Pina principal deste site (FAQ) http://www.zago.eti.br/menu.html
6 de 6
28-10-2011 14:14