Conceitos FIREWALLs PF e IPFW
14 pág.

Conceitos FIREWALLs PF e IPFW


DisciplinaServiços de Rede18 materiais193 seguidores
Pré-visualização5 páginas
uma lista de regras de filtragem aplicadas para cada 
pacote que trafega pelo filtro. Esta lista de regras é elaborada segundo a politica de 
segurança adotada, onde é estabelecido o que pode e o que não pode passar pelo filtro 
(SPOHN, 1997). Cada sistema firewall possui seu próprio método de configuração seja 
por meio da interface gráfica ou por linha de comando. 
 No caso do PF suas configurações de ativação e desativação devem ser feitas no 
arquivo /etc/rc.conf.local do sistema operacional openbsd, alterando a linha pf=NO para 
pf=yes. De acordo com o site oficial do projeto o PF lê sua configuração de regras do 
arquivo /etc/pf.conf na hora da inicialização. Embora o arquivo /etc/pf.conf seja o 
arquivo padrão ele é apenas um arquivo de texto carregado e interpretado pelo pfctl e 
inserido no PF. (OPENBSD, 2014) 
 O comando pfctl serve para interpretar e gerenciar as regras do arquivo 
/etc/pf.conf, este comando por sua vez pode ser utilizado para testar as configurações 
antes que elas sejam carregadas na memória. No quadro 2 é possível observar alguns 
comandos utilizados pelo pfctl. 
Quadro 2: Comandos pfctl. 
pfctl \u2013e Comando para ativar o PF 
pfctl \u2013d Comando para desativar o PF 
Pfctl -f /etc/pf.conf Comando para carregar as regras do arquivo padrão. 
Fonte: Adaptado de OpenBSD (2014). 
 
 Além das configurações existentes no arquivo /etc/pf.conf, é necessário ter em 
mente a metodologia que segue-se para uma configuração de sucesso. No quadro 3 é 
possível observar as divisões que o arquivo pf.conf possui. O arquivo pf.conf possui 5 
partes: 
Quadro 3: Partes do arquivo pf.conf 
Macros Variáveis definidas pelo usuário, que podem armazenar endereços IP, nomes de 
interfaces, etc. 
Tabelas Uma estrutura usada para armazenar listas de endereços IP. 
Opções Várias opções de controle do funcionamento do PF. 
Enfileiramento Fornece o controle de largura de banda e a priorização de pacotes. 
Regras de 
Filtragem 
Permite a filtragem seletiva ou bloqueio de pacotes conforme eles passam pelas 
interfaces. Regras de filtragem podem ter parâmetros para especificar Tradução de 
Endereço de Rede: (NAT) e o redirecionamento de pacotes 
Fonte: Adaptado de OpenBSD (2014). 
2.6.1 Funcionamento 
 Diante de diversas situações que a implementação de um firewall pode assumir, 
nós autores decidimos adaptar um exemplo de uma pequena rede de computadores que 
 
consta no site oficial do projeto PF, afim de tornar o entendimento mais simplista 
possível, abrir novos rumos nas pesquisas sobre tal assunto e para que próximos 
entusiastas possam partir deste início. Na figura 4 é demonstrado à topologia utilizada 
na implementação do PF. 
Figura 4: Topologia de rede. 
 
Fonte: Adaptado de OpenBSD (2014). 
 Todos os computadores incluídos nesta topologia estão habilitados para utilizar 
serviços como: e-mail, navegar na internet, utilizar serviços de bate-papo (chat), exceto 
o COMP3 que possui um servidor web rodando. No quadro 4 é possível observar o 
script utilizado no firewall PF, para a topologia da figura 4. Cada regra descrita abaixo 
possui um número de identificação, logo ao lado é descrito sua finalidade. 
Quadro 4: script utilizado na rede com PF 
# Macros \\ Comentários 
 
1 - ext_if="fxp0" 
 
2 - int_if="xl0" 
 
3 - tcp_services="{ 22, 113 }" 
icmp_types="echoreq" 
 
4 - comp3="192.168.0.3" 
 A primeira linha (1), define a interface de rede 
interna onde a filtragem acontecerá. 
 
 A segunda e terceira linha listam os números de 
portas TCP dos serviços que serão abertos para a 
Internet (SSH e ident/auth) e os tipos de pacotes 
ICMP que terão permissão de alcançar a máquina 
do firewall. 
 
 
 A quarta linha define o endereço IP de COMP3. 
