Configurando o FWKnop com criptografia simétrica

Antes de realizarmos a instalação da ferramenta cliente na plataforma Linux e Windows, iremos configurar o servidor para aceitar a batida em uma porta diferente da padrão, bem como, configurar a chave de criptografia que deverá ser utilizada durante a batida.

Abra o arquivo fwknop.conf em /etc/fwkop

# vi /etc/fwknop/fwknop.conf

Para que durante a inicialização do FWKnop, ele não informe um erro sobre a não existência do diretório “clientmqueue” dentro do diretório /var/spool, diretório esse que seria utilizado para armazenar a fila de mensagens do FWKnop, altere o valor ALL na opção ALERTING_METHODS para noemail.

Por padrão é utilizado o método de autenticação passivo, através da biblioteca PCAP (opção padrão e que escolhemos durante a instalação).A configuração padrão informa que todos os pacotes que forem encaminhados com destino a porta 62201/UDP serão analisados. Como forma de aumentar o nível de segurança, além de utilizarmos a chave para criptografia simétrica, iremos alterar a porta padrão para 64003/UDP. Deste modo altere no arquivo /etc/fwknop/fwknop.conf o valor existente na opção PCAP_FILTER.

Outra opção importante, é a opção MAX_SPA_PACKET_AGE que por padrão tem o valor 120. Esta opção irá permitir que exista a diferença máxima de sincronia de 120 segundos em entre os relógios do servidor e do cliente. Utilizar um serviço de NTP permitiria manter o servidor e clientes com horários sincronizados e evitar problemas.

Agora iremos alterar o arquivo access.conf, que é o responsável pelas diretivas de acesso e autenticação. Altere a opção KEY: para o valor xyzk1234 para que possamos realizar o teste autenticação com o nosso servidor.

# vi /etc/fwknop/access.conf

Instalando a ferramenta cliente do FWKnop (Linux)

O processo é quase idêntico ao realizado no servidor, entretanto, iremos realiza-lo utilizando um usuário comum, como boa prática de segurança.

Considerando a existência de um usuário chamado fulano, e que estamos atualmente logado com ele, realize o procedimento a seguir:

$ cd /home/fulano
$ mkdir softwares
$ cd softwares
$ mkdir src
$ wget -c http://www.cipherdyne.org/fwknop/download/fwknop-1.9.12.tar.bz2
$ cp fwknop-1.9.12.tar.bz2 src/.
$ cd src
$ tar -xvjf fwknop-1.9.12.tar.bz2
$ cd fwknop-1.9.12
$ ./install.pl -c

Reparem que a execução do script install.pl utilizou desta vez o parâmetro -c. Este parâmetro indica que o script instale o FWKnop apenas no modo cliente.

Após a instalação, os binários foram copiados para o diretório /home/fulano/bin, sendo assim, crie um alias no shell para facilitar a execução da ferramenta cliente fwknop:

$ vi /home/fulano/.bashrc

Insira na última linha o seguinte comando:

alias fwknop=”/home/$USER/bin/fwknop”

Realize o logoff do usuário fulano e logue novamente. A partir deste momento você poderá executar a ferramenta cliente informando o alias fwknop.

Realizando teste de autenticação

Consideraremos as seguintes informações para realização do teste:

  • Endereço IP do servidor: 10.10.20.10;
  • Endereço IP do cliente: 10.10.20.2;
  • Porta para batida: 64003/UDP
  • Chave: xyzk1234;
  • Porta referente ao serviço SSH: 22.

No servidor execute o comando tail para acompanhar as alterações no arquivo de log /var/log/messages.

# tail -f /var/log/messages

No cliente, execute o comando a seguir:

$ fwknop -A ‘tcp/22’ -a 10.10.20.2 -D 10.10.20.10 –Server-port 64003

O opção -A permite informar qual serviço queremos que o acesso seja garantido, nesse caso, o serviço que está em listening na porta 22/TCP. A definição dos serviços é realizada através do arquivo /etc/fwknop/access.conf.

Outrossim, a opção -a permite especificar qual endereço IP terá acesso garantido a porta 22/TCP, e a opção -D é utilizada para informarmos o endereço IP do servidor. Por fim, a opção -Server-port permite especificarmos qual a porta que iremos realizar a batida.

No servidor é interessante verificar as chais e regras através do comando:

# iptables -L -n

O FWKnop irá criar uma chain FWKNOP_INPUT e inserir nela uma regra que garantirá acesso ao nosso cliente para porta 22/TCP.

O tempo máximo padrão que esta regra estará na chain é de 30 segundos, sendo possível altera-lo no arquivo /etc/fwknop/access.conf através da opção FW_ACCESS_TIMEOUT. Como forma de reforçar ainda mais a segurança, é recomendável alterar a porta que o OpenSSH estará em listenning.

Script de Firewall

O que garante que continuemos conectados ao serviço SSH, por exemplo, mesmo após o tempo máximo especificado na opção FW_ACCESS_TIMEOUT ter expirado, é através do uso do recurso de State Full Packet do NetFilter/Iptables.

Este recurso é implementado através do módulo state, sendo assim, a existência de uma regra na chain INPUT que permita a entrada de pacotes referentes a conexão já estabelecidas, bem como, pacotes relacionados a conexão é de fundamental importância.

O script a seguir implementa uma política de regras no nosso servidor para impedir conexões em qualquer porta, e apenas permitir pacotes referentes a conexões já estabelecidas e pacotes relacionados a estas conexões.

#!/bin/sh
$ipt=”/usr/sbin/iptables”
$ipt -F
$ipt -P INPUT DROP
$ipt -A INPUT -m state -state ESTABLISHED,RELATED -j ACCEPT
$ipt -A INPUT -i lo -j ACCEPT

Inicializando e finalizando o FWKnop

Após a instalação do FWKnop o script de instalação copiou o arquivo fwknop para o diretório /etc/init.d.

Deste modo, o Slackware irá carregar todos os shell scripts existentes nesse diretório, que tenham permissão de execução.

Para iniciar, parar e reiniciar os daemons do FWKnop, realize respectivamente as seguintes operações:

# /etc/init.d/fwknop start
# /etc/init.d/fwknop stop
# /etc/init.d/fwknop restart

Instalando a ferramenta cliente do FWKnop (Windows)

Antes de realizar a instalação da ferramenta será necessário instalar antes o framework .NET (caso não esteja).

Portanto realize o download através do link:

http://ff-puchenau.at/Software/Atem/dotnetfx.exe

Realize a instalação do framework e a seguir efetue o download da ferramenta Morpheus Windows UI, através do site http://www.cipherdyne.org/fwknop/download.

A instalação e utilização dos software é bem intuitiva.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X