Guía de Fortalecimiento para la Seguridad de Ignition
IA está comprometida con la seguridad y se esfuerza por hacer que el producto sea lo más seguro posible.


Guía de Fortalecimiento para la Seguridad de Ignition

IA está comprometida con la seguridad y se esfuerza por hacer que el producto sea lo más seguro posible.


Tabla de contenidos

1. Paso 1: Asegure la Puerta de Enlace

2. Paso 2: Bloquear la Puerta de Enlace

3. Paso 3: Seguridad del Dispositivo, OPC y MQTT

4. Paso 4: Gestión de Identidad y Acceso

5. Paso 5: Definir la Seguridad de la Aplicación

6. Paso 6: Configurar el Registro de Auditoría

7. Paso 7: Proteger la Base de Datos

8. Paso 8: Seguridad de Java

9. Paso 9: Bloqueo del Sistema Operativo (SO)

10. Paso 10: Mantenga Ignition Actualizado

 

Bienvenido a la Guía de Fortalecimiento para la Seguridad de Ignition de Inductive Automation. Inductive Automation está comprometida con la seguridad y se esfuerza por hacer que el producto sea lo más seguro posible. Este documento está destinado a proporcionar una guía general sobre cómo configurar y asegurar su instalación de Ignition.

En este documento se incluyen pautas específicas para el software Ignition, así como sugerencias generales sobre el hardware y la red donde está instalado Ignition. Los pasos proporcionados son recomendaciones en lugar de requisitos y deben revisarse para determinar su relevancia en cada implementación.

Esta guía se utiliza mejor leyendo y siguiendo los pasos en su totalidad. La seguridad es un tema complejo y ninguna guía puede cubrir el tapiz completo del tema; sin embargo, esta guía debe proporcionar buena información para proteger su instalación de Ignition, además de cubrir los conceptos básicos para asegurar la arquitectura general de su dispositivo. Para asegurarse de que está completamente cubierto desde el punto de vista de la seguridad, consulte a una empresa de seguridad o expertos en seguridad en el campo.

Paso 1: Asegure la Puerta de Enlace

Bloquear la puerta de enlace implica restringir cómo se accede a Ignition desde un punto de vista de conexión segura, así como los permisos de usuario. Después de instalar Ignition, habilitar SSL / TLS es el primer paso y el más importante para proteger la puerta de enlace. Habilitar SSL / TLS asegura que todos los próximos pasos para proteger su puerta de enlace se comuniquen a través de un canal de comunicación seguro.

SSL vs. Non-SSL

Secure Socket Layer (SSL) es un protocolo de seguridad ampliamente utilizado para los datos que se transportan a través de una red, el tráfico de red de la puerta de enlace o Internet. En el Gateway, esto significa que SSL cifrará los datos enviados a través del protocolo HTTP y Web Sockets, que se utilizan para todo el tráfico entre Designer, Vision Clients y Perspective Sessions. Esto protege su instalación de Ignition de cualquier persona que espíe sus datos mientras pasan por la red. Esto es importante si los datos transferidos entre la puerta de enlace y los clientes son de naturaleza confidencial. Esto también ayuda a frustrar una vulnerabilidad de seguridad conocida como "secuestro de sesión". Sin SSL habilitado, un usuario no autorizado puede explotar una sesión de computadora válida para obtener acceso a información o servicios, como su Ignition Gateway.

Técnicamente, SSL es el predecesor de Transport Layer Security (TLS). Por razones históricas, "SSL" ahora se refiere coloquialmente al cifrado TLS. A través del resto de este documento, cuando nos referimos a SSL, sepa que la tecnología de base empleada es TLS.

¿Cuándo habilitar el SSL?

Habilite las comunicaciones SSL en Ignition para configurar una comunicación segura con la página web de la puerta de enlace, así como la comunicación entre el cliente y el diseñador con la puerta de enlace. Para cifrar esta comunicación, deberá adquirir e instalar un Certificado SSL para Ignition. Es muy recomendable que compre un certificado SSL de una autoridad certificadora o adquiera un certificado SSL válido de un departamento de TI si tiene la intención de habilitar SSL.

Los pasos para instalar un certificado SSL se pueden encontrar en nuestro sitio web.

Forzar redireccionamiento SSL

1. Vaya a la sección Configurar de la puerta de enlace.
2. Elija Redes> Servidor web en el menú de la izquierda.
3. Seleccione la casilla de verificación Forzar redireccionamiento seguro y haga clic en Guardar cambios en la parte inferior de la página. Force Secure Redirect, cuando está habilitado, redirigirá todo el tráfico http no seguro a su contraparte https.

