GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Installation von Lemur Certificate Manager auf Ubuntu

Dieses Tutorial zeigt die Installation der Zertifikatverwaltungssoftware Lemur auf Ubuntu 16.04 LTS. Lemur ist ein Open-Source-Projekt von NetFlix und wird verwendet, um die Zertifikate für Kunden/Auftraggeber zu generieren. In diesem Artikel richten wir eine Python-basierte virtuelle Umgebung ein, installieren die erforderlichen Pakete, konfigurieren den grundlegenden Webdienst und greifen auf das Dashboard des Zertifikatsmanagers zu. Es wird davon ausgegangen, dass Sie eine saubere Ubuntu 16.04 LTS-Instanz ausführen, z. in der Cloud (wie AWS) oder einer lokalen virtualisierten Umgebung.

Abhängigkeiten

Einige Grundvoraussetzungen, die Sie benötigen, um Lemur auszuführen:

  • Linux-Betriebssystem (in diesem Tutorial wird Ubuntu 16.04 LTS verwendet).
  • Python 3.5 oder höher.
  • PostgreSQL 9.4 oder höher.
  • Nginx-Webserver.

Build-Abhängigkeiten installieren

Wenn Sie Lemur auf einem reinen Ubuntu-Betriebssystem installieren, müssen Sie die folgenden Pakete herunterladen, damit Lemur seine Abhängigkeiten korrekt erstellen kann:

.. Codeblock::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

Der obige Befehl installiert nodejs-, pip-, nginx-, git-, npm- und PostgreSQL-Datenbankpakete.

Hinweis:Installation des Knotens Der Paketmanager kann die nodejs erstellen bin im Pfad /usr/bin/nodejs anstelle von /usr/bin/node. Führen Sie den folgenden Befehl aus, um einen Softlink am gewünschten Pfad zu erstellen.

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

Installieren Sie jetzt virtualenv Paket mit folgendem Befehl.

sudo pip install -U virtualenv

Einrichten der Build-Umgebung

In diesem Handbuch wird Lemur unter /www installiert Verzeichnis, also müssen Sie dieses Verzeichnis zuerst erstellen:

sudo mkdir /www
cd /www

Klonen Sie jetzt Lemur  neueste Quelle in dem gerade erstellten Verzeichnis und geben Sie sich selbst Schreibrechte (lemur Benutzer ist der in dieser Anleitung erstellte):

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

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

Erstellen Sie außerdem die virtuelle Umgebung, aktivieren Sie sie und geben Sie Lemurs Verzeichnis ein:

su lemur
virtualenv -p python3 lemur


source /www/lemur/bin/activate
cd lemur

Durch Aktivieren der Umgebung wird PATH angepasst Umgebungsvariable , sodass Dinge wie pip jetzt standardmäßig in der virtuellen Umgebung installiert werden.

Installieren von Lemur aus der Quelle

Stellen Sie nach dem Einrichten des Systems sicher, dass Sie sich in der virtuellen Umgebung befinden, um den Befehl „make release“ auszuführen.

which python

Und führen Sie den folgenden Befehl aus, um npm zu installieren Abhängigkeiten sowie zum Kompilieren statischer Assets.

 make release

Lemur-Konfiguration erstellen

Bevor wir Lemur ausführen, müssen wir eine gültige Konfigurationsdatei dafür erstellen. Die Lemur-Befehlszeilenschnittstelle enthält einen einfachen Befehl, mit dem Sie schnell einsatzbereit sind. Der folgende Befehl erstellt eine Standardkonfiguration unter "~/.lemur/lemur.conf.py " und dieser Speicherort kann durch Übergabe des config_path angegeben werden -Parameter in die create_config Befehl.

 lemur create_config

Lemur-Konfiguration aktualisieren

Nach der Erstellung müssen Sie die Konfigurationsdatei mit Informationen über Ihre Umgebung aktualisieren, z. B. mit welcher Datenbank Sie kommunizieren möchten, wo Schlüssel gespeichert werden usw.

vi ~/.lemur/lemur.conf.py

Der SQLALCHEMY_DATABASE_URI Zeichenfolge von Postgresql kann wie folgt aufgeteilt werden:
"postgresql://userame:[email protected]:/"

Der folgende Screenshot zeigt, dass die folgenden erforderlichen Variablen in der Konfigurationsdatei ausgefüllt sind:

LEMUR_SECURITY_TEAM_EMAIL
LEMUR_DEFAULT_COUNTRY
LEMUR_DEFAULT_STATE
LEMUR_DEFAULT_LOCATION
LEMUR_DEFAULT_ORGANIZATION
LEMUR_DEFAULT_ORGANIZATIONAL_UNIT

