Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
mikrotik:ssl:ssl [2019-02-12 12:26] GreyWolf [MikroTik — SSL] |
mikrotik:ssl:ssl [2024-02-02 22:00] (текущий) GreyWolf [Let's Encrypt RouterOS] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== MikroTik — SSL ====== | ====== MikroTik — SSL ====== | ||
- | <WRAP round info 60%> | + | Здесь описана работа с HTTPS/SSL сертификатами на устройствах MikroTik. |
- | Добавление сертификатов на устройства MikroTik | + | |
- | </WRAP> | + | |
- | FIXME | + | |
- | * Копируем получившиеся файлы на Mikrotik (FTP или как угодно) | + | В приведённых примерах показана работа с сертификатами от [[letsencrypt:letsencrypt|Let's Encrypt]]. |
- | * Импортируем сертификаты: | + | Для работы нужны следующие файлы: |
+ | - cert.pem | ||
+ | - chain.pem | ||
+ | - privkey.pem | ||
- | <code ini> | + | ====== Ручной режим ====== |
+ | - Скопировать файлы на Mikrotik | ||
+ | - Импортировать сертификаты: <code ini> | ||
/certificate import file-name=cert.pem | /certificate import file-name=cert.pem | ||
/certificate import file-name=chain.pem | /certificate import file-name=chain.pem | ||
/certificate import file-name=privkey.pem | /certificate import file-name=privkey.pem | ||
</code> | </code> | ||
- | + | - Проверить правильность импорта сетификатов:<code ini>/certificate print</code> | |
- | * Проверяем: | + | - Включить ''www-ssl'': <code ini> |
- | <code ini> | + | |
- | [admin@mikrotik] > /certificate print | + | |
- | </code> | + | |
- | + | ||
- | * Включаем HTTPS: | + | |
- | <code ini> | + | |
/ip service set www-ssl certificate=cert.pem | /ip service set www-ssl certificate=cert.pem | ||
/ip service set www-ssl disabled=no | /ip service set www-ssl disabled=no | ||
</code> | </code> | ||
- | + | - Проверить ''www-ssl'' <code ini>/ip service print</code> | |
- | * Проверяем: | + | - {{anchor:hotspot}}Чтобы разрешить использовать сертификат в [[mikrotik:hotspot:hotspot|HotSpot]] нужно выполнить:<code ini> |
- | <code ini> | + | /ip hotspot profile set hsprof1 login-by=https ssl-certificate=cert.pem |
- | /ip service print | + | |
</code> | </code> | ||
+ | <WRAP round important 60%> | ||
+ | Если в журнале устройства появляется ошибка "got CRL with bad signature, issued by DST root CA X3 ::: Digital signature Trust Co. ::: " необходимо добавить сертификат IdenTrust DST корневого CA X3, загруженный [[https://www.identrust.com/certificates/trustid/root-download-x3.html|по адресу]], в хранилище сертификатов маршрутизатора. | ||
- | ====== HotSpot ====== | + | </WRAP> |
- | Включаем сертификат в [[mikrotik:hotspot:hotspot|HotSpot]] | ||
- | <code ini> | ||
- | /ip hotspot profile set hsprof1 login-by=https ssl-certificate=cert.pem | ||
- | </code> | ||
+ | ====== Let's Encrypt RouterOS ====== | ||
- | ====== Let's Encrypt ====== | + | Использование скрипта проекта [[github>gitpel/letsencrypt-routeros|Let's Encrypt RouterOS / Mikrotik]] для автоматизации процесса работы с сертификатами от [[letsencrypt:letsencrypt|Let's Encrypt]]. |
- | FIXME | + | |
- | [[letsencrypt:letsencrypt|Let's Encrypt]] | + | ===== letsencrypt-routeros.sh ===== |
+ | Авторизация на устройстве производится ключом [[ssh:ssh#KEYS|SSH]] | ||
- | Нужно добавить в конец скрипта команды для установки сертификата www-ssl и указать в профиле HotSpot этот сертификат. | ||
- | В данном примере имя ''HotSpot'' профиля ''hsprof1'' | + | Готовый скрипт {{letsencrypt-routeros.sh|}}, он отличается от оригинального следующим: |
- | <code bash letsencrypt-routeros.sh> | + | - Добавлено копирование цепочки сертификатов ''chain.pem'' ([[https://github.com/mr-GreyWolf/letsencrypt-routeros/blob/patch-1/letsencrypt-routeros.sh|Ссылка на заплатку]] ) |
+ | - Добавлены команды для установки сертификата www-ssl и указание сертификата в профиле HotSpot. В данном примере имя ''HotSpot'' профиля ''hsprof1'' <code bash letsencrypt-routeros.sh> | ||
$routeros /ip service set www-ssl certificate=$DOMAIN.pem_0 | $routeros /ip service set www-ssl certificate=$DOMAIN.pem_0 | ||
Строка 59: | Строка 53: | ||
</code> | </code> | ||
- | [[https://github.com/gitpel/letsencrypt-routeros|Let's Encrypt RouterOS / Mikrotik]] | + | <hidden Пример выполнения скрипта> |
+ | Пример выполнения ''./letsencrypt-routeros.sh'' | ||
+ | <code> | ||
+ | uptime: 6w6d22h11m15s | ||
+ | version: 6.44 (stable) | ||
+ | build-time: Feb/25/2019 14:11:04 | ||
+ | factory-software: 6.36.1 | ||
+ | free-memory: 202.0MiB | ||
+ | total-memory: 256.0MiB | ||
+ | cpu: MIPS 1004Kc V2.15 | ||
+ | cpu-count: 4 | ||
+ | cpu-frequency: 880MHz | ||
+ | cpu-load: 6% | ||
+ | free-hdd-space: 4848.0KiB | ||
+ | total-hdd-space: 16.3MiB | ||
+ | write-sect-since-reboot: 19348 | ||
+ | write-sect-total: 41673 | ||
+ | bad-blocks: 0% | ||
+ | architecture-name: mmips | ||
+ | board-name: hEX | ||
+ | platform: MikroTik | ||
+ | |||
+ | Connection to RouterOS Successful! | ||
+ | |||
+ | certificates-imported: 1 | ||
+ | private-keys-imported: 0 | ||
+ | files-imported: 1 | ||
+ | decryption-failures: 0 | ||
+ | keys-with-no-certificate: 0 | ||
+ | |||
+ | certificates-imported: 0 | ||
+ | private-keys-imported: 1 | ||
+ | files-imported: 1 | ||
+ | decryption-failures: 0 | ||
+ | keys-with-no-certificate: 0 | ||
+ | |||
+ | certificates-imported: 0 | ||
+ | private-keys-imported: 0 | ||
+ | files-imported: 0 | ||
+ | decryption-failures: 0 | ||
+ | keys-with-no-certificate: 0 | ||
+ | </code> | ||
+ | </hidden> | ||
+ | |||
+ | ==== letsencrypt-routeros.settings ==== | ||
+ | |||
+ | |||
+ | Путь к файлам сертификата: ''/etc/letsencrypt/live/$DOMAIN/'' | ||
+ | |||
+ | <code ini letsencrypt-routeros.settings> | ||
+ | ROUTEROS_USER=admin | ||
+ | ROUTEROS_HOST=10.0.254.254 | ||
+ | ROUTEROS_SSH_PORT=22 | ||
+ | ROUTEROS_PRIVATE_KEY=/opt/letsencrypt-routeros/id_dsa | ||
+ | DOMAIN=vpnserver.yourdomain.com | ||
+ | </code> | ||
====== Ссылки ====== | ====== Ссылки ====== |