Cómo trabajar con motores de Vault Insider secrets


Jack Wallen le muestra cómo crear motores de secretos locales y de AWS con Vault de Hashicorp.

desarrollador-de-software-en-php-code.jpg

Imagen: Sarah Pflug / Burst

Uno de los mayores problemas de seguridad en el desarrollo es dejar secretos dentro del código. Con las contraseñas, las claves de cifrado y las claves API en el código, los piratas informáticos podrían acceder fácilmente a sus datos, su red o los servicios que utiliza. Con ese fin, es imperativo que los desarrolladores hagan uso de todas las herramientas disponibles para proteger su código.

Una de esas herramientas es Vault de HashiCorp, que es una herramienta de línea de comandos para administrar los secretos necesarios en su código. En mi tutorial anterior de Vault, Cómo usar la herramienta de línea de comandos de Vault para almacenar sus códigos secretos, le mostré cómo instalar la herramienta y cómo almacenar un secreto en el servidor de Vault. En esta ocasión, les mostraré cómo trabajar con Vault Secrets Engines, que son componentes que almacenan, generan o cifran datos y pueden conectarse a otros servicios para generar credenciales dinámicas bajo demanda.

Es importante asegurarse de haber leído el artículo original para que el servidor Vault funcione correctamente en su máquina.

VER: Política de protección contra robo de identidad (TechRepublic High quality)

Cómo habilitar un nuevo motor de secretos

Si emite el comando lista de secretos de la bóveda verá cuatro o cinco motores secretos disponibles, como:

  • cubículo

  • identidad

  • kv

  • secreto

Habilitemos el motor kv secrets and techniques con el comando:

vault secrets empower -route=kv kv

Si emite el comando lista de secretos de la bóveda, verá kv enumerado dos veces (Figura A).

Figura A

secretsenginea.jpg "src =" https://www.techrepublic.com/a/hub/i/r/2021/03/04/8128b739-8464-4d92-98b3-eda923db2524/resize/770x/c4ae4dee6818e887786ed0d9fb525546/secretsengine

Hemos habilitado un nuevo motor kv secrets and techniques, que se encuentra en / kv (según nuestro comando anterior).

Cómo agregar un nuevo secreto al motor de secretos

Agreguemos el par de claves:

password = 2112Bu2BrUSh

Hacemos eso con el comando:

vault kv place kv/password goal=2112Bu2BrUSh

Para verificar que hemos agregado la nueva clave, emita el comando:

vault kv get kv/password

Debería ver el nuevo par de claves en la lista (Figura B).

Figura B

secretsengineb.jpg "src =" https://www.techrepublic.com/a/hub/i/r/2021/03/04/948cb470-6842-4479-9c83-f279923b1e11/resize/770x/a9518a25cb2b362bf37aa1761a810f70b/secretsengine

Nuestra nueva adición de par de claves fue un éxito.

Puede continuar agregando nuevos pares de claves secretas así:

vault kv place kv/AWS-World-wide-web1 worth="nEveRuSeApAsSwOrDlIkEtHiS"

Para leer el secreto anterior, usaría el comando:

vault kv get kv/AWS-World-wide-web1

Para averiguar todas las claves que ha agregado, emita el comando:

vault kv checklist kv/

En este punto, solo debería ver:

password
AWS-Net1

Cómo habilitar AWS Techniques Engine

Hablando de AWS, habilitemos AWS Tricks Motor. Lo que hará este motor de secretos es comunicarse con AWS para generar secretos dinámicos para que los utilice. Para hacer eso, emita el comando:

vault techniques permit -path=aws aws

Ahora que hemos habilitado AWS Tricks Engine, debemos configurarlo para usar su ID de clave de acceso de AWS. Para crear una clave de acceso, inicie sesión en el Consola de IAM y vaya a Usuarios | Credenciales de seguridad | Crear clave de acceso. Una vez que lo haya creado, tendrá un ID de clave de acceso y una clave de acceso secreta.

Luego deberá configurar tanto la ID como la CLAVE con los comandos:

export AWS_Obtain_Crucial_ID=
export AWS_Mystery_Obtain_Critical=

Donde id es el ID de la clave de acceso y la clave es la clave de acceso secreta.

Finalmente, configura el motor de AWS con el comando:

vault compose aws/config/root access_vital=$AWS_Obtain_Vital_ID secret_critical=$AWS_Magic formula_Access_Crucial location=us-east-1

Asegúrese de establecer su región en la que united states of america con AWS.

Cómo crear un rol

A continuación, debe crear una función para que Vault sepa qué permisos, grupos y políticas se asociarán con un nuevo usuario de IAM. Necesitará estar familiarizado con Políticas administradas por AWS para que esto funcione correctamente. Por ejemplo, creemos un nuevo rol, denominado REGIONES que permite habilitar y deshabilitar regiones de AWS.

La política de IAM para esto es:

    "Version": "2012-10-17",
    "Statement": (
        
            "Sid": "EnableDisableHongKong",
            "Effect": "Permit",
            "Motion": (
                "account:EnableRegion",
                "account:DisableRegion"
            ),
            "Resource": "*",
            "Situation": 
                "StringEquals": "account:TargetRegion": "ap-east-1"
            
        ,
        
            "Sid": "ViewConsole",
            "Outcome": "Allow",
            "Motion": (
                "aws-portal:ViewAccount",
                "account:ListRegions"
            ),
            "Resource": "*"
        
    )

Para crear el rol, el comando sería:

vault create aws/roles/Locations 
        credential_form=iam_person 
        policy_document=-<

Con AWS Secrets Engine habilitado y configurado, y una nueva función creada, ahora podemos generar un par de claves secretas para la función con el comando:

vault read aws/creds/REGIONS

Vault se conectará a AWS para generar un nuevo usuario de IAM y generará un par de claves de acceso para el rol de REGIONS.

Felicitaciones, ha creado sus primeros motores secretos y ha generado pares de claves.

Comprenda que todo lo que hemos hecho hasta ahora se realiza en un entorno de prueba. La próxima vez, implementaremos el servidor Vault en un entorno de producción real.

Suscríbase a Cómo hacer que la tecnología funcione en YouTube de TechRepublic para obtener los últimos consejos tecnológicos para profesionales de negocios de Jack Wallen.

Ver también



Enlace a la noticia original