Você está na página 1de 18

Forcepoint Firewall

Documentações sobre o Firewall NGFW da Forcepoint

VPN C2S

Cliente VPN C2S no Linux com Docker

Cliente VPN C2S no MacOS X86

Cliente VPN C2S com StrongSwan no Linux


VPN C2S
Capítulo com as informações sobre instalação e configuração dos clientes VPN Client-to-Site (C2S).
VPN C2S

Cliente VPN C2S no Linux


com Docker
Informações:

Sistema de base para testes: Linux Mint 19.3 64Bit

Introdução

Este tutorial visa fornecer as informações básicas para a instalação e configuração de um cliente

VPN C2S para conexão com a VPN da Reitoria usando sistemas operacionais Linux.

O uso de um contêiner Docker facilita o transporte da solução entre as diversas distribuições Linux

do mercado assim como torna uniforme a experiência e resultados.

Esta solução pode ser adaptada para uso concomitante com as VPNs C2S dos campus.

Instalação do Docker e Docker-Compose

O primeiro passo para a utilização do cliente VPN C2S em Docker é a instalação do serviço Docker

e Docker-Compose na sua distribuição Linux.

Instalação em sistemas operacionais baseados em Ubuntu (16.04 LTS


ou superior).

Existem diversas formas para a instalação do Docker e Docker-Compose nas distribuições Linux

baseadas no Ubuntu, a forma validada pela Reitoria é:

apt update && apt install docker.io docker-compose -y

systemctl enable dockersystemctl start docker


Instalação em sistemas operacionais baseados em RedHat/Fedora.

A instalação destas distribuições na foi validada pela reitoria até o momento da escrita deste

documento, porém, acreditamos que devido a natureza da distribuição do serviço, este deve

funcionar sem problemas.

Até que a validação seja feita sugerimos que busque na documentação de sua distribuição Linux a

melhor forma de instalar o Docker e Docker-Compose.

Instalação do cliente VPN

Após a instalação dos requisitos básicos, podemos agora executar o contêiner com o Cliente VPN

C2S.

Download dos arquivos necessários

Faça o download dos arquivos necessários para execução do contêiner:

mkdir ~/bin && cd ~/binwget -O vpn.zip https://drive.ifsp.edu.br/s/fJIXC0hkNwnRxo8/download

unzip vpn.zip

cd vpn_ifsp_dockerchmod +x vpn

Inserindo usuário e senha da VPN

Para poder se conectar a VPN C2S, você deverá entrar com seu usuário e senha cadastrados na

reitoria, no caso, o mesmo que você usa no SUAP, por exemplo.

Para registrar o usuário e senha, edite o arquivo "~/bin/vpn_ifsp_docker/docker-

compose.yml" e altere as seguintes linhas conforme mostrado abaixo:

Altere disso:
“ ...
command: >

          vpn_c2s_ifsp <usuario> <senha>


...

Para por exemplo:

...

command: >

          vpn_c2s_ifsp rt000000@ifsp.edu.br minhasenhaforte

...

Utilização do cliente VPN Docker

Feitos os ajustes anteriores, para utilizar o cliente VPN C2S Docker basta executar os comandos

abaixo:

Ativar a VPN

~/bin/vpn_ifsp_docker/vpn ativar

Desativar a VPN

~/bin/vpn_ifsp_docker/vpn desativar

Agradecimentos especiais ao colega Douglas Andrade por criar os arquivos nos quais este

tutorial é baseado.

 
VPN C2S

Cliente VPN C2S no MacOS


X86
Informações:

Sistema de base para testes: MacOS Catalina 10.15.6

Introdução

Este tutorial visa fornecer as informações básicas para a instalação e configuração de um cliente

VPN C2S para conexão com a VPN da Reitoria usando sistemas operacionais MacOS.

Este suporte é extraoficial e não foi testado diretamente pela reitoria, mas sim através de

parceiros.

Instalação

1) Instalação do TunTap

O projeto TunTap fornece as extensões de kernel necessárias para que o MacOS X possa criar

interfáces virtuais, necessárias para a utilização dos túneis VPN IPSec.

Baixe e instale o tuntap por este LINK

