[Информационная безопасность, DevOps] Валидные сертификаты и DNS для сервисов в локальных сетях без удостоверяющего центра
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Валидные сертификаты и DNS для сервисов в локальных сетях без удостоверяющего центра
В этом посте будет рассмотрена установка и использование сервиса http://local-ip.co/ с валидными сертификатами и с DNS как xip.io, nip.io.
Вы можете использовать сертификат для домена *.my.local-ip.co
- сертификат http://local-ip.co/cert/server.pem
- промежуточный сертификат http://local-ip.co/cert/chain.pem
- ключ сертификата http://local-ip.co/cert/server.key
Обращаться нужно будет примерно так:
- https://127-0-0-1.my.local-ip.co
- https://192-168-0-1.my.local-ip.co
- https://172-16-0-1.my.local-ip.co
- https://10-0-0-1.my.local-ip.co
Ниже будет пример с установкой harbor c валидным сертификатом.
Требования:
Устанавливаем docker и docker-compose
Скачиваем harbor
wget https://github.com/goharbor/harbor/releases/download/v2.2.1/harbor-online-installer-v2.2.1.tgz
Распаковываем harbor
tar xvf harbor-online-installer-v2.2.1.tgz
Подготавливаем сертификаты от проекта http://local-ip.co/
mkdir -p /data/cert/
cd /data/cert/
wget http://local-ip.co/cert/server.pem
wget http://local-ip.co/cert/chain.pem
wget http://local-ip.co/cert/server.key
Создаем цепочку сертификатов
cat server.pem chain.pem > bundled_cert_file.pem
Переименовываем сертификаты под доменное имя, которое вам нужно будет.
cp bundled_cert_file.pem 192-168-22-7.my.local-ip.co.crt
cp server.key 192-168-22-7.my.local-ip.co.key
Копируем шаблон конфига в конфиг
cp harbor.yml.tmpl harbor.yml
Конфигурируем hostname в harbor.yml
hostname: 192-168-22-7.my.local-ip.co
Указываем сертификат и ключ в harbor.yml
certificate: /data/cert/192-168-22-7.my.local-ip.co.crt
private_key: /data/cert/192-168-22-7.my.local-ip.co.key
Запускаем скачивание образов
./prepare
Запускаем harbor через docker-compose
docker-compose up -d
Либо запускаем установку
./install.sh
Установка harbor через Ansible
Для установки harbor через ansible используем роль https://galaxy.ansible.com/manueliglesiasgarcia/ansible_vmware_harbor
Скачиваем роль
ansible-galaxy install manueliglesiasgarcia.ansible_vmware_harbor
Ниже playbook для установки harbor через ansible
---
- name: Install harbor
become: yes
hosts: harbor
pre_tasks:
- name: update apt
apt: update_cache=yes cache_valid_time=3600
when: ansible_pkg_mgr is defined and ansible_pkg_mgr == "apt"
ignore_errors: true
- name: Creates directory {{ playbook_dir }}/certs
file:
path: "{{ playbook_dir }}/certs"
state: directory
delegate_to: localhost
become: no
- name: Download http://local-ip.co/cert/server.pem
get_url:
url: http://local-ip.co/cert/server.pem
dest: "{{ playbook_dir }}/certs/server.pem"
delegate_to: localhost
become: no
- name: Download http://local-ip.co/cert/chain.pem
get_url:
url: http://local-ip.co/cert/chain.pem
dest: "{{ playbook_dir }}/certs/chain.pem"
delegate_to: localhost
become: no
- name: Download http://local-ip.co/cert/server.key
get_url:
url: http://local-ip.co/cert/server.key
dest: "{{ playbook_dir }}/certs/server.key"
delegate_to: localhost
become: no
- name: merge certificate
shell: cat server.pem chain.pem > bundled_cert_file.pem
args:
chdir: "{{ playbook_dir }}/certs"
delegate_to: localhost
become: no
vars:
# Add a registry
harbor_registry:
- registry_name: "Test Harbor"
registry_url: https://192-168-22-8.my.local-ip.co/
# Schedule an automatic scan of the docker images every hour
harbor_schedule_scan:
- cron: "0 0 * * * *"
# Schedule an automatic garbage collection every hour
harbor_schedule_gc:
- cron: "0 0 * * * *"
#Storge harbor installation file
harbor_install_tmp: /root/harbor
harbor_extras:
- clair
#Folder installed harbor
harbor_install_dir: /opt/harbor
# The cert and key path is located in your ansible master, not the target hosts
# The default path for certs is controlled by this role See roles/default/main.yml
harbor_ssl_cert: "{{playbook_dir}}/certs/bundled_cert_file.pem"
harbor_ssl_cert_key: "{{playbook_dir}}/certs/server.key"
#ends up in harbor.yml
harbor_hostname: 192-168-22-8.my.local-ip.co
harbor_db_password: admin
roles:
- manueliglesiasgarcia.ansible_vmware_harbor
Запускаем playbook
ansible-playbook -i inventory.ini install-harbor.yml -e "harbor_admin_password=password_for_harbor"
Где password_for_harbor пароль для harbor.
Скриншот:
===========
Источник:
habr.com
===========
Похожие новости:
- [DevOps] Приглашаем на DINS DEVOPS EVENING: переезд на Sentry и 4 Golden signals
- [Информационная безопасность, Криптография, История IT, Научно-популярное, Старое железо] Криптофронт Второй Мировой Войны, часть 2
- [Информационная безопасность, IT-компании] Как я получил награду Facebook по баунти-программе дважды (перевод)
- [JavaScript, Git, Управление разработкой, Управление продуктом, DevOps] Введение в непрерывную поставку (CD) при помощи GitLab (перевод)
- [Информационная безопасность, Спортивное программирование, IT-инфраструктура] Открыт набор атакующих и защитников для участия в кибербитве The Standoff на Positive Hack Days
- [Настройка Linux, Информационная безопасность] Linux Sandbox
- [Информационная безопасность, Научно-популярное] Что делать, если украли смартфон
- [Информационная безопасность, Машинное обучение] Атаки на компьютерное зрение
- [Администрирование баз данных, Карьера в IT-индустрии, DevOps] Неотправленное письмо боссу в кровавом Enterprise
- [Конференции, DevOps] Повышение цен на конференции и подарки для подписчиков
Теги для поиска: #_informatsionnaja_bezopasnost (Информационная безопасность), #_devops, #_xip.io, #_nip.io, #_my.localip.co, #_harbor, #_informatsionnaja_bezopasnost (
Информационная безопасность
), #_devops
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 14:52
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Валидные сертификаты и DNS для сервисов в локальных сетях без удостоверяющего центра В этом посте будет рассмотрена установка и использование сервиса http://local-ip.co/ с валидными сертификатами и с DNS как xip.io, nip.io. Вы можете использовать сертификат для домена *.my.local-ip.co
Обращаться нужно будет примерно так:
Ниже будет пример с установкой harbor c валидным сертификатом. Требования: Устанавливаем docker и docker-compose Скачиваем harbor wget https://github.com/goharbor/harbor/releases/download/v2.2.1/harbor-online-installer-v2.2.1.tgz
Распаковываем harbor tar xvf harbor-online-installer-v2.2.1.tgz
Подготавливаем сертификаты от проекта http://local-ip.co/ mkdir -p /data/cert/
cd /data/cert/ wget http://local-ip.co/cert/server.pem wget http://local-ip.co/cert/chain.pem wget http://local-ip.co/cert/server.key Создаем цепочку сертификатов cat server.pem chain.pem > bundled_cert_file.pem
Переименовываем сертификаты под доменное имя, которое вам нужно будет. cp bundled_cert_file.pem 192-168-22-7.my.local-ip.co.crt
cp server.key 192-168-22-7.my.local-ip.co.key Копируем шаблон конфига в конфиг cp harbor.yml.tmpl harbor.yml
Конфигурируем hostname в harbor.yml hostname: 192-168-22-7.my.local-ip.co
Указываем сертификат и ключ в harbor.yml certificate: /data/cert/192-168-22-7.my.local-ip.co.crt
private_key: /data/cert/192-168-22-7.my.local-ip.co.key Запускаем скачивание образов ./prepare
Запускаем harbor через docker-compose docker-compose up -d
Либо запускаем установку ./install.sh
Установка harbor через Ansible Для установки harbor через ansible используем роль https://galaxy.ansible.com/manueliglesiasgarcia/ansible_vmware_harbor Скачиваем роль ansible-galaxy install manueliglesiasgarcia.ansible_vmware_harbor
Ниже playbook для установки harbor через ansible ---
- name: Install harbor become: yes hosts: harbor pre_tasks: - name: update apt apt: update_cache=yes cache_valid_time=3600 when: ansible_pkg_mgr is defined and ansible_pkg_mgr == "apt" ignore_errors: true - name: Creates directory {{ playbook_dir }}/certs file: path: "{{ playbook_dir }}/certs" state: directory delegate_to: localhost become: no - name: Download http://local-ip.co/cert/server.pem get_url: url: http://local-ip.co/cert/server.pem dest: "{{ playbook_dir }}/certs/server.pem" delegate_to: localhost become: no - name: Download http://local-ip.co/cert/chain.pem get_url: url: http://local-ip.co/cert/chain.pem dest: "{{ playbook_dir }}/certs/chain.pem" delegate_to: localhost become: no - name: Download http://local-ip.co/cert/server.key get_url: url: http://local-ip.co/cert/server.key dest: "{{ playbook_dir }}/certs/server.key" delegate_to: localhost become: no - name: merge certificate shell: cat server.pem chain.pem > bundled_cert_file.pem args: chdir: "{{ playbook_dir }}/certs" delegate_to: localhost become: no vars: # Add a registry harbor_registry: - registry_name: "Test Harbor" registry_url: https://192-168-22-8.my.local-ip.co/ # Schedule an automatic scan of the docker images every hour harbor_schedule_scan: - cron: "0 0 * * * *" # Schedule an automatic garbage collection every hour harbor_schedule_gc: - cron: "0 0 * * * *" #Storge harbor installation file harbor_install_tmp: /root/harbor harbor_extras: - clair #Folder installed harbor harbor_install_dir: /opt/harbor # The cert and key path is located in your ansible master, not the target hosts # The default path for certs is controlled by this role See roles/default/main.yml harbor_ssl_cert: "{{playbook_dir}}/certs/bundled_cert_file.pem" harbor_ssl_cert_key: "{{playbook_dir}}/certs/server.key" #ends up in harbor.yml harbor_hostname: 192-168-22-8.my.local-ip.co harbor_db_password: admin roles: - manueliglesiasgarcia.ansible_vmware_harbor Запускаем playbook ansible-playbook -i inventory.ini install-harbor.yml -e "harbor_admin_password=password_for_harbor"
Где password_for_harbor пароль для harbor. Скриншот: =========== Источник: habr.com =========== Похожие новости:
Информационная безопасность ), #_devops |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 14:52
Часовой пояс: UTC + 5