Una vez que se habilita el SSL, todos los clientes, diseñadores y navegadores web son redirigidos al puerto SSL si intentan utilizar el puerto HTTP estándar. De forma predeterminada, el puerto SSL es 8043. Puede cambiarlo al puerto estándar SSL 443. (Nota: en versiones anteriores, tanto el puerto no SSL como el puerto SSL debían estar abiertos incluso cuando se intentaba comunicarse exclusivamente con SSL. En Ignition 8.0, solo es necesario abrir el puerto SSL).

Renovación de certificados SSL

La mayoría de los certificados SSL tradicionales tienen un ciclo de vida engorroso que debe renovarse con frecuencia. Con Ignition, el proceso de renovación del certificado SSL se puede simplificar y automatizar utilizando el protocolo ACME que se describe en la guía, Let's Encrypt Guide for Ignition. ACME (Automatic Certificate Management Environment) es un marco automatizado para obtener y renovar certificados SSL para su dominio para que SSL pueda habilitarse en su servidor web. Let's Encrypt es una "autoridad certificadora (CA) abierta, automatizada y gratuita" que utiliza un servidor ACME que gestiona certificados SSL. Cualquier administrador de dominio puede activar un cliente ACME que apunte al servidor Let's Encrypt ACME para obtener o renovar certificados SSL.

Desactivación de conjuntos de cifrado más antiguos

Cuando SSL está habilitado, los conjuntos de cifrado brindan información esencial sobre cómo comunicar datos seguros entre el servidor Ignition y el navegador del usuario. El navegador del usuario notificará al servidor Ignition qué conjuntos de cifrado admite el navegador, y el conjunto de cifrado más seguro que ambos admiten se utilizará automáticamente para la comunicación. Ignition admite muchos conjuntos de cifrado y deshabilita la mayoría de los conjuntos de riesgo, pero puede haber algunos conjuntos que estén habilitados de forma predeterminada y que se puedan deshabilitar opcionalmente según la postura de seguridad de su empresa. Se recomienda encarecidamente revisar los conjuntos de cifrado admitidos y deshabilitar los conjuntos de cifrado más antiguos que no sean necesarios en su entorno. Los conjuntos de cifrado se pueden excluir en la configuración de la puerta de enlace en Configuración> Servidor web> Conjuntos de cifrado excluidos.

Las suites que actualmente se consideran sólidas cambian constantemente a medida que los investigadores de seguridad descubren fallas y crean nuevos algoritmos. SSL Labs mantiene una fuente de información sobre la lista actualmente aceptada de conjuntos sólidos. SSL Labs ofrece una prueba en línea gratuita si se puede acceder a su servidor Ignition desde Internet. Incluso si no es así, su lista actual de conjuntos de cifrado sólido se puede encontrar en su guía "Mejores prácticas de implementación de SSL / TLS" en 2.3 Conjuntos de cifrado seguro para el usuario. Utilice esta fuente u otra para mantenerse actualizado con las recomendaciones de la industria sobre las mejores prácticas actuales para el soporte de conjuntos de cifrado.

Configurar Encabezados Fuertes

A partir de Ignition 8.0.8, los encabezados de seguridad de Gateway ahora están configurados con valores predeterminados seguros. Sin embargo, Ignition ofrece la oportunidad de cambiar los valores de estos encabezados para adaptarse mejor a sus preferencias de seguridad de red. Por ejemplo, habilitar Strict-Transport-Security (de forma predeterminada está desactivado) establece un temporizador durante el tiempo que el navegador debe recordar que solo se puede acceder a Ignition mediante HTTPS. Los visitantes pueden comunicarse inicialmente con la versión no cifrada del sitio (es decir, HTTP) antes de ser redirigidos a HTTPS, lo que crea una oportunidad para un ataque de intermediario que puede redirigir a un visitante a un sitio malicioso. Permitir que el navegador recuerde usar solo una conexión cifrada con Ignition evita las posibilidades de ser interceptado en una línea no cifrada.

En 8.0.10, agregamos soporte para fortalecer la seguridad de las cookies de sesión HTTP de la puerta de enlace utilizando el atributo SameSite. Los detalles se pueden encontrar en las notas de la versión de Ignition 8.0.10.

Puede encontrar más información sobre los encabezados HTTP y sus valores predeterminados en el artículo support.inductiveautomation.com, Configuración y encabezados HTTP de seguridad de la puerta de enlace.

Paso 2: Bloquear la Puerta de Enlace

En la puerta de enlace, hay tres pestañas, Inicio, Estado y Configurar. Las secciones Configurar y Estado de la puerta de enlace están protegidas por contraseña y no se pueden eliminar. Para protección adicional, tiene la opción de proteger la sección de Inicio. También puede cambiar los roles necesarios para acceder a cualquiera de estas secciones en Configuración > Configuración de puerta de enlace.