2) Instale o ShrewSoft VPN Client

Este é o cliente VPN IPSec que iremos utilizar para nos conectar na VPN, composto do daemon

iked e da interface gráfica Qikea.


Baixe e instale o Shrew Soft VPN Client pelo LINK

3) Conectando na VPN

Para se conectar, siga os mesmos passos do manual da VPN C2S para Linux disponível AQUI (a

partir da página 32), siga as instruções para importar o arquivo de configuração

"vpn_c2s_ifsp.vpn" no Qikea.

Não são necessários os procedimentos de instalação listados para o Linux pois já

fizemos isso nos passos 1 e 2.

Agradecimentos especiais ao colega Rodrigo Noll do IFRS por nos ajudar com os

softwares, procedimentos e testes para uso no MacOS.


VPN C2S

Cliente VPN C2S com


StrongSwan no Linux
Versão do software tratada no documento: StrongSwan 5.7.2

Site: https://www.strongswan.org/

Introdução
O cliente VPN IPsec StrongSwan surge como uma alternativa ao cliente VPN da Forcepoint para

Linux, Android, Windows e muitos outros; ele é constantemente atualizado e suporta IKEv1 e IKEv2

assim como inúmeros protocolos de criptografia.

1) Instalação
Versão testada: Raspberry Pi 3B+

Para utilizar a VPN C2S com StrongSwan no Raspberry pi, siga os seguintes procedimentos:

1.1) Instalar o StrongSwan no Raspberry Pi OS

Versão testada: Raspbian GNU/Linux 10 (buster)

Para instalar StrongSwan no Raspberry Pi, utilize o seguinte comando:

sudo apt-get update && sudo apt-get install strongswan libcharon-extra-plugins strongswan-swanctl char
Agora devemos baixar o certificado do Firewall Forcepoint da Reitoria para a pasta

/etc/ipsec.d/cacerts/ :

sudo wget https://drive.ifsp.edu.br/s/DaWPt6dbPg7aof5/download -O /etc/ipsec.d/cacerts/certificate.crt

2) Carregar configurações de VPN para


conexão com a Reitoria

2.1) IKEv1

A conexão via IKEv1 é a mais comum para o ambiente de VPN C2S com a Reitoria, para utiliza-la,

faça o seguinte:

Edite o arquivo /etc/ipsec.conf :

sudo nano /etc/ipsec.conf

Agora insira o seguinte conteúdo no arquivo:

# ipsec.conf - strongSwan IPsec configuration file

# basic configuration

config setup

# Add connections here.

#conn default

conn %default

ikelifetime=8h

keylife=24h

rekeymargin=3m

keyingtries=1

keyexchange=ikev1

compress=no

aggressive=no

fragmentation=yes

dpdaction=restart

forceencaps=yes
#conn IFSP-RET

conn vpn-ifsp-ret

# right part

right=200.133.214.9

rightauth=pubkey

rightsendcert=yes

# left part

left=%any

leftid=<seuprontuario>

leftauth=xauth

xauth_identity="seuprontuario@ifsp.edu.br"

leftfirewall=yes

leftsourceip=%config

# ike part

type=tunnel

modeconfig=pull

mobike=no

ike="aes256-sha1-modp1536"

esp="3des-sha1"

auto=start

conn net-192.168.2.0/24

also=vpn-ifsp-ret

rightsubnet=192.168.2.0/24

type=tunnel

auto=start

conn net-192.168.3.0/24

also=vpn-ifsp-ret

rightsubnet=192.168.3.0/24

type=tunnel

auto=start

conn net-192.168.6.0/24

also=vpn-ifsp-ret

rightsubnet=192.168.6.0/24

type=tunnel

auto=start

conn net-10.3.0.0/16

also=vpn-ifsp-ret

rightsubnet=10.10.22.0/24

type=tunnel
auto=start

conn net-10.10.1.0/24

also=vpn-ifsp-ret

rightsubnet=10.10.1.0/24

type=tunnel

auto=start

conn net-10.10.2.0/24

also=vpn-ifsp-ret

rightsubnet=10.10.2.0/24

type=tunnel

auto=start

