GNU/Linux >> Belajar Linux >  >> Ubuntu

Instalasi Manajer Sertifikat Lemur di Ubuntu

Tutorial ini menunjukkan penginstalan perangkat lunak manajemen sertifikat Lemur di Ubuntu 16.04 LTS. Lemur adalah proyek open source NetFlix dan digunakan untuk menghasilkan sertifikat untuk pelanggan/klien. Pada artikel ini, kami akan menyiapkan lingkungan virtual berbasis Python, menginstal paket yang diperlukan, mengonfigurasi layanan web dasar, dan mengakses dasbor pengelola sertifikat. Diasumsikan bahwa Anda menjalankan instance Ubuntu 16.04 LTS yang bersih, mis. di Cloud (seperti AWS) atau lingkungan virtual lokal.

Ketergantungan

Beberapa prasyarat dasar yang Anda perlukan untuk menjalankan Lemur:

  • Sistem operasi Linux (Ubuntu 16.04 LTS digunakan dalam tutorial ini).
  • Python 3.5 atau lebih tinggi.
  • PostgreSQL 9.4 atau lebih tinggi.
  • Server Web Nginx.

Memasang Dependensi Build

Saat Anda menginstal Lemur pada OS Ubuntu yang kosong, Anda perlu mengambil paket-paket berikut agar Lemur dapat membangun dependensinya dengan benar:

.. kode-blok::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

Perintah di atas akan menginstal paket database nodejs, pip, nginx , git, npm, dan PostgreSQL.

Catatan:Memasang simpul manajer paket dapat membuat nodejs bin di jalur /usr/bin/nodejs alih-alih /usr/bin/node.js. Jalankan perintah berikut untuk membuat tautan lunak di jalur yang diinginkan.

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

Sekarang, instal virtualenv paket menggunakan perintah berikut.

sudo pip install -U virtualenv

Menyiapkan lingkungan build

Dalam panduan ini, Lemur akan dipasang di /www direktori, jadi Anda harus membuat direktori itu terlebih dahulu:

sudo mkdir /www
cd /www

Sekarang, klon Lemur  sumber terbaru di dalam direktori yang baru saja dibuat dan beri diri Anda izin menulis (lemur pengguna dibuat dalam tutorial ini):

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/

Juga, buat lingkungan virtual, aktifkan dan masuk ke direktori Lemur:

su lemur
virtualenv -p python3 lemur


source /www/lemur/bin/activate
cd lemur

Mengaktifkan lingkungan akan menyesuaikan PATH variabel lingkungan , sehingga hal-hal seperti pip sekarang diinstal ke virtualenv secara default.

Memasang Lemur dari Sumber

Setelah menyiapkan sistem, pastikan Anda berada di virtualenv untuk menjalankan perintah "make release".

which python

Dan jalankan perintah berikut untuk menginstal npm dependensi serta kompilasi aset statis.

 make release

Membuat konfigurasi Lemur

Sebelum kita menjalankan Lemur, kita harus membuat file konfigurasi yang valid untuk itu. Antarmuka baris perintah Lemur dilengkapi dengan perintah sederhana untuk membuat Anda bangun dan berjalan dengan cepat. Perintah berikut akan membuat konfigurasi default di bawah "~/.lemur/lemur.conf.py " dan lokasi ini dapat ditentukan dengan meneruskan config_path parameter ke create_config perintah.

 lemur create_config

Perbarui konfigurasi Lemur

Setelah dibuat, Anda perlu memperbarui file konfigurasi dengan informasi tentang lingkungan Anda, seperti database mana yang akan digunakan untuk berbicara, di mana kunci disimpan, dll.

vi ~/.lemur/lemur.conf.py

SQLALCHEMY_DATABASE_URI string Postgresql dapat dipecah seperti ini:
"postgresql://userrame:[email protected]:/"

Tangkapan layar yang diberikan di bawah ini menunjukkan bahwa variabel yang diperlukan berikut ini diisi dalam file konfigurasi:

LEMUR_SECURITY_TEAM_EMAIL
LEMUR_DEFAULT_COUNTRY
LEMUR_DEFAULT_STATE
LEMUR_DEFAULT_LOCATION
LEMUR_DEFAULT_ORGANIZATION
LEMUR_DEFAULT_ORGANIZATIONAL_UNIT