La autenticación de usuario basada en roles se puede usar para bloquear las secciones de la página web de Gateway, así como el Diseñador para evitar que los usuarios cambien la configuración. Cada una de las páginas de estado, inicio y configuración se puede restringir por roles de forma independiente.

Seguridad de la Página Web de la Puerta de Enlace

Los detalles para configurar la seguridad de la puerta de enlace se pueden encontrar en el manual del usuario.

1. Vaya a la sección Configurar de la puerta de enlace.
2. Elija Configuración > Configuración de puerta de enlace en el menú de la izquierda.
3. Ingrese los roles que el usuario debe tener para acceder a los Roles de Configuración de la Puerta de Enlace, los Roles de la Página de Estado, los Roles de la Página de Inicio y los Roles del Diseñador.
Nota: Cada opción puede aceptar cualquier número de roles siempre que estén separados por comas. Si una opción se deja en blanco, cualquier usuario con cualquier función puede iniciar sesión (generalmente no se recomienda).

Paso 3: Seguridad del Dispositivo, OPC y MQTT

Históricamente, las conexiones de dispositivos se han realizado mediante protocolos de comunicación de dispositivos nativos. La mayoría de los fabricantes de PLC crearon sus propios protocolos de comunicación, y una variedad es popular y de uso intensivo en la actualidad. Recientemente, se han lanzado algunos dispositivos que también tienen OPC-UA y MQTT integrados directamente en los dispositivos. Cada categoría está protegida de forma diferente.

Las conexiones directas desde Ignition a los dispositivos OPC-UA y MQTT son generalmente las conexiones más fáciles de proteger, aunque cualquier conexión puede protegerse si se cuenta con la configuración y la seguridad de red adecuadas.

Comunicación OPC UA

OPC-UA proporciona seguridad integrada, ya sea a nivel de servidor o integrada directamente en un dispositivo. Una de las formas en que se puede hacer es cifrar todas las comunicaciones. Los diferentes dispositivos / servidores admiten diferentes niveles de cifrado, pero al configurar los puntos finales, asegúrese de elegir la opción firmada y cifrada. Esto asegura que todos los datos enviados a través de OPC-UA estarán encriptados.

Además, al configurar Ignition OPC Server, es necesario confiar en certificados remotos para todas las conexiones entrantes y salientes seguras. En OPC UA > Seguridad, se pueden importar certificados de confianza y los certificados en cuarentena se pueden marcar como de confianza. Algunos servidores OPC de terceros pueden requerir pasos adicionales, como agregar manualmente el certificado de cliente.

Las conexiones OPC-UA también admiten la autenticación de usuarios. Recomendamos utilizar una contraseña segura y cambiarla periódicamente según lo definido por los estándares de TI.

MQTT

MQTT proporciona un puñado de funciones de seguridad integradas. Los datos transferidos entre el editor y el corredor, así como entre el corredor y el suscriptor, deben enviarse a través de SSL. Además de este cifrado, se admite la autenticación de nombre de usuario / contraseña y se debe utilizar para proteger los datos. MQTT también admite listas de control de acceso (ACL) que limitan el acceso de los usuarios según el espacio de nombres de temas. Estas medidas de seguridad deben implementarse tanto si el corredor es local como si está alojado en la nube. Para obtener más información sobre cómo proteger la comunicación MQTT, consulte el manual del usuario de los módulos MQTT.

Comunicación de Dispositivo Nativo

Además del cifrado entre Ignition y dispositivos / servidores OPC-UA o MQTT, la comunicación entre Ignition y otros dispositivos también debe protegerse. Dado que estos dispositivos a menudo no admiten cifrado o certificados, una práctica común es mantenerlos en una red OT privada separada. Ignition puede proporcionar una capa de separación entre la red OT / privada y la TI / pública para que las etiquetas estén disponibles de forma segura sin exponer los dispositivos detrás de escena. Otras opciones de seguridad incluyen colocar Ignition y los dispositivos en una red VLAN con el cifrado habilitado, configurar reglas de enrutamiento en la red o usar una computadora en el borde de la red (como Ignition Edge en un IPC) para actuar como un puente entre el dispositivo y la red.

Recomendamos consultar con un profesional de seguridad de redes para ayudar a identificar qué opción es mejor para usted.

Paso 4: Gestión de Identidad y Acceso

Al proteger una aplicación, debe considerar tanto la autenticación como la autorización. La autenticación determina quién está iniciando sesión, mientras que la autorización determina sus privilegios. Ignition tiene las siguientes herramientas para ayudar a satisfacer casi cualquier tipo de estrategia de autenticación y autorización requerida:

  • Identificación y autenticación de usuarios: fuentes de usuario y proveedores de identidad
  • Autorización: control de acceso basado en roles, control de acceso basado en ubicación a través de zonas de seguridad
  • Niveles de seguridad: un modelo de control de acceso jerárquico basado en herencia que se basa en roles, niveles de seguridad y otras fuentes de atributos.