conn net-10.10.21.0/24

also=vpn-ifsp-ret

rightsubnet=10.10.21.0/24

type=tunnel

auto=start

conn net-10.10.22.0/24

also=vpn-ifsp-ret

rightsubnet=10.10.22.0/24

type=tunnel

auto=start

conn net-45.236.121.0/25

also=vpn-ifsp-ret

rightsubnet=45.236.121.0/25

type=tunnel

auto=start

conn net-45.236.121.128/26

also=vpn-ifsp-ret

rightsubnet=45.236.121.128/26

type=tunnel

auto=start

conn net-45.236.121.192/27

also=vpn-ifsp-ret

rightsubnet=45.236.121.192/27

type=tunnel

auto=start

include /var/lib/strongswan/ipsec.conf.inc
Não se esqueça de adicionar seu prontuário no arquivo!!

Em seguida adicione o seguinte conteúdo ao arquivo /etc/ipsec.secrets :

sudo nano /etc/ipsec.secrets

# Exemplo: rt000000 : XAUTH "123456"<seuprontuario>@ifsp.edu.br : XAUTH "suasenha"

Se estiver tudo certo basta agora ativar a VPN reiniciando o serviço:

sudo systemctl enable ipsecsudo systemctl restart ipsec

Para verificar que tudo transcorreu bem, basta verificar o status do serviço e/ou a tabela de rotas

do sistema:

Status do serviço:

sudo systemctl status ipsec

Tabela de rotas:

ip route show table all

Algo como isto deve aparecer:

root@raspberrypi:/home/pi# ip route show table all10.2.1.0/24 via 192.168.15.1 dev eth0 table

220 proto static src 10.3.4.8610.10.1.0/24 via 192.168.15.1 dev eth0 table 220 proto static

src 10.3.4.8610.10.2.0/24 via 192.168.15.1 dev eth0 table 220 proto static src 10.3.4.86

10.10.21.0/24 via 192.168.15.1 dev eth0 table 220 proto static src 10.3.4.8610.10.22.0/24 via

192.168.15.1 dev eth0 table 220 proto static src 10.3.4.8645.236.121.0/25 via 192.168.15.1

dev eth0 table 220 proto static src 10.3.4.8645.236.121.128/26 via 192.168.15.1 dev eth0

table 220 proto static src 10.3.4.8645.236.121.192/27 via 192.168.15.1 dev eth0 table 220

proto static src 10.3.4.86192.168.2.0/24 via 192.168.15.1 dev eth0 table 220 proto static src

10.3.4.86192.168.3.0/24 via 192.168.15.1 dev eth0 table 220 proto static src 10.3.4.86

192.168.6.0/24 via 192.168.15.1 dev eth0 table 220 proto static src 10.3.4.86
2.2) IKEv2

A reitoria não recomenda o uso deste formato no momento devido a problemas de

compatibilidade.

O IKEv2 é suportado na maioria dos sistemas operacionais, incluindo através do cliente do

StrongSwan utilizando o comando swanctl.

Infelizmente o sucesso desta conexão vai depender de como foi configurado o Firewall Forcepoint

e pode requerer alguns ajustes.

Existem duas configurações possíveis, deixaremos aqui registrada a configuração considerada de

mais amplo suporte e também a que possui ajustes para funcionar melhor com a atual

configuração de Firewall da Reitoria.

2.2.1) Configuração específica para Forcepoint NGFW - Reitoria

Crie um arquivo chamado ifsp-vpn-ret.conf em nano /etc/swanctl/conf.d/ :

sudo nano /etc/swanctl/conf.d/ifsp-vpn-ret.conf

Insira o seguinte conteúdo no arquivo:

