Прописать сертификат в роутер

Обновлено: 04.07.2024

Бесплатный чек-лист
по настройке RouterOS
на 28 пунктов

Обнаружена блокировка рекламы: Наш сайт существует благодаря показу онлайн-рекламы нашим посетителям. Пожалуйста, подумайте о поддержке нас, отключив блокировщик рекламы на нашем веб-сайте.

Внешний прокси, сертификат для соединения и фильтрации

Здравствуйте. Провели оптику. Витая пара от оборудования РТ сразу идёт в наш свич. Выдали адреса: 10.123.35.64/27, соответственно на клиентах шлюзом используется 10.123.35.65. Кроме этого выдали адрес прокси: 10.0.23.52, порт: 3128.
Ладно, раздачу адресов можем по dhcp сделать, подключив какой-нибудь роутер. Как быть с прокси, его не раздашь. Сеть одноранговая. Да и для того, чтобы в браузере открывались сайты, нужно установить сертификат РТ, без него никуда не пускает.

Если использовать mikrotik, то возможен вариант редиректить на внешний прокси?
Получается, например, на ether1 подключаем витую пару от оборудования РТ, назначаем адрес 10.123.35.66/27.
На ether2 назначаем 192.168.1.1/24, настраиваем dhcp.
В Firewall настраиваем nat для 192.168.1.1/24 с маскарадингом на ether1.
А что дальше, как сделать перенаправление на внешний прокси? dstnat применять?

Здравствуйте. Провели оптику. Витая пара от оборудования РТ сразу идёт в наш свич. Выдали адреса: 10.123.35.64/27, соответственно на клиентах шлюзом используется 10.123.35.65. Кроме этого выдали адрес прокси: 10.0.23.52, порт: 3128.
Ладно, раздачу адресов можем по dhcp сделать, подключив какой-нибудь роутер. Как быть с прокси, его не раздашь. Сеть одноранговая. Да и для того, чтобы в браузере открывались сайты, нужно установить сертификат РТ, без него никуда не пускает.

Если использовать mikrotik, то возможен вариант редиректить на внешний прокси?
Получается, например, на ether1 подключаем витую пару от оборудования РТ, назначаем адрес 10.123.35.66/27.
На ether2 назначаем 192.168.1.1/24, настраиваем dhcp.
В Firewall настраиваем nat для 192.168.1.1/24 с маскарадингом на ether1.
А что дальше, как сделать перенаправление на внешний прокси? dstnat применять?

В этой публикации я расскажу о некоторых неочевидных моментах при использовании DD-WRT на вашем роутере. Наверное, завсегдатаям DD-WRT тут будет все очевидно, но тем, кто ставит в первый раз будет много полезного.

Для того, чтобы осуществить всё описанное, нам понадобиться роутер, который поддерживается DD-WRT, компьютер с ОС Linux с любым более или менее современным дистрибутивом (у меня Debian Wheezy) и жажда новых знаний.

Итак, дошли у меня наконец руки водрузить на мой уже довольно старенький LinkSys E4200 прошивку от DD-WRT. К старой оригинальной прошивке от LinkSys было много претензий. В частности:

В общем, одним воскресным вечером я решил залить DD-WRT. Сделал всё как рассказано в Wiki по моему роутеру, то есть залил сначала mini версию, потом проапдейтил до mega. Сами билды были взяты со странички Router Database, то есть сборка 21061.

Обнаружил следующие косяки:

Дальнейшее ковыряние выявило следующую проблему: web-сервер роутера не умел TLS1. А в новых версиях браузеров, в связи с обнаруженной некоторое время назад уязвимостью SSL3 POODLE, SSL3 похоже отключено начисто. На Linux'овом Chromium я запретил его сам.

Итак, первое, что надо знать при использовании DD-WRT: наплюйте на ту версию прошивки, которую вам предлагает Router Database. Вместо этого найдите более свежую сборку под ваш роутер тут.

Обновив версию до последней, я решил сразу две проблемы:

1) SSH заработал. Оказывается он был сломан в изначальном билде;
2) Web-сервер роутера стал поддерживать TLS 1.2, что позволило заходить на него уже всеми браузерами, кроме Firefox 33 (хотя это вылечили в 34) и IE и Chrome под виндой, хотя и это лечится путем настройки виндовых политик, а именно отключением запрета на игнорирование проблем сертификатов сайтов.

