Mudanças entre as edições de "Iptables no Debian"

Linha 94: Linha 94:
 
<blockquote> No iptables as regras vão ser aplicadas em ordem, como você pode perceber no print acima, as primeiras regras estão com o '''ACCPET''' os últimos estão com o comandos'''DROP.'''</blockquote><br>Para salvar as regras, podemos executar o seguinte comando:'''iptables-save > /etc/iptables/rules.v4'''. Dessa forma, as regras feitas até agora estarão salvas.</br>
 
<blockquote> No iptables as regras vão ser aplicadas em ordem, como você pode perceber no print acima, as primeiras regras estão com o '''ACCPET''' os últimos estão com o comandos'''DROP.'''</blockquote><br>Para salvar as regras, podemos executar o seguinte comando:'''iptables-save > /etc/iptables/rules.v4'''. Dessa forma, as regras feitas até agora estarão salvas.</br>
 
===Testando firewall===
 
===Testando firewall===
<br>Podemos fazer um teste com um host que não esta na "lista branca". Com a ferramenta de teste podemos fazer da seguinte maneira: '''nmap 192.168.29.106 -p 22,443,80,3306''' </br>[[File:nmap.png|600x600px|semmoldura]]<br></br>
+
<br>Podemos fazer um teste com um host que não esta na "lista branca". Com a ferramenta de NMAP podemos fazer da seguinte maneira: '''nmap IP-destino -p 22,443,80,3306''' </br>[[File:nmap.png|600x600px|semmoldura]]<br></br>
 
<br> Lembrando, fazendo firewall somente no servidor não irá garantir que sua rede esta totalmente segura, precisa ser implementado regras em sua infraestrutura toda, e sempre estar se atualizando de novas regras, e performasses para ter uma segurança maior.</br>
 
<br> Lembrando, fazendo firewall somente no servidor não irá garantir que sua rede esta totalmente segura, precisa ser implementado regras em sua infraestrutura toda, e sempre estar se atualizando de novas regras, e performasses para ter uma segurança maior.</br>
 
<br></br>
 
<br></br>

Edição das 01h08min de 13 de agosto de 2020

-

Podemos definir firewall como uma porta de entrada e saída do servidor, funcionando como controle de acessos, o firewall permitirá apenas que usuários e aplicações autorizadas possam se comunicar entre si. Sendo assim, ele fará o papel de mediar o acesso para troca de dados entre uma rede externa e uma rede interna (no caso, servidor local).

O firewall inserido em servidor IXC funciona determinando qual bloco de IP pode ter acesso ssh ao servidor, sendo possivel acesso local (servidor local), acesso pela rede local, ou determinados acessos assim autorizados. Podemos conferir a lista de acessos permitidos e acessos negados executando o seguinte comando:

iptables -L
IPTABLES.png

Lista acessos autorizado para acesso ao servidor IXC.

Segurança e senha

É crescente aumento de usuários maliciosos na web. Através da internet eles roubam informações, infectam servidores e, até mesmo, sequestram dados. Assim senhas de segurança baixa e de fácil resolução não é aconselhável.

Senhas com menos de 10 caracteres corre o risco de ser quebrada em até uma semana em sistemas não muito caros de serem construídos. Por outro lado, usando senhas de 13 caracteres que combine letras maiúsculas, minúsculas e números, o mesmo sistema, com centenas de tentativas por segundo, podendo levar muitos de anos para quebrar a senha. Uma boa segurança não é dispensável, firewall liberando acesso ssh apenas para origem autorizada e senha com caracteres bem aleatórios garantem a privacidade.

Seguindo a linha de segurança, chagamos na segurança web, atribuindo e ativando o certificado SSL/TLS para comunicação sistema > servidor, garantindo a privacidade da comunicação e transição de dados e informações. Acesso esse realizado pelo protocolo https (porta 443), e acesso por IP ou domínio válido que é apontado para o IP inserido no servidor local.

Segurança essa que valida a identidade do acesso e criptografa as informações que os usuários enviam ou recebem. Possuindo certificado SSL/TLS, esta protegendo o sistema, clientes e usuários podem ter a certeza de que as informações que inseridas em qualquer página protegida são privadas e não podem ser vistas por ladrões cibernéticos.

SSL.png

Exemplo sistema protegido com certificado válido ativo.

IPTABLES


Quando falamos da segurança de servidores, uma das melhores ferramentas administrativas certamente seria o IPTABLES, com ela temos possibilidade de estar filtrando os pacotes que passam pelo servidor e saem dele, assim podemos configurar quais pacotes são permitidos passar pelo servidor

Essa ferramenta é encontrada em todas as distribuições linux, principamente servidores

Camadas do IPTABLES


