Base de Conhecimento

O que e como usar iptables?  Imprimir este Artigo

Aviso

Modificando as regras em seu servidor pode fazer com que o servidor fique inacessível na porta 22 (SSH) ou a porta SSH alternativo.

Descrição/Basica

Todo mundo na indústria de TI está muito preocupado com a segurança, especialmente se você é um administrador de linux. Muitas distribuições Linux vem com vários serviços que você não pode usar ou nunca precisa, mas eles estão rodando em seu servidor de qualquer maneira. Isto pode causar muitas ameaças de segurança. Com o menor conhecimento de firewalls Linux (iptables), você pode proteger o servidor linux muito rápida e eficiente. Neste artigo, vou quer apresentá-lo em iptables para sua primeira vez, ou ajudá-lo a tornar-se mais eficiente com iptables Se você já trabalhou com eles no passado.

Como os pacotes de rede de fluxo dentro e fora da placa de interface de rede, eles são interceptados, analisados ​​e manipulados como governou através do firewall Linux. Como o pacote flui através das regras de firewall e atinge uma regra que é matches, ele pára e não continuar com o resto do conjunto de regras. Por exemplo, se há uma regra para derrubar todos os pacotes entrando pela porta 25 e, em seguida, uma regra diretamente depois que diz "accept 192.168.1.25 on port 25" Esse pacote será descartado uma vez que atinge a primeira regra. Ele nem vai saber que há uma segunda regra. Leia o primeiro exemplo mais abaixo neste artigo. Não é um exemplo. Houve três principais firewalls Linux amplamente utilizados, e eles são os seguintes:

História

  • Ipfwadm que foi incorporada pela Linux 2.0. Ele pode filtrar TCP, UDP, e apenas pacotes ICMP. Ele também não suporta QoS. Você pode "inserir" e "remover" regras. Isso não significa que seja o mais amigável firewall linux usuário no planeta.
  • Ipchains que foi incorporada pela Linux 2.2. Ele suporta QoS, é muito flexível com a configuração, como tem "substituir", juntamente com (“insert”)"Inserir" e (“remove”)"remover" regras. Isso faz com que o ipchains mais amigável. Ipchains também tem a capacidade de filtrar qualquer protocolo IP explicitamente, não apenas o TCP, UDP, e ICMP.
  • Iptables. Este projeto iptables foi iniciado em 1998 por Rusty Russell. Este foi incorporada Linux 2.3 em 2000, e ainda é amplamente utilizada hoje. Ele suporta IPv4 stateful e rastreamento de protocolo IPv6 e acompanhamento de pedidos IPv4. Foi construído com funcionalidade PORTFW. Ele também é muito amigável, como você vai descobrir em breve.

Começando

Vamos dar uma olhada na nossa lista iptables, veja o que está em lá!

 /sbin/iptables -L -n

Isso irá mostrar-lhe a sua lista completa regra iptables, com o máximo de informação possível sobre cada regra. Vamos quebrar o que você está olhando para você deve ver algo similar a: (nota: o que se segue é uma tabela vazia que você pode ter algumas regras no seu).

Chain INPUT (policy ACCEPT)
 target     	prot 		opt 		source               destination
 
 Chain FORWARD (policy ACCEPT)
 target     	prot 		opt 		source               destination
 
 Chain OUTPUT (policy ACCEPT)
 target     	prot 		opt 		source               destination

Esvaziando sua lista de regras pode ser bom se você gostaria de reescrever suas regras completamente como eu fiz muitas vezes no passado. Você pode "limpar" todas as regras em iptables fazendo:

/sbin/iptables -F

No entanto, você pode querer lavar só todas as regras sob o INPUT, FORWARD ou chain OUTPUT. Você pode especificar quais cadeia para lavar por uma das seguintes formas:

  • /sbin/iptables -F INPUT
  • /sbin/iptables -F FORWARD
  • /sbin/iptables -F OUTPUT

Além disso, você pode salvar suas regras para que quando você reiniciar o servidor linux, as regras atuais irão tornar-se ativo novamente. Você pode economizar fazendo:

 /etc/init.d/iptables save

Se você desejaria para o iptables STOP, desligar o mesmo, você pode iniciar o seguinte comando:

  #> /etc/init.d/iptables stop
 Flushing firewall rules:                                   	[  OK  ]
 Setting chains to policy ACCEPT: filter                    [  OK  ]
 Unloading iptables modules:                                	[  OK  ]
Of course, you can START iptables by doing
 /etc/init.d/iptables start
 Applying iptables firewall rules: 			[  OK  ]

Como um exemplo, eu tenho um abaixo:

Exemplo

Você quer simplesmente negar todos os endereços IP de uma conexão com o servidor SMTP (porta TCP 25), exceto para o IP: 192.168.1.25.

Os dois comandos para isso são as seguintes:

/sbin/iptables -I INPUT -p tcp --dport 25 -j DROP
 /sbin/iptables -I INPUT -s 192.168.1.25 -p tcp --dport 25 -j ACCEPT

A razão de eu colocar o comando "DROP" antes do ACCEPT" é porque uma regra é inserido no banco de dados e, em seguida, uma regra que é acrescentado a seguir é adicionado diretamente sobre o último entrou.Colocar o comando DROP antes do ACCEPT Vamos a regra ACCEPT ser lido antes do comando DROP.Vamos quebrar o resto destes comandos abaixo:

O primeiro comando:
  • -I é inserir a regra para a parte superior da cadeia. Você usaria-A para inseri-lo na parte inferior da cadeia.(Nota: você pode fazer "-D", em vez de excluir a regra da cadeia também.)
  • INPUT é o nome da cadeia. A entrada é a cadeia que é seguido por pacotes "de entrada".
  • -p é o argumento de protocolo, você pode especificar o tipo de protocolo com este comando, observe o "tcp", após o "-p"
  • --ddport é o que especifica qual porta filtrar. Neste caso, ele é 25, porque é isso que a porta SMTP é executado em (por padrão).
  • -j é o argumento que especifica o que fazer com o pacote. Neste caso, ele vai ser "DROPPED"
O segundo comando:

A única diferença entre este comando e o primeiro, é que há uma (-s) endereço "src" IP especificado eo argumento é -j  "ACCEPT".

Desde a (s) endereço "src" não foi especificado no primeiro argumento, é assumido que cada endereço é para ser descartado.

Ok, vamos salvar o nosso trabalho atual.

#> /etc/init.d/iptables save
 /sbin/iptables -L -n
 Chain INPUT (policy ACCEPT)
 target     prot opt source               destination
 ACCEPT     	 tcp  --  192.168.1.25         0.0.0.0/0           tcp dpt:25
 DROP      	 tcp  --  0.0.0.0/0                0.0.0.0/0           tcp dpt:25

Aviso: como a regra "ACCEPT" está acima da regra de "DROP".

Esta resposta lhe foi útil?

Veja também

Ataque de força bruta
Um ataque de força bruta é detectado quando alguém tenta repetidamente (e falha) para acessar um...
Como faço para executar um traceroute ou tracert?
Tanto o Windows e Linux têm a capacidade de diagnosticar a saúde de uma ligação entre uma origem...
O que acontece se alguém abusar dos recursos do servidor?
O site infrator será suspenso e o proprietário terá oportunidade de corrigir o problema oumudar...
[Tutorial Completo] Segurança De Seu Dedicado/vps
Caros amigos, eu preparei um tutorial completo (pelo menos a intenção é que seja) sobre...
Como faço para executar ping?
PING está para Packet INternet Groper. Esta é uma ferramenta de diagnóstico simples...