iptables: programa de gerenciamento de firewall Linux tradicional (1)

"Linux Firewall" lendo notas, capítulo 3-iptable: programa de gerenciamento de firewall Linux tradicional (1)

Capítulo 3 iptables: o programa tradicional de gerenciamento de firewall Linux (1)

3.1 iptables (firewall) e netfilter

3.1.1 Arquitetura do firewall de filtragem de pacotes Linux

0001

Linus Torvalds lançou a versão oficial do kernel Linux 4.9 em 11 de dezembro de 2016. Diz-se que a versão 5.x será lançada em 2018. Na verdade, a partir da versão 3.13 do kernel, um novo mecanismo de filtragem nftables foi adicionado.

3.1.2 Introdução às diferenças entre netfilter / iptables

   =================================================
   netfilter/iptables 简介:

    (1)IP 数据包过滤系统由 netfilter 和 iptables 两个组件构成。

    (2)netfilter 是集成在内核中的一部分,其作用是定义、保存相应的规则。

    (3)iptables 是一种工具,用来修改信息的过滤规则及其他配置,而这些规则会保存在内核空间之中。

    (4)netfilter 是Linux核心中的一个通用架构,其提供了一系列的表(tables)每个表由若干个链(chains)组成,而每条链可以由一条或若干条规则(rules)组成。

    (5)iptables 与 netfilter 使用术语可以互换,但两者还是有区别。netfilter 是 Linux 内核空间的程序代码,它在 Linux内核里实现了防火墙。它要么直接编译进内核,要么被包含在模块集中。而 iptables 是用于管理 netfilter 防火墙的用户程序。

    (6)iptables 只是防火墙与用户之间的接口,真正起作用的是 Linux 内核中运行的 netfilter 。Linux 平台下的包过滤防火墙由 netfilter 组件和 iptables 组件组成,其中 netfilter 运行在内核态,而 iptables 运行在用户态,用户通过 iptables 命令来调用 netfilter 来实现防火墙功能。
     =================================================

3.1.3 Introdução ao Netfilter e Iptables

(1) Componente Netfilter

        O componente Netfilter é uma arquitetura subjacente estruturada usada para estender vários serviços de rede no kernel Linux. A arquitetura define a implementação da função do subsistema de filtragem de pacotes, e fornece três tabelas de filtro, nat e mangle.A tabela de filtro é usada por padrão e atua como um firewall. Cada tabela contém várias cadeias integradas e os usuários podem criar cadeias personalizadas na tabela. Em cada empresa, você pode definir uma ou mais regras de filtro (regras). Cada regra deve especificar as características do pacote a ser verificado e como lidar com o pacote correspondente, que é chamado de destino. O valor de destino pode ser um nome de cadeia definido pelo usuário ou ACCEPT, DROP, REJECT, RETURN, etc.

(2) componente Iptables

         O componente Iptables é uma ferramenta usada para especificar as regras do Netfilter e gerenciar a filtragem de pacotes do kernel.Os usuários podem criar, excluir ou inserir cadeias através dele, e podem inserir, excluir e modificar regras de filtragem na cadeia. iptables é apenas uma ferramenta de filtragem de pacotes, e a execução das regras de filtragem é feita através do Netfilter e módulos de suporte relacionados.

3.2 A diferença entre firewall IP (IPFW) e mecanismo de firewall Netfilter

3.2.1 Transmissão de pacotes IPFW

         No IPFW (ipfwadm e ipchains), três regras de filtragem integradas são usadas: INPUT (cadeia de regras de entrada), FORWARD (cadeia de regras de encaminhamento) e OUTPUT (cadeia de regras de saída).
0000

Todos os pacotes que chegam na interface são filtrados de acordo com a regra INPUT. Se o pacote de dados for aceito, ele será passado para o módulo de roteamento. A função de roteamento determina se o pacote de dados é entregue ao local ou encaminhado para outra interface de saída (OUTPUT).

Se for encaminhado, o pacote será filtrado uma segunda vez pelo processo de regra FORWARD. Se o pacote for aceito, ele será transferido para a cadeia de regras OUTPUT.

Todos os pacotes de dados de saída gerados localmente e os pacotes de dados a serem encaminhados são passados ​​para a cadeia de regras OUTPUT. Se o pacote de dados for aceito, ele será enviado pela interface.

Os pacotes recebidos e enviados ao local (loopback) passam por dois filtros (INPUT, OUTPUT) e os pacotes encaminhados passam por três filtros (INPUT, FORWARD e OUTPUT).
0001

O loop inclui duas cadeias regulares (OUTPUT, INPUT). Cada pacote de dados de loopback passa pelo filtro de saída antes de "sair" da interface de loopback e, em seguida, é passado para a interface de entrada de loopback. Em seguida, o filtro de entrada será aplicado.

O disfarce aqui é um conceito em versões anteriores do Linux. Agora a tradução de endereços de rede (NAT) é completamente implementada pelo iptables. Antes disso, o NAT era chamado de mascaramento no Linux. Uma versão simples e parcialmente implementada da tradução do endereço de origem (isto é, camuflagem) é usada pelos proprietários de sites que possuem um endereço IP público e esperam que outros hosts na rede privada também possam acessar a Internet. Os endereços de origem dos pacotes de dados enviados desses hosts internos são disfarçados como endereços IP públicos roteáveis.

3.2.2 Transmissão de pacotes Netfilter

0002
Netfilter (iptables) usa três filtros embutidos: INPUT, OUTPUT e FORWARD. Os pacotes de dados de entrada precisam passar pela função de roteamento, que determina se os pacotes de dados devem ser transmitidos à cadeia de regras INPUT do host local ou à cadeia de regras FORWARD.

[Recomendação de leitura]

Acho que você gosta

Origin blog.csdn.net/qq_36148847/article/details/81162770
Recomendado
Clasificación