====== MikroTik — SSL ====== Здесь описана работа с HTTPS/SSL сертификатами на устройствах MikroTik. В приведённых примерах показана работа с сертификатами от [[letsencrypt:letsencrypt|Let's Encrypt]]. Для работы нужны следующие файлы: - cert.pem - chain.pem - privkey.pem ====== Ручной режим ====== - Скопировать файлы на Mikrotik - Импортировать сертификаты: /certificate import file-name=cert.pem /​certificate import file-name=chain.pem /certificate import file-name=privkey.pem - Проверить правильность импорта сетификатов:/certificate print - Включить ''www-ssl'': /ip service set www-ssl certificate=cert.pem /ip service set www-ssl disabled=no - Проверить ''www-ssl'' /ip service print - {{anchor:hotspot}}Чтобы разрешить использовать сертификат в [[mikrotik:hotspot:hotspot|HotSpot]] нужно выполнить: /ip hotspot profile set hsprof1 login-by=https ssl-certificate=cert.pem Если в журнале устройства появляется ошибка "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|по адресу]], в хранилище сертификатов маршрутизатора. ====== Let's Encrypt RouterOS ====== Использование скрипта проекта [[github>gitpel/letsencrypt-routeros|Let's Encrypt RouterOS / Mikrotik]] для автоматизации процесса работы с сертификатами от [[letsencrypt:letsencrypt|Let's Encrypt]]. ===== letsencrypt-routeros.sh ===== Авторизация на устройстве производится ключом [[ssh:ssh#KEYS|SSH]] Готовый скрипт {{letsencrypt-routeros.sh|}}, он отличается от оригинального следующим: - Добавлено копирование цепочки сертификатов ''chain.pem'' ([[https://github.com/mr-GreyWolf/letsencrypt-routeros/blob/patch-1/letsencrypt-routeros.sh|Ссылка на заплатку]] ) - Добавлены команды для установки сертификата www-ssl и указание сертификата в профиле HotSpot. В данном примере имя ''HotSpot'' профиля ''hsprof1'' $routeros /ip service set www-ssl certificate=$DOMAIN.pem_0 $routeros /ip hotspot profile set hsprof1 login-by=https ssl-certificate=$DOMAIN.pem_0 exit 0 Пример выполнения ''./letsencrypt-routeros.sh'' 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 ==== letsencrypt-routeros.settings ==== Путь к файлам сертификата: ''/etc/letsencrypt/live/$DOMAIN/'' 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 ====== Ссылки ====== {{tag> MikroTik Encryption}}