Identificación y Autenticación de Usuarios

Ignition gestiona usuarios a través de proveedores de identidad (IdP). Ignition tiene un IdP incorporado, pero también puede conectarse a IdP de terceros como Okta y Duo a través de SAML u OpenID Connect.

Proveedor de Identidad de Ignition

Ignition IDP admite tres fuentes de usuario principales: autenticación interna, autenticación de base de datos y autenticación de Active Directory.

Autenticación Interna

Desde la página web de Gateway, los usuarios pueden administrarse directamente dentro de Ignition. Estos usuarios son locales de Ignition Gateway donde están definidos.

Autenticación de Base de Datos

El tipo de autenticación de base de datos utiliza una base de datos externa en lugar de almacenar datos dentro de Ignition. La gestión de usuarios se realiza mediante la interacción directa con la base de datos.

Autenticación de Active Directory

El perfil de autenticación de Active Directory utiliza Active Directory de Microsoft sobre LDAP (Protocolo ligero de acceso a directorios) para almacenar todos los usuarios, roles y más que componen un perfil de autenticación. Los grupos de Active Directory se utilizan para los roles de Ignition y las asignaciones de roles de usuario.

Mientras se usa una fuente de usuario de Active Directory, la administración de usuarios y roles se realiza a través de Active Directory mismo, y no se puede administrar dentro de Ignition. Por lo tanto, agregar nuevos usuarios a una fuente de usuario de Active Directory o modificar usuarios preexistentes requiere que las modificaciones se realicen desde Active Directory, generalmente a través de un administrador de AD.

En Vision, si se desea una experiencia fluida sin un mensaje de inicio de sesión, se puede habilitar SSO (inicio de sesión único) junto con Active Directory. Esto permite que el nombre de usuario de la ventana se utilice automáticamente como credenciales en Ignition. Los grupos de usuarios deben tener un acceso mínimo a la aplicación y luego agregar roles adicionales según sea necesario. Esto evita que los usuarios tengan acceso no deseado a la aplicación.

En Perspective, si se desea una experiencia fluida sin un mensaje de inicio de sesión, considere usar ADFS u otro IdP en lugar del IdP interno de Ignition. Consulte la sección Proveedor de identidad de terceros (Perspective) a continuación.

Protocolo de Seguridad de LDAP 

La fuente de usuario de Active Directory se comunica con un servidor de Microsoft Active Directory a través del protocolo LDAP. Para evitar espiar la autenticación, se debe implementar el cifrado. En las opciones avanzadas para una nueva fuente de usuario de Active Directory, Ignition tiene una configuración para forzar LDAPS.

Autenticación de Insignias

Otro método seguro es el soporte de autenticación RFID para Ignition Identity Provider (requiere Ignition 8.0.5+) que le permite asociar insignias con usuarios. Ingresar sus credenciales en una pantalla permite que otros vean su nombre de usuario y, por lo tanto, debilita su seguridad. Con RFID habilitado, los usuarios no tienen que ingresar su nombre de usuario y contraseña, sino que deben tener una credencial física para poder iniciar sesión en la Sesión. Si su organización utiliza credenciales RFID, se recomienda que el Método de autenticación de credenciales esté habilitado y configurado como predeterminado y el Secreto de credenciales también esté habilitado. Badge Secret requerirá que el usuario escriba su contraseña después de escanear su credencial. Esta capa adicional de seguridad es útil en numerosas situaciones. Por ejemplo, en el caso de que la credencial de un usuario sea robada y utilizada por otra persona, la capa agregada de una contraseña requerida evitaría que el ladrón acceda a la sesión, ya que aún se requerirá una contraseña para acceder.

Puede encontrar más información sobre el Método de Autenticación de Insignias en nuestro sitio web.

Proveedor de Identidad de Terceros (Perspective)

La utilización de un servicio externo le permite utilizar funciones que Ignition no admite de forma nativa, como opciones multifactoriales como notificaciones automáticas o datos biométricos. También son valiosos si TI ha estandarizado otras aplicaciones en una solución SSO particular.

Actualmente, los IdP de terceros solo son compatibles con los clientes en perspectiva. En el futuro, tenemos la intención de incluir soporte para Vision Clients, Designer y la página web Gateway.

Sugerencias Generales de Autenticación

Cuentas de Usuario