Na extrotura do IPTABLES podemos destacar 3 camadas, FILTER,NAT,MANGLE


   tabela | ---------------------------------------------------------
             |                 |           INTERFACE                   |
             |    CHAIN        |  --------------------------------------
             |                 |   ENTRADA (-I)   |   SAIDA (-O)       |
   ---------------------------------------------------------------------
   |         | INPUT           |     SIM          |    Não             |
   | FILTER  | OUTPUT          |     NÃO          |    SIM             |
   |         | FORWARD         |     SIM          |    SIM             |
   ---------------------------------------------------------------------
   |         | PREROUTING      |     SIM          |    NÂO             |  
   | NAT     | OUTPUT          |     NÃO          |    SIM             |
   |         | POSTROUTING     |     NÃO          |    SIM             |    
   ---------------------------------------------------------------------
   |         | PREROUTING      |     SIM          |    NÃO             |  
   | MANGLE  |                 |                  |                    |
   |         | OUTPUT          |     NÃO          |    SIM             |    
   ---------------------------------------------------------------------

Camada Filter


Nessa camada onde trabalhamos com o firewall do servidor, onde determinamos quais pacotes (IP's) podem passar e acessar seu servidor.</br

Especificação dos comandos


iptables: Invocação do comando.

-I: Determina que o filtro deve ficar no topo da lista.

-A: Ficara na ultima linha da lista do firewall.

-D: Remove seu ultimo comando.

-L: Lista as regras.

-F: Remove todos as regras sem exceção.

-s: Par especificar qual será o IP ou bloco de IP.

-p: define qual protocole da porta (udp,tcp).

ACCEPT: Aceita o pacote.

DROP: Vai bloquear o acesso, e ainda não vai mandar mensagem de erro ao remetente.

REJETCT: O pacote é rejeitado.

INPUT: Avalia os pacotes que estão sendo destinados ao localhost.

OUTPUT: Avalia a saída dos pacotes.

FORWARD: Somente pacotes repassados pelo local são avaliados.

Exemplos de regras:

OBS: Para se aplicar essas regras definitivamente, mesmo que o servidor reinicie, deve-se instalar o iptables-persistent, no debian instalamos com o seguinte comando:apt install iptables-persistent


Liberando acesso total para um IP

   iptables -I INPUT -s 'IP' -j ACCEPT 


Liberando acesso total ao um bloco de IP

  iptables -I INPUT -s 'IP/24' -j ACCEPT 


Removendo a somente essa regra

  iptables -D INPUT -s 'IP' -j ACCEPT


No servidor o comando ficara como no print abaixo, com o comando iptables -L podemos listar as regras:

W232.png


Repare se você adicionar mais uma regra com o -I ele vai estar acima do ultima regra, ficara dessa maneira na lista::

W3.png


Agora iremos definir uma porta da seguinte forma:

  iptables -I INPUT -s 192.168.29.87 -p tcp --dport 22 -j ACCEPT 


Liberando varias portas no mesmo comando:

iptables -I INPUT -s 192.168.29.87 -p tcp -m multiport --dports 22,443,80 -j ACCEPT 

Na lista de regras ira ficar dessa forma:

W4.png


bloqueando pacotes, como irei bloquear a entrada não será necessário bloquear a saída. Repare no caractere -A. Com esse comando iremos bloquear totalmente o acesso, veja não tem porta especificada

iptables -A INPUT -s 200.200.200.200  -j DROP


Especificando uma porta de bloqueio

iptables -A INPUT -s 100.100.100.100 -p tcp --dport 22 -j DROP
Ou
  iptables -A INPUT -s 100.100.100.100 -p tcp -m multiport--dports 22,443,80 -j DROP 


Na lista de regras, ficara da seguinte forma:

W5.png


Para bloquear todos os pacotes (IP's), e deixar liberado somente oque você quiser, devemos fazer da seguinte forma:

OBS: Você precisa ter liberado o IP da SUA propiá maquina (localhost), e o IP do local de onde você esta acessando no TOPO das regras, se não tiver, e aplicar o bloqueio total, você perderá acesso. Segue o print de como deve ficar:

W7.png


Aplicamos os IP's liberados, deixando os mesmo no TOPO das regras, e com o comando drop bloqueamos todos com o seguinte comando:

 iptables -A INPUT -p tcp -m multiport --dport 22,80,443 -j DROP 


Repare que no comando acima não identificamos um IP, somente as portas então o iptables ira bloquear todos os host que estão acessando tentando acessar por essas portas.

Para bloquear totalmente todos os host e portas devemos dar o seguinte comando:

  iptables -A INPUT  -j DROP 


Ira ficar da seguinte maneira na lista de regras:

W10.png

No iptables as regras vão ser aplicadas em ordem, como você pode perceber no print acima, as primeiras regras estão com o ACCPET os últimos estão com o comandosDROP.


Para salvar as regras, podemos executar o seguinte comando:iptables-save > /etc/iptables/rules.v4. Dessa forma, as regras feitas até agora estarão salvas.

Testando firewall


Podemos fazer um teste com um host que não esta na "lista branca". Com a ferramenta de NMAP podemos fazer da seguinte maneira: nmap IP-destino -p 22,443,80,3306
Nmap.png


Lembrando, fazendo firewall somente no servidor não irá garantir que sua rede esta totalmente segura, precisa ser implementado regras em sua infraestrutura toda, e sempre estar se atualizando de novas regras, e performasses para ter uma segurança maior.


-

Desenvolvida por: Fernando Luiz Pavão

-




Segurança básica do servidor