Coleção de regras básicas de firewall iptables
- 3580
- 954
- Howard Fritsch
O objetivo deste guia é mostrar alguns dos comandos iptables mais comuns para sistemas Linux. iptables é o firewall incorporado em todas as distribuições Linux. Mesmo distros como o Ubuntu, que utilizam o UFW (firewall não complicado) e o Red Hat, que utiliza o Firewalld ainda passam seus comandos para iptables e o usam em segundo plano.
Dominar os iptables, ou pelo menos se familiarizar com alguns dos comandos mais básicos, é essencial para os administradores do Linux. Até os usuários casuais do Linux podem se beneficiar do entendimento do básico do firewall iptables, pois podem ser obrigados a aplicar algumas configurações menores a ele em algum momento. Use alguns dos exemplos abaixo para se familiarizar com a sintaxe iptables e tenha uma idéia de como funciona para proteger seu sistema.
AVISOVocê não deve aplicar regras iptables a um sistema de produção até estar familiarizado com a forma como eles funcionam. Tenha cuidado ao aplicar regras a sistemas remotos (um computador com o qual você estabeleceu uma sessão SSH) porque você pode se trancar acidentalmente se entrar na regra errada.
Neste tutorial, você aprenderá:
- Coleção de regras básicas de firewall iptables
Categoria | Requisitos, convenções ou versão de software usada |
---|---|
Sistema | Qualquer distro Linux |
Programas | iptables |
Outro | Acesso privilegiado ao seu sistema Linux como raiz ou através do sudo comando. |
Convenções | # - requer que os comandos Linux sejam executados com privilégios root diretamente como usuário root ou por uso de sudo comando$ - Requer que os comandos do Linux sejam executados como um usuário não privilegiado regular |
Exemplos de comando iptables
VOCÊ SABIA?
Esteja ciente de que a ordem de suas regras iptables é importante. Quando seu sistema recebe um pacote de tráfego de rede, os iptables correspondem à primeira regra. Portanto, se você tiver uma regra para aceitar o tráfego SSH, seguido de uma regra para negar o tráfego SSH, os iptables sempre aceitarão o tráfego porque essa regra vem antes da regra de nega na cadeia. Você sempre pode alterar a ordem de regra especificando um número de regra em seu comando.
-
Regra: iptables para rejeitar todas as conexões de rede de saída
A segunda linha das regras apenas permite conexões atuais de saída e estabelecidas. Isso é muito útil quando você está conectado ao servidor via ssh ou telnet.
# iptables -f saída # iptables -a saída -m estado -Estado estabelecido -j aceita # iptables -a saída -j rejeitar
-
Regra: iptables para rejeitar todas as conexões de rede de entrada
# iptables -f entrada # iptables -a input -m State -Estado estabelecido -j Aceitar # iptables -a input -j rejeitar
-
Regra: iptables para rejeitar todas as conexões de rede
Esta regra cairá e bloqueará toda a conexão de rede, seja de entrada ou saída. Mais importante, isso também incluirá conexões estabelecidas em andamento atuais.
# iptables -f # iptables -a input -j rejeit # iptables -a saída -j rejeitar # iptables -a forward -j rejeitar
-
Regra: iptables para soltar solicitações de ping de entrada
Esta regra iptables soltará todos os pedidos de ping que recebem. Observe que é possível usar rejeitar em vez de soltar. A diferença entre Drop vs Rejeit é que a queda silenciosamente descarta o pacote de entrada, enquanto a rejeição resultará na devolução do erro ICMP.
# iptables -a input -p icmp --icmp -type eco -request -j gota
-
Regra: iptables para eliminar conexões de telnet de saída
Esta regra iptables bloqueará qualquer tráfego de saída para qualquer host em que a porta de destino tenha 23 anos (telnet).
# iptables -a output -p tcp - -dport telnet -j rejeitar
-
Regra: iptables para rejeitar conexões de telnet de entrada
Esta regra iptables recusará todas as solicitações de conexão recebidas a uma porta local 23.
# iptables -a input -p tcp - -dport telnet -j rejeitar
-
Regra: iptables para rejeitar conexões SSH de saída
Esta regra iptables recusará todas as conexões de saída provenientes de uma porta local 22 (SSH).
# iptables -a output -p tcp - -dport ssh -j rejeitar
-
Regra: iptables para rejeitar as conexões SSH de entrada
Recuse todas as conexões de entrada em um porto local 22 (SSH).
# iptables -a input -p tcp - -dport ssh -j rejeitar
-
Regra: iptables para rejeitar todo o tráfego de entrada, exceto SSH e conexões locais
Essas regras rejeitarão todas as conexões recebidas com o servidor, exceto as da porta 22 (SSH). Também aceitará conexões na interface de loopback.
# iptables -a input -i lo -j aceita # iptables -a input -p tcp - -dport ssh -j aceita # iptables -a input -j rejeitar
-
Regra: iptables para aceitar conexões SSH de entrada de endereço IP específico
Usando esta regra iptables, bloquearemos todas as conexões de entrada na porta 22 (ssh), exceto host com endereço IP 77.66.55.44. O que isso significa é que apenas host com IP 77.66.55.44 será capaz de SSH.
# iptables -a input -p tcp -s 77.66.55.44 -Dport ssh -j aceita # iptables -a input -p tcp - -dport ssh -j rejeitar
-
Regra: iptables para aceitar conexões SSH de entrada de endereço MAC específico
Usando esta regra iptables, bloquearemos todas as conexões de entrada na porta 22 (SSH), exceto host com o endereço MAC 00: e0: 4c: f1: 41: 6b. Em outras palavras.
# iptables -a input -m Mac - -MAC -SOURCE 00: E0: 4C: F1: 41: 6B -P TCP - -DPOR
-
Regra: iptables para rejeitar conexões de entrada em uma porta TCP específica
A regra iptables a seguir soltará todo o tráfego recebido na porta TCP 3333.
# iptables -a input -p tcp - -dport 3333 -j rejeitar
-
Regra: iptables para soltar todas as conexões de entrada em uma interface de rede específica
A regra a seguir soltará o tráfego recebido em uma interface de rede específica proveniente da sub -rede 192.168.0.0/16. O é muito útil na tentativa de soltar todos os endereços IP falsificados. Se o ETH0 for uma interface de rede externa, nenhum tráfego de entrada originário da rede interna deve atingir a interface de rede Eth0.
# iptables -a input -i eth0 -s 192.168.0.0/16 -J Drop
-
Regra: iptables para criar um simples IP disfarçado
A regra a seguir criará um gateway de máscara IP simples para permitir que todos os hosts da mesma sub -rede acessem a Internet. O abaixo especificado ETH0 é uma interface externa conectada à Internet.
# echo "1">/proc/sys/net/ipv4/ip_forward # iptables -t nat -a postrouting -o $ ext_iface -j máscaras
-
Regra: rejeite todo o tráfego de telnet que recebe o endereço IP especificado
A regra iptables a seguir rejeitará todo o tráfego de telnet de entrada, exceto a solicitação de conexão do IP 222.111.111.222
# iptables -um filtro de entrada -t ! -S 222.111.111.222 -P TCP -Dport 23 -j Rejeitar
-
Regra: rejeitar todo o tráfego SSH, exceto o intervalo de endereço IP especificado
A regra iptables a seguir rejeitará todo o tráfego SSH de entrada, exceto a solicitação de conexão do intervalo de endereço IP 10.1.1.90 - 10.1.1.1.100.
Removendo o negador “!A partir da regra abaixo, rejeite todo o tráfego SSH originário da faixa de endereço IP 10.1.1.90 - 10.1.1.100.
# iptables -a input -t filtro -m iprange ! --SRC-RANGE 10.1.1.90-10.1.1.100 -P TCP - -Dport 22 -j Rejeitar
-
Regra: iptables para rejeitar todo o tráfego de saída para um host remoto específico
A regra iptables a seguir rejeitará todo o tráfego de saída para um host remoto com um endereço IP 222.111.111.222
# iptables -a saída -d 222.111.111.222 -J Rejeitar
-
Regra: iptables para bloquear um acesso a um site específico
A regra iptables a seguir bloqueará todo o tráfego de entrada do Facebook.com onde a porta de origem é a porta 80 / www.
# iptables -uma entrada -s facebook.com -p tcp -sport www -j gota
Observe que a regra iptables acima bloqueará o acesso ao Facebook.com, bem como www.Facebook.com.
Pensamentos finais
Neste guia, vimos uma coleção de regras básicas de iptables para Linux. Isso incluiu algumas das regras mais comuns que normalmente são aplicadas a sistemas, como bloquear conexões SSH diferentes, além das de um endereço IP específico. O uso dessas regras ajudará a endurecer seu servidor de ataques e aumentar a segurança geral. Sinta -se à vontade para adaptar esses exemplos para se adequar aos seus próprios cenários.
Tutoriais do Linux relacionados:
- Coisas para instalar no Ubuntu 20.04
- Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
- Download do Linux
- Melhor distro Linux para desenvolvedores
- Instale o firewalld no sistema Linux Centos
- Uma introdução à automação, ferramentas e técnicas do Linux
- Ubuntu 20.04 truques e coisas que você pode não saber
- Coisas para fazer depois de instalar o Ubuntu 22.04 Jellyfish…
- Comandos Linux: os 20 comandos mais importantes que você precisa para…
- Arquivos de configuração do Linux: os 30 primeiros mais importantes
- « Como tirar capturas de tela usando o MAIM no Linux
- Como configurar e usar o servidor FTP no Ubuntu Linux »