# Opções \\ Comentários 
 
5 - set block-policy return 
6 - set loginterface egress 
 
7 - set skip on lo 
 As linhas 5 e 6 são responsáveis pela definição 
da resposta padrão para regras de filtragem block e 
pelo "ativamento" do registro de estatísticas para a 
interface externa. 
 Já a linha 7 serve para desativar interfaces de 
loopback indicada pela sigla \u201clo\u201d, e bloqueada pelo 
comando set skip. 
# FTP Proxy rules \\ Comentários 
 
8 - anchor "ftp-proxy/*" 
 
9 - pass in quick on $int_if inet proto tcp to any 
port ftp \ 
divert-to 127.0.0.1 port 8021 
Na linha 8, anchor é o comando utilizado para 
liberar o acesso de clientes locais a servidores ftp 
na internet. 
 
A linha 9, serve para interceptar ligações de FTP 
para a porta 21 e desviá-las para uma instância ftp-
proxy em execução na porta 8021 e, através do uso 
de palavra-chave -quick, pacotes combinando não 
serão novamente verificadas em relação ao resto 
do conjunto de regras. 
 
# match rules \\ Comentários 
 
10 - match out on egress inet from 
!(egress:network) to any nat-to (egress:0) 
Na linha 10, a regra match é usada para fazer NAT 
para toda a rede interna. O sufixo :0 é usado para 
que, se a interface externa tenha múltiplos 
endereços, somente o primeiro endereço é usado 
para a tradução. 
# Regras de filtragem \\ Comentários 
 
11 - block in log 
 
12 - pass out quick 
 
13 - antispoof quick for { lo $int_if } 
 
14 - pass in on egress inet proto tcp from any to 
(egress) \port $tcp_services 
 
15 - pass in on egress inet proto tcp to (egress) 
port 80 rdr-to $comp3 
 
16 - pass in inet proto icmp all icmp-type 
$icmp_types 
 
 
17 - pass in on $int_if 
 
A linha 11, serve para controlar as permissões de 
acesso, ou seja, inicia com o bloqueio padrão. 
 
A linha 12, as regras pass out quick, os pacotes de 
saída podem evitar serem verificados contra as 
seguintes regras, melhorando o desempenho. 
 
A linha 13 é uma proteção contra falsificações 
através do uso da palavra-chave antispoof. 
 
A linha 14 é destinada a direcionar o tráfego ao 
firewall em si. 
 
Já a quinta 15 é a regra destinada á pegar todas as 
tentativas de conexão a porta 80 e as redirecioná-
las ao COMP3. 
 
A regra da linha 16 serve para liberar o tráfego 
ICMP. 
 
E a regra da linha 17, dedica-se a informar ao 
firewall que o tráfego deva passar á interface 
interna. 
 
Fonte: Adaptado de OpenBSD (2014). 
 O PF pode bloquear o tráfego que entra e sai de uma interface. Para simplificar 
sua vida, você pode escolher fazer a filtragem de tráfego em apenas em uma direção em 
vez de bloquear entrada e saída, esta configuração está definida na linha 17 do quadro 4. 
3 Metodologia 
Uma pesquisa é um procedimento racional e sistemático que visa dar respostas a 
problemas que são propostos (GIL, 2010). Conforme o mesmo autor nos afirma, para 
que se possa avaliar a qualidade dos resultados de uma pesquisa, é necessário que se 
saiba como os dados foram obtidos. Uma pesquisa pode ser realizada de algumas 
formas, entre elas estão, a pesquisa bibliográfica, método utilizado para a obtenção de 
dados neste trabalho. 
 Uma pesquisa bibliográfica é elaborada com base em material já publicado, este 
material pode ser impresso ou de outras fontes como discos, CDs, entre outros (GIL, 
2010). Para o desenvolvimento desta pesquisa bibliográfica foram utilizados livros, 
artigos científicos, entre outras obras conceituadas na área. 
5 Considerações finais 
Sabe-se do grande desafio que é manter os ativos da informação salvos de ameaças à sua 
confidencialidade, integridade e disponibilidade. Para garantir a segurança das 
informações são necessários diversos mecanismos trabalhando em conjunto a fim de 
aumentar a proteção dos dados de uma determinada pessoa ou organização. 
 
 Contudo pode-se concluir através deste artigo que o uso de firewalls é uma parte 
importante e fundamental ao se pensar em uma solução de segurança para as 
informações.