Este script serve para facilitar os administradores de redes Linux, pois permite parar, reiniciar e iniciar várias regras de firewall iptables com umk único comando:
Antes de ler este artigo, recomendo a leitura dos artigos anteriores sobre Protocolos e firewall Linux
1º - Crie um arquivo no diretório /etc chamado "firewall" ,pode usar o comando "touch" conforme exemplo:
# touch firewall
2º abra o arquivo usando um editor de texto, recomendado o "mcedit" por ser mais fácil de usar:
# mcedit firewall
3º digite o scritp abaixo:
#!/bin/bash
iniciar(){
#digite as regras aqui#
echo "regras de firewall ativadas"
}
parar(){
iptables -F
echo "Regras de firewall desativadas"
echo "seu computador está em risco"
}
case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo " comando inválido, use start ou stop"
esac
4º agora basta inserir as regras de firewall no espaço comentado "digite as regras aqui " conforme exemplo:
#!/bin/bash
iniciar(){
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
iptables -A INPUT -p tcp --sport 443 -j ACCEPT
echo "regras de firewall ativadas"
}
parar(){
iptables -F
echo "Regras de firewall desativadas"
echo "seu computador está em risco"
}
case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo " comando inválido, use start ou stop"
esac
5º apos criar o script com as regras ja definidas, salve o arquivo e torne-o executável com o comando:
# chmod +x firewall
Agora para iniciar o firewall co todas as regras, digite:
sh firewall start
Este comando também aceita stop e restart
Espero ter ajudado a facilitar a vida de administradores de redes Linux com este scrit.
Blog sobre hardware, redes, Linux e Soluções em informática, de forma simples e fácil.. Sem enrolação.
Pesquisar por palavra-chave:
terça-feira, 9 de outubro de 2012
terça-feira, 18 de setembro de 2012
iptables, o firewall do Linux (Parte 2 do tutorial)
Agora que já conhece os conceitos básicos do iptables, podemos avançar um pouco mais. Para quem não leu a primeira parte deste tutorial, clique aqui.
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Analizando detalhadamente:
iptables -A = anexar uma regra a chain
INPUT = de entrada de dados
-p tcp = do protocolo tcp
--dport 80 = a porta de destino 80
ACCEPT = está aceita
Porém somente este comando não abriu a porta totalmente, pois está aberta somente para entrada de dados, logo, precisa da regra a seguir para abrir a porta para saída também:
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
A diferença está na chain OUTPUT que especifica saída de dados.
iptables -A INPUT -m multiport -p tcp --dport 80,443,21 -j ACCEPT
Obs: não podemos abrir portas de diferentes protocolos no mesmo comando, não esqueça disso :)
iptables -A INPUT -p tcp --dport 27000:27015 -j ACCEPT
Basta digitar a porta inicial e a porta final com " : " no meio
- Como abrir portas no iptables:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Analizando detalhadamente:
iptables -A = anexar uma regra a chain
INPUT = de entrada de dados
-p tcp = do protocolo tcp
--dport 80 = a porta de destino 80
ACCEPT = está aceita
Porém somente este comando não abriu a porta totalmente, pois está aberta somente para entrada de dados, logo, precisa da regra a seguir para abrir a porta para saída também:
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
A diferença está na chain OUTPUT que especifica saída de dados.
- Para abrir várias portas ao mesmo tempo, por exemplo tcp 80, tcp 443 e tcp 21 (porta do HTTP, HTTPS e FTP respecticamente) usamos o -m multiport no comando:
iptables -A INPUT -m multiport -p tcp --dport 80,443,21 -j ACCEPT
Obs: não podemos abrir portas de diferentes protocolos no mesmo comando, não esqueça disso :)
- Como abir um conjunto de portas sequenciais:
iptables -A INPUT -p tcp --dport 27000:27015 -j ACCEPT
Basta digitar a porta inicial e a porta final com " : " no meio
- Bloqueando pings
Bloquear ping pode ser útil para evitar ataques com o "ping da morte" ou evitar "nuke ip death", que são técnicas hacker para "derrubar" rede.
iptables -a OUTPUT -p icmp --icmp-type echo-request -j DROP
- Desbloqueando interface loopback
Muitos programas do Linux como SWAT (Samba Web Administration Tool) ou Webmim entre outros, são acessados via browser, usando o endereço 127.0.0.1:901 (ip do localhost e porta), mas para que funcionem, é preciso desbloquear a interface loopback, que é uma interface virtual que permite acessar seu próprio computador via browser, essencial para vários aplicativos e ferramentas:
iptables -a INPUT -i lo -j ACCEPT
a opção "-i" especifica interface, e "lo" especifica loop´back
- negando todas as novas conexões
Este comando permite negar todas as novas conexões exceto as digitadas anteriormente, bloqueando acesso externo
iptables -A INPUT -p tcp --syn -j DROP
Com este tutorial, você aprendeu novos comandos iptables úteis, mas ainda não é tudo, continue acompanhado este tutorial, a parte 3 vem aí! comentem se gostaram!
terça-feira, 11 de setembro de 2012
Iptables, o firewall do Linux (parte 1 do tutorial)
Antes de ler este artigo, remomendo a leitura do artigo Protocolos TCP e UDP
Todas as distribuições Linux vem com o iptables integrado ao kernel, logo não precisa baixa-lo e é muito seguro, pois integrado ao kernel, o firewall "sobe" junto com o sistema, não tendo aquele intervalo de alguns segundos após a inicialização do sistema para depois carregar o firewall como é comum em firewalls instalados no Windows.
Usando o modo-texto (crtl + alt + f1 no linux) devidamente "logado" como administrador (root) podemos configurar e gerenciar as políticas do firewall pelo comando:
iptables -<OPÇÃO> <CHAIN> <dados> -j <AÇÃO>
Parece complicado? mas não é tanto quanto parece.
Para entender o iptables, precisamos entender as CHAINS:
Chains são todas as possibilidades de trânsito de pacotes pela placa de rede;
INPUT = esta chain especifica dados que entram pela placa de rede com destino ao firewall , ou seja, entrada de dados
OUTPUT = esta chain especifica dados gerados no computador com destino a rede, ou seja, saída de dados
FORWARD = chain usada em servidores, especifica dados que entram pela rede externa, atravessam o computador firewall com destino a outro computador da rede interna (LAN)
Quais são as opções do iptables?
obs: todas as opções devem ser digitadas em letra maiúscula.
iptables -P = cria uma nova política, cancelado as anteriores da mesma CHAIN
iptables -A = anexa uma nova política as politicas anteriores
iptables -D = deleta uma políticacriada anteriormente
iptables -L = lista politicas ativas no sistema
iptables -F = esvasia todas as políticas ativas
Exemplos:
iptables -L INPUT = exibe todas as políticas de entrada de dados
Dados do iptables:
-s = especifica a origem do pacote (source)
-d = especifica o destino do pacote (destination)
-p <protocolo> = antes de indicar uma porta, precisamos identificar de qual protocolo TCP ou UDP por exemplo.
--sport = especifica a porta de origem do pacote
--dport = especifica a porta de destino do pacote
Ações do iptables:
DROP = Não aceita a entrada do pacote
ACCEPT = aceita a entrada do pacote
REJECT = rejeita a entrada do pacote
Exemplos:
iptables -A INPUT -s www.facebook.com -j DROP
vamos entender o comando acima por partes:
iptables -A = anexa uma nova política
INPUT = dados que entrarem pela placa de rede
-s www.facebook.com = originados em www.facebook.com
-j DROP = estão bloqueados
exemplo 2:
iptables -A OUTPUT -d 192.168.1.10 -j ACCEPT
por partes:
iptables -A = anexa uma nova política
OUTPUT = dados que sairem pela placa de rede
-d 192.168.1.10 = com destino ao IP especificado
-j ACCEPT = estão aceitos
Exemplo 3:
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
por partes denovo?
iptables -A = anexa nova política
INPUT = dados que entram pela placa de rede
-p tcp = do protocolo TCP
--sport = originados na porta 80
-j ACCEPT = estão aceitos
Ou seja, neste exemplo abri a porta tcp 80, usada para conexões de internet HTTP
Bom, espero ter ajudado a entender este "bicho-de-sete-cabeças" que é o iptables, mas ainda tem mais a aprender! aguardem a parte 2 deste artigo, enquanto isso, testem e estudem os comandos acima.
Leia a segunda parte deste artigo clicando aqui
Obrigado a todos
Todas as distribuições Linux vem com o iptables integrado ao kernel, logo não precisa baixa-lo e é muito seguro, pois integrado ao kernel, o firewall "sobe" junto com o sistema, não tendo aquele intervalo de alguns segundos após a inicialização do sistema para depois carregar o firewall como é comum em firewalls instalados no Windows.
Usando o modo-texto (crtl + alt + f1 no linux) devidamente "logado" como administrador (root) podemos configurar e gerenciar as políticas do firewall pelo comando:
iptables -<OPÇÃO> <CHAIN> <dados> -j <AÇÃO>
Parece complicado? mas não é tanto quanto parece.
Para entender o iptables, precisamos entender as CHAINS:
Chains são todas as possibilidades de trânsito de pacotes pela placa de rede;
INPUT = esta chain especifica dados que entram pela placa de rede com destino ao firewall , ou seja, entrada de dados
OUTPUT = esta chain especifica dados gerados no computador com destino a rede, ou seja, saída de dados
FORWARD = chain usada em servidores, especifica dados que entram pela rede externa, atravessam o computador firewall com destino a outro computador da rede interna (LAN)
Quais são as opções do iptables?
obs: todas as opções devem ser digitadas em letra maiúscula.
iptables -P = cria uma nova política, cancelado as anteriores da mesma CHAIN
iptables -A = anexa uma nova política as politicas anteriores
iptables -D = deleta uma políticacriada anteriormente
iptables -L = lista politicas ativas no sistema
iptables -F = esvasia todas as políticas ativas
Exemplos:
iptables -L INPUT = exibe todas as políticas de entrada de dados
Dados do iptables:
-s = especifica a origem do pacote (source)
-d = especifica o destino do pacote (destination)
-p <protocolo> = antes de indicar uma porta, precisamos identificar de qual protocolo TCP ou UDP por exemplo.
--sport = especifica a porta de origem do pacote
--dport = especifica a porta de destino do pacote
Ações do iptables:
DROP = Não aceita a entrada do pacote
ACCEPT = aceita a entrada do pacote
REJECT = rejeita a entrada do pacote
Exemplos:
iptables -A INPUT -s www.facebook.com -j DROP
vamos entender o comando acima por partes:
iptables -A = anexa uma nova política
INPUT = dados que entrarem pela placa de rede
-s www.facebook.com = originados em www.facebook.com
-j DROP = estão bloqueados
exemplo 2:
iptables -A OUTPUT -d 192.168.1.10 -j ACCEPT
por partes:
iptables -A = anexa uma nova política
OUTPUT = dados que sairem pela placa de rede
-d 192.168.1.10 = com destino ao IP especificado
-j ACCEPT = estão aceitos
Exemplo 3:
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
por partes denovo?
iptables -A = anexa nova política
INPUT = dados que entram pela placa de rede
-p tcp = do protocolo TCP
--sport = originados na porta 80
-j ACCEPT = estão aceitos
Ou seja, neste exemplo abri a porta tcp 80, usada para conexões de internet HTTP
Bom, espero ter ajudado a entender este "bicho-de-sete-cabeças" que é o iptables, mas ainda tem mais a aprender! aguardem a parte 2 deste artigo, enquanto isso, testem e estudem os comandos acima.
Leia a segunda parte deste artigo clicando aqui
Obrigado a todos
sexta-feira, 31 de agosto de 2012
Novo record do Blog
Gostaria de agradecer todos os leitores do blog Professor André Silvertone por mais um record de acessos.
Obrigado aos leitores.
1859 acessos neste mês de agosto.
Obrigado aos leitores.
Assinar:
Postagens (Atom)