Abra o arquivo fwknop.conf em /etc/fwkop
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.
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:
$ 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:
Insira na última linha o seguinte comando:
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.
No cliente, execute o comando a seguir:
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:
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.
$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 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.
Deixe seu comentário