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.confAs 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.confPor 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_servicesAlgo 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.confSe quisermos parar o serviço pf, executamos:
serviço pf pararPara 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.