Esto no es tanto un problema de openkm como tal sino un tema de configuración de servidor ( en función de si esta en una intranet o extranet el tema sera distinto ). Yo lo que te comentaré será el caso de una extranet y lo que deberías hacer:
1- Adquirir un certificado SSL ( o generar uno ), aquí tienes una entrada muy interesante
http://wiki.openkm.com/index.php/Open_SSL sobre el tema
2- Configurar un firewal y solo permitir el puerto 443
3- Configurar apache para que solo funcione por el puerto 443
4- Configurar el proxy en apache sobre tomcat esto lo tiene explicado aqui
http://wiki.openkm.com/index.php/Third- ... L_and_more
5- La seguridad de las claves y nombres de usuarios ( para evitar ataques por fuerza bruta ) -> mirar habitualmente los logs para detectar si esto esta pasando, incluso se podría generar facilmente un report para controlar cuando un usuario ha intentado entrar mas de N veces en un periodo de tiempo corto y deshabilitarlo ( esto es fácil de hacer )
6- Controlar los bugs de seguridad en el sistema operativo, apache, tomcat y java ( y estar actualizado )
Esto sería lo mínimo ( a partir de aquí puedes hacer mas cosas ).
Relativo a OpenKM internamente tiene una auditoria completa por ip, usuario etc OKM_ACTIVITY que todas las operaciones del usuario ( desde obtener los hijos de una carpeta a borrar documentos etc... ) quedan registradas.
Hay 2 niveles de hackeo:
1- No tener acceso a openkm y acceder ( eso es mas o menos lo que te he contado antes )
2- Tener acceso y escalar a administrador ( esto ahora mismo no se me ocurre ninguna forma de hacerlo, sin antes ser administrador de openkm o siendo administrador del servidor, esta última opción no es trivial ).
A las últimas - esto ya lo hemos pensado - a parte de encriptar el contenido de los documentos ( cosa que ahora se puede hacer ) podríamos habilitar un repositorio totalmente encriptado ( el único problema que tiene esto, para que veas que esta pensado es que el buscador no funcionaría para el contenido, el resto si que seria operativo y la previsualización sería un caso bastante especial ). No sé si esto te ayuda o te liará.