Siapkan Basis Data Postgres

Untuk produksi, database khusus direkomendasikan. Untuk panduan ini, saya akan menganggap postgres telah diinstal dan berada di mesin yang sama dengan tempat Lemur diinstal.

Pertama, atur kata sandi untuk pengguna postgres. Untuk panduan ini, kami akan menggunakan lemur sebagai contoh tetapi Anda harus menggunakan kata sandi basis data yang dibuat oleh Lemur:

sudo -u postgres -i

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

Setelah berhasil, ketik CTRL-D untuk keluar dari shell Postgres.

Selanjutnya, kita akan membuat database baru kita:

sudo -u postgres createdb lemur

Menginisialisasi Manajer Sertifikat Lemur 

Lemur menyediakan perintah bermanfaat yang akan menginisialisasi database Anda untuk Anda. Ini membuat pengguna default (lemur ) yang digunakan oleh Lemur untuk membantu mengaitkan sertifikat yang saat ini tidak memiliki pemilik. Ini paling sering terjadi ketika Lemur telah menemukan sertifikat dari sumber pihak ketiga. Ini juga merupakan pengguna default yang dapat digunakan untuk mengelola Lemur.

Selain membuat pengguna baru, Lemur juga membuat beberapa notifikasi email default. Notifikasi ini didasarkan pada beberapa opsi konfigurasi seperti LEMUR_SECURITY_TEAM_EMAIL . Mereka pada dasarnya menjamin bahwa setiap sertifikat dalam Lemur akan mengirimkan satu pemberitahuan kedaluwarsa kepada tim keamanan.

Catat kata sandi yang digunakan karena ini akan digunakan saat login pertama ke UI Lemur.

cd /www/lemur/lemur 
lemur init

Snapshot berikut menunjukkan output dari perintah "lemur init".

Konfigurasi server web NGINX untuk Lemur

Secara default, Lemur berjalan pada port 8000. Bahkan jika Anda mengubah ini, dalam kondisi normal Anda tidak akan dapat mengikat ke port 80. Untuk menyiasatinya (dan untuk menghindari menjalankan Lemur sebagai pengguna istimewa, yang seharusnya tidak Anda lakukan ), kita perlu menyiapkan proxy web sederhana. Ada banyak server web berbeda yang dapat Anda gunakan untuk ini, kami menyukai dan merekomendasikan Nginx.

Tambahkan baris berikut di file konfigurasi "/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;
}

Setelah melakukan perubahan ini, mulai ulang layanan Nginx untuk menerapkannya:

sudo service nginx restart

Memulai Layanan Web

Lemur menyediakan server web bawaan (didukung oleh gunicorn dan eventlet) untuk membantu Anda memulai dengan cepat. Untuk memulai server web, Anda cukup menggunakan "lemur start ".

Anda dapat login dengan pengguna default yang dibuat selama Inisialisasi Lemur atau pengguna lain yang mungkin telah Anda buat. Anda sekarang dapat menguji layanan web dengan mengunjungi http://192.168.10.51:8000/ . (192.168.10.51 adalah alamat ip mesin Lemur).

Dasbor Lemur ditampilkan di atas. Ini digunakan untuk membuat sertifikat menggunakan Otoritas Sertifikat yang ditandatangani sendiri atau root.

Kesimpulan

Dalam tutorial ini, manajer sertifikat Lemur diinstal pada versi Ubuntu LTS terbaru. Tujuan dari Lemur adalah untuk membuat dan mengelola sertifikat. Ini juga mendukung peran pengguna yang berbeda.


Ubuntu
  1. Instalasi Ubuntu 22.04 Cinnamon Desktop

  2. Instalasi Ubuntu 20.04 dari USB

  3. Instalasi Ubuntu 20.04 Cinnamon Desktop

  1. Instalasi Ubuntu 20.04 Tomcat

  2. Instalasi Server Ubuntu 20.04

  3. Instalasi Browser Chromium Ubuntu 20.04

  1. Instalasi Ubuntu 20.04 Kylin Desktop

  2. Instalasi Ubuntu 20.04 PostgreSQL

  3. Instalasi Ubuntu 20.04 FFmpeg