Como configurar o firewall no FreeBSD com PF Linux

A segurança em qualquer sistema operacional deve ser sempre uma das premissas principais pela qual se luta todos os dias, pois dela dependem vários elementos, como arquivos de usuário, configurações, serviços e outros. Uma configuração incorreta dos parâmetros de segurança está associada a uma vulnerabilidade que deixa as portas abertas para que os invasores tenham acesso livre para realizar suas ações.

Um dos principais mecanismos de segurança está ligado ao firewall do sistema, pois graças a ele é possível filtrar os pacotes de entrada e saída da rede e criar várias regras para melhorar a segurança do sistema e das aplicações e objetos nele armazenados. .l.

É por isso que hoje a Solvetic irá explicar em detalhes como configurar o firewall no FreeBSD usando pf.

O que é pfO PF (Packet Filter - Packet Filter) foi desenvolvido como um software de firewall para sistemas FreeBSD com o qual podemos criar centenas de regras que nos permitem gerenciar de forma muito mais centralizada o acesso e comportamento de todos os elementos do sistema.

Agora veremos como habilitar e configurar o pf no FreeBSD.

1. Como habilitar o firewall Linux


Embora o pf seja integrado ao FreeBSD, devemos adicionar as seguintes linhas no arquivo /etc/rc.conf com algum editor desejado:
 nano /etc/rc.conf
As linhas a serem adicionadas são:
 echo 'pf_enable = "SIM"' >> /etc/rc.confecho 'pf_rules = "/ usr / local / etc / pf.conf"' >> /etc/rc.confecho 'pflog_enable = "SIM"' >> / etc / rc.confecho 'pflog_logfile = "/ var / log / pflog"' >> /etc/rc.conf

Depois de adicionar essas linhas, salvamos as alterações usando as teclas Ctrl + O e saímos do editor usando Ctrl + X.

As linhas que adicionamos são:

Habilite o serviço PF

 pf_enable = "SIM"

Pegue as regras de PF deste arquivo específico
 pf_rules = "/ usr / local / etc / pf.conf"

Habilitar suporte de registro para PF
 pflog_enable = "SIM"

Refere-se ao arquivo onde o pflogd deve armazenar o arquivo de log

 pflog_logfile = "/ var / log / pflog"
Lá os logs serão armazenados no arquivo / var / log / pflog.

2. Como criar regras no arquivo Linux /usr/local/etc/pf.conf


Uma vez que as linhas anteriores tenham sido adicionadas, acessaremos o arquivo /usr/local/etc/pf.conf para criar as regras que o pf deve ler e que serão levadas em consideração na hora da proteção.
Acessamos usando um editor:
 nano /usr/local/etc/pf.conf
Por se tratar de um arquivo novo, as possibilidades de regras são milhares, para este caso podemos acessar o seguinte link e copiar a regra, que se aplica a um servidor web, e colá-la em nosso arquivo de configuração:

Devemos levar em consideração a modificação do adaptador de rede no campo ext_if para o correto em cada caso.

Neste arquivo, adicionamos as seguintes regras:

 # vim: set ft = pf # /etc/pf.confext_if="em0"webports = "{http, https}" int_tcp_services = "{domínio, ntp, smtp, www, https, ftp}" int_udp_services = "{domínio, ntp} "set skip on loset loginterface $ ext_if # Normalizationscrub in all random-id fragmento reassembleblock return in log allblock out allantispoof quick for $ ext_if # Block 'rapid-fire brute force trystable persistblock quick from # ftp-proxy precisa ter uma âncora "ftp-proxy / *" # SSH está escutando na porta 26pass em quick proto tcp para $ ext_if porta 26 manter estado (max-src-conn 15, max-src-conn-rate 5/3, descarga de sobrecarga global) # Webserverpass proto tcp de qualquer para $ ext_if porta $ webports # Permitir tráfego de saída essencial passar rápido em $ ext_if proto tcp para qualquer porta $ int_tcp_servicespass out rápido em $ ext_if proto udp para qualquer porta $ int_udp_services
Algo vital para se ter em mente é que pf tem uma ordem definida para estabelecer as regras e esta é:

MacrosAs macros devem ser definidas antes de serem referenciadas no pf.conf
MesasAs tabelas fornecem um mecanismo para aumentar o desempenho e flexibilidade das regras
OpçõesAs opções ajustam o comportamento do mecanismo de filtragem de pacotes.
Normalização de TráfegoEsta regra protege as máquinas internas contra inconsistências nos protocolos e implementações da Internet.
EnfileiramentoFornece controle de largura de banda com base em regras definidas
TraduçãoEsta opção especifica como os endereços devem ser mapeados ou redirecionados.
Filtragem de PacotesOferece um bloqueio baseado em regras

Assim que as regras forem criadas, salvamos as alterações usando Ctrl + O e saímos do editor usando Ctrl + X.

3. Como habilitar o serviço pf do Linux


A seguir, executaremos uma série de comandos para verificar e iniciar o serviço pf no FreeBSD.

Passo 1
Para verificar o status de ativação de pf, executamos a linha:

 pfctl -e

Passo 2
Para iniciar o serviço pf, executamos a seguinte linha:

 serviço pf start

etapa 3
Verificamos o serviço executando:

 verificação de pf de serviço

Passo 4
Neste ponto, também podemos executar qualquer uma das seguintes opções:

 /etc/rc.d/pf checkpfctl -n -f /usr/local/etc/pf.conf
Se quisermos parar o serviço pf, executamos:
 serviço pf parar
Para reiniciar o serviço pf:
 reinício de pf de serviço

Etapa 5
Se quisermos ver o status atual do serviço pf:

 status de pf de serviço

Etapa 6
O firewall pf faz uso do serviço pflog para armazenar e registrar todos os eventos de segurança que ocorrem no sistema, as opções de uso são:

 serviço pflog iniciar serviço pflog parar serviço pflog reiniciar

4. Como usar o pf no FreeBSD Linux


Você precisará usar o comando pfctl para visualizar o conjunto de regras e as configurações de parâmetros do pf, incluindo as informações de status do filtro de pacote.
Para ver essas informações, executamos o seguinte:
 regras pfctl -s

Além disso, teremos mais opções, como:

Adicionar número de regra

 pfctl -vvsr show

Mostrar status

 pfctl -s statepfctl -s state | mais

Desativar pf

 pfctl -d

Habilitar pf

 pfctl -e

Limpar todas as regras

 pfctl -F all

Exclua apenas as consultas

 fila pfctl -F

Limpar todos os estados

 pfctl -F info

Ver eventos pf

 tcpdump -n -e -ttt -r / var / log / pflog

Podemos ver como o pf é uma ferramenta prática ao trabalhar com o firewall no FreeBSD.

wave wave wave wave wave