Para garantizar la integridad de la cuenta de usuario, se debe definir una política de contraseña sólida que incluya requisitos de complejidad y longitud de la contraseña. Se recomienda encarecidamente establecer un calendario de caducidad de contraseñas y eliminar rápidamente las cuentas de usuarios anteriores. Al utilizar la autenticación interna de Ignition, estas configuraciones se pueden encontrar en la sección "Política de contraseña". Deben evitarse las cuentas genéricas.


Acceso Grupal y Deshabilitación del Inicio de Sesión Automático

Los inicios de sesión genéricos suponen un riesgo de seguridad en cualquier sistema. Si el inicio de sesión automático está habilitado, cualquier usuario que lance un proyecto tiene acceso básico. Para mitigar este riesgo, el inicio de sesión automático debe desactivarse y cada usuario debe tener sus propias credenciales únicas.

Autorización

Una vez que un usuario está autenticado, la autorización determina a qué tiene acceso. La autorización se puede determinar mediante una variedad de condiciones, incluidos los roles y la ubicación.

Seguridad Basada en Roles

A cada usuario se le otorgan privilegios mediante la asignación de uno o varios roles. Los roles no son tipos predeterminados, sino que se crean de forma personalizada durante el desarrollo. Los roles pueden definirse dentro de Ignition o asignarse a grupos de Active Directory o los atributos de un IdP. El nivel de acceso otorgado por una función determinada se determina en el "Paso 5: Definir la seguridad de la aplicación".

Seguridad Basada en la Ubicación

Una zona de seguridad es una lista de puertas de enlace, computadoras o direcciones IP que se definen y agrupan. Este grupo ahora se convierte en una zona que puede tener políticas y restricciones adicionales. Si bien los usuarios y los roles restringen el acceso a funciones específicas dentro de la puerta de enlace, como hacer que ciertos controles sean de solo lectura para ciertos usuarios y de lectura / escritura para otros, las zonas de seguridad brindan esta funcionalidad a la red de puerta de enlace, control de acceso basado en la ubicación en Visión, Perspectiva , Estado y notificaciones de alarma, y proveedor de historial y acceso a etiquetas. Las zonas de seguridad permiten que la aplicación restrinja el acceso según el lugar desde el que se conecta el cliente, además de los privilegios basados en roles del usuario. Esto permite un mayor control sobre el tipo de información que pasa por la red, mejorando la seguridad y ayudando a mantener separadas las diferentes áreas del negocio, al mismo tiempo que les permite interconectarse.

Usar Zonas de Seguridad

A veces, además de saber quién es el usuario, es importante saber desde dónde envía un comando. Un operador puede tener permisos para encender una máquina desde una HMI, pero si tuviera que iniciar sesión en un proyecto en una puerta de enlace diferente en la red que tuviera acceso remoto a esas etiquetas, podría no ser una buena idea permitir que el operador escribir en esas etiquetas desde una ubicación remota donde no puedan ver si la máquina física está libre para ejecutarse.

Aquí es donde entran en juego las zonas de seguridad. Las zonas de seguridad en sí mismas no definen la seguridad, sino que definen un área de la red de puerta de enlace, dividiendo las puertas de enlace y las ubicaciones de la red en zonas manejables que luego pueden tener una política de seguridad establecida. Una vez que hay zonas definidas, se puede asignar una política de seguridad a cada zona y se puede establecer una prioridad de zonas en caso de que se aplique más de una zona en una situación determinada.

Puede encontrar información sobre cómo configurar las Zonas de Seguridad en nuestro sitio web.

Niveles de Seguridad (Perspective)

Los niveles de seguridad son una jerarquía establecida por el usuario que define los permisos de acceso, o roles, dentro de una sesión de perspectiva. Este sistema de autorización proporciona una forma de asignar los roles de usuario definidos desde un proveedor de identidad (IdP) a los roles de Ignition. La creación de niveles de seguridad se puede utilizar para restringir el acceso de determinadas personas a funciones específicas dentro de la puerta de enlace, como el acceso a determinadas sesiones de perspectiva, la visibilidad de los componentes en una vista o los permisos de lectura / escritura. Esto mejorará la seguridad y permitirá una mejor gestión de la información y el nivel de control que se otorga a usuarios específicos en la red.

Usar Niveles de Seguridad

Al trabajar con Gateway, es importante que todos los usuarios puedan obtener la información o el control que necesitan para que las operaciones se desarrollen sin problemas. Es posible que un operador deba poder leer y escribir etiquetas y ver el estado de cada planta. Sin embargo, es posible que un gerente necesite ver el estado de la planta y leer los valores de la etiqueta, pero no debería poder escribir en los valores de la etiqueta. Asegurarse de que cada usuario tenga los permisos correctos es vital para la seguridad de la operación.

