Pesquisar por palavra-chave:

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.


  • 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

Leia a terceira e última parte deste artigo clicando aqui
 
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

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.

1859 acessos neste mês de agosto.




Obrigado aos leitores.

quinta-feira, 23 de agosto de 2012

O que é protocolo TCP e UDP?


Um pouco complicado para iniciantes em informática, porem indispensável para quem precisa de segurança no computador. O firewall ou "parede de fogo" é um filtro de pacotes que entram e saem pela placa de rede, apenas permitindo passar os pacotes que estiverem de acordo com as exigências do administrador de rede.
Antes de entender o firewall, precisamos saber que o computador tem muitas portas para comunicação via rede, 65025 portas TCP e 65025 portas UDP. Cada programa usa uma porta ou um conjunto de portas para se comunicar via rede, por exemplo, o seu navegador de internet que você está usando agora para ler este artigo, usa as portas TCP 80, TCP 443 e UDP 53, cada uma com uma função, a porta TCP 80 é usada para comunicação HTTP  (Hypertext Transfer Protocol - Protocolo de Transferência de Hipertexto) este protocolo permite a tranferencia de dados entre o site e o seu navegador, Em alguns casos, esta transferência precisa de maior segurança, como quando você digita sua senha para entrar em um site, então a porta usada é a 443 TCP, que tem a função igual à 80, porém é criptagrafada e outras pessoas não podem ler os dados transferidos. e por fim a porta 53 UDP, é usada para que seu navegador localize sites que vc digitar, por exemplo, quando você digia "www.professorsilvertone.blogspot.com" por exemplo, a porta UDP 53 é usada para se comunicar com servidores da web para localizar o IP do site, assim que localizado, a porta TCP 80 é usada para transferir os dados do site para o seu computador.
Cada programa usa uma ou um conjunto de portas, o MSN por exemplo usa estas portas:













  • TCP e UDP
A diferença é que o TCP tem um acompanhamento que garante a entrega dos pacotes ao destinatário, ou seja, quando fazemos um download de um programa por exemplo, é essencial que este programa venha inteiro, sem faltar nenhuma parte ou não funcionará, então este programa é dividido em vários pacotes TCP, o servidor envia uma parte e aguarda que o destinatário responda que recebeu, isso acontece com cada um dos pacotes do programa, e com isto a garantia de que nenhuma parte do programa estará faltando ao terminar o download. Já o protocolo UDP não tem este acompanhamento, e é usados especialmente em transmissões ao vivo, como conversar com alguem pela Webcam do MSN, como é um fluxo contínuo, se algum pacote se perder, é melhor continuar enviando os proximos pacotes do que tentar recuperar o pacote perdido, por isso que a webcam fala as vezes, mas depois continua. se fosse TCP, o atraso seria muito grande, e teriamos que esperar toda a conversa ser carregada para podemos assistir, seria inviável.


Se você quizer saber quais são as portas usadas por algum programa, leia a documentação que acompanha o programa ou simplesmente pesquise no google assim: portas usadas pelo programa "tal"





Obrigado pela visita, e qualquer duvida deixe um comentário.


Agora que conhece bem ops conceitos de protocolos, aprenda a configurar o firewall mais poderoso do mundo Linux Iptables




google-site-verification: google53a8eb0bc7dc474a.html