• Nenhum resultado encontrado

Configurar o redirecionamento de cartão inteligente em um hine virtual SLED / SLES Mac

Para configurar o redirecionamento de cartão inteligente em uma máquina virtual (VM) SLED / SLES, instale as bibliotecas das quais o recurso depende e o certificado da CA raiz para oferecer

suporte à autenticação confiável de cartões inteligentes. Além disso, você deve editar alguns arquivos de configuração para concluir a configuração da autenticação.

Alguns exemplos no procedimento usam valores de espaço reservado para representar entidades na sua configuração de rede, como o nome DNS do seu domínio do AD. Substitua os valores de espaço reservado por informações específicas para sua configuração, conforme descrito na tabela a seguir.

Valor do espaço reservado Descrição

dns_IP_ADDRESS Endereço IP do seu servidor de nome DNS

meudominio.com Nome DNS do seu domínio do AD

MYDOMAIN.COM Nome DNS do seu domínio do AD, em letras maiúsculas

MYDOMAIN Nome DNS do grupo de trabalho ou do domínio NT que

inclui o servidor Samba, em letras maiúsculas

anúncios-nome do host Nome do host do seu servidor AD

ad-hostname.mydomain.com Nome de domínio totalmente qualificado (FQDN) do seu servidor AD

mytimeserver.mycompany.com Nome DNS do seu servidor de horário NTP

AdminUser Nome de usuário do administrador da VM

Pré-requisitos

Conclua as etapas descritas em Integre um Hine de Mac virtual SLED/SLES com Active Directory para redirecionamento de cartão inteligente.

Procedimentos

1 Instale os pacotes de biblioteca necessários.

a Instale a biblioteca do PAM e outros pacotes.

# zypper install pam_pkcs11 mozilla-nss mozilla-nss-tools pcsc-lite pcsc-ccid opensc coolkey pcsc-tools

Talvez você precise ativar extensões como o PackageHub para instalar todos os pacotes acima

b Para usar os pacotes instalados, habilite extensões como o PackageHub e instale as ferramentas de PC / SC. Por exemplo, você pode executar os seguintes comandos para o SLED / SLES 12 SP3.

# SUSEConnect --list-extensions

# SUSEConnect -p PackageHub/12.3/x86_64

# zypper in pcsc-tools

2 Instale um certificado da Autoridade de Certificação Raiz (CA).

a Baixe um certificado da CA raiz e salve-o em /tmp/certificate.cer no sistema.

Consulte Como exportar o certificado da autoridade de certificação raiz .

b Localize o certificado da CA raiz que você baixou, transfira-o para um arquivo .pem e crie um arquivo hash.

# openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem

# cp /tmp/certificate.pem /etc/pam_pkcs11/cacerts

# chmod a+r /etc/pam_pkcs11/cacerts/certificate.pem

# cd /etc/pam_pkcs11/cacerts

# pkcs11_make_hash_link

c Instale as âncoras de confiança no banco de dados do NSS.

# mkdir /etc/pam_pkcs11/nssdb

# certutil -N -d /etc/pam_pkcs11/nssdb

# certutil -L -d /etc/pam_pkcs11/nssdb

# certutil -A -n rootca -i certificate.pem -t "CT,CT,CT" -d /etc/pam_pkcs11/nssdb

d Instale os drivers necessários.

# cp libcmP11.so /usr/lib64/

# modutil -add "piv card 2.0" -libfile /usr/lib64/libcmP11.so -dbdir /etc/pam_pkcs11/

nssdb/

3 Edite o arquivo /etc/pam_pkcs11/pam_pkcs11.conf .

a Exclua a linha use_pkcs11_module = nss . Em seu lugar, adicione a linha use_pkcs11_module = mysc .

b Adicione o módulo mysc , conforme mostrado no exemplo a seguir.

pkcs11_module mysc {

module = /usr/lib64/libcmP11.so;

description = "MY Smartcard";

slot_num = 0;

nss_dir = /etc/pam_pkcs11/nssdb;

cert_policy = ca, ocsp_on, signature, crl_auto;

}

c Atualize a configuração do mapeador de Nome Comum, conforme mostrado no exemplo a seguir.

# Assume common name (CN) to be the login mapper cn {

debug = false;

module = internal;

# module = /usr/lib64/pam_pkcs11/cn_mapper.so;

ignorecase = true;

mapfile = file:///etc/pam_pkcs11/cn_map;}

d Exclua a linha use_ma ordem = ms . Em seu lugar, adicione a linha use_ma ordem = cn, nula .

4 Edite o arquivo de configuração / etc / pam_pkcs11 / cn_map para que ele inclua a linha a seguir.

ads-hostname -> ads-hostname

5 Modifique a configuração do PAM.

a Para possibilitar a configuração da autenticação por cartão inteligente, primeiro desative a ferramenta pam_config .

