Coleção de regras básicas de firewall iptables

Coleção de regras básicas de firewall iptables

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.

AVISO
Você 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
Visualizando as regras iptables configuradas em nosso sistema Linux Requisitos de software e convenções de linha de comando Linux
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.
  1. 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 
  2. 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 
  3. 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 
  4. 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 
  5. 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 
  6. 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 
  7. 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 
  8. 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 


  9. 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 
  10. 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 
  11. 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 
  12. 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 


  13. 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 
  14. 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 
  15. 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 
  16. 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 
  17. 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 
  18. 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