====== 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}}