Осталась только одна проблема небезопасный сертификат в прошивке. Чтобы её вылечить нам придется разобрать прошивку по файликам, подменить в ней сертификат и ключ, и собрать прошивку обратно в один файл. Мы не будем компилировать прошивку из исходников.

Для наших целей есть прекрасная утилита под названием Firmware Modification Kit, скачать её исходники можно здесь. Утилиту нужно собрать стандартной последовательностью команд:

Далее в директории с firmware-mod-kit имеются два скрипта: extract-firmware.sh и build-firmware.sh. Запускаем:
$ ./extract-firmware.sh

/Downloads/dd-wrt.v24-25408_NEWD-2_K2.6_mega-nv60k.bin
Понятно, что здесь указывается файл вашей прошивки. Она распаковывает прошивку в директорию fmk.

Итак, наша задача — сгенерировать свой собственный ключ и сертификат. Я сделал так: сгенерировал собственный Certificate Authority (CA) — он мне ещё понадобится при настройке OpenVPN на этом же роутере. Далее, я сгенерировал пару ключ/запрос сертификата и для Web-сервера роутера и подписал его моим CA, полученный сертификат и ключ положил в указанное место прошивки. А свой Certificate Authority я добавил как доверенное на всех своих компах.

  • SSL-сертификат должен выдать авторитетный центр сертификации (Comodo, RapidSSL, GeoTrust, Thawt и т.д.).
  • Сертификат не должен быть истекшим или отозванным;
  • Для целевого IP прописана DNS-запись;
Если Вы хотите научиться настраивать MikroTik, предлагаем пройти онлайн обучение. Более подробную информацию Вы можете найти в конце данной публикации.
О том, как и где оформить сертификат SSL в интернете информации предостаточно. Со своей стороны могу порекомендовать Ukrnames , как один из самых дешевых вариантов. В своем примере я буду рассматривать Wildcard-сертификат, выданный COMODO. Сертификаты Wildcard выдаются на субдомены и являются выгодным решением тогда, когда необходимо обеспечить защиту нескольких сайтов на разных субдоменах одного домена.

Импорт SSL-сертификата в Mikrotik RouterOS

Предположим, сертификат у вас уже имеется. Первым делом копируем файл сертификата (с расширением *.cer) и приватный ключ (с расширением *.key) в память Mikrotik.

Далее идем в System – Certificates, выполняем импорт файлов. Сначала импортируем файл *.cer, при этом у сертификата появится признак «CRL» и «trusted».


Затем импортируем *.key, после чего на сертификате добавится статус «private key».

То же самое можно выполнить при помощи командной строки:

Обратите внимание, для некоторых сертификатов/ключей может потребоваться Passphrase – пароль (кодовое слово), который служит для защиты ключа.

Также в вашем распоряжении может присутствовать файл *.ca-bundle, это цепочка корневых сертификатов. CA Bundle позволяет передать браузеру, запросившему сертификат, корректную информацию о том, кто выдал сертификат. Для современных браузеров в этом нет необходимости, т.к. они уже содержат корневые сертификаты ведущих центров сертификации. Цепочка CA Bundle без проблем загружается в Certificates аналогичным образом, поэтому при желании, в целях максимальной совместимости, вы можете выполнить эту процедуру.

Следующий момент обязательно нужно знать всем, чье устройство оборудовано маленьким объемом памяти в 16 МБ. Как правило, это подавляющее большинство устройств Mikrotik, за редким исключением.


В SSL существует такое понятие как CRL.

CRL является сокращением от английского Certificate Revocation List, иными словами, список отозванных сертификатов. CRL содержит список сертификатов, срок которых не истек и которые, при этом, были отозваны центром сертификации. Причиной отзыва сертификата может быть компрометация ключа, неверные данные компании, закрытие ресурса, смена владельца и т.д. Сам CRL регулярно публикуется центром сертификации и защищен цифровой подписью, поэтому исключает возможность его изменения третьими лицами.

Перед тем, как пустить пользователя на сайт, браузер запрашивает CRL и сверяет полученный сертификат. Альтернативой CRLу служит OSCP (с запросом в CA/Certificate Authority), но сейчас не об этом.

  • приобрести устройство с 128+ МБ памяти;
  • настроит выгрузку CRL в оперативную память;
  • отключить загрузку CRL;


Чтобы подключить SSL для web-конфигуратора, заходим в IP – Services, включаем сервис www-ssl, выбираем сертификат из выпадающего списка.

