Skip to main content

Autenticazione a Due Fattori (2FA)

Attualmente si consiglia ora l'autenticazione a due fattori per proteggere l'accesso ai servizi Internet e proteggersi da attacchi di phishing e furto di credenziali. Questa autenticazione genera codici di verifica in due passaggi per gli utenti sui loro dispositivi, aumentando così la sicurezza del tuo account richiedendo un secondo passaggio di verifica al momento dell'accesso.

L'autenticazione a due fattori rende difficile agli hacker accedere agli account online e ai dispositivi di una persona a causa del suo livello di sicurezza avanzato. Non è sufficiente riconoscere la password della vittima per passare la verifica dell'autenticazione. Per impedire che i dati dei propri utenti siano "hacker", i servizi online stanno progressivamente introducendo 2FA. L'autenticazione a due fattori è responsabile dell'accesso e del controllo dei dati e dei sistemi sensibili.

LogicalDOC supporta l'autenticazione a due fattori che integra le più comuni tecnologie 2FA come Goole Authenticator, Yubikey o Duo.

Una volta abilitata l'autenticazione a due fattori, dopo aver inserito le credenziali può apparire un secondo pannello di accesso che chiede di inserire la chiave del secondo fattore::

1   2

 

Abilita questa funzione in Amministrazione > Sicurezza > Autenticazione a Due Fattori e abilita anche gli autenticatori che si desidera supportare.

Fatto ciò, ciascun utente può abilitare il 2FA utilizzando il menu Account > Sicurezza > Autenticazione a Due Fattori.

In ogni caso l'amministratore può forzare la 2FA su utenti specifici. Per fare ciò, accedere a Amministrazione > Sicurezza > Utenti e fare clic con il tasto destro del mouse su un utente, quindi scegliere Autenticazione a Due Fattori.

Nel popup, scegli un autenticatore e segui le indicazioni. Si noti che, in generale, gli autenticatori richiedono la presenza fisica del dispositivo di autenticazione.

Autenticazione a due fattori con Duo

Se scegli Duo come autenticazione a due fattori, devi configurare la connessione all'API Duo. Una guida dettagliata di Duo è disponibile qui: https://duo.com/docs/protecting-applications

Innanzitutto accedi al pannello di amministrazione di Duo, vai su Applications e fai clic su Protect an Application.

Duo admin panel

Nella pagina successiva seleziona Duo Auth API:

Duo protect and application
 

Ora ottieni le impostazioni che devi copiare e incollare nel pannello di configurazione di Duo nell'amministrazione di LogicalDOC:

API security

Puoi anche dare un nome all'applicazione in Duo, ti suggeriamo di utilizzare LogicalDOC:

API settings

Alla fine clicca su Salva per confermare tutto.

Configurare SAML con Microsoft ADFS

Prima di iniziare

Prima di iniziare, devi generare certificati di crittografia per crittografare la connessione SAML e caricarli in LogicalDOC

  1. È possibile utilizzare lo script Bash dal repository logicaldoc/scripts su GitHub o qualsiasi altro metodo adatto.
  2. Salvare i due file generati. Sono la chiave privata e la chiave pubblica. Nel pannello delle impostazioni SAML, vengono indicati rispettivamente come Chiave privata dell'SP e Certificato dell'SP.

Devi anche assicurarti di utilizzare LogicalDOC su HTTPS perché ADFS non accetterà a un semplice Relying Party HTTP.

