Instalimi i Menaxherit të Certifikatave Lemur në Ubuntu
Ky tutorial tregon instalimin e softuerit të menaxhimit të certifikatave Lemur në Ubuntu 16.04 LTS. Lemur është një projekt me burim të hapur i NetFlix dhe përdoret për të gjeneruar certifikata për klientët/klientët. Në këtë artikull, ne do të konfigurojmë një mjedis virtual të bazuar në Python, do të instalojmë paketat e kërkuara, do të konfigurojmë shërbimin bazë të uebit dhe do të aksesojmë pultin e menaxherit të certifikatave. Supozohet se keni një shembull të pastër Ubuntu 16.04 LTS që po funksionon, p.sh. në Cloud (si AWS) ose në një mjedis të virtualizuar lokal.
varësitë
Disa parakushte bazë që ju nevojiten për të drejtuar Lemur:
- Sistemi operativ Linux (Ubuntu 16.04 LTS përdoret në këtë tutorial).
- Python 3.5 ose më i ri.
- PostgreSQL 9.4 ose më i ri.
- Serveri ueb Nginx.
Instalimi i Build Dependencies
Kur instaloni Lemur në një OS të zhveshur Ubuntu, do t'ju duhet të kapni paketat e mëposhtme në mënyrë që Lemur të mund të ndërtojë saktë varësitë e tij:
.. kod-blloku:: 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
Komanda e mësipërme do të instalojë paketat e bazës së të dhënave nodejs, pip, nginx, git, npm dhe PostgreSQL.
Shënim: Instalimi i menaxherit të paketave node mund të krijojë koshin nodejs në shtegun /usr/bin/nodejs në vend të /usr/bin/node. Ekzekutoni komandën e mëposhtme për të krijuar një lidhje të butë në shtegun e dëshiruar.
sudo ln -s /user/bin/nodejs /usr/bin/node
Tani, instaloni paketën virtualenv duke përdorur komandën e mëposhtme.
sudo pip install -U virtualenv
Vendosja e mjedisit të ndërtimit
Në këtë udhëzues, Lemur do të instalohet në drejtorinë /www , kështu që së pari duhet të krijoni atë drejtori:
sudo mkdir /www
cd /www
Tani, klononi Lemur burimin më të fundit brenda drejtorisë së sapokrijuar dhe jepini vetes leje shkrimi (lemur përdoruesi është i krijuar në këtë tutorial):
sudo useradd lemur
sudo passwd lemur
sudo mkdir /home/lemur
sudo chown lemur:lemur /home/lemur
klon sudo git https://github.com/Netflix/lemur
sudo chown -R lemur lemur/
Gjithashtu, krijoni mjedisin virtual, aktivizoni atë dhe futni direktorinë Lemurs:
su lemur
virtualenv -p python3 lemur
source /www/lemur/bin/activate
cd lemur
Aktivizimi i mjedisit rregullon variablin e mjedisit PATH , në mënyrë që gjëra të tilla si pip tani të instalohen në virtualenv si parazgjedhje.
Instalimi i Lemur nga Burimi
Pas konfigurimit të sistemit, sigurohuni që jeni në virtualenv për të ekzekutuar komandën \make release\.
which python
Dhe ekzekutoni komandën e mëposhtme për të instaluar varësitë npm si dhe për të përpiluar asete statike.
make release
Krijimi i konfigurimit të Lemurit
Përpara se të ekzekutojmë Lemur, duhet të krijojmë një skedar të vlefshëm konfigurimi për të. Ndërfaqja e linjës së komandës Lemur vjen me një komandë të thjeshtë për t'ju vënë në punë shpejt. Komanda e mëposhtme do të krijojë një konfigurim të paracaktuar nën \~/.lemur/lemur.conf.py\ dhe kjo vendndodhje mund të specifikohet duke kaluar parametrin config_path në Komanda create_config.
lemur create_config
Përditëso konfigurimin e Lemurit
Pasi të krijohet, do t'ju duhet të përditësoni skedarin e konfigurimit me informacione rreth mjedisit tuaj, si p.sh. me cilën bazë të dhënash të flisni, ku ruhen çelësat etj.
vi ~/.lemur/lemur.conf.py
Vargu SQLALCHEMY_DATABASE_URI i Postgresql mund të ndahet si kjo:
\postgresql://userame:[email e mbrojtur]
Pamja e mëposhtme e ekranit tregon se ndryshoret e mëposhtme të kërkuara janë plotësuar në skedarin e konfigurimit:
LEMUR_SECURITY_TEAM_EMAIL
LEMUR_DEFAULT_COUNTRY
LEMUR_DEFAULT_STATE
LEMUR_DEFAULT_LOCATION
LEMUR_DEFAULT_ORGANIZATION
LEMUR_DEFAULT_ORGANIZATIONAL_UNIT
Konfiguro bazën e të dhënave Postgres
Për prodhim, rekomandohet një bazë të dhënash e dedikuar. Për këtë udhëzues, unë do të supozoj se postgres është instaluar dhe është në të njëjtën makinë në të cilën është instaluar Lemur.
Së pari, vendosni një fjalëkalim për përdoruesin e postgres. Për këtë udhëzues, ne do të përdorim lemur si shembull, por ju duhet të përdorni fjalëkalimin e bazës së të dhënave të krijuar nga Lemur:
sudo -u postgres -i
psql
postgres=# CREATE USER lemur WITH PASSWORD 'lemur';
Pasi të keni sukses, shkruani CTRL-D për të dalë nga guaska Postgres.
Më pas, ne do të krijojmë bazën tonë të re të të dhënave:
sudo -u postgres createdb lemur
Inicializimi i Menaxherit të Certifikatës Lemur
Lemur ofron një komandë të dobishme që do të inicializojë bazën e të dhënave për ju. Krijon një përdorues të paracaktuar (lemur) që përdoret nga Lemur për të ndihmuar në lidhjen e certifikatave që aktualisht nuk kanë një pronar. Ky është rasti më i zakonshëm kur Lemur ka zbuluar certifikata nga një burim i palës së tretë. Ky është gjithashtu një përdorues i paracaktuar që mund të përdoret për të administruar Lemur.
Përveç krijimit të një përdoruesi të ri, Lemur krijon gjithashtu disa njoftime të paracaktuara me email. Këto njoftime bazohen në disa opsione konfigurimi si LEMUR_SECURITY_TEAM_EMAIL. Ata në thelb garantojnë që çdo certifikatë brenda Lemur do të dërgojë një njoftim skadimi tek ekipi i sigurisë.
Vini re fjalëkalimin e përdorur pasi ai do të përdoret gjatë hyrjes së parë në ndërfaqen e përdoruesit Lemur.
cd /www/lemur/lemur
lemur init
Pamja e mëposhtme tregon daljen e komandës \lemur init\.
Konfigurimi i serverit në internet NGINX për Lemur
Si parazgjedhje, Lemur funksionon në portin 8000. Edhe nëse e ndryshoni këtë, në kushte normale nuk do të jeni në gjendje të lidheni me portin 80. Për ta shmangur këtë (dhe për të shmangur përdorimin e Lemur si përdorues të privilegjuar, gjë që nuk duhet), na duhet konfiguroni një proxy të thjeshtë në internet. Ka shumë serverë të ndryshëm në internet që mund të përdorni për këtë, ne na pëlqen dhe rekomandojmë Nginx.
Shtoni rreshtat e mëposhtëm në skedarin e konfigurimit \/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;
}
Pasi të keni bërë këto ndryshime, rinisni shërbimin Nginx për t'i zbatuar ato:
sudo service nginx restart
Nisja e Shërbimit Ueb
Lemur ofron një server të integruar në internet (të mundësuar nga gunicorn dhe eventlet) për t'ju larguar shpejt nga toka. Për të nisur serverin e uebit, thjesht përdorni \lemur start\.
Ju mund të identifikoheni me përdoruesin e paracaktuar të krijuar gjatë Inicializimit të Lemurit ose çdo përdorues tjetër që mund të keni krijuar. Tani duhet të jeni në gjendje të testoni shërbimin në internet duke vizituar http://192.168.10.51:8000/. (192.168.10.51 është adresa ip e makinës Lemur).
Paneli i Lemurit është paraqitur më sipër. Përdoret për të krijuar certifikata duke përdorur Autoritetet e Certifikimit të vetë-nënshkruara ose rrënjësore.
konkluzioni
Në këtë tutorial, menaxheri i certifikatës Lemur është instaluar në versionin më të fundit të Ubuntu LTS. Qëllimi i Lemur është të krijojë dhe menaxhojë certifikatat. Ai gjithashtu mbështet role të ndryshme të përdoruesve.