Казалось бы, все, но нет. Сертификат у нас выдан на субдомен, поэтому IP-адрес маршрутизатора необходимо сопоставить с соответствующим доменом.

Важно также понимать, что наличие статической DNS-записи на локальном DNS маршрутизаторе еще не гарантирует, что клиент будет его использовать, особенно если клиент – смартфон или планшет.

Видеокурс «Настройка оборудования MikroTik» (аналог MTCNA)

Учитесь работать с MikroTik? Рекомендую видеокурс «Настройка оборудования MikroTik». В курсе разобраны все темы из официальной учебной программы MTCNA и много дополнительного материала. Курс сочетает теоретическую часть и практику – настройку маршрутизатора по техническому заданию. Консультации по заданиям курса ведет его автор Дмитрий Скоромнов. Подойдет и для первого знакомства с оборудованием MikroTik, и для систематизации знаний опытным специалистам.

Одним из самых распространенных на сегодняшний день протоколов VPN (Virtual Private Network) является Open VPN. Вот именно о нём мы сегодня поговорим. А точнее, в данной статье мы рассмотрим процесс получения сертификата для “поднятия” Open VPN сервера на базе маршрутизатора Mikrotik.

Итак, для получения сертификата нам необходимо подключиться к маршрутизатору, допустим при помощи Winbox, где в командной строке New Terminal выполнить команду: /certificate create-certificate-request.

Рис.1. Подключаемся к маршрутизатору

Рис.1. Подключаемся к маршрутизатору при помощи Winbox

Рис.2. Называем файл с запросом на сертификат

Рис.2. Называем файл с запросом на сертификат

Рис.3. Указываем имя файла ключа

Рис.3. Указываем имя файла ключа

Рис.4. Вводим пароль и подтвердим его

Рис.4. Вводим пароль и подтвердим его

Рис.5. Вводим количество бит для RSA ключа

Рис.5. Вводим количество бит для RSA ключа

Следующие несколько параметров не очень важны. Это такие поля как:

Однако, сертификационный центр может отказать в выдаче сертификата, если эти данные будут отличаться от данных в вашей учетной записи центра.

Рис.6. Данные учетной записи центра

Рис.6. Данные учетной записи центра

Рис.7. Результат выдаче сертификата

Рис.7. Результат выдаче сертификата

А вот следующий параметр один из самых важных. В поле common name: нужно указать ваш IP-адрес или доменное имя. Именно на него и будет выдан сертификат.

Рис.8. Указываем IP-адрес

Рис.8. Указываем IP-адрес

Следующим шагом будет ввод свойго e-mail адреса.

Рис.9. Вводим свой e-mail адрес

Рис.9. Вводим свой e-mail адрес

После чего предлагается ввести challenge password. В завиимости от вашего центра сертификации, этот пароль может быть использован, например, для аннулирования данного сертификата.

Рис.10. Запишем challenge password

Рис.10. Запишем challenge password

И последним идёт поле unstructured address. Его можно заполнять только в случае, если ваш сертификационный центр требует этого.

Рис.11. Заполняем поле unstructured address

Рис.11. Заполняем поле unstructured address

Рис.12. Созданы все необходимые файлы

Рис.12. Созданы все необходимые файлы

Полностью в командной строке этот весь процесс выглядит примерно так:

select name for certificate request file. it will be created after you finish

entering all required information.

certificate request file name: certificate-request.pem

select name of private key file. if such file does not exist, it will be

file name: private-key.pem

please enter passphrase that will be used to encrypt generated private key

file. you must enter it twice to be sure you have not made any typing errors.

enter number of bits for RSA key. longer keys take more time to generate.

rsa key bits: 2048

now you will be asked to enter values that make up distnguished name of your

certificate. you can leave some of them empty. CA may reject your certificate

request if some of these values are incorrect or missing, so please check what

are the requirements of your CA.

enter two character coutry code.

country name: UA

enter full name of state or province.

state or province name: Kyiv

enter locality (e.g. city) name

locality name: Kyiv

enter name of the organization

organization name: Network Shop

enter organizational unit name

organization unit name: IT Dep

enter common name. for ssl web servers this must be the fully qualified domain