Postgres-Datenbank einrichten

Für die Produktion wird eine dedizierte Datenbank empfohlen. Für diese Anleitung gehe ich davon aus, dass Postgres installiert wurde und sich auf demselben Computer befindet, auf dem Lemur installiert ist.

Legen Sie zunächst ein Passwort für den Postgres-Benutzer fest. Für diese Anleitung verwenden wir Lemur als Beispiel, aber Sie sollten das von Lemur generierte Datenbankpasswort verwenden:

sudo -u postgres -i

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

Geben Sie bei Erfolg STRG-D ein, um die Postgres-Shell zu verlassen.

Als nächstes erstellen wir unsere neue Datenbank:

sudo -u postgres createdb lemur

Lemur Certificate Manager wird initialisiert 

Lemur bietet einen hilfreichen Befehl, der Ihre Datenbank für Sie initialisiert. Es erstellt einen Standardbenutzer (lemur ), die von Lemur verwendet wird, um Zertifikate zuzuordnen, die derzeit keinen Besitzer haben. Dies ist am häufigsten der Fall, wenn Lemur Zertifikate von einer Drittquelle entdeckt hat. Dies ist auch ein Standardbenutzer, der zur Verwaltung von Lemur verwendet werden kann.

Zusätzlich zum Erstellen eines neuen Benutzers erstellt Lemur auch einige Standard-E-Mail-Benachrichtigungen. Diese Benachrichtigungen basieren auf einigen Konfigurationsoptionen wie LEMUR_SECURITY_TEAM_EMAIL . Sie garantieren grundsätzlich, dass jedes Zertifikat innerhalb von Lemur eine Ablaufbenachrichtigung an das Sicherheitsteam sendet.

Notieren Sie sich das verwendete Passwort, da dieses bei der ersten Anmeldung bei der Lemur-Benutzeroberfläche verwendet wird.

cd /www/lemur/lemur 
lemur init

Der folgende Schnappschuss zeigt die Ausgabe des Befehls "lemur init".

NGINX-Webserverkonfiguration für Lemur

Standardmäßig läuft Lemur auf Port 8000. Selbst wenn Sie dies ändern, können Sie sich unter normalen Bedingungen nicht an Port 80 binden. Um dies zu umgehen (und um zu vermeiden, dass Lemur als privilegierter Benutzer ausgeführt wird, was Sie nicht sollten ), müssen wir einen einfachen Web-Proxy einrichten. Es gibt viele verschiedene Webserver, die Sie dafür verwenden können, wir mögen und empfehlen Nginx.

Fügen Sie in der Konfigurationsdatei folgende Zeilen hinzu:„/etc/nginx/sites-available/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;
}

Nachdem Sie diese Änderungen vorgenommen haben, starten Sie den Nginx-Dienst neu, um sie zu übernehmen:

sudo service nginx restart

Webdienst starten

Lemur bietet einen integrierten Webserver (unterstützt von Gunicorn und Eventlet), um Sie schnell auf den Weg zu bringen. Um den Webserver zu starten, verwenden Sie einfach "lemur start ".

Sie können sich mit dem Standardbenutzer anmelden, der während der Initialisierung von Lemur erstellt wurde, oder mit jedem anderen Benutzer, den Sie möglicherweise erstellt haben. Sie sollten jetzt in der Lage sein, den Webdienst zu testen, indem Sie http://192.168.10.51:8000/ besuchen . (192.168.10.51 ist die IP-Adresse der Lemur-Maschine).

Das Dashboard des Lemur ist oben abgebildet. Es wird verwendet, um Zertifikate mit selbstsignierten oder Root-Zertifizierungsstellen zu erstellen.

Schlussfolgerung

In diesem Tutorial wird der Lemur-Zertifikatsmanager auf der neuesten Ubuntu LTS-Version installiert. Der Zweck von Lemur ist das Erstellen und Verwalten von Zertifikaten. Es unterstützt auch verschiedene Rollen von Benutzern.


Ubuntu
  1. Ubuntu 22.04 Cinnamon Desktop-Installation

  2. Ubuntu 20.04-Installation von USB

  3. Ubuntu 20.04 Cinnamon Desktop-Installation

  4. Ubuntu 20.04 Tomcat-Installation

  5. Ubuntu 20.04 Serverinstallation

Ubuntu 22.04 VLC-Installation

Integration von CFSSL mit dem Lemur Certificate Manager

So installieren Sie Portainer Docker Manager in Ubuntu 20.04

Installation des myki-Passwortmanagers auf Ubuntu 20.04 LTS

TeamPass Password Manager-Installation auf Ubuntu 20.04 LTS

Code-Snippet-Manager für Ubuntu?