웹사이트 검색

Ubuntu에 Lemur 인증서 관리자 설치


이 페이지에서

  1. 종속성
  2. 빌드 종속성 설치
  3. 빌드 환경 설정\n
  4. 소스에서 Lemur 설치
  5. Lemur 구성 만들기
  6. Lemur 구성 업데이트
  7. Postgres 데이터베이스 설정
  8. Lemur 인증서 관리자 초기화\n
  9. Lemur용 NGINX 웹 서버 구성
  10. 웹 서비스 시작
  11. 결론

이 튜토리얼은 Ubuntu 16.04 LTS에 Lemur 인증서 관리 소프트웨어를 설치하는 방법을 보여줍니다. Lemur는 NetFlix의 오픈 소스 프로젝트이며 고객/클라이언트용 인증서를 생성하는 데 사용됩니다. 이 기사에서는 Python 기반 가상 환경을 설정하고 필요한 패키지를 설치하고 기본 웹 서비스를 구성하고 인증서 관리자의 대시보드에 액세스합니다. 깨끗한 Ubuntu 16.04 LTS 인스턴스가 실행 중이라고 가정합니다. 클라우드(예: AWS) 또는 로컬 가상화 환경에서

종속성

Lemur를 실행하기 위해 필요한 몇 가지 기본 전제 조건:

  • Linux 운영 체제(이 자습서에서는 Ubuntu 16.04 LTS가 사용됨).
  • Python 3.5 이상.
  • PostgreSQL 9.4 이상.
  • Nginx 웹 서버.

빌드 종속성 설치

기본 Ubuntu OS에 Lemur를 설치하는 경우 Lemur가 종속성을 올바르게 빌드할 수 있도록 다음 패키지를 가져와야 합니다.

.. 코드 블록:: 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/node 대신 /usr/bin/nodejs 경로에 nodejs 저장소가 생성될 수 있습니다. 다음 명령을 실행하여 원하는 경로에 소프트 링크를 생성합니다.

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

이제 다음 명령을 사용하여 virtualenv 패키지를 설치하십시오.

sudo pip install -U virtualenv

빌드 환경 설정

이 가이드에서 Lemur는 /www 디렉터리에 설치되므로 먼저 해당 디렉터리를 만들어야 합니다.

sudo mkdir /www
cd /www

이제 방금 생성된 디렉토리 안에 Lemur 최신 소스를 복제하고 자신에게 쓰기 권한을 부여합니다(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 여우 원숭이 여우 원숭이/

또한 가상 환경을 생성하고 활성화한 다음 Lemurs 디렉터리로 들어갑니다.

su lemur
virtualenv -p python3 lemur

source /www/lemur/bin/activate
cd lemur

환경을 활성화하면 PATH 환경 변수가 조정되므로 이제 pip와 같은 항목이 기본적으로 virtualenv에 설치됩니다.

소스에서 Lemur 설치하기

시스템을 설정한 후 "make release" 명령을 실행하기 위해 virtualenv에 있는지 확인하십시오.

which python

그리고 다음 명령을 실행하여 npm 종속성을 설치하고 정적 자산을 컴파일합니다.

 make release

Lemur 구성 만들기

Lemur를 실행하기 전에 유효한 구성 파일을 만들어야 합니다. Lemur 명령줄 인터페이스는 빠르게 시작하고 실행할 수 있는 간단한 명령과 함께 제공됩니다. 다음 명령은 "~/.lemur/lemur.conf.py" 아래에 기본 구성을 생성하며 이 위치는 config_path 매개변수를 create_config 명령에 전달하여 지정할 수 있습니다.

 lemur create_config

Lemur 구성 업데이트

일단 생성되면 대화할 데이터베이스, 키가 저장된 위치 등과 같은 환경에 대한 정보로 구성 파일을 업데이트해야 합니다.

vi ~/.lemur/lemur.conf.py

Postgresql의 SQLALCHEMY_DATABASE_URI 문자열은 다음과 같이 나눌 수 있습니다.
\postgresql://userame:[email :/\

아래 주어진 스크린샷은 다음과 같은 필수 변수가 구성 파일에 채워져 있음을 보여줍니다.

LEMUR_SECURITY_TEAM_EMAIL
LEMUR_DEFAULT_COUNTRY
LEMUR_DEFAULT_STATE
LEMUR_DEFAULT_LOCATION
LEMUR_DEFAULT_ORGANIZATION
LEMUR_DEFAULT_ORGANIZATIONAL_UNIT

Postgres 데이터베이스 설정

프로덕션의 경우 전용 데이터베이스가 권장됩니다. 이 가이드에서는 postgres가 설치되어 있고 Lemur가 설치된 동일한 시스템에 있다고 가정합니다.

먼저 postgres 사용자의 비밀번호를 설정합니다. 이 가이드에서는 lemur를 예로 사용하지만 Lemur가 생성한 데이터베이스 암호를 사용해야 합니다.

sudo -u postgres -i
psql
postgres=# CREATE USER lemur WITH PASSWORD 'lemur';

성공하면 CTRL-D를 입력하여 Postgres 셸을 종료합니다.

다음으로 새 데이터베이스를 만듭니다.

sudo -u postgres createdb lemur

Lemur 인증서 관리자 초기화

Lemur는 데이터베이스를 초기화하는 유용한 명령을 제공합니다. 현재 소유자가 없는 인증서를 연결하는 데 도움이 되도록 Lemur가 사용하는 기본 사용자(lemur)를 만듭니다. Lemur가 타사 소스에서 인증서를 발견한 경우가 가장 일반적입니다. Lemur를 관리하는 데 사용할 수 있는 기본 사용자이기도 합니다.

새 사용자를 생성하는 것 외에도 Lemur는 몇 가지 기본 이메일 알림을 생성합니다. 이러한 알림은 LEMUR_SECURITY_TEAM_EMAIL과 같은 몇 가지 구성 옵션을 기반으로 합니다. 그들은 기본적으로 Lemur 내의 모든 인증서가 보안 팀에 하나의 만료 알림을 보내도록 보장합니다.

Lemur UI에 처음 로그인할 때 사용되는 비밀번호를 기록해 두십시오.

cd /www/lemur/lemur 
lemur init

다음 스냅샷은 \lemur init\ 명령의 출력을 보여줍니다.

Lemur용 NGINX 웹 서버 구성

기본적으로 Lemur는 포트 8000에서 실행됩니다. 이를 변경하더라도 정상적인 조건에서는 포트 80에 바인딩할 수 없습니다. 간단한 웹 프록시를 설정합니다. 이를 위해 사용할 수 있는 다양한 웹 서버가 있으며 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

웹 서비스 시작

Lemur는 내장 웹 서버(gunicorn 및 eventlet으로 구동)를 제공하여 신속하게 시작할 수 있습니다. 웹 서버를 시작하려면 "lemur start"를 사용하기만 하면 됩니다.

Lemur 초기화 중에 생성된 기본 사용자 또는 생성한 다른 사용자로 로그인할 수 있습니다. 이제 http://192.168.10.51:8000/을 방문하여 웹 서비스를 테스트할 수 있습니다. (192.168.10.51은 Lemur 머신의 IP 주소입니다.)

여우원숭이의 대시보드가 위에 표시됩니다. 자체 서명 또는 루트 인증 기관을 사용하여 인증서를 생성하는 데 사용됩니다.

결론

이 자습서에서 Lemur 인증서 관리자는 최신 Ubuntu LTS 버전에 설치됩니다. Lemur의 목적은 인증서를 만들고 관리하는 것입니다. 또한 다양한 사용자 역할을 지원합니다.