name (FQDN) of the server that will use this certificate (like

common name: 219.219.239.219

enter email address

used to revoke this certificate.

you can enter unstructured address, if your CA accepts or requires it.

now private rsa key will be generated. no other certificate operations are

possible while generating key. 4096 bit key takes about 30 seconds on Celeron

800 system to generate. you will receive log message when it is done. download

by ftp from this router both private key and certificate request files. after

you receive your certificate from CA, upload it and the private key that will

> echo: system,info,critical certificate request file certificate-request.pem and private-key.pem.

А в меню Files должны появиться два файла с расширением .pem, и теми именами, которые вы задали.

Рис.13. В меню Files, появляться два файла

Рис.13. В меню Files появляться два файла

Простым перетаскиванием копируем эти файлы к себе на компьютер. И при помощи любого текстового редактора открываем файл certificate-request.pem и копируем всё его содержимое в буфер обмена.

Рис.14. Копируем всё его содержимое в буфер обмена

Рис.14. В буфер обмена копируем всё его содержимое

Пройдя авторизацию на сайте центра сертификации, создаём новый сертификат сервера (New Server Certificate), где в соответствующее поле вставляем скопированные данные.

Рис.15. Создаём новый сертификат сервера (New Server Certificate)

Рис.15. Создаём новый сертификат сервера (New Server Certificate)

После подтверждения ваших действий вы получите Certificate Response, который необходимо скопировать и вставить в файл. Например, certificate-response.pem.

Рис.16. Certificate Response скопировать и вставить в файл

Рис.16. Certificate Response скопировать и вставить в файл

Далее нам нужно получить Private-Key. Но так как сгенерированный нами ранее файл private-key.pem имеет формат pkcs8, который не поддерживается Mikrotik Router OS, то необходимо его конвертировать при помощи Openssl Tool в любом дистрибутиве Linux.

Для этого нам нужен пакет Openssl, и если он у вас ещё не установлен, то сделать это можно при помощи команды: apt-get install openssl, или другой командой, соответствующей вашему дистрибутиву.

После чего залейте файл private-key.pem на компьютер с Linux и, перейдя в папку с файлом, дайте команду: openssl rsa -in private-key.pem -text.

Рис.17. Установим пакет Openssl, с помощью команды - openssl rsa -in private-key.pem -text

Рис.18. Текст файла ключа скопируем и сохранить в файле с расширением .key

Рис.18. Текст файла ключа скопируем и сохраним в файле с расширением .key

Рис.19. Текст файла ключа вставляем в блокнот

Рис.19. Текст файла ключа вставляем в блокнот

Теперь мы имеем 2 файла: certificate-response.pem и private-key.key, которые нам необходимо импортировать в Mikrotik.

Простым перетаскиванием копируем их в меню Files. И в меню System Certificates импортируем оба файла.

Рис.20. В меню System Certificates импортируем оба файла

Рис.20. В меню System Certificates импортируем оба файла

Если Вы нашли ошибку в тексте, то выделите ее мышкой и нажмите Ctrl + Enter или нажмите здесь.

Большое спасибо за Вашу помощь! Мы скоро исправим ошибку!

Ваш комментарий (не обязательно):

Об авторе Newmann

10 Comments

выдает ошибку при вводе команды /certificate create-certificate-request
template:
Script Error: action cancelled
как это устранить.

Обновление OS не поможет. Они опять поменяли алгоритм (чето у микротиков в одном месте свербит, постоянно все меняют)
This is how I solved this issue on RouterOS 6.9.

First, create a new certificate template (for the router with address host.foo.bar):

/certificate add name=cert1 common-name=host.foo.bar key-size=2048 country=XX state=MyState locality=MyCity organization=foo.bar subject-alt-name=email:user@foo.bar

Create a certificate request based on the template:

/certificate create-certificate-request
template: cert1
key-passphrase: ********

This creates certificate-request.pem file in the root directory, which you can submit to a CA.
Upload the *.cer file with the issued certificate to the root directory and run the following:

/certificate import
passphrase: ********
certificates-imported: 1
private-keys-imported: 1
files-imported: 2
decryption-failures: 0
keys-with-no-certificate: 0

Run the following command and note the name of the imported certificate (e.g. cert_5):

/certificate print detail

Through web interface select the certificate:
IP → Services → www-ssl → Certificate: cert_5

Можно поднять у себя SMTP-сервер, чтобы получить от них письмо. Если используется Windows, то я бы ввиду простоты конфигурации порекомендовал поставить hMailServer. Ну и прописать NAT-правило на 25 порт в микротике.

Будут спрашивать данные для сертификата, лучше отвечать ближе к правде, хотя и не обязательно. Важно обязательно что-то писать в поле, не оставлять пустыми.

Читайте также: