Configuración de la Seguridad
Configuración de Dominios y Áreas de Trabajo
Tras instalar hipergate el usuario y contraseñ por defecto para entrar al Dominio y Área de Trabajo de TEST aparecen por defecto en la pantalla de inicio.
Ademá del dominio de TEST hipergate trae pre-creados otros dos dominios REAL y DEMO.
Por último hipergate tiene dos dominios reservados SYSTEM y MODEL con 5 usuarios que deben conservarse, aunque se debe cambiar su contraseña por defecto.
El dominio MODEL no debe tocarse nunca excepto para modificar las contraseñas de sus usuarios por motivos de seguridad.
El dominio SYSTEM es desde donde pueden crearse dominios adicionales.
Usuarios y contraseñas por defecto | ||
---|---|---|
Usuario | Contraseña | Comentarios |
administrator@hipergate-test.com | TEST | |
administrator@hipergate-demo.com | DEMO | |
administrator@hipergate-real.com | REAL | |
administrator@hipergate-system.com | hipergate | Cuenta de administrador del sistema completo de hipergate. Gestiona los dominios, areas de trabajo y usuarios que pueden acceder a la aplicación a nivel global. |
administrator@hipergate-model.com | model | Se utiliza sólo cuando se crea un nuevo dominio. |
superuser@hipergate-model.com | model | Se utiliza sólo cuando se crea un nuevo dominio. |
user@hipergate-model.com | model | Se utiliza sólo cuando se crea un nuevo dominio. |
guest@hipergate-model.com | model | Se utiliza sólo cuando se crea un nuevo dominio. |
Para má información sobre cómo crear Dominios, Áreas de Trabajo y Usuarios lea el Manual de Usuario.
Recomendaciones para eliminar o deshabilitar usuarios innecesarios
Conectado como administrator@hipergate-system.com al dominio SYSTEM se recomienda borrar todos los otros dominios que no se vayan a utilizar, excepto MODEL no borrar MODEL en ningún caso.
Conectado como administrator@hipergate-model.com al dominio MODEL se recomienda cambiar todas las contraseñas de todos los usuarios de este dominio, pero no borrar ninguno de ellos.
Conectado como administrator al cada dominio se recomienda borrar todos aquellos usuarios que no se vayan a utilizar. Para los usuarios que si se vayan a utilizar cambiarles la contraseña.
Protección del subdirectorio /admin
El subdirectorio /admin contiene,a demás del asistente de instalación, un interfaz de acceso SQL a la base de datos. Es necesario limitar el acceso a dicho interfaz SQL. Para ello se debe proteger el subdirectorio /admin con autentificación básica del servidor web.
Permisos de Tomcat sobre /tmp y /storage
El usuario que ejecute Tomcat (si no es root) debe de tener permisos de lectura y escritura sobre el directorio /tmp (o C:\Temp en Windows) y sobre el directorio storage que se haya indicado en hipergate.cnf.
Cambio de la cadena de conexión a la base de datos y otros parámetros de instalación
El archivo hipergate.cnf que está en /etc o C:\Windows contiene la información sobre conexión a la base de datos y directorios de almacenamiento de archivos
NOTA: las variables $CATALINA_HOME no son válidas en este fichero, se utilizan por claridad.
# [Base de Datos] # Parámetros de conexión a la base de datos driver=org.postgresql.Driver dburl=jdbc:postgresql://127.0.0.1:5432/test schema= dbuser=postgres dbpassword=postgres # [Pool de conexiones] # Parámeteros que gobiernan el comportamiento del pool de conexiones de hipergate poolsize=32 maxconnections=100 logintimeout=20 connectiontimeout=60000 connectionreaperdelay=30000 # [Acceso a Ficheros] # Directorio para archivos temporales temp=/tmp # Acceso a ficheros por parte del servidor # Modo de acceso a ficheros (PUREJAVA=0, UNIX=1, WINDOWS = 2) javamode=0 # URL raíz de la aplicación web webserver=http://hostname:8080 # URL raíz al servidor de imágenes opcional imageserver=http://hostname:8080/images # Protocolo, host, usuario y contraseña de acceso a los siguientes recursos fileprotocol=file:// fileserver=localhost fileuser= filepassword= # Directorio raíz de almacenamiento privado storage=/opt/storage # Directorio para almacenar tareas de borrado shelldir=/tmp # Directorio raíz de almacenamiento público workareasput=$CATALINA_HOME/webapps/hipergate/workareas # URL raíz de almacenamiento público workareasget=http://hostname:8080/workareas # Tamaño máximo de fichero (bytes) maxfileupload=10485760 # [Miscelánea] # ¿Realizar validación XML de documentos? setXMLValidation=1 # Número de hilos del planificador de tareas maxschedulerthreads=1 # [WebMail] # Poner los nombres de los protocolos en minúsculas mail.transport.protocol=smtp mail.store.protocol=pop3 mail.incoming=pop3.yourserver.com mail.outgoing=smtp.yourserver.com mail.user= # Indexador Lucene # Típicamente un subdirectorio bajo /storage donde se guardan los índices de Lucene luceneindex=/opt/storage/luceneindex analyzer=org.apache.lucene.analysis.WhitespaceAnalyzer # LDAP ldapconnect=ldap://127.0.0.1:389/dc=hipergate,dc=org ldapuser=cn=Manager,dc=hipergate,dc=org ldappassword=manager ldapclass=com.knowgate.ldap.LDAPNovell # SMS smsprovider=Subclase de com.knowgate.sms.SMSPush (por ejemplo, com.knowgate.sms.SMSPushSybase365) smsaccount=sms_account_name smspassword=sms_account_password # Google googlemapskey=… # Yahoo! yahoobosskey=…
A continuación se describe cada uno de los parámetros y su función.
- driver
-
Nombre del driver JDBC, según se utilizaría en la función Class.forName:
• org.postgresql.Driver (PostgreSQL)
• com.mysql.jdbc.Driver (MySQL)
• oracle.jdbc.driver.OracleDriver (Oracle)
• com.microsoft.sqlserver.jdbc.SQLServerDriver (SQL Server)
- dburl
-
Cadena de conexión JDBC a la base de datos:
• jdbc:postgresql://host_name:5432/nombre_bbdd (PostgreSQL)
• jdbc:mysql://host_name/nombre_bbdd (MySQL)
• jdbc:oracle:thin:@nombre_host:1521:oracle_sid (Oracle)
• jdbc:sqlserver://nombre_host:1433;SelectMethod=cursor;DatabaseName=nombre_bbdd (SQL Server)
La cadena de conexión contiene siempre al menos el nombre o direcció IP del servidor (host) el puerto y el nombre de la base de datos.
Si el servidor web y la base de datos están en la misma máquina el host es "127.0.0.1" o "localhost". - schema
-
Esquema de la base de datos. Puede ser el usuario propietario de las tablas.
En PostgreSQL dejar este parámetro en blanco excepto si se experimentan problemas de acceso a la tabla sql_features en cuyo caso la propiedad schema debe ser public. Dejar en blanco también para MySQL.
Ejemplos:
• dbo (SQL Server)
• HIPERGATE (Oracle)
• public (PostgreSQL)
- dbuser/dbpassword
- Usuario y contraseña de conexión a la BB.DD. via JDBC.
- poolsize
-
Número de conexiones que permanecerán abiertas en el pool en espera de ser utilizadas.
Una conexión sólo puede permanecer en el pool sin ser utilizada por un máximo de
5 minutos. Tras este periodo de inactividad todas las conexiones no usadas se cierran y el tamaño
del pool se reduce eventualmente a cero. El valor por defecto para este parámetro es 32.
Si este parámetro se pone a cero, se deshabilita el pool y cada conexión se obtiene llamando directamente al método java.sql.DriverManager.getConnection(). - maxconnections
- Número máximo absoluto de de conexiones que se pueden abrir contra la base de datos.
- logintimeout
-
Tiempo máximo de espera, en segundos, para obtener una conexión a la base de datos.
El valor por defecto es 20. - temp
-
Directorio temporal para la aplicación. En él se almacenan los archivos de subida (upload) y algunos archivos de generación temporal.
Ejemplos:
• /tmp (Linux)
• C:\\TEMP (Windows)
- javamode
- Este valor deber ser siempre "0".
- webserver
-
URL completa a la raíz de la aplicación web. Se utiliza para componer las URLs relativas y absolutas a cada módulo de la aplicación.
Ejemplos:
• http://server:port/webapp
• http://myserver:8080/
• http://localhost:7001/hipergateWeb (ejemplo con WebLogic)
- imageserver
-
URL al servidor de imágenes opcional. Todas las imágenes estáticas de la aplicación (pantallas, iconos, etc) pueden ubicarse en un servidor separado, o dejarse en un subdirectorio dentro del mismo servidor.
Ejemplos:
• http://images.mycompany.com/hipergate
• http://myserver:8080/images
• http://localhost:7001/hipergateWeb/images (ejemplo con WebLogic)
- fileprotocol
- Este valor deber ser siempre "file://".
- fileserver
- Este valor deber ser siempre "localhost".
- fileuser/filepassword
- Nombre de usuario y contraseña utilizados para el acceso a repositorios remotos. Se utiliza para accesos por FTP. Dejar en blanco.
- storage
-
Directorio raíz de almacenamiento privado de usuarios, plantillas y scripts de ejecución SQL (QBF).
Ejemplos:
• /var/lib/hipergate
• C:\\bea\\weblogic\\samples\\workshop\\hipergate\\storage (Windows)
- shelldir
-
Algunos contenedores de servlets (sobre todo Tomcat) bloquean ficheros y directorios. Si desea
eliminar una newsletter, website o cuenta de acceso hay que borrar todos los directorios relacionados
con este objecto, pero Java impide este borrado y por tanto hay que crear una tarea que borre los
directorios desde fuera del contendor de servlets. Para cada elemento a borrar, se añade una linea
al fichero cleanup.txt con la ruta completa al directorio a borrar. Se puede crear un
script que lea este fichero y borre cada directorio y añadirlo como una tarea programada (cronjob) o
ejecutarlo cada vez que se rearranca el servicio.
• /tmp
• $CATALINA_HOME/webapps/shell
• C:\\BEA\\weblogic\\samples\\workshop\\hipergate\\shell (Windows)
- workareasput
-
Directorio raíz de almacenamiento público, visible a través de web. Puede estar dentro de la raíz del servidor
web, o bien en otro directorio.
Ejemplos:
• $CATALINA_HOME/webapps/hipergate/workareas
• C:\PROGRA~1\Tomcat\webapps\hipergate\workareas (Windows)
- workareasget
-
Path en la URL para acceder al mismo directorio que workareasput.
Ejemplos:
• /workareas
• /hipergateWeb/workareas
- maxfileupload
- Tamaño máximo (en bytes) de fichero que se permite subir a la aplicación
- setXMLValidation
- Activar las trazas de validación de XML al fusionar las plantillas XSLT de los módulos webbuilder y mailings.
- maxschedulerthreads
- Número máximo de hilos (threads) que arranca el planificador de ejecución.
- mail.transport.protocol
- Transporte que se utilizará para enviar mensajes de correo electrónico (por defecto smtp)
- mail.store.protocol
- Protocolo de almacenamiento de correo electrónico (por defecto pop3)
- mail.incoming
- Servidor de recepción de correo POP3 (por defecto localhost)
- mail.outgoing
- Servidor de envío de correo SMTP (por defecto localhost)