Esse artigo se destina exclusivamente aos que possuem um etoken USB (conhecido no Brasil também como certificado A3) e desejam se conectar a uma VPN através do seu desktop
Linux. A tecnologia envolvida na VPN pode ser tanto da
Cisco (
AnyConnect) quanto da
Palo Alto (
GlobalProtect), as duas fornecedoras de solução que acredito serem as mais populares na atualidade.
Para compor esse documento foram utilizados os seguintes cenários:
- As distribuições Fedora 32 Workstation e Ubuntu 20.04.4 LTS, ambos baseados na arquitetura x86_64;
- O etoken foi o ePass2003 da Feitian Technologies;
- E a conexão de VPN foi o GlobalProtect.
IMPORTANTE: ajuste os passos a seguir à sua realidade, caso contrário, não terá os mesmos resultados; e siga todos os passos como usuário root, e não entre em pânico!
Obs.: alguns dados foram removidos por questões de segurança.
INSTALAÇÕES
a. Instalar driver
Baixe o arquivo ePass2003-Castle-20141128.tar.gz e descompacte.
Link alternativo:
Checksum:
- sha256 = 00fbb5756b1b01222fe6825ad7ca43da0b662d1f7e2d06584ea7c3c7be490a23
- md5sum = 6403ca6c744accb797bd866336760b81
b. Instalar p11tool
Fedora:
# dnf -y install gnutls-utils
Ubuntu:
# apt -y install gnutls-bin
c. Instalar OpenSC
Fedora:
# dnf -y install opensc (Fedora)
Ubuntu:
# apt -y install opensc (Ubuntu)
d. Instalar openconnect
Fedora: não é necessário
Ubuntu:
# apt -y install openconnect
e. Instalar Valgrind (apenas em caso de problemas)
Fedora:
# dnf -y install valgrind
Ubuntu:
# apt -y install valgrind
SUBSTITUIR BIBLIOTECAS
Localize os dois caminhos da biblioteca opensc-pkcs11.so e substitua pela biblioteca
libcastle.so.1.0.0, que acompanha o driver do ePass2003.
Exemplo para o Fedora:
# cd /usr/lib64;
# mv opensc-pkcs11.so opensc-pkcs11.so_default;
# ln -s /home/valim/util/ePass2003-Castle-20141128/x86_64/redist/libcastle.so.1.0.0 opensc-pkcs11.so
# cd /usr/lib64/pkcs11;
# mv opensc-pkcs11.so opensc-pkcs11.so_default;
# ln -s /home/valim/util/ePass2003-Castle-20141128/x86_64/redist/libcastle.so.1.0.0 opensc-pkcs11.so
Exemplo para o Ubuntu:
# cd cd /usr/lib/x86_64-linux-gnu;
# mv opensc-pkcs11.so opensc-pkcs11.so_default;
# ln -s /home/valim/util/ePass2003-Castle-20141128/x86_64/redist/libcastle.so.1.0.0 opensc-pkcs11.so
# cd /usr/lib/x86_64-linux-gnu/pkcs11;
# mv opensc-pkcs11.so opensc-pkcs11.so_default;
# ln -s /home/valim/util/ePass2003-Castle-20141128/x86_64/redist/libcastle.so.1.0.0 opensc-pkcs11.so
IMPORTANTE: caso atualize a versão do OpenSC, repita a operação de substituir a biblioteca.