Con los niveles de seguridad, se pueden definir roles para permitir a ciertos usuarios un mayor o menor control del Gateway. Una vez que se definen los roles, las reglas de nivel de seguridad se pueden definir en la puerta de enlace para permitir que los usuarios accedan a zonas de seguridad, proyectos y otros atributos específicos. Estos roles también se pueden usar en Designer para limitar el acceso de visualización y / o las capacidades de lectura / escritura de un rol.

Puede encontrar información sobre cómo configurar los Niveles de Seguridad en nuestro sitio web.

Paso 5: Definir la Seguridad de la Aplicación

Ignition es una plataforma de software para crear aplicaciones personalizadas que se adapten a sus necesidades. Estas aplicaciones pueden ser para HMI (interfaz hombre-máquina), SCADA (control de supervisión y adquisición de datos), base de datos front-end y más. Cada una de las aplicaciones requiere seguridad personalizable. Ignition permite definir la seguridad en cualquier nivel, desde clientes y proyectos hasta etiquetas individuales.

Seguridad del Cliente Vision

En Clientes, la configuración de seguridad se puede aplicar a ventanas o componentes individuales. Si bien los usuarios con diferentes roles pueden ver el mismo proyecto desde el cliente, la funcionalidad y la accesibilidad pueden cambiar según sus roles asignados. Generalmente, el acceso de nivel superior proporciona una funcionalidad completa a todos los contenidos de un proyecto, y el acceso de nivel inferior está restringido a privilegios de solo lectura generalizados. Sin embargo, la configuración de seguridad del cliente es lo suficientemente flexible para adaptarse a cualquier requisito de seguridad.

Puede encontrar información sobre cómo configurar Client Security en nuestro sitio web.

Seguridad de la Sesión de Perspective

En las sesiones, la seguridad se gestiona a través de proveedores de identidad (IdP). Los proveedores de identidad ofrecen a los usuarios una forma de iniciar sesión en Ignition utilizando credenciales almacenadas fuera de Ignition. Una vez que el proveedor de identidad está configurado en la puerta de enlace, se puede asignar un nivel de seguridad a una sesión de perspectiva, que otorgará acceso a la sesión solo a los usuarios con el nivel de seguridad especificado. Generalmente, el acceso de nivel superior proporciona una funcionalidad completa a todos los componentes del proyecto y el nivel inferior establece más restricciones, como privilegios de lectura / escritura.

Puede encontrar información sobre cómo configurar la Seguridad de la Sesión de Perspective en nuestro sitio web.

Seguridad de Vistas en Perspective

La seguridad agregada a una vista en perspectiva permite una mayor granularidad de la seguridad en una sesión en perspectiva. Un operador, por ejemplo, puede necesitar ver una Sesión en perspectiva, pero no se le debe permitir acceder a una Vista de administración de usuarios. El operador puede tener acceso a la sesión, pero la vista de administración de usuarios puede restringirse a un rol de nivel superior. Agregar niveles de seguridad tanto a la Sesión de Perspectiva como a las Vistas permite que solo los roles con los privilegios adecuados puedan ver o editar el contenido y así mejorar la seguridad de la Sesión de Perspectiva y el control de la información en un proyecto.

Puede encontrar información sobre cómo configurar la Seguridad de Vistas en Perspective en nuestro sitio web.

Seguridad de Secuencias de Comandos de Componentes

Tanto Vision como Perspective contienen seguridad de scripting de componentes basada en roles para garantizar que los usuarios sin privilegios no puedan ejecutar scripts que puedan ser potencialmente dañinos para las operaciones o manipular información para la que un usuario no tiene autorización.

Puede encontrar más información sobre los scripts de componentes de Vision y Perspective en nuestro sitio web.

Seguridad del Diseñador

Cuando varios usuarios están trabajando en el mismo proyecto, la gestión de cambios en el proyecto puede resultar engorrosa. De forma predeterminada, todos los usuarios con acceso al Diseñador pueden modificar, eliminar, guardar y publicar todos los recursos disponibles en el Diseñador. En algunas situaciones, es conveniente limitar lo que cada usuario puede hacer en Designer. Ignition tiene varios métodos de restricción de Designer integrados para ayudar en estos escenarios.

Nuestro sitio web contiene instrucciones para restringir la edición, la creación y la protección de los recursos del proyecto y los recursos globales.

Seguridad de Etiquetas

La seguridad de las etiquetas es a menudo la mejor forma de configurar la seguridad para el acceso a los datos. Al definir la seguridad en una etiqueta, está aplicando esas reglas para esa etiqueta en todas las ventanas y componentes que usan la etiqueta especificada en el proyecto. Esto se opone a configurar la seguridad en cada componente que controla la etiqueta.