connections {

IFSP-VPN-RET {

version = 2

proposals = aes256-aes128-sha256-sha1-modp1536

rekey_time = 0s

fragmentation = yes

dpd_delay = 300s

remote_addrs = 200.133.214.9

vips=0.0.0.0,::

local {

auth = eap

id = <seuprontuario>

eap_id = "<seuprontuario@ifsp.edu.br"
}

remote {

auth = pubkey

id = %any

children { esp_proposals = aes128-aes256-sha256-sha1-modp1536,aes128-aes256-

sha256

RET1 {

remote_ts = 192.168.2.0/24

RET2 {

remote_ts = 192.168.3.0/24

RET3 {

remote_ts = 192.168.6.0/24

RET4 {

remote_ts = 10.2.1.0/24

RET5 {

remote_ts = 10.10.1.0/24

RET6 {

remote_ts = 10.10.2.0/24

RET7 {

remote_ts = 10.10.21.0/24

RET8 {

remote_ts = 10.10.22.0/24

RET9 {

remote_ts = 45.236.121.0/25

RET10 {

remote_ts = 45.236.121.128/26

RET11 {

remote_ts = 45.236.121.192/27
}

RET11 {

remote_ts = 45.236.121.192/27

RET12 {

remote_ts = 2801:80:2410:100::/64

RET13 {

remote_ts = 2801:80:2410:200::/64

RET14 {

remote_ts = 2801:80:2410:2100::/64

RET15 {

remote_ts = 2801:80:2410:2200::/64

RET16 {

remote_ts = 2801:80:2410:5::/64

RET17 {

remote_ts = 2801:80:2410:6::/64

RET18 {

remote_ts = 2801:80:2410:6::/64

secrets {

eap {

id = <seuprontuario>@ifsp.edu.br

secret = <suasenha>

}}

Não se esqueça de adicionar seu prontuário e senha no arquivo!!

Em seguida, crie o arquivo vpn.sh no /home/pi :


nano /home/pi/vpn.sh

Adicione o seguinte conteúdo no arquivo:

#!/bin/bash

# Este script inicia ou desativa a VPN via swanctl - o numero no contator# se refere a

quantidade de entradas child seu arquivo de conf possui.

while [ -n "$1" ]; do

case "$1" in

-a) for counter in {1..11}; do swanctl -i -P -c RET$counter; done ;;

-d) for counter in {1..11}; do swanctl -t -P -c RET$counter; done ;;

*) echo "Opcao $1 nao reconhecida" ;;

esac

shift

done

Agora adicione a permissão de execução ao arquivo:

chmod +x /home/pi/vpn.sh

Iniciar e recarregar o serviço:

systemctl enable strongswan.servicesystemctl restart strongswan.service

Agora carregue as configurações:

sudo swanctl -q

você pode consultar todas as opções deste comando utilizando swanctl --help

Para iniciar a VPN basta executar (como root):

/home/pi/./vpn.sh -a
E para desativar a VPN:

/home/pi/./vpn.sh -d

Salve e saia.

2.2.2) Configuração de suporte amplo - Reitoria

Para esta configuração,  crie um arquivo chamado ifsp-vpn-ret.conf em nano

/etc/swanctl/conf.d/ :

sudo nano /etc/swanctl/conf.d/ifsp-vpn-ret.conf

Insira o seguinte conteúdo no arquivo:

connections {

IFSP-VPN-RET {

version = 2

proposals = aes256-aes128-sha256-sha1-modp1536

rekey_time = 0s

fragmentation = yes

dpd_delay = 300s

remote_addrs = 200.133.214.9

vips=0.0.0.0,::

local {

auth = eap

id = <seuprontuario>

eap_id = "<seuprontuario>@ifsp.edu.br"

remote {

auth = pubkey

id = %any

children {

RET { remote_ts =

192.168.2.0/24,192.168.3.0/24,192.168.6.0/24,10.10.21.0/24,10.10.22.0/24,10.10.1.0/24,10.10.2.0/24,45.

rekey_time = 0s

dpd_action = restart esp_proposals = aes128-aes256-sha256-sha1-


modp1536,aes128-aes256-sha256

secrets {

eap {

id = <seuprontuario>@ifsp.edu.br

secret = <suasenha>

}}

Iniciar e recarregar o serviço:

systemctl enable strongswan.servicesystemctl restart strongswan.service

Agora carregue as configurações:

sudo swanctl -q

você pode consultar todas as opções deste comando utilizando swanctl --help

Para iniciar a VPN:

sudo swanctl -i -c RET

E para desativar a VPN:

sudo swanctl -t -c RET