Tomcat 8, authentification Kerberos

Je configure kerberos pour un server Tomcat. Avant d'appeler la société de support d'applications Web, j'aimerais savoir si je fais les bonnes étapes car c'est ma première fois.

Le domaine a 2 zones, l'un est .local et l'autre est .edu.

Les personnes accéderont au server via server.domain.edu car il possède un certificate SSL pour ce nom.

J'ai un user Windows qui possède un HTTP / server.domain.edu enregistré SPN. Le count peut s'exécuter en tant que service.

J'ai exécuté cette command ktpass -princ HTTP/server.domain.edu@domain.edu -mapuser user@domain.local -pass "UserPass" -ptype KRB5_NT_PRINCIPAL -out keytabfile.kt .

À partir de cette command, j'ai obtenu un HTTP / server.domain.edu mappé avec succès à user@domain.local et le file key.

J'ai copié le file sur le server Tomcat et j'ai configuré ce qui suit.

Un file jass.conf:

 WebFDD { com.sun.security.auth.module.Krb5LoginModule required debug=true useKeyTab=true storeKey=true keyTab="C:/keytab.kt" principal="HTTP/server.domain.edu" isInitiator=false; }; 

Et un file krb5.conf:

 [libdefaults] default_realm = domain default_keytab_name = FILE:c:\keytab.kt default_tkt_enctypes = rc4-hmac,aes256-cts-hmac-sha1-96,aes128-cts-hmac-sha1-96 default_tgs_enctypes = rc4-hmac,aes256-cts-hmac-sha1-96,aes128-cts-hmac-sha1-96 forwardable=true [realms] domain = { kdc = dc.domain.local admin_server = dc.domain.local } [domain_realm] domain.local = pupr.local .domain.local= pupr.local 

Ensuite, dans l'outil de configuration Tomcat:

Configure le count pour commencer avec user@domain.local.

Ajout de ces 2 options java:

 -Djava.security.auth.login.config=C:\jaas.conf -Djava.security.krb5.conf=C:\krb5.conf 

Le service démarre et je peux voir des pages qui ne nécessitent pas d'authentification.

Lorsque j'active kerberos dans l'application Web dans le file xml, je place server.domain.edu, le port est déjà défini sur 1433 (c'est pour SQL), donc je le laisse comme ça.

J'ai essayé de regarder les journaux dans le server mais je ne trouve rien

C:\Program Files\Apache Software Foundation\Tomcat 8.0\logs est vide.

Lorsque j'essaie d'accéder au site, je reçois cette erreur:

 type Exception report message Servlet.init() for servlet action threw exception description The server encountered an internal error that prevented it from fulfilling this request. exception javax.servlet.ServletException: Servlet.init() for servlet action threw exception org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:613) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1086) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:659) org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1558) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1515) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.lang.Thread.run(Unknown Source) root cause java.lang.NullPointerException com.feith.webfdd.action.FddActionServlet.init(FddActionServlet.java:371) javax.servlet.GenericServlet.init(GenericServlet.java:158) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:613) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1086) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:659) org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1558) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1515) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.lang.Thread.run(Unknown Source) 

Merci pour votre time!

  • Les references de domaine mises en cache restront-elles en service si l'appareil ne se connecte jamais au domaine?
  • Les Mac connectés à Windows File partager
  • LTO-3 restaure de la sauvegarde lorsque le logiciel de sauvegarde est inconnu
  • Verrouillez un site en utilisant Forms Auth dans IIS7 avec Windows Auth
  • Enable-PSRemoting: Existe-t-il des menaces de security?
  • Accès refusé sur certains fichiers sur Win2008R2 partage DC
  • Après Windows Server Restore, aucune machine linux sur notre réseau n'a de connection Internet
  • Le server Windows 2008 arrête d'accepter plus après les connections TCP 90-100K
  • Comment puis-je arrêter .exe étant exécuté à partir de supports amovibles, tels que les lecteurs USB?
  • Server 2008 ne répond pas après l'installation de SP2
  • Suivi d'une fuite de memory
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.