AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1794063
Accepted
denn0n
denn0n
Asked: 2023-07-06 05:15:34 +0800 CST2023-07-06 05:15:34 +0800 CST 2023-07-06 05:15:34 +0800 CST

Iptables falha ao bloquear a entrada de um ip específico

  • 772

Olá, tenho um servidor online que uso como gateway e o iptables está agindo de forma estranha

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 443 -j BLOCK_CHAIN
-A INPUT -i eth0 -p tcp -m tcp --dport 80 -j BLOCK_CHAIN
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i tun+ -j ACCEPT
-A FORWARD -i tun+ -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o tun+ -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o tun+ -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -i eth0 -o tun+ -p tcp -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -i eth0 -o tun+ -p tcp -m tcp --dport 443 --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A BLOCK_CHAIN -s 173.230.154.149/32 -j REJECT --reject-with icmp-host-prohibited
-A BLOCK_CHAIN -m state --state NEW -j ACCEPT

mas 173.230.154.149 ainda pode chegar ao servidor apache em 80 ou 443, não deve ser bloqueado por

-A INPUT -i eth0 -p tcp -m tcp --dport 443 -j BLOCK_CHAIN
-A INPUT -i eth0 -p tcp -m tcp --dport 80 -j BLOCK_CHAIN

e

-A BLOCK_CHAIN -s 173.230.154.149/32 -j REJECT --reject-with icmp-host-prohibited

Sim, é um servidor online que direciona todos os serviços da web para um servidor pessoal maior por meio de um vpn com openvpn

tudo funciona como esperado apenas não consigo bloquear a conexão de entrada de certo ip bruxa obviamente está atacando o servidor

a tipologia da rede é

Ip Externo XX.XX.X.XX Vpn 10.0.0.0/24

-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.0.0.100
-A PREROUTING -i eth0 -p tcp -m tcp --dport 443 -j DNAT --to-destination 10.0.0.100
networking
  • 1 1 respostas
  • 642 Views

1 respostas

  • Voted
  1. Best Answer
    A.B
    2023-07-06T07:51:21+08:002023-07-06T07:51:21+08:00

    Um pacote sendo roteado em vez de recebido por um processo local atravessa a cadeia filtro/FORWARD e não a cadeia filtro/INPUT, mesmo que isso seja causado pelo uso de NAT. Portanto, as regras de bloqueio atuais em filter/INPUT não têm efeito. Estas regras:

    -A INPUT -i eth0 -p tcp -m tcp --dport 443 -j BLOCK_CHAIN
    -A INPUT -i eth0 -p tcp -m tcp --dport 80 -j BLOCK_CHAIN
    

    deve ser simplesmente substituído por:

    -A FORWARD -i eth0 -p tcp -m tcp --dport 443 -j BLOCK_CHAIN
    -A FORWARD -i eth0 -p tcp -m tcp --dport 80 -j BLOCK_CHAIN
    

    Obviamente, eles devem ser adicionados antes das regras de acesso ao servidor web para que tenham algum efeito. Portanto, adicione-os pelo menos antes destes:

    -A FORWARD -i eth0 -o tun+ -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j ACCEPT
    -A FORWARD -i eth0 -o tun+ -p tcp -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j ACCEPT
    -A FORWARD -i eth0 -o tun+ -p tcp -m tcp --dport 443 --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j ACCEPT
    

    Porque uma vez que a conexão inicial é aceita, todos os pacotes seguintes serão curto-circuitados por esta regra:

    -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    

    Portanto, eles devem ser bloqueados na primeira vez que forem vistos.


    Observações adicionais:

    • regras redundantes

      -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
      -A FORWARD -i tun+ -j ACCEPT
      -A FORWARD -i tun+ -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
      

      A 1ª regra acima, e também a 2ª regra, cada uma delas separadamente, tornam a 3ª regra redundante.

      Da mesma maneira:

      -A FORWARD -i eth0 -o tun+ -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j ACCEPT
      -A FORWARD -i eth0 -o tun+ -p tcp -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j ACCEPT
      -A FORWARD -i eth0 -o tun+ -p tcp -m tcp --dport 443 --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j ACCEPT
      

      A primeira regra torna as duas seguintes redundantes.

      Mas tudo isso pode ter sido para testar o problema atual.

    • a menos que esteja executando um kernel muito recente (onde o problema foi corrigido), nenhuma regra REJECT deve ter permissão para rejeitar um pacote no estado INVALID. Tal pacote deve ser "apenas" DROP-ed, ou raras falhas aleatórias de conexão de tráfego legítimo podem acontecer.

      Isso agora está documentado em iptables-extensions(8):

      Aviso: Você não deve aplicar indiscriminadamente o alvo REJECT a pacotes cujo estado de conexão seja classificado como INVÁLIDO; em vez disso, você deve apenas DROP estes.

      (A página do manual fornece mais justificativas.)

      Então, normalmente,

      -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
      

      deve ser seguido por:

      -A FORWARD -m conntrack --ctstate INVALID -j DROP
      
    • 9

relate perguntas

  • Três computadores, como configurar a rede sem roteador/switch?

  • A conexão do usuário ao servidor SFTP usando o FileZilla se recusa a conectar

  • Como funciona um NAT atrás de um NAT (NAT do roteador e NAT do ISP)?

  • Win10 1803: Como tornar o ponto de acesso móvel uma rede privada?

  • Como o nc identifica nomes de serviço

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Vickel O Firefox não permite mais colar no WhatsApp web? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve