GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Instalación de Lemur Certificate Manager en Ubuntu

Este tutorial muestra la instalación del software de gestión de certificados Lemur en Ubuntu 16.04 LTS. Lemur es un proyecto de código abierto de NetFlix y se utiliza para generar certificados para clientes/clientes. En este artículo, configuraremos un entorno virtual basado en Python, instalaremos los paquetes necesarios, configuraremos el servicio web básico y accederemos al panel del administrador de certificados. Se supone que tiene una instancia limpia de Ubuntu 16.04 LTS ejecutándose, p. en la nube (como AWS) o en un entorno virtualizado local.

Dependencias

Algunos requisitos previos básicos que necesitará para ejecutar Lemur:

  • Sistema operativo Linux (en este tutorial se usa Ubuntu 16.04 LTS).
  • Python 3.5 o superior.
  • PostgreSQL 9.4 o superior.
  • Servidor web Nginx.

Instalación de dependencias de compilación

Cuando instale Lemur en un sistema operativo Ubuntu simple, deberá obtener los siguientes paquetes para que Lemur pueda construir correctamente sus dependencias:

.. bloque de código::bash

sudo apt-get update
sudo apt-get install nodejs nodejs-legacy python-pip python-dev python3-dev libpq-dev build-essential libssl-dev libffi-dev libsasl2-dev libldap2-dev nginx git supervisor npm postgresql

El comando anterior instalará los paquetes de base de datos nodejs, pip, nginx, git, npm y PostgreSQL.

Nota:Instalación del nodo el administrador de paquetes puede crear el nodejs bin en la ruta /usr/bin/nodejs en lugar de /usr/bin/node. Ejecute el siguiente comando para crear un enlace suave en la ruta deseada.

sudo ln -s /user/bin/nodejs /usr/bin/node

Ahora, instala virtualenv paquete usando el siguiente comando.

sudo pip install -U virtualenv

Configurando el entorno de construcción

En esta guía, Lemur se instalará en /www directorio, por lo que primero debe crear ese directorio:

sudo mkdir /www
cd /www

Ahora, clona Lemur  fuente más reciente dentro del directorio recién creado y dése permiso de escritura (lemur usuario es el creado en este tutorial):

sudo useradd lemur
sudo passwd lemur
sudo mkdir /home/lemur
sudo chown lemur:lemur /home/lemur

sudo git clon https://github.com/Netflix/lemur
sudo chown -R lemur lemur/

Además, crea el entorno virtual, actívalo y entra en el directorio de Lemur:

su lemur
virtualenv -p python3 lemur


source /www/lemur/bin/activate
cd lemur

Al activar el entorno se ajusta RUTA variable de entorno, por lo que cosas como pip ahora se instalan en virtualenv de forma predeterminada.

Instalando Lemur desde la fuente

Después de configurar el sistema, asegúrese de estar en virtualenv para ejecutar el comando "make release".

which python

Y ejecute el siguiente comando para instalar npm dependencias, así como compilar activos estáticos.

 make release

Creando la configuración de Lemur

Antes de ejecutar Lemur, debemos crear un archivo de configuración válido para él. La interfaz de línea de comandos de Lemur viene con un comando simple para ponerlo en funcionamiento rápidamente. El siguiente comando creará una configuración predeterminada en "~/.lemur/lemur.conf.py " y esta ubicación se puede especificar pasando config_path parámetro a create_config comando.

 lemur create_config

Actualizar la configuración de Lemur

Una vez creado, deberá actualizar el archivo de configuración con información sobre su entorno, como con qué base de datos hablar, dónde se almacenan las claves, etc.

vi ~/.lemur/lemur.conf.py

El SQLALCHEMY_DATABASE_URI cadena de Postgresql se puede dividir así:
"postgresql://userame:[email protected]:/"

La siguiente captura de pantalla muestra que las siguientes variables requeridas se completan en el archivo de configuración:

LEMUR_SECURITY_TEAM_EMAIL
LEMUR_DEFAULT_COUNTRY
LEMUR_DEFAULT_STATE
LEMUR_DEFAULT_LOCATION
LEMUR_DEFAULT_ORGANIZATION
LEMUR_DEFAULT_ORGANIZATIONAL_UNIT

Configurar la base de datos de Postgres

Para producción, se recomienda una base de datos dedicada. Para esta guía, asumiré que se ha instalado Postgres y que está en la misma máquina en la que está instalado Lemur.

Primero, establezca una contraseña para el usuario de postgres. Para esta guía, usaremos lemur como ejemplo, pero debe usar la contraseña de la base de datos generada por Lemur:

sudo -u postgres -i

psql
postgres=# CREATE USER lemur WITH PASSWORD 'lemur';

Una vez que tenga éxito, presione CTRL-D para salir del shell de Postgres.

A continuación, crearemos nuestra nueva base de datos:

sudo -u postgres createdb lemur

Inicializando el administrador de certificados de Lemur 

Lemur proporciona un comando útil que inicializará su base de datos por usted. Crea un usuario por defecto (lemur ) que utiliza Lemur para ayudar a asociar certificados que actualmente no tienen propietario. Este suele ser el caso cuando Lemur ha descubierto certificados de una fuente de terceros. Este también es un usuario predeterminado que se puede usar para administrar Lemur.

Además de crear un nuevo usuario, Lemur también crea algunas notificaciones de correo electrónico predeterminadas. Estas notificaciones se basan en algunas opciones de configuración, como LEMUR_SECURITY_TEAM_EMAIL . Básicamente garantizan que cada certificado dentro de Lemur enviará una notificación de caducidad al equipo de seguridad.

Tome nota de la contraseña utilizada, ya que se usará durante el primer inicio de sesión en la interfaz de usuario de Lemur.

cd /www/lemur/lemur 
lemur init

La siguiente instantánea muestra el resultado del comando "lemur init".

Configuración del servidor web Nginx para Lemur

De forma predeterminada, Lemur se ejecuta en el puerto 8000. Incluso si cambia esto, en condiciones normales no podrá vincularse al puerto 80. Para evitar esto (y evitar ejecutar Lemur como un usuario privilegiado, que no debería ), necesitamos configurar un proxy web simple. Hay muchos servidores web diferentes que puede usar para esto, nos gusta y recomendamos Nginx.

Agregue las siguientes líneas en el archivo de configuración "/etc/nginx/sites-disponible/default ".

location /api {
proxy_pass http://127.0.0.1:8000;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location / {
root /www/lemur/lemur/static/dist;
include mime.types;
index index.html;
}

Después de realizar estos cambios, reinicie el servicio Nginx para aplicarlos:

sudo service nginx restart

Iniciar el servicio web

Lemur proporciona un servidor web incorporado (impulsado por gunicorn y eventlet) para que pueda despegar rápidamente. Para iniciar el servidor web, simplemente use "lemur start ".

Puede iniciar sesión con el usuario predeterminado creado durante la inicialización de Lemur o cualquier otro usuario que haya creado. Ahora debería poder probar el servicio web visitando http://192.168.10.51:8000/ . (192.168.10.51 es la dirección IP de la máquina Lemur).

Arriba se muestra el panel de control del lémur. Se utiliza para crear certificados utilizando autoridades de certificación raíz o autofirmadas.

Conclusión

En este tutorial, el administrador de certificados Lemur está instalado en la última versión de Ubuntu LTS. El propósito de Lemur es crear y administrar certificados. También admite diferentes roles de usuarios.


Ubuntu
  1. Instalación de Ubuntu 22.04 Cinnamon Desktop

  2. Instalación de Ubuntu 20.04 desde USB

  3. Instalación de Ubuntu 20.04 Cinnamon Desktop

  4. Instalación de Ubuntu 20.04 Tomcat

  5. Instalación del servidor Ubuntu 20.04

Instalación de Ubuntu 22.04 VLC

Integración de CFSSL con Lemur Certificate Manager

Cómo instalar Portainer Docker Manager en Ubuntu 20.04

Instalación del administrador de contraseñas myki en Ubuntu 20.04 LTS

Instalación de TeamPass Password Manager en Ubuntu 20.04 LTS

Administrador de fragmentos de código para Ubuntu?