Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Escaneos de conformidad en AWS OpsWorks for Chef Automate
importante
AWS OpsWorks para Chef Automate llegó al final de su vida útil el 5 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los actuales. Recomendamos que los clientes actuales migren a Chef SaaS o a una solución alternativa. Si tienes alguna pregunta, puedes ponerte en contacto con el AWS Support equipo en AWS Re:post
Los análisis de conformidad le permiten hacer un seguimiento de la conformidad de los nodos administrados de la infraestructura con arreglo a unas políticas predefinidas, también denominadas reglas. Las vistas de conformidad le permiten auditar con regularidad sus aplicaciones en busca de vulnerabilidades y configuraciones no conformes. Chef cuenta con más de 100 perfiles predefinidos (colecciones de reglas aplicables a configuraciones de nodos específicas), que puede utilizar en los análisis de conformidad. También puedes usar el InSpec lenguaje Chef
Si el servidor aún no está ejecutándose en Chef Automate 2.0, puede configurar Chef Compliance
nota
La versión mínima admitida del software cliente-agente Chef Infra (chef-client
) en los nodos asociados a un AWS OpsWorks for Chef Automate servidor es 13. x. Recomendamos ejecutar la chef-client
versión más reciente y estable, o al menos la 14.10.9.
Temas
Conformidad en Chef Automate 2.0
Si su AWS OpsWorks for Chef Automate servidor ejecuta Chef Automate 2.0, configure Chef Compliance mediante los procedimientos de esta sección.
Ejecución de trabajos de análisis de conformidad con Chef Automate 2.0
Chef Automate 2.0 incluye la capacidad de InSpec escaneo de Chef para cumplir con las normas, que anteriormente requería una configuración manual y de libros de cocina. Puede ejecutar trabajos de escaneo en un AWS OpsWorks for Chef Automate servidor que ejecute Chef Automate 2.0. Los trabajos se pueden ejecutar de forma inmediata (una vez), programarse para más adelante o programarse para que se ejecuten a intervalos definidos; por ejemplo, diariamente o cada dos horas. Los resultados de los trabajos de análisis se envían para generar informes de conformidad. En el panel de Chef Automate, puede ver los resultados del análisis de conformidad y adoptar las acciones oportunas. Para abrir la pestaña Compliance (Conformidad) y ver los informes, en la pestaña Scan Jobs (Trabajos de análisis) del panel de Chef Automate, seleccione Report (Informe) en la parte derecha de la fila de un nodo administrado.
Para ejecutar trabajos de análisis en los nodos administrados, debe disponer de lo siguiente.
-
Al menos un perfil de conformidad instalado en el espacio de nombres.
-
Al menos un nodo de destino, añadido manualmente, o una instancia EC2 añadida automáticamente.
En AWS OpsWorks for Chef Automate, los trabajos de escaneo son compatibles con los siguientes objetivos.
-
Nodos añadidos manualmente
-
Instancias
aws-ec2
-
Regiones de AWS
Para obtener instrucciones detalladas acerca de cómo ejecutar trabajos de análisis, consulte Chef Automate Scan Jobs
(Opcional, Chef Automate 2.0) Configuración de conformidad con el libro de recetas Audit
Puede configurar el cumplimiento en cualquier AWS OpsWorks for Chef Automate servidor. Después de lanzar un servidor de AWS OpsWorks for Chef Automate
, puede instalar perfiles desde el panel de Chef Automate o añadir los perfiles que desee a los atributos del libro de recetas Audit en el archivo de política Policyfile.rb
. El Starter Kit contiene un archivo Policyfile.rb
con los datos rellenos.
Después de editar el archivo Policyfile.rb
utilizando los perfiles como atributos del libro de recetas Audit, ejecute los comandos chef push
para cargar el libro de recetas AuditPolicyfile.rb
en el servidor Chef Automate. Al instalar el libro de cocina de auditoría, también se instala la joya de Chef InSpec
Las instrucciones de esta sección indican cómo se implementa el libro de recetas opsworks-audit
. El libro de cocina de auditoría descarga perfiles específicos del servidor Chef Automate, evalúa los nodos comparándolos con el perfil básico de DevSec SSH e informa del resultado de los análisis de cumplimiento en cada ejecución. chef-client
Para instalar perfiles de conformidad
-
Si aún no lo ha hecho, inicie sesión en el panel basado en Web de Chef Automate. Utilice las credenciales que recibió al descargar el Starter Kit cuando creó el servidor de AWS OpsWorks for Chef Automate .
-
En el panel de Chef Automate, seleccione la pestaña Asset Store (Almacén de recursos).
-
Seleccione la pestaña Available (Disponibles) para ver los perfiles predefinidos.
-
Examine la lista de perfiles. Elija un perfil que coincida con el sistema operativo y la configuración de al menos uno de los nodos administrados. Para ver detalles sobre el perfil, incluida una descripción de infracciones dirigidas del perfil y el código de la regla subyacente, elija > a la derecha de la entrada del perfil. Puede seleccionar varios perfiles. Si está configurando el ejemplo del kit de inicio, elija DevSec SSH Baseline.
-
Para instalar los perfiles seleccionados en el servidor de Chef Automate, seleccione Get (Obtener).
-
Una vez que se instalan los perfiles, aparecen en la pestaña Profiles (Perfiles) del panel de Chef Automate.
Para instalar libros de recetas con Policyfile.rb
-
Consulte el archivo
Policyfile.rb
del Starter Kit para ver cómo los atributos del libro de recetas Audit especifican el perfilssh-baseline
en['profiles']
.# Define audit cookbook attributes default["opsworks-demo"]["audit"]["reporter"] = "chef-server-automate" default["opsworks-demo"]["audit"]["profiles"] = [ { "name": "DevSec SSH Baseline", "compliance": "admin/ssh-baseline" } ]
-
Descargue e instale los libros de recetas definidos en
Policyfile.rb
.chef install
Todos los libros de recetas cuentan con varias versiones en el archivo
metadata.rb
. Cada vez que modifique un libro de recetas, debe aumentar la versión del libro de recetas que se encuentra enmetadata.rb
. -
Inserte en el servidor la política
opsworks-demo
, definida enPolicyfile.rb
.chef push opsworks-demo
-
Compruebe la instalación de la política. Ejecute el siguiente comando de la .
chef show-policy
Los resultados deberían ser similares a los siguientes:
opsworks-demo-webserver ======================= * opsworks-demo: ec0fe46314
-
Si aún no lo ha hecho, añada los nodos al servidor que va a administrar. Para conectar el primer nodo al AWS OpsWorks for Chef Automate servidor, utilice el
userdata.sh
script que se incluye en este kit de inicio. Utiliza la AWS OpsWorksAssociateNode
API para conectar un nodo al servidor.Si desea automatizar la asociación de los nodos, siga los pasos que se indican en Añada nodos automáticamente en AWS OpsWorks for Chef Automate. Si desea añadir los nodos de uno en uno, siga los pasos que se indican en Añada nodos de forma individual.
-
Después de actualizar la lista de ejecución de los nodos, el agente
chef-client
ejecuta las recetas especificadas en el siguiente período de ejecución. De forma predeterminada, esto ocurre cada 1800 segundos (30 minutos). Después de la ejecución, podrá ver los resultados de conformidad y realizar acciones en la pestaña Compliance (Conformidad) del panel de Chef Automate.
Ejecutar un análisis de conformidad
Los resultados del análisis de conformidad deberían aparecer en el panel de Chef Automate poco después de la primera ejecución del agente que se produce tras configurar las listas de ejecución de nodos.
![Vista de la página Reporting (Informes) de la pestaña Compliance (Conformidad) de Chef](images/opscm_compliance_reporting.png)
En el panel de Chef Automate, seleccione la pestaña Compliance (Conformidad). En el panel de navegación izquierdo, seleccione Reporting (Informes). Seleccione la pestaña Profiles (Perfiles), haga clic en Scan Results (Resultados de análisis) y elija un nodo con errores de análisis para obtener más información acerca de las reglas por las que se produjeron errores en cada nodo.
![Lista de resultados de errores de Compliance (Conformidad)](images/opscm_compliance_results.png)
Por lo general, los resultados del análisis no son conformes, ya que los nuevos nodos aún no cumplen todas las reglas del perfil de referencia de DevSec SSH. The DevSec Hardening Framework
(Opcional) Resolución de los resultados no conformes
El kit de inicio incluye un libro de cocina de código abierto que puede utilizar ssh-hardening
para corregir los resultados no conformes al ejecutar el perfil SSH Baseline. DevSec
nota
El ssh-hardening
libro de cocina realiza cambios en tus nodos para cumplir con las reglas de SSH Baseline. DevSec Antes de ejecutar este libro de cocina en cualquier nodo de producción, revise los detalles sobre el perfil DevSec SSH Baseline en la consola de Chef Automate para comprender las infracciones de las reglas a las que apunta el libro de cocina. Revise la información sobre el libro de recetas ssh-hardening
Para ejecutar el libro de recetas ssh-hardening
-
En un editor de texto, añada el libro de recetas
ssh-hardening
a la lista de ejecución dePolicyfile.rb
. La lista de ejecución dePolicyfile.rb
debe ser similar a la siguiente.run_list 'chef-client', 'opsworks-webserver', 'audit', 'ssh-hardening'
-
Actualice el archivo
Policyfile.rb
y envíelo al servidor de AWS OpsWorks for Chef Automate .chef update Policyfile.rb chef push opsworks-demo
-
Los nodos que asociados con la política
opsworks-demo
actualizarán la lista de ejecución de forma automática y aplicarán el libro de recetasssh-hardening
en la próxima ejecución dechef-client
.Dado que está utilizando el libro de recetas
chef-client
, el nodo realiza comprobaciones a intervalos periódicos (de forma predeterminada, cada 30 minutos). La próxima vez que se registre, elssh-hardening
libro de cocina se publicará y ayudará a mejorar la seguridad de los nodos para cumplir con las reglas del perfil DevSec SSH Baseline. -
Después de la ejecución inicial del libro de recetas
ssh-hardening
, espere 30 minutos para ejecutar de nuevo un análisis de conformidad. Consulte los resultados en el panel de Chef Automate. Deberían resolverse los resultados no conformes que se produjeron en la ejecución inicial del escaneo DevSec SSH Baseline.
Conformidad en Chef Automate 1.x
Si su AWS OpsWorks for Chef Automate servidor ejecuta Chef Automate 1. x, configure Chef Compliance mediante los procedimientos de esta sección.
(Opcional, Chef Automate 1.x) Configuración de Chef Compliance
Puede configurar Chef Compliance en cualquier AWS OpsWorks for Chef Automate servidor. Después de lanzar un servidor AWS OpsWorks for Chef Automate
, elija en el panel de Chef Automate los perfiles que desee ejecutar. Una vez instalados los perfiles, ejecute comandos berks
para cargar el libro de recetas Audit
El AWS OpsWorks for Chef Automate kit de inicio incluye un libro de cocina envoltorio que descarga e instala la versión correcta del libro de cocina Chef's Audit para usted. opsworks-audit
El opsworks-audit
libro de cocina también indica al chef-client
agente que evalúe los nodos con el perfil DevSecSSH Baseline que se instala desde la consola de cumplimiento de Chef más adelante en este tema. Puede configurar Compliance mediante cualquiera de los libro de recetas para ajustarse a sus preferencias. Las instrucciones de esta sección indican cómo se implementa el libro de recetas opsworks-audit
.
Para instalar perfiles de Compliance
-
Si aún no lo ha hecho, inicie sesión en el panel basado en Web de Chef Automate. Use las credenciales que recibió al descargar el kit de inicio al crear su servidor. AWS OpsWorks for Chef Automate
-
En el panel de Chef Automate, seleccione la pestaña Compliance (Conformidad).
-
En la barra de navegación izquierda, seleccione Profile Store (Almacén de perfiles) y, a continuación, elija la pestaña Available (Disponible) para ver los perfiles predefinidos.
-
Examine la lista de perfiles. Elija un perfil que coincida con el sistema operativo y la configuración de al menos uno de los nodos administrados. Para ver detalles sobre el perfil, incluida una descripción de infracciones dirigidas del perfil y el código de la regla subyacente, elija > a la derecha de la entrada del perfil. Puede seleccionar varios perfiles.
-
Para instalar los perfiles seleccionados en el servidor de Chef Automate, seleccione Get (Obtener).
-
Cuando haya terminado la descarga, vaya al siguiente procedimiento.
Para instalar y configurar el libro de recetas opsworks-audit
-
Este paso es opcional, pero ahorra tiempo en el paso 6, cuando esté agregando recetas a listas de ejecución de nodos. Edite el archivo
roles/opsworks-example-role.rb
que se incluye en el kit de inicio descargado durante la creación de su servidor de AWS OpsWorks for Chef Automate . Añada las siguientes líneas. La última línea está comentada, ya que añadir el libro de recetasssh-hardening
y la receta para resolver los nodos no conformes después de la ejecución de su análisis de Compliance es opcional.run_list( "recipe[chef-client]", "recipe[apache2]", "recipe[opsworks-audit]" # "recipe[ssh-hardening]" )
-
Utilice un editor de texto para especificar los libros de recetas que desee en su Berksfile. En Starter Kit contiene un Berksfile de ejemplo. En este ejemplo, vamos a instalar los libros de recetas
chef-client
,apache2
yopsworks-audit
de Chef Infra. El Berksfile debería parecerse a lo siguiente.source 'https://supermarket.chef.io cookbook 'chef-client' cookbook 'apache2', '~> 5.0.1' cookbook 'opsworks-audit', path: 'cookbooks/opsworks-audit', '~> 1.0.0'
Todos los libros de recetas cuentan con varias versiones en el archivo
metadata.rb
. Cada vez que modifique un libro de recetas, debe aumentar la versión del libro de recetas que se encuentra enmetadata.rb
. -
Ejecute el siguiente comando para descargar e instalar los libros de recetas en la carpeta
cookbooks
en su equipo local o de trabajo.berks vendor cookbooks
-
Ejecute el siguiente comando para cargar los libros de recetas proporcionados en el servidor de AWS OpsWorks for Chef Automate .
knife upload .
-
Ejecute el siguiente comando para verificar la instalación del libro de recetas
opsworks-audit
mostrando una lista de libros de recetas disponibles actualmente en el servidor.knife cookbook list
-
Si aún no lo ha hecho, añada los nodos al servidor que va a administrar. Si desea automatizar la asociación de los nodos, siga los pasos que se indican en Añada nodos automáticamente en AWS OpsWorks for Chef Automate. Si desea añadir los nodos de uno en uno, siga los pasos que se indican en Añada nodos de forma individual. Edite la lista de ejecución de sus nodos para añadir la función que especificó en el paso 1,
opsworks-example-role
. En este ejemplo, vamos a editar el atributoRUN_LIST
en el scriptuserdata
que se utiliza para automatizar la asociación de nodos.RUN_LIST="role[opsworks-example-role]"
Si omitió el paso 1, y no configuró la función, añada los nombres de las recetas individuales a la lista de ejecución. Guarde los cambios y siga los pasos indicados en Paso 3: Crear instancias usando un script de asociación desatendida para aplicar el script en datos de usuario a las instancias de Amazon EC2.
RUN_LIST="recipe[chef-client],recipe[apache2],recipe[opworks-audit]"
-
Después de actualizar la lista de ejecución de los nodos, el agente
chef-client
ejecuta las recetas especificadas en el siguiente período de ejecución. De forma predeterminada, esto ocurre cada 1800 segundos (30 minutos). Después de la ejecución, los resultados de Compliance se pueden ver en el panel de Chef Automate.
Ejecutar un análisis de conformidad
Debería ver los resultados de análisis de conformidad en el panel de Chef Automate poco después de la primera ejecución del demonio del agente que se produce tras configurar listas de ejecución de nodos.
![Vista de la página Chef Compliance Reporting](images/opscm_compliance_reporting_ca1.png)
En el panel de Chef Automate, seleccione la pestaña Compliance (Conformidad). En el panel de navegación izquierdo, seleccione Reporting (Informes). Seleccione la pestaña Profiles (Perfiles), haga clic en Scan Results (Resultados de análisis) y elija un nodo con errores de análisis para obtener más información acerca de las reglas por las que se produjeron errores en cada nodo.
![Lista de Chef Compliance de resultados con errores](images/opscm_compliance_results_ca1.png)
Por lo general, los resultados del escaneo no son conformes, ya que los nuevos nodos aún no cumplen todas las reglas del perfil DevSec SSH Baseline. The DevSec Hardening Framework
(Opcional) Resolución de los resultados no conformes
El kit de inicio incluye un libro de cocina de código abierto que puede utilizar ssh-hardening
para corregir los resultados no conformes al ejecutar el perfil SSH Baseline. DevSec
nota
El ssh-hardening
libro de cocina realiza cambios en tus nodos para cumplir con las reglas de SSH Baseline. DevSec Antes de ejecutar este libro de cocina en cualquier nodo de producción, revise los detalles sobre el perfil DevSec SSH Baseline en la consola de Chef Automate para comprender las infracciones de las reglas a las que apunta el libro de cocina. Revise la información sobre el libro de recetas ssh-hardening
Para ejecutar el libro de recetas ssh-hardening
-
En un editor de texto, añada el libro de recetas
ssh-hardening
a su Berksfile. El Berksfile debería parecerse a lo siguiente.source 'https://supermarket.chef.io' cookbook 'chef-client' cookbook 'apache2', '~> 5.0.1' cookbook 'opsworks-audit', path: 'cookbooks/opsworks-audit', '~> 1.0.0' # optional cookbook 'ssh-hardening'
-
Ejecute los siguientes comandos para descargar el libro de recetas
ssh-hardening
en su carpeta local de libros de recetas y, a continuación, cargarlo a su servidor de AWS OpsWorks for Chef Automate .berks vendor cookbooks knife upload .
-
Añada la receta
ssh-hardening
a su lista de ejecución de nodos tal y como se describe en los pasos 1 y 6 de Para instalar y configurar el libro de recetas opsworks-audit.Si actualiza el archivo
opsworks-example-role.rb
, cargue los cambios al servidor mediante la ejecución del siguiente comando.knife upload .
Si actualiza la lista de ejecución directamente, cargue los cambios ejecutando el siguiente comando. El nombre del nodo suele ser el ID de instancia.
knife node run_list add
<node name>
'recipe[ssh-hardening]' -
Dado que está utilizando el libro de recetas
chef-client
, el nodo realiza comprobaciones a intervalos periódicos (de forma predeterminada, cada 30 minutos). La próxima vez que se registre, elssh-hardening
libro de cocina se publicará y ayudará a mejorar la seguridad de los nodos para cumplir con las reglas del perfil DevSec SSH Baseline. -
Después de la ejecución inicial del libro de recetas
ssh-hardening
, espere 30 minutos para ejecutar de nuevo un análisis de Compliance. Consulte los resultados en el panel de Chef Automate. Deberían resolverse los resultados no conformes que se produjeron en la ejecución inicial del escaneo DevSec SSH Baseline.
Actualizaciones de conformidad
En un AWS OpsWorks for Chef Automate servidor, la funcionalidad de conformidad se actualiza automáticamente según el mantenimiento programado del sistema. A medida que haya versiones actualizadas de Chef Automate, Chef Infra Server y Chef InSpec disponibles para su AWS OpsWorks for Chef Automate servidor, es posible que tenga que comprobar y actualizar las versiones compatibles del libro de cocina de Audit y la InSpec gema de Chef que se están ejecutando en su servidor. Los perfiles que ya ha instalado en su AWS OpsWorks for Chef Automate servidor no se actualizan como parte del mantenimiento.
Perfiles de conformidad comunitarios y personalizados
En la actualidad, Chef dispone de más de 100 perfiles de análisis de conformidad. Puede añadir perfiles comunitarios y personalizados a la lista y, al igual que haría con los perfiles que ya vienen incluidos, descargar y ejecutar después análisis de conformidad en función de estos perfiles. Los perfiles de conformidad elaborados por la comunidad están disponibles en Chef Supermarket