Qual è l'approccio più avanzato per proteggere un'API back-end?

2

Ambito

Attualmente stiamo sviluppando un'API REST back-end che viene utilizzata da una manciata di applicazioni MVC. In questo caso stiamo parlando solo di comunicazione server-server e l'API non verrà utilizzata direttamente da nessun utente. L'ambiente è puramente su Windows Server e bisogna ricordare che al momento non ci sono piani per utilizzare la directory attiva.

Qual è il modo migliore per autenticare un'applicazione server (MVC) con l'API di back-end?

Considerando che tutto è fatto su https, al momento stiamo valutando entrambi  certificato del cliente o autenticazione basata su token (tramite Basic / Bearer).

Con entrambi questi approcci emergono molti pro e contro e lo farei davvero  come il tuo aiuto per verificare, correggere e magari completarli.

Autenticazione basata su token

  • Si adatta bene nel caso in cui decidessimo di usarlo anche per altre parti
  • Nessun certificato client (installazione, rinnovo)

Autenticazione certificato client

  • Ampia diffusione nell'ambiente aziendale
  • Ben affermato
  • Quantità gestibile di clienti
  • Considerato da molti come una delle opzioni più sicure
  • Nessun singolo punto di errore (server di identità ospitato autonomamente)

Conclusione

Sono abbastanza sicuro di aver dimenticato alcuni aspetti importanti e apprezzo ogni tipo di input.

Inoltre, dato l'ambito sopra il quale opterebbe?

    
posta HansMusterWhatElse 26.06.2017 - 10:08
fonte

1 risposta

1

Il mio consiglio sarebbe di non preoccuparsi dell'autenticazione tra i server di frontend e quelli di back-end, ma di impostare un canale sicuro tra loro. Da un punto di vista architettonico, ciò significa impostare tutti quei server nella stessa zona di sicurezza e impedire qualsiasi accesso esterno al back-end. Da lì in poi, se un server front-end invia richieste al back-end, passa semplicemente l'id utente e il back-end si fiderà di esso perché la richiesta può provenire solo da un server trusted.

Questo è comune nel centro di calcolo medio-grande: l'autenticazione utente viene eseguita dai server MVC o in caso di autenticazione con certificato X509 da proxy inversi e gli altri server si fidano solo di ciò che è stato inserito nella richiesta dal primo server questo ha fatto l'autenticazione.

    
risposta data 26.06.2017 - 11:34
fonte

Leggi altre domande sui tag