在Ubuntu上安装Lemur证书管理器

在Ubuntu上安装Lemur证书管理器

本教程展示了在Ubuntu 16.04 LTS上安装Lemur证书管理软件。 Lemur是NetFlix的一个开源项目,用于为客户/客户生成证书。 在本文中,我们将设置一个基于Python的虚拟环境,安装所需的软件包,配置基本的Web服务以及访问证书管理器的仪表板。 假设您有一个干净的Ubuntu 16.04 LTS实例正在运行,例如在Cloud(如AWS)或本地虚拟化环境中运行。

依赖

您需要运行狐猴所需的一些基本先决条件:

  • Linux操作系统(本教程使用Ubuntu 16.04 LTS)。
  • Python 3.5或更高版本。
  • PostgreSQL 9.4或更高版本。
  • Nginx Web服务器。

安装构建依赖关系

当您在裸露的Ubuntu操作系统上安装Lemur时,您需要获取以下软件包,以便Lemur可以正确构建它的依赖关系:

.. code-block :: 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

上述命令将安装nodejs,pip,nginx,git,npm和PostgreSQL数据库包。

注意:安装节点包管理器可以在/ usr / bin / nodejs路径而不是/ usr / bin / node上创建nodejs bin。 运行以下命令以在所需路径上创建软链接。

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

现在,使用以下命令安装virtualenv软件包。

sudo pip install -U virtualenv

设置构建环境

在本指南中,Lemur将安装在/ www目录中,因此您需要先创建该目录:

sudo mkdir /www
cd /www

现在,克隆刚刚创建的目录中的Lemur最新源代码并给自己写入权限( 狐猴用户是在本教程中创建的):

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/

另外,创建虚拟环境,激活它并输入狐猴的目录:

su lemur
virtualenv -p python3 lemur


source /www/lemur/bin/activate
cd lemur

激活环境会调整PATH环境变量,因此缺省情况下像pip这样的东西现在会安装到virtualenv中。

从源代码安装狐猴

设置系统后,确保你在virtualenv中运行“make release”命令。

which python

并运行以下命令来安装npm依赖关系以及编译静态资产。

 make release

创建狐猴配置

在我们运行Lemur之前,我们必须为它创建一个有效的配置文件。 Lemur命令行界面带有一个简单的命令,可让您快速启动并运行。 以下命令将在“ 〜/ .lemur / lemur.conf.py ”下创建一个默认配置,并且可以通过将config_path参数传递给create_config命令来指定此位置。

 lemur create_config

更新狐猴配置

一旦创建完成,您将需要使用有关您的环境的信息来更新配置文件,例如要与哪个数据库进行通话,存储密钥的位置等。

vi ~/.lemur/lemur.conf.py

PostgresqlSQLALCHEMY_DATABASE_URI字符串可以像这样分解:
“postgresql:// userame: password@ <database-fqdn>:<database-port> / <database-name>”

下面给出的屏幕截图显示,在配置文件中填入以下必需的变量:

LEMUR_SECURITY_TEAM_EMAIL
LEMUR_DEFAULT_COUNTRY
LEMUR_DEFAULT_STATE
LEMUR_DEFAULT_LOCATION
LEMUR_DEFAULT_ORGANIZATION
LEMUR_DEFAULT_ORGANIZATIONAL_UNIT

安装Postgres数据库

对于生产,建议使用专用数据库。 对于本指南,我将假设postgres已安装并且与安装Lemur的计算机位于同一台计算机上。

首先,为postgres用户设置一个密码。 对于本指南,我们将使用狐猴作为示例,但您应该使用由狐猴生成的数据库密码:

sudo -u postgres -i

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

一旦成功,输入CTRL-D退出Postgres shell。

接下来,我们将创建我们的新数据库:

sudo -u postgres createdb lemur

初始化狐猴证书管理器

狐猴提供了一个有用的命令,将为您初始化您的数据库。 它会创建一个默认用户( 狐猴 ),供狐猴用来帮助关联当前没有拥有者的证书。 当Lemur从第三方来源发现证书时,这是最常见的情况。 这也是可以用来管理狐猴的默认用户。

除了创建新用户外,Lemur还创建了一些默认电子邮件通知。 这些通知基于几个配置选项,如LEMUR_SECURITY_TEAM_EMAIL 。 他们基本上保证,狐猴内的每个证书都会向安全团队发送一份过期通知。

记下第一次登录Lemur UI时使用的密码。

cd /www/lemur/lemur 
lemur init

以下快照显示了“lemur init”命令的输出。

为Lemur配置NGINX Web服务器

默认情况下,Lemur在端口8000上运行。即使你改变了这个,在正常情况下你也不能绑定到端口80.为了解决这个问题(并且为了避免让狐猴作为特权用户运行,你不应该),我们需要设置一个简单的Web代理。 您可以使用许多不同的Web服务器,我们喜欢并推荐Nginx。

在配置文件“ / 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;
}

进行这些更改后,重新启动Nginx服务以应用它们:

sudo service nginx restart

启动Web服务

狐猴提供了一个内置的web服务器(由gunicorn和eventlet驱动),可以让你快速离开地面。 要启动Web服务器,只需使用“ lemur start ”。

您可以使用Initializing Lemur期间创建的默认用户或您可能创建的任何其他用户登录。您现在应该可以通过访问http://192.168.10.51:8000/来测试Web服务。 (192.168.10.51是Lemur机器的IP地址)。

上面显示了狐猴的仪表板。 它用于使用自签名或根证书颁发机构创建证书。

结论

在本教程中,Lemur证书管理器安装在最新的Ubuntu LTS版本上。 狐猴的目的是创建和管理证书。 它还支持用户的不同角色。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