Ir para conteúdo

[Arquivado]Iptables


Gofaia

Posts Recomendados

Do lados dos especialistas de segurança e administradores, revelar a existência de um endereço, além de derrubá-lo com uma avalanche de pacotes ICMP em uma interface, como características de risco exponenciais de risco do ping, são fatos conhecidos a muito tempo. Alias, o ping e os seus pacotes ICMP foram os primeiros alvos de firewalls, contra ataques externos a uma rede privada ou interna. Isso tudo por um motivo muito simples: o ping serve para encontrar um endereço e ver seu status, e dessa for checar se esta ativo e on-line. Muitas empresas, preferem que seus servidores sejam invisíveis a pings externos. A explicação é simples, maquinas expostas, podem ter suas portas escaneadas com pacotes ICMP e UDP especialmente preparadas. Por isso, muitos preferem, especialmente em servidores de fronteira (maquinas que ligam uma rede interna a internet), como firewalls, servidores de VNPs ou conexões, ignorar os comandos pings, sobre tudo, pela utilização de regras de firewall. Além de proteger de scans e invasões, ao menos inicialmente, os hosts e redes a eles ligadas, as regras de firewall são capazes de proteger com eficácia contra ping floods.

A seguir veremos como implementar os dois procedimentos em um firewall. O firewall que vamos utilizar é o iptables, presente em boa parte das atuais distribuições GNU/Linux e BSD e é gratuito. Os exemplos seguintes dizem respeito as implementações para GNU/Linux.

O iptables funciona for linhas de comando, como o MS-DOS. Vou listar apenas os principais comandos dos aplicativos, que serão suficientes para montar um bom firewall domestico.

 

- iptables: Habilita o firewall iptables e seu gerenciados de regras;

- iptables -L: Exibe todas as regras atualmente em uso no iptables;

- -s: Indica a origem dos pacotes que será tratado pelo firewall;

- -j: Indica o que deve ser feito com um determinado destino(aceitar, bloquear, excluir, etc...);

- -A chain: Acrescenta a regra uma determinada chain;

- -D chain: Deleta a regra de uma determinada chain;

- -R <numero da regra atual> <nova regra>: substitui uma regra por outra;

- -F chain: Atalho para o flush, que apaga todas as regras de todas as chains;

- -P chain: Define a política da chain(accept, drop, etc...);

- -i interface: Define qual interface esta sendo tratada em uma determinada entrada de dados;

- -o interface: Define qual interface esta sendo tratada em uma saída de dados;

- -p: Define a qual tipo de protocolo a regra se destina

 

Na tabela de comando do iptables, as regras são "lidas" na ordem em que são fornecidas. Observe:

 

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -i lo -j DROP

 

Quando qualquer pacote que partiu da interface lo (loopback, a interface interna, setada como 127.0.0.1) chegar, sera submetida as regras, e como ele combina com a primeira, sera liberado, sem ter passado pela segunda.

 

Veja o seguinte comando agora:

 

iptables -D INPUT -i lo -j ACCEPT

 

Com ele, a regra -i lo -j ACCEPT será apagada. Logo, somente uma regra ficara na chain e, conseqüentemente, todos os pacotes vindos para lo serão bloqueados. As chains são espécies de compartimentos, nos quais, as regras são armazenadas de acordo com a sua utilização. As principais são:

 

-INPUT: Define a entrada de dados;

-OUTPUT: Define a saída de dados;

-FORWARD: Repassa pacotes para outras interfaces.

 

Essas três chains, principalmente estão na tabela filter, padrão do kernel, da qual o iptables retira as principais informações relacionados aos filtros dos pacotes. Essa é a principal diferença entre os firewalls implementados em Windows e outros sistemas proprietários, e os iptables e outros firewalls comerciais baseados em UNIX: nesses últimos, as regras são tratadas no nível do sistema operacional e em completa interação com ele, em vez de rodarem como aplicativos ou DLL. Para ilustrar o perigo dessa ultima possibilidade, basta lembrar do vírus Ahker.E, que surgiu no final de 2004, capaz de desabilitar todas as proteções de firewall e antivírus de sistemas Windows, alem de impedir o uso do regedit e do gerenciador de tarefas do Windows.

Podemos a partir da opção -p, definir qual protocolo de comunicação de redes (TCP, UDP, ICMP) será utilizado na implementação de uma regra. A utilização desse comando, basicamente, poderia ser feita dessa forma:

 

iptables -A INPUT -p icmp -j DROP

 

Na regra apresentada, nao especificamos a origem (comando -s), nem a interface (comando -i para INPUT). Logo será valida para qualquer interface, original de qualquer lugar, o que significa que todos os pacotes ICMP serão bloqueados. Assim, conseguimos impedir a utilização de comandos pings em nossa interface e, conseqüentemente, também matamos a possibilidade de ocorrer um ping flood.

 

Nota: O linux é 98498161+18E vezes mais seguro que windowns! Todo e qualquer servidor serio e dedicado deveria rodar num GNU/Linux.

Nota2: Ainda nao existem servidores de otserv para GNU/Linux, mas estou trabalhando em uma forma de rodar um para Windows dentro do linux. Quando conseguir irei postar aqui.

Link para o comentário
Compartilhar em outros sites

/\²

 

Dá pra entender muita coisa se ler e reler

 

Nota2: Ainda nao existem servidores de otserv para GNU/Linux, mas estou trabalhando em uma forma de rodar um para Windows dentro do linux. Quando conseguir irei postar aqui.

O Neverland 4.2 rodava em Linux, se conseguir adaptar pra 8.31 seria bom

Link para o comentário
Compartilhar em outros sites

Ahhhh

 

Não sabia que existia otserv pra linux :S

 

 

 

Mas estou trabalhando num meio de adaptar qualquer, ou pelo menos a maioria dos otserv para linux. O que vai deixar estupidamente melhores os servers dedicados. Afinal, linux é mais leve e mais completo.

Link para o comentário
Compartilhar em outros sites

  • 9 years later...
Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...