Si un usuario abre una ventana que tiene componentes que están vinculados a una etiqueta para la que el usuario no tiene autorización para leer o escribir, el componente obtendrá una superposición prohibida.

Puede agregar seguridad de lectura / escritura a etiquetas individuales a través del Diseñador. Los derechos de acceso personalizados deben configurarse para utilizar los permisos basados en roles.

Consultas con Nombre

Una de las características clave de Ignition es la capacidad de registrar, editar y recuperar fácilmente datos de bases de datos SQL. De forma predeterminada, toda la interacción con la base de datos se limita a consultas definidas en Ignition Gateway, que pueden ser llamadas desde clientes según las credenciales del usuario. Estas consultas se pueden parametrizar para permitir la interacción dinámica de la base de datos y, al mismo tiempo, garantizar que solo se pueda acceder a los datos relevantes. Se recomienda usar solo parámetros para variables individuales en lugar de permitir fragmentos de SQL más largos para evitar la inyección de SQL.

Esta función se puede desactivar para permitir que cualquier consulta SQL se ejecute directamente desde un cliente abierto. Si bien esto puede ser poderoso para agregar flexibilidad a la plataforma, también deja los datos potencialmente expuestos. Si las consultas creadas por el cliente están habilitadas, asegúrese de usar SSL y no use el inicio de sesión automático ni ninguna cuenta compartida.

El acceso a estas consultas con nombre se puede limitar mediante el modelo de permisos de Ignition normal, incluidos los roles y las zonas de seguridad.

Si actualiza desde una versión anterior (Ignition 7.9.3 y anteriores), las consultas de clientes sin restricciones no se desactivarán de forma predeterminada para los proyectos existentes. Asegure el sistema convirtiendo las consultas existentes en consultas con nombre o limitando las consultas de los clientes a las funciones y zonas de seguridad adecuadas.

Paso 6: Configurar el Registro de Auditoría

Los perfiles de auditoría permiten que Ignition registre detalles sobre eventos específicos que ocurrieron. Los perfiles de auditoría son fáciles de configurar y comienzan a registrar eventos de inmediato. De forma predeterminada, solo se registran escrituras de etiquetas, SQL UPDATE, SQL INSERT y SQL DELETE. Esto le permite realizar un seguimiento de qué usuario escribió en qué etiqueta o modificó qué tabla. Además, se registra una marca de tiempo, por lo que puede rastrear fácilmente los cambios, el esquema y el orden de los eventos.

Una vez que se hayan realizado algunos cambios en una etiqueta o una tabla de base de datos, Ignition comenzará a grabar.

Puede encontrar más información sobre los Perfiles de Auditoría en nuestro manual de usuario.

Paso 7: Proteger la Base de Datos

Las diferentes bases de datos ofrecen diferentes opciones de autenticación. Recomendamos no utilizar una cuenta de propietario de base de datos como root o sa. Se debe crear una cuenta de usuario separada con privilegios limitados para la conexión de la base de datos con Ignition Gateway.

La mayoría de las bases de datos modernas también admiten el cifrado SSL de la conexión entre Ignition y la base de datos. Si la base de datos se ejecuta en un servidor diferente, SSL se puede habilitar siguiendo la información disponible para el controlador JDBC de su base de datos y la configuración de seguridad interna. Consulte la documentación de su base de datos para obtener más información sobre cómo habilitar conexiones SSL JDBC desde Ignition.

Paso 8: Seguridad de Java

Ignition se ejecuta en la máquina virtual Java (JVM). A partir de Ignition 8.0, Ignition viene empaquetado con su propia copia privada de la JVM. Esto significa que Java no está ni necesita estar instalado en todo el sistema en ninguna computadora para ejecutar Ignition. Al mantener Ignition actualizado, también mantiene actualizada la copia privada de la JVM de Ignition.

Paso 9: Bloqueo del Sistema Operativo (SO)

Eliminar Programas Innecesarios

Cada programa es un punto de entrada potencial para un atacante, por lo que eliminar el software innecesario y tener una lista examinada de software permitido puede limitar las vulnerabilidades. No todos los programas requieren acceso administrativo y deben ejecutarse con las credenciales mínimas requeridas.

Parches y Paquetes de Servicios

Para evitar ataques de día cero y limitar las vulnerabilidades del sistema operativo, se recomienda mantenerse actualizado sobre los parches del sistema operativo y los Service Packs.

Servicios Remotos

En Windows, el Registro remoto y la Administración remota de Windows deben estar deshabilitados.

En Linux y Mac OS, deshabilite la raíz para todo menos la consola "física".

Usuario del Servicio Ignition Gateway

