Última versión: 3.1.2-1

|
Vista rápida |
|
|
Catálogo |
Sistema |
|
Categoría |
Puertas de enlace |
|
Volúmenes de usuario |
yes |
|
Memoria mín. |
192 MB |
|
SO |
Linux |
|
Restricciones |
no |
El dispositivo INSSLR es una puerta de enlace de 7 niveles para solicitudes de HTTP seguras. Convierte las solicitudes en solicitudes HTTP no codificadas. Esto se puede utilizar siempre que sea necesario admitir HTTP seguro en el lado del cliente pero la infraestructura de procesamiento de back-end no admita o no pueda admitir SSL, incluido lo siguiente:
Si se configura, INSSLR también es compatible con la autenticación de certificados de cliente. En caso de autenticación SSL mutua, tanto el cliente como el servidor intercambian sus certificados y las claves públicas correspondientes. El cliente se puede poner en contacto con la autoridad certificadora que emitió el certificado del servidor y confirmar que el certificado sea auténtico antes de continuar. El servidor puede hacer lo mismo.
En su configuración predeterminada, INSSLR actúa como puerta de enlace de 7 niveles para solicitudes HTTP seguras, proporcionando también un punto de entrada de cortafuegos para el tráfico de la red hacia una aplicación de CA AppLogic®, lo cual se puede configurar con una dirección IP estática accesible por Internet.
Si se configuran, se pueden usar dos dispositivos INSSLR en modo de conmutación por error para proporcionar un servicio redundante. En este caso, la dirección IP de INSSLR (configurada mediante ip_addr) se ejecuta solamente en uno de los nodos y se transfiere automáticamente al otro dispositivo INSSLR en caso de error. En todo momento habrá solamente un dispositivo INSSLR activo. Al ejecutarse en modo de conmutación por error se puede configurar INSSLR de modo que se ejecute en varios modos:
Al ejecutarse en modo redundante, INSSLR proporciona una interfaz en su terminal ctl para:
INSSLR constantemente controla el estado del dispositivo de back-end conectado a su terminal http. Los controles de estado realizados por INSSLR pueden incluir una comprobación de la conexión TCP sencilla o una solicitud HTTP más compleja (especificada en el límite de INSSLR). En caso de error del dispositivo conectado, INSSLR comunica un error al cuadro de mandos del grid o, si está en modo redundante y configurado para hacerlo, hace una conmutación por error al dispositivo INSSLR de respaldo.
Para ser compatible con aplicaciones que tienen que aparecer en una sola dirección IP para más de un servicio, se puede configurar INSSLR para dirigir tráfico no HTTP de forma transparente a un terminal de salida aparte. Para este tipo de conexiones, el dispositivo actúa como un enrutador de cortafuegos/NAT de capa 3.
Recursos
|
Recurso |
Mínimo |
Máximo |
Predeterminado |
|
CPU |
0.05 |
4 |
0.05 |
|
Memoria |
192 MB |
2 G |
192 MB |
|
Ancho de banda |
1 Mbps |
2 Gbps |
200 Mbps |
La memoria predeterminada para CA AppLogic® versión 2.7 se ha cambiado a 128 MB. La memoria mínima sigue siendo 64 MB.
Notas
Terminales
|
Nombre |
Dir. |
Prot. |
Descripción |
|
ctl |
in |
HTTP |
Recibe notificaciones que obliga al dispositivo a convertirse en primario/copia de seguridad. Este terminal acepta conexiones solamente si fover_mode no está establecido como "none". Una solicitud http válida tiene este formato: /?action=<active|passive|kill|status>. El dispositivo está activo o es pasivo gracias a active/passive. Nota: Es posible que esta acción no sea satisfactoria (si el otro nodo no está activo y la conmutación por error no se puede completar) y que no se devuelva ningún error. La aplicación que llama es la encargada de comprobar el estado del dispositivo; para ello realiza una solicitud /?action=status. status devuelve el estado actual del dispositivo (activo/pasivo). kill fuerza el apagado del dispositivo, lo que hace que el otro nodo entre en funcionamiento (si se está ejecutando). |
|
http |
Saliente |
HTTP |
Las solicitudes HTTPS o HTTP recibidas en la dirección IP externa configurada se dirigen al http de salida como solicitudes HTTP sin formato a través del puerto HTTP 80 estándar. Además de los encabezados HTTP proporcionados por el cliente, las solicitudes reenviadas también contienen los siguientes encabezados informativos: X-Forwarded-For: dirección IP del cliente remoto. Los scripts CGI de lado de servidor deberían utilizar esto en lugar de la dirección IP remota. X-Forwarded-Proto: https. Este encabezado está presente si el cliente se ha conectado mediante HTTPS. De la aplicación de back-end depende que se use este encabezado para distinguir entre conexiones HTTP y HTTPS. |
|
fs |
Saliente |
NFS |
Proporciona un montaje NFS como una ubicación alternativa al volumen de claves local para almacenar claves. Si se proporcionan tanto el volumen de clave local como una conexión de terminal fs, el dispositivo genera un error al iniciarse. Este terminal se puede dejar desconectado. |
|
aux |
Saliente |
Cualquiera |
Salida para otros protocolos, si se han configurado. Consulte las propiedades de l3_accept_*. |
|
nfy |
Saliente |
HTTP |
Envía notificaciones siempre que se produce una conmutación por error. Consulte también fover_nfy_prefix. Este terminal se puede dejar desconectado. |
|
mon |
Saliente |
CCE |
Envía estadísticas sobre uso de recursos y rendimiento. |
Propiedades
|
Nombre |
Tipo |
Descripción |
|
ip_addr |
ip_owned |
Dirección IP externa de la puerta de enlace. Esta propiedad no tiene ningún valor predeterminado y se debe establecer. Valor predeterminado: vacío |
|
netmask |
Dirección IP |
Máscara de red. Esta propiedad no tiene ningún valor predeterminado y se debe establecer. Valor predeterminado: vacío |
|
gateway |
Dirección IP |
Puerta de enlace predeterminada para tráfico saliente. Valor predeterminado: vacío |
|
dns1 |
Dirección IP |
Define el servidor DNS primario Se puede dejar en blanco si el host remoto está especificado por la dirección IP; en caso contrario, se deberá especificar. El valor predeterminado está vacío. |
|
dns2 |
Dirección IP |
Define el servidor DNS secundario, que se usará si el servidor DNS primario no responde. Valor predeterminado: en blanco (no se utiliza). |
|
l7_accept |
Cadena |
Esto especifica qué tipo de tráfico HTTP se debe aceptar para reenviarlo al terminal http. Valores válidos: "https", "http", "both" y "none". Si no se establece como "none" todo el tráfico se redirecciona solamente según las propiedades l3_accept_*. |
|
l3_accept_proto |
Cadena |
Especifica los protocolos que se deberían reenviar al terminal aux. Valores válidos: "none", "tcp", "udp", "raw" y "all". Si se establece como "tcp" o "udp", la propiedad l3_accept_port se puede utilizar para especificar el puerto. Si se establece como "raw", la propiedad l3_accept_port especifica el número de protocolo. Si se configura como "all", el tráfico entrante de la interfaz externa se envía al terminal aux. La propiedad l7_accept tiene prioridad sobre esta. Si se establece l7_accept a un valor que no sea "none", todo el tráfico http se envía al terminal http, el resto del tráfico va a aux, como se especifica en esta propiedad. |
|
l3_accept_port |
Cadena |
Lista de protocolos separados por comas (o espacios) para aceptar y enrutar en el protocolo especificado por l3_accept_proto al terminal aux. Los protocolos de esta lista se pueden especificar como números de puerto o nombres de protocolo estándar (por ejemplo, ftp, smtp, etc. cuando se especifican puertos tcp/udp o gre y tcp al utilizar protocolos sin formato). Se pueden especificar también intervalos de puertos (1024:10000, 0:1024). Si se deja con el valor vacío, se reenvían todos los puertos del protocolo especificado. Nota: Si define l3_accept_proto como raw, debe especificar esta propiedad, que en este caso especifica el número de protocolo (se puede especificar más de un protocolo como raw, pero no se permite el intervalo de protocolo, por ejemplo 20:30). Valor predeterminado: all |
|
allowed_hosts |
Cadena |
Lista de los hosts o subredes con los que se puede establecer una conexión. Las distintas entradas se deben separar con espacios o comas. Ejemplo de formato admitido: 192.168.1.2 192.168.1.0/24 192.168.2.0/255.255.255.0. Valor predeterminado: 0.0.0.0/0 (se permite todo) |
|
key_on_fs |
Cadena |
Indica si las claves se almacenan en un montaje nfs a través del terminal fs (on) o en el volumen de clave local (off). Valores válidos: on y off. Valor predeterminado: off |
|
cert_file |
Cadena |
Nombre de archivo (relativo a la raíz del volumen de datos) del certificado del servidor que esta instancia de puerta de enlace debería presentar al cliente. Nota: Debe haber presente un certificado válido en el volumen de datos configurado (consulte Volúmenes a continuación) en la ubicación especificada por esta propiedad si establece l7_accept como "https" o "both", de lo contrario INSSLR no se podrá iniciar. Valor predeterminado: server.pem. |
|
unsafe_ssl |
Cadena |
Permite el uso de encriptados ssl no seguros para proporcionar compatibilidad con exploradores heredados. El valor predeterminado "disabled" deshabilita los encriptados SSLv2, así como algunos otros encriptados SSLv3 y TLSv1 que no se consideran seguros. Se recomienda dejar esta propiedad configurada como "disabled", a menos que sea necesario admitir sesiones https para exploradores heredados que solamente funcionen con SSLv2. Cuando se define como "enabled", todos los encriptados SSL disponibles en el sistema (incluido SSLv2) se pueden utilizar para las sesiones https. Valor predeterminado: disabled. |
|
keepalive |
Entero |
Especifica el tiempo máximo de keepalive entre INSSLR y el cliente. Valor especificado en segundos. Valor predeterminado: 15. |
|
timeout |
Entero |
Especifica cuántos segundos espera INSSLR el resultado del servidor de back-end. Si el servidor de back-end no envía salidas durante los segundos especificados para el tiempo de espera, la conexión se cerrará. |
|
max_request_size |
Entero |
Tamaño máximo (en MB) de la solicitud del cliente. Auméntelo si la aplicación tiene que tratar con grandes cargas de clientes. Valor predeterminado: 10. |
|
adv_config |
Cadena |
Agrega configuración sin procesar que se debe insertar en nginx conf dentro de los bloques de ubicación tanto para oyentes http como https (sea cual sea el que se active). Por ejemplo, para agregar encabezados personalizados, establezca adv_config como proxy_set_header myport $proxy_port;. Así se agrega myport: 80 a la solicitud enviada al servidor de back-end. adv_config se puede establecer como cualquier declaración válida para un bloque de ubicación (consulte la documentación nginx para obtener más información). Se pueden agregar varias líneas de configuración separadas por ;. Si se establece, esta propiedad debe tener una sintaxis nginx válida (es decir, que termine por ;). En caso contario, el dispositivo no se podrá iniciar. Valor predeterminado: vacío |
|
client_cert |
Cadena |
Permite la autenticación del certificado de cliente. Valores válidos: on, ask y off. Si se define como "on", se impone la autenticación del certificado de cliente y solamente los clientes con certificados válidos pueden hacer una solicitud correcta a INSSLR. Cuando se define como "set", se les pide a los clientes que presenten los certificados, pero la conexión se establece aunque no se presente un certificado válido. Valor predeterminado: off |
|
client_depth |
Entero |
Intensidad de verificación para buscar en un certificado encadenado de cliente. Esta propiedad no tiene ningún efecto si no se establece client_cert. Valores válidos: de 1 a 9 Valor predeterminado: 1 |
|
ca_list_client |
Cadena |
Un archivo que contiene una secuencia de certificados de la autoridad certificadora en formato PEM. Los nombres de los certificados listados se envían al cliente que está conectado. Así se informa al cliente acerca de qué certificado de cliente debería enviar. La misma lista se utiliza para verificar el certificado de cliente. El nombre de archivo es relativo a la raíz del volumen clave montado o la raíz del montaje de nfs realizado mediante el terminal fs y puede contener una ruta, por ejemplo path/to/keys/ca_list_client.pem. Valor predeterminado: ca_list_client.pem. |
|
cert_revocation_list |
Cadena |
Un archivo que contiene la lista de revocaciones de certificado (CRL) tal y como la genera la autoridad certificadora. Esta lista identifica los certificados de cliente revocados por CA. Se buscan en ella todos los certificados de cliente presentados a INSSLR y, si se descubre que el certificado se ha revocado, INSSLR emite una respuesta de error del certificado SSL al cliente. Como ca_list_client, el nombre de archivo es relativo a la raíz del volumen clave montado o la raíz del montaje de nfs realizado mediante el terminal fs y puede contener una ruta. Por ejemplo, path/to/keys/ca_list_client.pem. Valor predeterminado: vacío |
Propiedades de los controles de estado
|
Nombre |
Tipo |
Descripción |
|
healthcheck_method |
Cadena |
Método utilizado para el control de estado de los servidores Web de back-end. |
|
healthcheck_url |
Cadena |
URL que se utiliza para ejecutar el control de estado de los servidores Web de back-end en los métodos de control de estado http_get y http_head. Se puede especificar como una URL completa (http://host.name/file/to/check/for.php) o como una ruta relativa (/file/to/check/for.php). Si se especifica como una URL, INSSLR utiliza el protocolo HTTP/1.1 mientras realiza controles de estado mediante el uso del nombre de host extraído de UR en un encabezado Host:. Esto permite usar hosts virtuales. Si se especifica como una ruta relativa, INSSLR utiliza el protocolo HTTP/1.0 y busca el documento especificado por esta propiedad. |
|
healthcheck_agent |
Cadena |
Cadena que se utiliza como un identificador de agente para los métodos de control de estado http_get y http_head. |
|
healthcheck_regexp |
Cadena |
Cadena de prueba utilizada con el modo de control des estado http_head y http_get health. Los valores cortos o comunes (por ejemplo, OK) probablemente generarán falsos positivos. Esta cadena es una expresión normal de Perl. Aquí puede encontrar más detalles sobre las expresiones normales de Perl. |
|
healthcheck_interval |
Entero |
Intervalo entre los controles de estado de los servidores Web de back-end (especificado en segundos). |
|
healthcheck_timeout |
Entero |
Tiempo máximo en segundos que puede tardar un control de estado. Si el tiempo de espera se supera, se considera que el control es erróneo y se termina (se inicia un nuevo control). Valor predeterminado: 10. |
|
healthcheck_alert |
Entero |
Número de errores de controles de estado subsiguientes antes de que INSSLR comience a volcar errores en el cuadro de mandos del grid. Si se establece como 0, no se comunicará ningún error al cuadro de mandos (pero todavía se permiten los controles de estado). No se debe definir un valor demasiado bajo para evitar los falsos positivos cuando se inicie/detenga la aplicación. Consulte también fover_on_healthcheck si está ejecutando INSSLR en el modo redundante y desea pasar al nodo de copia de seguridad si se produce un error en el servidor de back-end. Valor predeterminado: 3. |
Propiedades avanzadas (utilizadas en escenarios de conmutación por error)
|
fover_mode |
Cadena |
Modo de conmutación por error. Los posibles valores son "none" (ninguna conmutación por error), "symmetric" y "asymmetric". |
|
fover_local_ip |
ip_owned |
La dirección IP local que se va a utilizar en el modo de conmutación por error para comunicarse con el otro dispositivo INSSLR. Puede ser cualquier IP disponible, incluida cualquier dirección privada reservada (como se defina por rfc1918). Esta dirección se utiliza solamente para controlar el estado del otro dispositivo INSLLR. Debería establecerse como la misma IP que la propiedad fover_remote_ip del otro dispositivo INSSLR. Deje este valor como vacío si ha establecido fover_mode como "none". |
|
fover_remote_ip |
ip_owned |
Dirección IP remota del otro dispositivo INSSLR usado en el modo de conmutación por error. Importante: Debería establecerse como la misma IP que la propiedad fover_local_ip del otro dispositivo INSSLR. Deje este valor como vacío si ha establecido fover_mode como "none". |
|
fover_netmask |
Dirección IP |
Máscara de red para fover_local_ip. |
|
fover_nfy_prefix |
Cadena |
Prefijo de la Url que se pide cuando se produce una conmutación por error. La URL solicitada es: http://nfy/fover_nfy_prefixfover_mode=fover_mode&state=<start|stop>&ip_addr=ip_addr&fover_local_ip=fover_local_ip&fover_remote_ip=fover_remote_ip&fover_netmask=fover_netmask y pasa por el terminal nfy. |
|
fover_on_healthcheck |
Entero |
Especifica si INSSLR debería realizar una conmutación por error al nodo de copia de seguridad si se produce un error en un control de estado del terminal http. Si se establece como un valor distinto de cero, INSSLR realiza una conmutación por error después de varios errores subsiguientes de controles de estado. No se debe definir un valor demasiado bajo para evitar los falsos positivos cuando se inicie/detenga la aplicación. Consulte también healthcheck_alert si solamente necesita notificaciones para los errores. Valor predeterminado: 0 (desactivado). |
Volúmenes
|
Nombre |
Descripción |
|
key |
Un volumen de datos de sólo lectura (marcador de posición) que contiene, como un mínimo, la clave de firma del servidor SSL. El archivo debería estar en formato PEM. A menos que la propiedad cert_file se modifique para especificar un nombre diferente, el certificado debería localizarse en el directorio raíz del volumen clave, llamado server.pem. |
Los mensajes siguientes pueden aparecer en el archivo de registro del dispositivo o en el registro del sistema del controlador de grid cuando el dispositivo falla al iniciarse:
Conmutación por error de aplicación
INSSLR detecta el error del otro INSSLR en unos 10 segundos. Tarda unos 10 segundos más en realizar la conmutación por error a la otra aplicación. El tiempo total desde que se produce el primer error de la aplicación hasta que la otra aplicación asume el tráfico es de unos 20 segundos.
Tasa de solicitudes
INSSLR enruta no menos de 3.000 transacciones (parejas de solicitud/respuesta) por segundo, según el tamaño de los documentos y el ancho de banda de red disponible.
Rendimiento de los datos
INSSLR enruta no menos de 7 MBytes/segundo, según el tamaño de los documentos y el ancho de banda de red disponible.
Conexiones simultáneas
Con la memoria predeterminada INSSLR es compatible con no menos de 500 solicitudes pendientes simultáneas. (Una solicitud pendiente es una conexión TCP abierta del cliente, donde hay una o varias solicitudes HTTP sin completar en curso). El número máximo de conexiones simultáneas depende de la memoria libre disponible. Cada 16 MB más de memoria aumenta por 500 el número de transacciones http simultáneas. Por ejemplo, si ejecuta en el modo redundante y desea poder servir 2.000 conexiones simultáneas, necesita 100 M + 3*= 148 M (la memoria mínima cuando se ejecuta en el modo redundante es de 100 M).
Cuando se ejecuta en el modo redundante (fover_mode no está definido como "none"), INSSLR activa las notificaciones siempre que pase a ser activo/pasivo. Esto se hace durante el inicio del nodo activo o cuando se produce una conmutación por error (cada nodo envía una notificación de que pasó a ser activo/pasivo).
INSSLR envía dos notificaciones:
http://nfy/fover_nfy_prefixfover_mode=fover_mode&state=<start|stop>&ip_addr=ip_addr&fover_local_ip=fover_local_ip&fover_remote_ip=fover_remote_ip&fover_netmask=fover_netmask
Se puede utilizar fover_nfy_prefix para cambiar la ubicación del script remoto que se llama o para agregar más parámetros. Ejemplos de valores de fover_nfy_prefix: /path/to/script.php?, /path/to/script.php?username=user&password=pass&.
Importante:
INSSLR ejecuta un cronjob cada minuto que comprueba:
Si se cumplen cualquiera de las condiciones anteriores, se envía un mensaje de error al cuadro de mandos del grid. Si más de una prueba es incorrecta, se publicará un mensaje en el cuadro de mandos del grid que resuma todos los errores. Cada error se enviará solamente una vez cada hora al cuadro de mandos del grid. No se comunica ningún error en los primeros 5 minutos después del inicio del dispositivo (para evitar falsas alarmas si el otro nodo de la replicación no se ha iniciado).
Para utilizar SSL se necesita tanto el certificado firmado como la clave privada con la que éste se encriptó. La clave y el certificado deberían estar en formato PEM y colocarse en un único archivo especificado por la propiedad cert_file.
Generación de certificados de servidor
CA AppLogic® le permite generar certificados de servidor.
Generación de certificados de servidor
openssl genrsa -out privkey.pem 2048
Para generar una clave protegida por contraseña, utilice lo siguiente (para utilizar la clave con INSSLR necesita una clave sin contraseña; si crea una clave protegida por contraseña necesitará eliminar la contraseña antes de usarla en INSSLR).
openssl genrsa -des3 -out privkey.pem 2048
Para generar una solicitud de certificado, ejecute lo siguiente:
openssl req -new -key privkey.pem -out server.csr
Después de enviar el archivo .csr a la autoridad certificadora de confianza, se le devolverá un certificado firmado (archivo .crt) que puede utilizar.
openssl req -new -x509 -key privkey.pem -out server.crt -days 1095
Uso de certificados de servidor
Ya puede colocar el certificado y la clave en un archivo y utilizarlo en INSSLR:
cat privkey.pem server.crt > server.pem
Si su clave está protegida mediante contraseña, ésta se puede eliminar ejecutando lo siguiente:
openssl rsa -in key_with_pass.pem -out privkey.pem
Uso de certificados de servidor apache+mod_ssl existentes
Si tiene un certificado existente que usa en Apache, puede utilizarlo también en INSSLR. Asegúrese de que la clave no está protegida con contraseña (consulte más arriba) y coloque la clave privada y el certificado en un archivo en ese orden.
Ejemplo:
cat privkey.pem server.csr > server.pem
Si está usando un certificado encadenado, debería incluir también el certificado intermedio proporcionado por el emisor. Coloque la clave privada, el certificado y el certificado intermedio en un archivo en ese orden.
Ejemplo:
cat privkey.pem server.csr sf_issuing.crt > server.pem
Importante: La clave de firma del servidor es la prueba de identidad de su sitio Web. También es vulnerable, porque no está encriptada por contraseña (para que el dispositivo la pueda leer sin ayuda). Tome las medidas necesarias para proteger el archivo de clave cuando lo instale en el volumen de datos. No utilice el mismo volumen de datos para otros fines y no lo haga visible para un servidor Web, por ejemplo, para los datos del host a los que se aceden mediante Web (páginas HTML, scripts, etc.).
Los ejemplos siguientes describen cómo puede crear su propia autoridad certificadora y utilizarla para firmar sus propios certificados mediante OpenSSL. Esto se probó mediante OpenSSL 0.9.8b, la misma versión que se instaló en INSSLR.
Creación de una autoridad certificadora
Si ya tiene una autoridad certificadora propia que se utiliza para crear certificados autofirmados, puede omitir este paso y utilizar esa autoridad certificadora. Al crear los instrumentos de la autoridad de confianza para la aplicación, es importante que el entorno sea seguro.
Creación de una autoridad certificadora
mkdir CA mkdir CA/private
openssl genrsa -des3 -out CA/private/CA_key.pem 2048
openssl req -new -key CA/private/CA_key.pem -x509 -days 365 -out CA/CA_cert.pem
Importante: La clave privada para la autoridad certificadora constituye la base de confianza de la aplicación, no la pierda ni la proporcione a otras partes.
Creación de certificados de cliente firmados por la autoridad certificadora
CA AppLogic® le permite crear certificados de cliente firmados por la autoridad certificadora.
Creación de certificados de cliente firmados por la autoridad certificadora
openssl genrsa -out clientA_privkey.pem 2048
openssl req -new -key clientA_privkey.pem -out clientA_request.csr
openssl x509 -req -days 365 -in clientA_request.csr -CA CA/CA_cert.pem -CAkey CA/private/CA_key.pem -CAcreateserial -out clientA.cer
Tenga en cuenta lo siguiente:
openssl genrsa -out clientB_privkey.pem 2048 openssl req -new -key clientB_privkey.pem -out clientB_request.csr openssl x509 -req -days 365 -in clientB_request.csr -CA CA/CA_cert.pem -CAkey CA/private/CA_key.pem -CAserial CA/CA_cert.srl -out clientB.cer
cat clientA_privkey.pem clientA.cer > clientA.pem
openssl pkcs12 -export -in clientA.cer -inkey clientA_privkey.pem -out clientA.p12
Creación de archivos de la lista de CA utilizadas por INSSLR
Revocación de certificados de cliente firmados por CA
Para revocar certificados de cliente firmados por CA, ejecute lo siguiente:
Donde un "openssl.conf" de ejemplo se muestra a continuación y el parámetro "crl_reason" es uno de los siguientes: unspecified, keyCompromise, CACompromise, affiliationChanged, superseded, cessationOfOperation, certificateHold o removeFromCRL. El valor de "reason" no distingue entre mayúsculas y minúsculas.
Para volver a generar la lista de revocación de certificados (CRL), ejecute lo siguiente:
En este ejemplo "crl.pem" es el archivo que se debería proporcionar a INSSLR como la propiedad "cert_revocation_list".
El archivo de configuración de muestra que se utiliza en el anterior ejemplo es:
####################################################################
[ ca ]
default_ca = CA_default # The default ca section
####################################################################
[ CA_default ]
dir = ./CA # Where everything is kept
certs = $dir/certs # Where the issued certs are kept
crl_dir = $dir/crl # Where the issued crl are kept
database = $dir/index.txt # database index file.
#unique_subject = no # Set to 'no' to allow creation of
# several ctificates with same subject.
new_certs_dir = $dir/newcerts # default place for new certs.
certificate = $dir/cacert.pem # The CA certificate
serial = $dir/serial # The current serial number
crlnumber = $dir/crlnumber # the current crl number
# must be commented out to leave a V1 CRL
crl = $dir/crl.pem # The current CRL
private_key = $dir/private/cakey.pem# The private key
RANDFILE = $dir/private/.rand # private random number file
default_days = 365 # how long to certify for
default_crl_days= 30 # how long before next CRL
default_md = sha1 # which md to use.
preserve = no # keep passed DN ordering
policy = policy_anything
[ policy_anything ]
countryName = optional
stateOrProvinceName = optional
localityName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
Creación de archivos de la lista de autoridades certificadoras utilizadas por INSSLR
CA AppLogic® le permite crear los archivos de la lista de autoridades certificadoras utilizadas por INSSLR
Para crear el archivo identificado por la propiedad ca_list_client, lleve a cabo los pasos siguientes:
cat CA/private/CA_key.pem CA/CA_cert.pem > ca_list_client.pem
openssl s_client -host IP-address -port 443 -showcerts -ssl3 -cert clientA.cer -key clientA_privkey.pem -state
Encabezados de los certificados del cliente
Si un cliente se conecta a INSSLR mediante HTTPS, y si presenta un certificado de cliente, INSSLR agrega los encabezados siguientes a la solicitud que suministra al servidor de back-end:
La aplicación tiene la responsabilidad de utilizar o no estos encabezados. INSSLR transmite simplemente esta información sin verificarla de ninguna manera (excepto la corrección del encriptado y la firma).
Para proporcionar acceso de http(s) a su aplicación, conecte el terminal http directamente al dispositivo de WEB.

Si necesita una aplicación Web escalable, enlace el terminal http a un dispositivo HLB.

Los ejemplos de configuración indican solamente las propiedades establecidas a los valores no predeterminados y no se muestra la configuración de red (dirección ip, máscara de red, puerta de enlace).
|
Propiedad |
Valor |
Notes |
|
l7_accept |
http/https/both |
Especifica qué protocolo se utiliza de l7. Nota: Si se especifica "https" o "both", el volumen clave debería contener el certificado SSL tal y como se especifica por la propiedad cert_file. |
Aplicaciones Web con servicios adicionales
Si tiene más servicios además de http en su aplicación, puede utilizar INSSLR para pasar el tráfico http al terminal http y usar el terminal aux para otros servicios.

|
Propiedad |
Valor |
Notas |
|
l7_accept |
http/https/both |
Especifica qué protocolo se utiliza de l7. NOTA: Si se especifica "https" o "both", el volumen clave debería contener el certificado SSL tal y como se especifica por la propiedad cert_file. |
|
l3_accept_proto |
tcp |
Redirige los puertos tcp 25,110,143 al terminal aux. |
|
l3_accept_port |
25,110,143 |
Redirige los puertos tcp 25,110,143 al terminal aux. |
Aplicaciones Web con más de un servicio
Si tiene varios servicios tcp/udp y http, puede utilizar INSSLR para transferir el tráfico http al terminal http y utilizar aux para abastecer el resto del tráfico PS8, que suministra el tráfico deseado a los servidores de back-end.

|
Propiedad |
Valor |
Notes |
|
l7_accept |
http/https/both |
Especifica qué protocolo se utiliza de l7. Nota: Si se especifica "https" o "both", el volumen clave debería contener el certificado SSL tal y como se especifica por la propiedad cert_file. |
|
l3_accept_proto |
all |
Redirige al terminal aux todo el tráfico IP (excepto icmp) que no se pasa al terminal http. |
Aplicaciones Web redundantes
Si necesita proporcionar una aplicación Web redundante, puede copiar la aplicación y utilizar INSSLR para proporcionar capacidades de conmutación por error a la dirección IP externa.
Aplicación Web de copia de seguridad
Si sólo desea una aplicación de copia de seguridad que notificará a los usuarios el tiempo de inactividad, puede utilizar INSSLR para generar una aplicación de copia de seguridad que necesita unos recursos mínimos.
Dispositivos en uso:
INSSLR en la aplicación primaria:
|
Propiedad |
Valor |
Notas |
|
ip_addr |
1.2.3.4 |
Dirección IP pública de la aplicación; debe ser la misma para la aplicación primaria y la de copia de seguridad. |
|
netmask |
255.255.255.0 |
Máscara de red de la dirección IP pública de la aplicación; debe ser la misma para la aplicación primaria y la de copia de seguridad. |
|
gateway |
1.2.3.254 |
Puerta de enlace de la dirección IP pública de la aplicación; debe ser la misma para la aplicación primaria y la de copia de seguridad. |
|
fover_mode |
asymmetric |
Se ejecuta en el modo asimétrico, ya que la aplicación de copia de seguridad se debe usar solamente cuando la aplicación primaria no esté operativa. |
|
fover_local_ip |
192.168.100.1 |
Dirección IP privada que se debe usar para la comunicación entre dispositivos INSSLR en las dos aplicaciones. La dirección IP local es inferior a la remota, así que este dispositivo será el primario y mientras se esté ejecutando. |
|
fover_remote_ip |
192.168.100.2 |
Dirección IP remota que se debe usar para la comunicación entre dispositivos INSSLR en las dos aplicaciones. |
|
fover_netmask |
255.255.255.0 |
Máscara de red para fover_local_ip. |
INSSLR en la aplicación de copia de seguridad:
|
Propiedad |
Valor |
Notas |
|
ip_addr |
1.2.3.4 |
Dirección IP pública de la aplicación; debe ser la misma para la aplicación primaria y la de copia de seguridad. |
|
netmask |
255.255.255.0 |
Máscara de red de la dirección IP pública de la aplicación; debe ser la misma para la aplicación primaria y la de copia de seguridad. |
|
gateway |
1.2.3.254 |
Puerta de enlace de la dirección IP pública de la aplicación; debe ser la misma para la aplicación primaria y la de copia de seguridad. |
|
fover_mode |
asymmetric |
Se ejecuta en el modo asimétrico, ya que la aplicación de copia de seguridad se debe usar solamente cuando la aplicación primaria no esté operativa. |
|
fover_local_ip |
192.168.100.2 |
Dirección IP privada que se debe usar para la comunicación entre dispositivos INSSLR en las dos aplicaciones. |
|
fover_remote_ip |
192.168.100.1 |
Dirección IP remota que se debe usar para la comunicación entre dispositivos INSSLR en las dos aplicaciones. |
|
fover_netmask |
255.255.255.0 |
Máscara de red para fover_local_ip. |
Aplicación Web redundante (una sola aplicación)

Si se desea que su aplicación se ejecute en el modo redundante sin tener que crear una nueva aplicación, puede doblar los dispositivos de esta y ejecutarlos en modo redundante. Como esto implica el uso (al menos) de dos servidores Web y dos dispositivos de base de datos, en el modo normal se usan todos (lo que proporciona escalabilidad), pero cada uno de ellos puede servir sólo a la aplicación en caso de que se produzca un error en el otro dispositivo. Si necesita más escalabilidad, puede agregar más dispositivos Web y base de datos. En este ejemplo la mitad de los dispositivos (in1, sw1, web1, db1) se ejecutan en un grupo de conmutación por error y el resto (in2, sw2, web2, db2) están en otro grupo de conmutación por error, de forma que la aplicación puede sobrevivir en caso de que se produzca un error en el servidor. Esta aplicación proporciona redundancia a un coste muy bajo, puesto que todos los dispositivos (excepto en el caso de un dispositivo INSSLR y otro HALB, que requieren recursos muy bajos) están en estado activo y no se consume ningún recurso para una aplicación de copia de seguridad que se ejecuta solamente si se produce un error en la primaria.
in1
|
Propiedad |
Valor |
Notas |
|
ip_addr |
1.2.3.4 |
Dirección IP pública de la aplicación; debe ser la misma para la aplicación primaria y la de copia de seguridad. |
|
netmask |
255.255.255.0 |
Máscara de red de la dirección IP pública de la aplicación; debe ser la misma para la aplicación primaria y la de copia de seguridad. |
|
gateway |
1.2.3.254 |
Puerta de enlace de la dirección IP pública de la aplicación; debe ser la misma para la aplicación primaria y la de copia de seguridad. |
|
fover_mode |
symmetric |
Se ejecuta en modo simétrico. |
|
fover_local_ip |
192.168.100.1 |
Dirección IP privada que se debe usar para la comunicación entre dispositivos INSSLR en las dos aplicaciones. |
|
fover_remote_ip |
192.168.100.2 |
Dirección IP remota que se debe usar para la comunicación entre dispositivos INSSLR en las dos aplicaciones. |
|
fover_netmask |
255.255.255.0 |
Máscara de red para fover_local_ip. |
in2
|
Propiedad |
Valor |
Notas |
|
ip_addr |
1.2.3.4 |
Dirección IP pública de la aplicación; debe ser la misma para la aplicación primaria y la de copia de seguridad. |
|
netmask |
255.255.255.0 |
Máscara de red de la dirección IP pública de la aplicación; debe ser la misma para la aplicación primaria y la de copia de seguridad. |
|
gateway |
1.2.3.254 |
Puerta de enlace de la dirección IP pública de la aplicación; debe ser la misma para la aplicación primaria y la de copia de seguridad. |
|
fover_mode |
symmetric |
Se ejecuta en modo simétrico. |
|
fover_local_ip |
192.168.100.2 |
Dirección IP privada que se debe usar para la comunicación entre dispositivos INSSLR en las dos aplicaciones. |
|
fover_remote_ip |
192.168.100.1 |
Dirección IP remota que se debe usar para la comunicación entre dispositivos INSSLR en las dos aplicaciones. |
|
fover_netmask |
255.255.255.0 |
Máscara de red para fover_local_ip. |
db1
|
Nombre de la propiedad |
Valor |
Notas |
|
auto_create |
1 |
Crea la base de datos si los volúmenes están vacíos. |
|
server_id |
1 |
Servidor principal 1 (debería ser diferente en la aplicación remota). |
|
rpl_mode |
master_and_slave |
Principal y secundario |
db2
|
Nombre de la propiedad |
Valor |
Notas |
|
auto_create |
1 |
Crea la base de datos si los volúmenes están vacíos. |
|
server_id |
2 |
Servidor principal 1 (debería ser diferente en la aplicación remota). |
|
rpl_mode |
master_and_slave |
Principal y secundario |
Aplicación Web redundante (dos aplicaciones idénticas)

Se pueden ejecutar dos aplicaciones idénticas en el mismo grid (pero en servidores separados para que el error de un servidor sólo afecte a una de las aplicaciones) o en grids diferentes siempre que la dirección IP que utilice sea accesible desde los dos grids. El siguiente ejemplo muestra una aplicación que usa un dispositivo de base de datos que también se está ejecutando en modo redundante, para que, en caso de error de una aplicación, la otra aplicación pueda tomar el control sin que se produzcan pérdida de datos.
Dispositivos en uso:
La solicitud del cliente llega a la puerta de enlace in1. La puerta de enlace reenvía las solicitudes al equilibrador de carga web_lb, el cual las dirige a uno de los servidores Web: web1 o web2. Los servidores Web acceden a la base de datos db. El dispositivo db se conecta a la aplicación remota (que es una copia idéntica, la única diferencia es la configuración de server_id de db y de red) para replicar la base de datos. La aplicación remota se conecta al dispositivo db mediante la puerta de enlace repl_in que se configura para permitir solamente la conexión de la puerta de enlace repl_out de la aplicación remota. Los dispositivos db de las dos aplicaciones se están ejecutando en la configuración principal-principal, así que siempre tienen datos idénticos.
Configuración de una propiedad de ejemplo (las propiedades que no se especifican deberían dejarse con sus valores predeterminados):
El acceso Web a db está disponible mediante la puerta de enlace admin en el puerto 8080.
in1
|
Propiedad |
Valor |
Notas |
|
ip_addr |
1.2.3.4 |
Dirección IP pública de la aplicación, debe ser la misma para ambas aplicaciones. |
|
netmask |
255.255.255.0 |
Máscara de red para la dirección IP pública de la aplicación, debe ser la misma para ambas aplicaciones. |
|
gateway |
1.2.3.254 |
Puerta de enlace para la dirección IP pública de la aplicación, debe ser la misma para ambas aplicaciones. |
|
fover_mode |
symmetric |
Se ejecuta en modo simétrico. |
|
fover_local_ip |
192.168.100.1 |
Dirección IP privada que se debe usar para la comunicación entre dispositivos INSSLR en las dos aplicaciones. Cámbiela por 192.168.100.2 en la aplicación remota. |
|
fover_remote_ip |
192.168.100.2 |
Dirección IP remota que se debe usar para la comunicación entre dispositivos INSSLR en las dos aplicaciones. Cámbiela por 192.168.100.1 en la aplicación remota. |
|
fover_netmask |
255.255.255.0 |
Máscara de red para fover_local_ip. |
db
|
Nombre de la propiedad |
Valor |
Notas |
|
auto_create |
1 |
Crea la base de datos si los volúmenes están vacíos. |
|
error_log_filename |
db.error |
Nombre del archivo de registro de errores que se almacenará en el volumen de datos de registros. |
|
error_log_level |
error |
Nivel de registro de errores. |
|
server_id |
1 |
Servidor principal 1, debería ser diferente en la segunda aplicación. |
|
rpl_mode |
master_and_slave |
Principal y secundario |
Importante: Solamente una de las aplicaciones está activa en todo momento, la otra se está ejecutando sólo para conmutación por error y se utiliza cuando la aplicación activa produce un error.
HTTP es compatible con INSSLR 1.0 y HTTP 1.1, pero si el cliente se identifica así mismo como MSIE, se desactiva la compatibilidad con HTTP 1.1 para esa conexión (para evitar errores en algunas versiones de MSIE).
Si el cliente no es MSIE, INSSLR es compatible con HTTP 1.1 para el cliente (incluidas varias solicitudes por capacidad de sesión TCP), aunque el servidor de back-end solamente sea compatible con HTTP 1.0.
INSSLR admite una sola IP externa y, por lo tanto, solamente se puede utilizar un solo certificado SSL.
El dispositivo incluye software de código fuente y software de terceros.
INSSLR utiliza los siguientes paquetes de código abierto o de terceros además de los paquetes de código abierto o de terceros que utiliza su clase base LUX6.
|
Software |
Versión |
Modificado |
Licencia |
Notas |
|
PyXML |
0.8.4-19 |
No |
MIT, Python, ZPLv1.0 y BSD |
N/D |
|
heartbeat |
3.0.4-1 |
No |
LGPLv2 y GPLv2+ |
N/D |
|
heartbeat-libs |
3.0.4-1 |
No |
LGPLv2 y GPLv2+ |
N/D |
|
iptables |
1.4.7-5.1.el6_2 |
No |
GPLv2 |
N/D |
|
libgcrypt |
1.4.5-9.el6_2.2 |
No |
GPLv2 |
N/D |
|
libgpg-error |
1,7-4 |
No |
LGPLv2.1 |
N/D |
|
lighttpd |
1.4.18-1 |
No |
BSD |
N/D |
|
nginx |
0.7.62-1 |
Sí |
BSD |
N/D |
|
sudo |
1.7.4p5-13.el6_3 |
No |
BSD |
N/D |
|
telnet |
0.17-47 |
No |
BSD |
N/D |
|
Copyright © 2013 CA.
Todos los derechos reservados.
|
|