# find /etc/pam.d/ -type l -iname "common-*" -delete

# for X in /etc/pam.d/common-*-pc; do cp -ivp $X ${X:0:-3}; done

b Crie um arquivo chamado common-auth-smartcard no diretório /etc/pam.d/ . Adicione o seguinte conteúdo ao arquivo.

auth required pam_env.so auth sufficient pam_pkcs11.so

auth optional pam_gnome_keyring.so

auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass auth required pam_winbind.so use_first_pass

c Substitua a linha auth include common-auth pela linha auth include common-auth-smartcard em ambos os arquivos: /etc/pam.d/gdm e /etc/pam.d/xsccreenaver . 6 Para configurar o serviço pcscd para iniciar automaticamente após o reinício da VM, edite o

arquivo apropriado para a sua versão do SLED / SLES.

n (SLED / SLES 12.x) Adicione a linha rcpcscd start a /etc/init.d/after.local para que o arquivo seja semelhante ao exemplo a seguir.

#! /bin/sh

#

# Copyright (c) 2010 SuSE LINUX Products GmbH, Germany. All rights reserved.

#

# Author: Werner Fink, 2010

#

# /etc/init.d/after.local

#

# script with local commands to be executed from init after all scripts

# of a runlevel have been executed.

#

# Here you should add things, that should happen directly after

# runlevel has been reached.

#

rcpcscd start

n (SLED / SLES 15.x) Adicione a linha WantedBy=multi-user.target a /usr/lib/systemd/

system/cscd.service para que o arquivo seja semelhante ao exemplo a seguir.

[Unit]

Description=PC/SC Smart Card Daemon Requires=pcscd.socket

[Service]

ExecStart=/usr/sbin/pcscd --foreground --auto-exit ExecReload=/usr/sbin/pcscd --hotplug

[Install]

Also=pcscd.socket

WantedBy=multi-user.target

Depois de editar o arquivo peçascd.service , execute o seguinte comando.

systemctl enable pcscd

Observação Se o serviço pcscd não iniciar após a reinicialização da VM, o primeiro login via pam_pkcs11 falhará.

7 Desative o firewall.

# rcSuSEfirewall2 stop

# chkconfig SuSEfirewall2_setup off

# chkconfig SuSEfirewall2_init off

Observação Às vezes, o redirecionamento de cartão inteligente falha quando o firewall está ativado.

8 Atualize a biblioteca PC / SC Lite para a versão 1.8.8.

n Para SLED / SLES 12 SP3 ou 15.x, use a seguinte sequência de comandos. Substitua

<versão-SUSE> pelo número da versão da sua distribuição, por exemplo, 15.2 para SLED / SLES 15 SP2.

# SUSEConnect -p sle-sdk/<SUSE-version>/x86_64

# zypper in git autoconf automake libtool flex libudev-devel gcc

# git clone https://salsa.debian.org/rousseau/PCSC.git

# cd PCSC/

# git checkout -b pcsc-1.8.8 1.8.8

# ./configure -program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr

bindir=/usr/bin sbindir=/usr/sbin sysconfdir=/etc datadir=/usr/share --includedir=/usr/include

libdir=/usr/lib64 libexecdir=/usr/libexec localstatedir=/var --sharedstatedir=/var/lib64

--mandir=/usr/share/man --infodir=/usr/share/info --disable-static --enable-usbdropdir=/usr/lib64/pcsc/drivers

# make

# make install

n Para o SLES 12 SP5, use a seguinte sequência de comandos.

# SUSEConnect -p sle-sdk/12.5/x86_64

# zypper in git-core autoconf automake libtool flex libudev-devel gcc

# git clone https://salsa.debian.org/rousseau/PCSC.git

# cd PCSC/

# git checkout -b pcsc-1.8.8 1.8.8

# ./bootstrap

# ./configure -program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/

share includedir=/usr/include libdir=/usr/lib64 libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib64 --mandir=/usr/share/man --infodir=/usr/

share/info --disable-static --enable-usbdropdir=/usr/lib64/pcsc/drivers

# make

# make install

9 (SLED / SLES 15.x) Para garantir que o cartão inteligente funcione corretamente, modifique o arquivo org.gnome.Shell.desktop na VM.

a Abra o arquivo /usr/share/applications/org.gnome.Shell.desktop . b No arquivo, localize e substitua Exec=/usr/bin/gnome-shell pela linha a seguir.

Exec=sh -c "DISPLAY=:${DISPLAY##*:} exec /usr/bin/gnome-shell"

c Salve e feche o arquivo.

10 Instale o pacote Horizon Agent, com o redirecionamento de cartão inteligente habilitado.

# sudo ./install_viewagent.sh -m yes

11 Reinicie a VM e faça login novamente.