Ignition Gateway se ejecuta como un servicio en el sistema operativo. Este servicio de Ignition no debe ejecutarse como usuario root o administrador. Es mejor ejecutar Ignition con un usuario en el sistema operativo con privilegios mínimos.

Cortafuegos y Puertos

Deben existir cortafuegos para restringir el tráfico de la red. Recomendamos cerrar todos los puertos y luego abrir solo los que sean necesarios. Los siguientes puertos son los puertos predeterminados que se utilizan en Ignition. Abra solo los puertos que esté utilizando.

Puertos

PUERTO

OPERACIÓNPROTOCOLOCONFIGURABLEDESCRIPCIÓN
8088EscuchatcpConfiguración de puerto predeterminada para acceder a Ignition Gateway
8043EscuchatcpConfiguración del puerto SSL predeterminado para acceder a Ignition Gateway
8060EscuchatcpConfiguración del puerto SSL predeterminado para la Red de Puerta de Enlace
102EscuchatcpNoSiemens Paso7
2222EscuchatcpNoControladores de dispositvos Allen Bradley (Ethernet/IP I/O DMA)
62541EscuchatcpPuerto predeterminado para el servidor Ignition OPC UA
4445Escuchaudp/transmisiónPuerto de recepción predeterminado para mensajes de multidifusión que hace que la puerta de enlace sea detectable en una red local
5060Escuchatcp/SIPNoEnviar notificación de voz al servidor SIP
5500EscuchatcpPuerto predeterminado para exploración OPC de etiquetas externas
6501EscuchatcpNoPuerto de respaldo del servidor
8000Escuchatcp/RTPNoTransferir / com para servidor SIP
8750EscuchatcpNoPuerto utilizado para Configuración de Red / Redundancia
9600EscuchatcpNoOmron FINS
17342EscuchatcpNoPuerto de recepción para SMS con Alarma
45900EscuchatcpNoPuerto de devolución de llamada para el Módulo Móvil
44818EscuchatcpNoControladores de dispositvos Allen Bradley (Ethernet/IP Simbólico/General)
135SalientetcpNoPuerto predeterminado para la comunicación DCOM (servidores OPC DA antiguos)
389SalientetcpPuerto predeterminado para Active directory si se está utilizando
465SalientetcpNoProtocolo SMTP utilizado si la alarma está configurada
502SalientetcpPuerto Modbus predeterminado
1433SalientetcpPuerto MSSQL predeterminado utilizado para la conexión
1521SalientetcpPuerto de Oracle predeterminado utilizado para la conexión
3050Salientetcp

Puerto predeterminado de Firebirdsql utilizado para la conexión

3306SalientetcpPuerto MySQL predeterminado utilizado para la conexión
1883Escucha / SalientetcpPuerto predeterminado para conexión MQTT insegura
8883Escucha / SalientetcpPuerto SSL predeterminado para la conexión MQTT

 

Servidores Redundantes

Los cortafuegos deben configurarse en cualquier servidor que realice redundancia para proteger el sistema de redundancia de ataques externos. El firewall en el servidor principal solo debe aceptar conexiones entrantes en el puerto 8750 desde la dirección IP del servidor de respaldo en Ignition 7.9, y solo debe aceptar conexiones en el puerto de la red de puerta de enlace desde la dirección IP del servidor de respaldo en Ignition 8.0.

Arquitectura DMZ

Una arquitectura DMZ (denominada "zona desmilitarizada") contiene una subred que se adapta a los servicios de conexión externos expuestos de la organización. En general, actúa como un punto de contacto entre la red interna de la organización y las redes que no son de confianza, como Internet.

El objetivo de esta arquitectura es agregar una capa adicional de seguridad a la red del área local, permitiendo que la red local acceda a lo que está expuesto en la DMZ y manteniendo el resto de la red protegida detrás de un firewall.

Recomendamos consultar con un profesional de seguridad de redes para ayudar a identificar las mejores opciones de red para su organización.

Paso 10: Mantenga Ignition Actualizado

Inductive Automation reconoce que la seguridad del software requiere un esfuerzo y mantenimiento constantes. Las actualizaciones de seguridad se publican periódicamente para garantizar una protección continua y se recomienda encarecidamente mantenerse al día con estas actualizaciones.

 

Publicado en español el 01 de Octubre del 2021.

Originalmente publicado el 02 de Junio del 2020.

Fuente original: https://inductiveautomation.com/resources/article/ignition-security-hardening-guide


 Facebook   Instagram   Twitter   LinkedIn  YouTube 


Últimas publicaciones del blog

Your Dynamic Snippet will be displayed here... This message is displayed because you did not provided both a filter and a template to use.

Prepare su aplicación contra ciberataques
Descubra cómo Ignition aborda las amenazas de seguridad con cifrado, autenticación, certificados de confianza y más.