Prepara LogicalDOC

  1. Abilitare il Single Sign-On SAML in Amministrazione > Sicurezza > Single Sign-On SAML.
  2. Nel campo SP Entity ID inserisci un identificatore univoco (puoi inserire qui lo stesso URL che usi normalmente per connetterti a LogicalDOC, ad esempio https://localhost:9443)
  3. Abilita sia la firma dei messaggi AuthnRequest che la crittografia delle asserzioni ricevute.
  4. Scegli SHA-256 come Algoritmo di firma.
  5. Carica il Certificato dell'SP e la Chiave privata dell'SP generati in precedenza, nei campi corrispondenti.
  6. Nel form Mappatura degli attributi, prepara le seguenti mappature:
    • In Username, scrivi username
    • In Nome, scrivi firstName
    • In Cognome, scrivi lastName
    • In Email, scrivi email
    • In Gruppi, scrivi groups

    Clicca su Salva per confermare tutta la configurazione.

    SAML Panel
  7. Esporta il file di metadati del fornitore di servizi facendo clic sull'URL visualizzato nel campo Metadati dell'SP. In seguito dovrai usare questo file in ADFS.

Ora hai completato la configurazione di LogicalDOC e puoi affrontare la configurazione di ADFS.

Prerequisiti

  • Un'istanza di Active Directory in cui tutti gli utenti hanno specificato gli attributi email e nome utente.
  • Un Microsoft Server in esecuzione.
  • Un certificato SSL per firmare la tua pagina di accesso ADFS.
  • ADFS installato sul tuo Microsoft Server. In questo articolo puoi trovare una guida dettagliata per la distribuzione e la configurazione di ADFS.

Nell'installazione di ADFS, apri la console ADFS. Seleziona Service, quindi seleziona Endpoints. Nella colonna Type , cerca SAML 2.0/WS-Federation e annota il valore della colonna URL Path. In questa guida questo è noto anche come SAML SSO URL Endpoint. Se hai scelto le impostazioni predefinite per l'installazione, questo sarà /adfs/ls

Aggiungi un relying party trust

  1. Apri lo snap-in di gestione ADFS, quindi seleziona AD FS > Relying Party Trusts > Add Relying Party Trust dalla barra laterale destra. Puoi anche fare clic con il pulsante destro del mouse su Relying Party Trust, quindi selezionare Add Relying Party Trust dal menu contestuale.

    Relaying party
  2. Nella schermata di benvenuto della procedura guidata di configurazione selezionare Claims aware, quindi selezionare Start.

    Relaying party
  3. Nella schermata Select Data Source, seleziona Import data about the relying party from a file. Scegli qui lo stesso file di metadati ottenuto al passo 7 della preparazione di LogicalDOC.

    Relaying party
  4. Nella schermata Specify Display Name, immettere un Display Name(ad esempio, LogicalDOC). Puoi aggiungere note facoltative.

    Relaying party
  5. Nella schermata Choose Access Control Policy, seleziona la policy di controllo accessi adatta al tuo ambiente. Questa guida presuppone i valori predefiniti Permit everyone.

    Relaying party
  6. Nella schermata Ready to Add Trust, rivedi le tue impostazioni.

    Relaying party
  7. Nella schermata Finish selezionare Configure claims issuance policy for this application, quindi selezionare Close.

    Relaying party

Crea le claim rules

  1. Nella scheda Issuance Transform Rules dell'editor Claim Rules, seleziona Add Rule....

    Claim rules
  2. Nella schermata Choose Rule Type, seleziona Send LDAP Attributes as Claims dal menu a discesa, quindi seleziona Next.

    Claim rules
  3. Nella schermata Configure Claim Rule, inserisci un nome regola attestazione a tua scelta (ad esempio: logicaldoc), seleziona Active Directory come Attribute Store, quindi aggiungi la seguente mappatura:

    • Dalla colonna LDAP Attribute, seleziona E-Mail-Addresses. Da Outgoing Claim Type, scrivi email
    • Dalla colonna LDAP Attribute, seleziona Given-Name. Da Outgoing Claim Type, scrivi fistName
    • Dalla colonna LDAP Attribute, seleziona Surname. Da Outgoing Claim Type, scrivi lastName
    • Dalla colonna LDAP Attribute, seleziona SAM-Account-Name. Da Outgoing Claim Type, scrivi username
    • Dalla colonna LDAP Attribute, seleziona Token-Groups - Unqualified Names. Da Outgoing Claim Type, scrivi groups

    Selezionare Finish per aggiungere la regola.

    Le voci nella colonna Outgoing Claim Type possono essere modificate. Le voci possono contenere trattini ma non spazi. Sono usati per mappare i campi corrispondenti in LogicalDOC.

    Claim rules
  4. Seleziona Add Rule per creare un'altra nuova regola.

  5. Nella schermata Choose Rule Type, seleziona Transform an Incoming Claim dal menu a discesa, quindi seleziona Next.

    Claim rules
  6. Nella schermata Configure Claim, inserisci un Claim Rule Name a tua scelta, poi:

    • Seleziona UPN per l' Incoming claim type
    • Seleziona Name ID per l' Outgoing claim type
    • Seleziona Email per l' Outgoing name ID format

    Seleziona Pass through all claim values, quindi seleziona Finish.

    Claim rules
  7. Selezionare Finish per creare la regola di attestazione, quindi selezionare OK per completare la creazione delle regole.

  8. Apri Windows PowerShell come amministratore, quindi esegui il comando seguente:

    Set-ADFSRelyingPartyTrust -TargetName LogicalDOC -SamlResponseSignature "MessageAndAssertion"

    dove LogicalDOC è il nome specificato nel passaggio 4 quando hai aggiunto un relying party trust.

    Questa azione aggiunge la firma ai messaggi SAML, garantendo la riuscita della verifica.

Esporta i metadati del provider di identità

Successivamente, esporta i metadati del provider di identità, che verranno successivamente caricati su LogicalDOC per completare la configurazione SAML.

  1. Nel riquadro di navigazione sinistro espandere AD FS > Service e quindi fare clic su Endpoints.

  2. Nel riquadro di destra, in Endpoints > Metadata, nella riga Federation Metadata, copiare il percorso dell'URL.

    Ad esempio, copia FederationMetadata/2007-06/FederationMetadata.xml

    Claim rules
  3. Aggiungi il nome host del computer AD FS al percorso URL che hai copiato come segue:

    https://nome_host/FederationMetadata/2007-06/FederationMetadata.xml

  4. Per recuperare i metadati dell'IdP (provider di identità), in un browser, incolla l'URL completo

  5. Vai su LogicalDOC in Amministrazione > Sicurezza > Single Sign-On SAML e carica il file dei metadati del provider di identità nel campo Metadati dell'IdP.

    Fare clic sul pulsante Salva per confermare tutto.

Testa la login

Per verificare se tutto è stato configurato correttamente, puoi provare ad avviare un accesso da LogicalDOC in qualità di fornitore di servizi.

  1. Vai su LogicalDOC in Amministrazione > Sicurezza > Single Sign-On SAML e copia il collegamento del campo Accedi(è l'URL di base di LogicalDOC seguito da /saml/login).
  2. Apri un browser diverso e incolla l'URL e dovresti essere reindirizzato alla pagina di accesso di ADFS.
  3. Qui inserisci le credenziali di un utente nel tuo Active Directory e dovresti essere loggato direttamente in LogicalDOC.

Autenticazione Esterna

L'applicazione è in grado di gestire l'autenticazione utenti attraverso sistemi esterni oltre all'autenticazione standard. Siamo in grado di autenticare gli utenti nei sistemi di Active Directory e LDAP.

Si prega di entrare nella sezione di Amministrazione > Sicurezza > Autenticazione Esterna

Qui è possibile configurare la connessione a un set di server LDAP e/o AD:

  • URL: complete connection URL to the external authentication server including port number (for ActiveDirectory it is 389)
  • Utente: utente che può eseguire ricerche all'interno del vostro LDAP/ActiveDirectory (per Active Directory dovete mettere il nome canonico dell'utente)
  • Password: password per collegarsi
  • Nodo base utenti: nome canonico del nodo principale in cui si trovano gli utenti (è possibile definire più nodi separati da punto e virgola ';')
  • Nodo base gruppi: nome canonico del nodo principale in cui si trovano i gruppi(è possibile definire più nodi separati da punto e virgola ';')
  • Filtri Inclusione / Esclusione utenti: elenchi di espressioni separati da virgole per limitare i nomi utente da consentire, eg: inclusione: usr*,user*    esclusione: sysem*,Administrator,Sysadmin
  • Filtri Inclusione / Esclusione gruppi: elenchi di espressioni separati da virgole per limitare i nomi di gruppi da consentire, eg: inclusione: grp*,group*,staff    esclusione: Admin*,Power*
  • Mantieni appartenenza a gruppi locali: se abilitata, le appartenenze definite in LogicalDOC verranno conservate altrimenti verranno sovrascritte da quelle specificate nel server LDAP o AD
  • Tempo d'attesa: tempo massimo di attesa per una risposta dal server di autenticazione
  • Sincronizza se più vecchio di: numero di ore dopo le quali il profilo dell'utente locale viene aggiornato con i dati correnti dalla directory (0 significa sincronizzare sempre, -1 significa non sincronizzare mai)
  • Validazione: una procedura di automazione invocata ogni volta che un utente sta per essere autenticato tramite LDAP per decidere se deve essere autenticato o meno, oppure per eseguire ulteriori elaborazioni sull'utente stesso. La procedura di automazione riceverà la variabile ldapUser, utilizza il flag booleano ldapUser.valid per contrassegnare l'utente come autorizzato o meno.

Dizionario disponibile per l'Automazione in questo contesto

CONTESTO DI AUTOMAZIONE: AUTENTICAZIONE ESTERNA
VariabileClasse JavaDescrizione
ldapUser

LDAPUser

l'utente che viene autenticato

Leggi il manuale dell'Automazione per maggiori informazioni.

Per controllare se i parametri di connessione sono corretti, basta cliccare su Verifica connessione.

Dopo aver collegato la directory esterna, cliccare su Salva per rendere persistenti le modifiche.

Autenticazione al volo

La prossima volta che un utente tenta di accedere a LogicalDOC, sarà autenticato contro il vostro LDAP/ActiveDirectory prima, e se il processo viene completato con successo, il profilo dell'utente (ma non la password) viene anche automaticamente importato in LogicalDOC.

Importare gli utenti manualmente

Di tanto in tanto potresti voler importare manualmente un nuovo utente da LDAP/ActiveDirectory, in questo caso, aprire la scheda Navigatore e qui cliccare su Cerca per trovare tutti gli utenti che si trovano a qualsiasi livello nel nodo di base configurato.

Fai clic con il pulsante destro del mouse sull'utente che desideri importare e seleziona Importa. Quando l'utente viene importato, vengono importati anche i gruppi a cui appartiene (e che si trovano al di sotto del nodo base dei gruppi configurato in precedenza).

Politiche di sicurezza

Quando l'utente viene importato per la prima volta, si dovranno poi concedere a lui e/o ai suoi gruppi le autorizzazioni in LogicalDOC. Per impostazione predefinita, l'utente importato ha le stesse autorizzazioni concesse al gruppo ospite.

Implicazioni di sicurezza

LogicalDOC ha bisogno di recuperare le informazioni del profilo dell'utente da LDAP (e-mail, telefono ecc.), quindi richiede la serializzazione. Si prega di utilizzare solo server LDAP affidabili e comunque di connettersi a esso con credenziali di autorizzazione di sola lettura

Active Directory

Clicca su Active Directory per applicare alcuni parametri standard adatti per la connessione a un server di dominio AD.

Single Sign-on

Il Central Authentication Service (CAS) è il protocollo single sign-on più utilizzato per il web. Lo scopo è di consentire a un utente di accedere a più applicazioni fornendo le proprie credenziali (username e password) solo una volta. Consente inoltre alle applicazioni Web di autenticare gli utenti senza accedere alle credenziali di sicurezza dell'utente, come ad esempio una password. Il nome CAS si riferisce anche a un pacchetto software che implementa questo protocollo.

Prima di tutto dovresti leggere come funziona CAS: A detailed walk through a CAS authentication

In base al protocollo, CAS funziona solo con connessioni HTTPS protette. Per questo motivo è necessario utilizzare LogicalDOC su HTTPS. Accedi a https://localhost:8443 per verificare che funzioni correttamente.

Se non hai un server CAS già installato per la tua azienda, ti suggeriamo di scaricare e installare questa implementazione: https://www.apereo.org/projects/cas

Per configurare il Single Sign-on in LogicalDOC, fare riferimento alla sezione Amministrazione > Sicurezza > Single  Sign-on

Nel modulo seguente devi abilitare la funzione e connettere LogicalDOC al servizio CAS aziendale:

  • Url applicazione: l'URL da utilizzare dal server CAS per raggiungere LogicalDOC
  • Url CAS: l'URL da utilizzare dal server LogicalDOC per raggiungere il server CAS
  • URL login CAS: l'URL della pagina di accesso ospitata dal server CAS
  • Gruppo: gruppo assegnato ai nuovi utenti autenticati attraverso il CAS
  • Lingua: lingua assegnata ai nuovi utenti autenticati attraverso il CAS

Una volta attivato il Single Sign-on, dovresti accedere a LogicalDOC con questo URL: https://localhost:8443/frontend

Se non si è già autenticati, si verrà indirizzati alla pagina di accesso del server CAS.

Info

Anche se abiliti il Single Sign-on, la pagina di accesso standard su https://localhost:8443/login continua a essere disponibile e funziona come al solito.