Перейти к содержимому

Как создать сертификат для впн для микротик

  • автор:

Как создать сертификат для впн для микротик

В первую очередь для нашего VPN сервера необходимо создать сертификаты.

Создание ключей и сертификатов

Создание CA сертификата

Можно использовать сторонные средства для создания ключей и сертификатов, например Easy-RSA, но я буду это делать средствами роутера Mikrotik.

Заходим System > Certificates
Создаём корневой сертификат нашего центра сертификации (СА).

Поля которые обязательно заполнить выделены красным цветом, а зелёным которые желательно.
Name — Имя нашего сертификата. Обычно делают одинаковыми с Common Name
Common Name — Имя нашего центра сертификации
Key size — Размер ключа. Больше — лучше, но и соответственно нагрузка на железо больше.
Days Valid — Срок действия

Дальше во вкладке Key Usage отмечаем crl sign и key cert. sign и нажимаем Apply
Потом подписываем наш сертификат нажав Sign. В окне которое появится заполняем CA CRL Host

CA CRL Host — нужно указать IP адрес по которому будем доступен наш VPN сервер, или даже лучше если у вас есть доменное имя, которое ссылается на этот IP.

Создание сертификата сервера

Добавляем ещё один сертификат. Во вкладке General, заполняем поля как и для CA сертификата, только меняем Name и Common Name

Переходим во вкладку Key Usage
Отмечаем digital signature, key encipherment и tls server. Нажимаем Apply и Sign, в поле CA выбираем созданный ранее наш сертификат и жмём кнопку Start

Создание сертификата клиента

Добавляем ещё один сертификат и в полях Name и Common Name пишем название клиентского сертификата, желательно название должно быть осмысленное, чтобы через какое то время долго не искать чей это сертификат.

Во вкладке Key Usage оставляем только tls client, дальше Apply и Sign, потом указываем CA и жмём Start

Если всё сделано правильно, то список сертификатов должен выглядеть примерно так:

Экспортируем сертификаты для клиента

Нажимаем правой клавишей на клиентском сертификате, выбираем Export. В окне экспорта обязательно указываем пароль(не менее 8 символов).

Без указания пароля закрытые ключи не выгрузятся.


Таким же образом экспортируем CA сертификат, только без указания пароля.

Переходим в Files и видим наши сертификаты

Для дальнейшей настройки клиентов нам необходимо будет их загрузить с роутера. Для этого выделяем сертификаты и нажимаем правой клавишей мышки > Download

Настройка OpenVPN сервера

Создадим пул адресов.
Диапазон в котором клиенты будут получать айпишники.
Заходим IP > Pool и добавляем новый

Далее создадим профиль для наших VPN клиентов.

Используется для настройки одинаковых параметров для нескольких клиентов.

Заходим в PPP > Profiles и добавляем новый

Также есть дополнительные интересные опции:

  • Вкладка Protocol
    Use Encryption — Использовать шифрование. Ставим yes
    Use Compression — Использовать сжатие. Ставим No . Есть смысл использовать только если у вас низкоскоростной канал связи. Но нагрузка на процессор будет больше.
  • Вкладка Limits
    Only One — Одновременно с одним логином и паролем, который мы укажем далее. Можно будет подключатся к серверу только один раз, для одного клиента.

Создадим учётную запись для клиентов.

Здесь нужно придумать Имя, Пароль, а также указать наш сервис ovpn и профиль ovpn, который мы создали

Включаем OpenVPN сервер

PPP > Interface и нажимаем OVPN Server

Отмечаем галочкой Enabled
Port — порт меняем при необходимости, или оставляем по дефолту
Mode — Режим работы. ethernet — tap , ip — tun
Default Profile — Указываем профиль который мы создали
Certificate — Выбираем наш сертификат сервера
Require Client Certificate — Включаем проверку клиентских сертификатов сервером.
Auth — Оставляем только sha1
Cipher — Шифр. Оставляем aes 256

Настройка Firewall

Открываем порт

Для подключения к VPN серверу необходимо открыть порт. В нашем случае это 1194 tcp

IP > Firewall

На вкладке Action, Action соответственно Accept

Настройка OpenVPN клиента на роутере Mikrotik

Загрузим на устройство наши сертификаты.

Открываем Files жмём Upload

Импорт сертификатов

System > Certificates

Для начала импортируем CA сертификат

Хотя CA сертификат для настройки OpenVPN клиента на Mikrotik роутере не нужен. Необходим только клиентский сертификат. Но пусть будет на всякий случай.

Делаем импорт клиентского сертификата с указанием пароля, который был при экспорте. Сначала сертификат, потом приватный ключ.

Флаги возле импортированых сертификатов должны быть как у меня(LAT для CA и KT для клиентского сертификата).

Настройка клиента

Открываем PPP

Connect To — IP адрес или доменное имя нашего VPN сервера
Port — Порт
Mode — Режим работы
User — Пользователь
Password — Пароль
Profile — Профиль
Certificate — Импортированный сертификат клиента
Auth — sha1
Cipher — aes 256
Use Peer DNS — Использование DNS сервера
Add Default Route — Использовать как маршрут по умолчанию

Проверяем доступность VPN сервера.
Для этого открываем терминал на клиенте и запускаем пинг на сервер. В нашем случае это 10.1.1.1

Если пинг есть, то клиент подключился к серверу.

Настройка OpenVPN клиента linux

Для настройки клиента в linux системе необходимо для начала установить openvpn пакет, если его нет.

apt update apt install openvpn 

Теперь ложим наши сертификаты в директорию /etc/openvpn/client

Создаем в этой же папке конфиг для клиента client.conf. Между тегов вставляем содержимое наших сертификатов.

client tls-client dev tun proto tcp ### Mikrotik uses TCP only remote 192.168.87.32 ### or IP address port 1194 ### If you use defult port resolv-retry infinite nobind persist-key persist-tun askpass /etc/openvpn/client/user.conf auth-user-pass /etc/openvpn/client/auth.conf auth SHA1 verb 3 cipher AES-256-CBC ;route 192.168.1.0 255.255.255.0 

Так же создаём файл auth.conf и пишем в него наш логин/пароль который создавали на роутере во вкладке Secrets.

И ещё один файл user.conf, в котором будет содержатся наш пароль заданый при экспорте ключей.

Теперь пробуем запустить наш OpenVPN клиент.

systemctl start openvpn-client@client 

И сразу смотрим статус нашего сервиса на наличие ошибок.

systemctl status openvpn-client@client 

Если ошибок нет, пробуем пинговать 10.1.1.1

Настройка OpenVPN клиента Windows

Конфиг файл делаем немного другой.

client1.ovpn

client tls-client dev tun proto tcp #### Mikrotik uses TCP only remote 192.168.87.32 ### or IP address port 1194 ####If you use defult port resolv-retry infinite nobind persist-key persist-tun auth-user-pass auth SHA1 verb 3 cipher AES-256-CBC 
Настройка OpenVPN клиента Android

Для настройки на телефоне, сначала скачиваем и ставим офф. OpenVPN клиент, потом берём конфиг как для Windows и в клиенте импортируем. Дальше запускаем.

Генерация сертификатов на Mikrotik для OpenVPN

Часто для тех или иных сервисов требуется усилить безопасность с помощью сертификатов.

Однако в случае с Mikrotik — зачастую сертификаты нужны для организации OpenVPN сервера.

Многие генерируют сертификаты на своем ПК, а потом загружают и импортируют их в RouterOS, сам некоторое время пользовался этим способом. Но такой метод имеет и недостатки — ты не можешь управлять сертификатами или списком отзывов, что чревато потерей той самой безопасности. В данном случае удобней генерировать сертификаты непосредственно в RouterOS и при необходимости производить их экспорт, или отзывать на нём же.

    System — Certificates — клацаем +

Новый сертификат

Сначала создаем корневой сертификат CA.
Name: CA — Можно любое, но так проще ориентировать потом.
Country: RU — Двухбуквенное обозначение страны
State: Moscow — Регион\область
Locality: Moscow — Населенный пункт
Organization: Название вашей организации
Unit: Ovpn — Название отдела (да, в моем случае отдел овпн)
Common Name: CA — Отображаемое\общедоступное имя
Subject Alt. Name — Необязательно поле (публичный ip, DNS, или email)
Days Valid = 3650 — Срок годности сертификата
Key Size — Длинна ключа сертификата, чем больше значение — тем сложнее сломать. Если вы параноик — используйте значение 8192, если нет 2048 в полне достаточно

На вкладке Key Usage выбираем crl sign и key cert. sign

Подписываем CA

  • ОК — ПКМ по сертификату — Sign
  • В открывшемся окне оставляем CA и указываем CA CRL Host
    Желательно, белый IP или FQDN имя роутера для списка отозванных сертификатов. Если такого нет — можно использовать 127.0.0.1 или своё имя.

По завершении процесса сертификат должен поменять статус на KLAT
K — Private Key
L — CRL
A — Authority
T — Trusted

Пример результата

Далее создаем сертификат сервера

  • Снова жмем +
  • General — примерно тоже, что и в предыдущем случае, только в качестве имени используем Server
  • Переключаемся на вкладку Key Usage и снимаем флажки:
    • crl sign
    • data enciphement
    • key cert sign
  • Устанавливаем флаг
    • tls server

  • OK — Подписываем ПКМ — Sign
    Certificate — выбираем новый сертификат сервера
    CA — Указываем CA, созданный на предыдущем шаге

По завершении сертификат должен принять статус KIT
K — Private Key
I — Issued
T — Trusted

Далее создаем сертификат(ы) клиента:

  • Снова нажимаем + и заполняем General
    Поля с именем естественно Client

  • На вкладке Key Usage оставляем только tls clinet

На этом этапе, я настоятельно рекомендую сохранить данный сертификат как шаблон, и дальше работать с его копиями, что бы не приходилось каждый раз заполнять поля. Так что:

  • Apply — Copy

Сохраняем и подписываем.

После подписания статус сертификата станет KA
K — Private key
A — Authority

Можно переходить к настройке сервера.

Другие статьи по теме:

  • Настройка OpenVPN Server на Mikrotik RouterOS
  • Сборка opvn.conf для клиента Mikrotik
  • RADIUS Server на базе WinSrv 2019 для Mikrotik

Настройка MikroTik в качестве OVPN-сервера с использованием клиентских сертификатов и списка отзыва

Передо мной возникла задача настроить MikroTik в качестве OVPN сервера с использованием клиентских сертификатов и возможностью их отзыва. В интернетах на данную тему чёткого How-To я не нашёл, поэтому решил изобрести свой собственный велосипед. В этой статье я опишу схему настройки данного чуда, получившуюся и работающую у меня.

Использование PKI ROS

Касательно PKI есть два варианта:

1. С использованием встроенного в ROS PKI:

  • + можем выдавать и отзывать сертификаты непосредственно на микротике, иначе нам придётся после каждого отзыва вручную обновлять crl на нём
  • — случайное удаление с микротика CA-сертификата, используемого для подписи и отзыва сертификатов — фатально, импорт ранее выгруженных сертификата и ключа CA не поможет, а дальнейшее использование будет возможно только с использованием openssl и ручной загрузкой crl после каждого отзыва (конечно, если у вас есть актуальный бэкап всего этого)
  • + если мы бэкапим весь конфиг микротика, то вместе с ним бэкапится и CA
  • + защищены от недостатка первого варианта
  • — в случае openssl необходимо вручную загружать crl на микротик после каждого отозванного сертификата
  • + в случае windows server PKI теоретически можно реализовать проверку подлинности через механизм SCEP, но пока не проверял
  • — в случае windows server PKI нужен домен, без него этот самый PKI работать не будет
Настраиваем OVPN-сервер на ROS
1. Настройка PKI

1.1. Сертификат CA:

/certificate add name=template-CA country=»» state=»» locality=»» organization=»» unit=»» common-name=»test-CA» key-size=4096 days-valid=3650 key-usage=crl-sign,key-cert-sign

/certificate sign template-CA ca-crl-host=127.0.0.1 name=»test-CA»

Примечание: ca-crl-host= — обязательный параметр, иначе список отзыва не будет создан; полный путь к списку отзыва будет указан в параметрах сертификата, графа «[1]Точка распределения списка отзыва (CRL)»; в принципе, можно указать любой из ip-адресов нашего микротика, тот что укажем — и будет прописан в сертификате. Доменные имена параметром не поддерживаются, к сожалению.

1.2. Сертификат сервера:

/certificate add name=template-SRV country=»» state=»» locality=»» organization=»» unit=»» common-name=»test-srv-OVPN» key-size=4096 days-valid=1095 key-usage=digital-signature,key-encipherment,tls-server

/certificate sign template-SRV ca=»test-CA» name=»test-srv-OVPN»

Примечание: для сертификата сервера key-usage лучше не менять, почему так — описано здесь (а если очень хотим поменять — то там же написано что нужно прописать в конфиге клиента для этого).

Примечание: в отличие от SSTP — OVPN не проверяет соответствие common-name сертификата сервера fqdn’у этого сервера.

1.3. Шаблон для сертификатов клиентов:

/certificate add name=template-CL country=»» state=»» locality=»» organization=»» unit=»» common-name=»test-client-ovpn-template» key-size=4096 days-valid=365 key-usage=tls-client

1.3.1 Сертификат первого клиента:

/certificate add name=template-CL-to-issue copy-from=»template-CL» common-name=»test-client-ovpn-1″

/certificate sign template-CL-to-issue ca=»test-CA» name=»test-client-ovpn-1″

1.3.2. Сертификат второго и последующих клиентов:

См. п. 3.1, но меняем значение параметров.

Для первой команды, это значение должно быть уникальным в пределах одного CA.

Для второй команды, это значение должно быть уникальным в пределах одного микротика.

1.4 В будущем, для отзыва сертификатов используем команду:

certificate issued-revoke %cert-name%

Где %cert-name% — поле name= подписанного сертификата, то есть отображаемое PKI микротика.

2. Настройка OVPN сервера

Примечание: можно настроить в режиме tun («ip» в ROS), а можно в режиме tap («ethernet» в ROS). Режим tun — обычный туннель. Режим tap — эмуляция полноценного ethernet, в частности в режиме tap клиентов можно объединить в режим моста и они будут прекрасно друг друга видеть. В теории в режиме tap можно запустить DHCP-сервер, но в текущей версии ROS это не реализовано.

2tun. Режим tun

2tun.1. Задаём пул адресов для OVPN-клиентов (можно задать непосредственно в PPP-profile):

/ip pool add name=OVPN_srv_pool ranges=192.168.100.2-192.168.254

2tun.2. Создаём PPP-profile для OVPN-сервера:

/ppp profile add name=OVPN_server local-address=192.168.100.1 remote-address=OVPN_srv_pool

Опционально! Остальные параметры по вашему вкусу и в соответствии с вашими целями. Например: dns=192.168.100.1 use-ipv6=no

2tun.3. Настраиваем режим аутентификации пользователей:

/ppp aaa set accounting=yes

2tun.4. Добавляем пользователей:

/ppp secret add name=test-user-1 password=P@ssword1 service=ovpn profile=OVPN_server

/ppp secret add name=test-user-2 password=P@ssword2 service=ovpn profile=OVPN_server

2tun.5. Включаем OVPN-сервер:

/interface ovpn-server server set auth=sha1 cipher=blowfish128 default-profile=OVPN_server mode=ip netmask=24 require-client-certificate=yes certificate=test-srv-OVPN enabled=yes

2tap. Режим tap

2tap.1. Задаём пул адресов для OVPN-клиентов (можно задать непосредственно в PPP-profile):

/ip pool add name=OVPN_srv_pool ranges=192.168.100.2-192.168.254

2tap.1+. Создаём мост для OVPN-подключений:

/interface bridge add name=OVPN_bridge arp=enabled

Примечание: IP для моста назначать совершенно не обязательно, он и так имеется в PPP-profile (кроме того если указать адрес для моста, но не указать local-address= в PPP-profile, то клиент не подключится).

Примечание: arp должен быть включён, иначе клиенты друг-друга не увидят.

2tun.2. Создаём PPP-profile для OVPN-сервера:

/ppp profile add name=OVPN_server local-address=192.168.100.1 remote-address=OVPN_srv_pool bridge=OVPN_bridge

Опционально! Остальные параметры по вашему вкусу и в соответствии с вашими целями. Например: dns=192.168.100.1 use-ipv6=no

2tap.3. Настраиваем режим аутентификации пользователей:

/ppp aaa set accounting=yes

2tap.4. Добавляем пользователей:

/ppp secret add name=test-user-1 password=P@ssword1 service=ovpn profile=OVPN_server

/ppp secret add name=test-user-2 password=P@ssword2 service=ovpn profile=OVPN_server

2tap.5. Включаем OVPN-сервер:

/interface ovpn-server server set auth=sha1 cipher=blowfish128 default-profile=OVPN_server mode=ethernet netmask=24 require-client-certificate=yes certificate=test-srv-OVPN enabled=yes

Примечания для обоих режимов:

1. Наличие пользователя является обязательным, даже не смотря на авторизацию по сертификатам; можно создать одного пользователя на всех клиентов и прописать один и тот же логин/пароль в конфигах клиентов, но это лишает возможности отследить подключение и действия конкретного пользователя — неудобно, несколько небезопасно.

2. RADIUS-аутентификацию я не рассматриваю просто потому, что не тестировал. Могу лишь предположить, что работать она будет только для username/password, а сертификаты будут всё так же проверяться на микротике.

3. Следите за тем, что бы пул адресов соответствовал подсети, указываемой в настройках OVPN-сервера. ROS’овский OVPN-сервер не будет разбираться принадлежат ли одной сети local-address= сервера и назначаемый из пула адрес клиента, более того, если, к примеру, использовать маску 29, а в качестве пула прописать ranges=192.168.100.0/29, клиенту может быть в лёгкую назначен броадкастовый 192.168.100.7, как это было у меня. Точно такая же ситуация может возникнуть, если указанный пул больше, чем подразумевает маска — только проблема выявится не сразу, а чуть погодя.

3. Экспорт сертификатов для настройки клиентов

3.1. Экспорт сертификата CA:

/certificate export-certificate test-CA export-passphrase=»»

Примечание: Нам нужен только сам сертификат, закрытый ключ НЕ нужен, поэтому параметр export-passphrase=»» должен быть пустым.

3.2. Экспорт сертификатов клиентов:

/certificate export-certificate test-client-ovpn-1 export-passphrase=private-key-password1

/certificate export-certificate test-client-ovpn-2 export-passphrase=private-key-password2

Примечание: export-passphrase= — обязательный параметр для экспорта закрытых ключей; используем для каждого клиента свой пароль; НЕ используем тот же самый пароль, который указывали в пунктах 2.4 для пользователей!

3.3. Извлекаем полученные файлы сертификатов и ключей из микротика любым удобным способом (как правило, я таскаю туда-сюда файлы прямо из винбокса).

Настройка Windows-клиента

1. Получаем OVPN-дистрибутив с openvpn.net.
2. Устанавливаем, все опции оставляем по-умолчанию, в том числе tap-интерфейс, который понадобится для любого режима настройки.
3. Идём в OpenVPN\config (по-умолчанию C:\Program Files\OpenVPN\config) и создаём там файл client.ovpn (или копируем из OpenVPN\sample-config).
4. Создаём конфигурацию клиента, или вносим правки с sample-config.

Содержимое client.ovpn с небольшими комментариями

# Режим, в котором работает OVPN сервис
client

# Внимание! Указываем только один параметр из двух
# Для режима tup указываем параметр
dev tun
# Для режима tap указываем параметр
dev tap

# Этот параметр указываем только в случае использования режима tap, а вместо MyTap подставляем имя tap интерфейса в windows (ipconfig /all, или сетевые подключения в панели управления)
dev-node MyTap

# Используемый протокол. ROS’овский OVPN-сервер работает только в режиме tcp
proto tcp

# Адрес сервера, к которому будем подключаться, и порт. Вместо ovpn.my.domain — dns-имя или же ip-адрес. Можно указать несколько серверов.
remote ovpn.my.domain 1194
;remote my-server-2 1194

# Этот параметр нужен только в случае использования более чем одного сервера; При указании этого параметра при подключении клиент случайном образом выбирает один из указанных серверов
;remote-random

# Тайм аут между попытками определить ip-адрес по указанному DNS-имени сервера, в секундах (или бесконечность — infinite)
resolv-retry infinite

# Если указан этот параметр, то клиент будет использовать динамический исходящий порт для подключения
nobind

# Разрешают клиенту сохранять настройки туннеля при переподключении, а так же не перечитывать файлы ключей
persist-key
persist-tun

# Настройки прокси
;http-proxy-retry # retry on connection failures
;http-proxy [proxy server] [proxy port #]

# Отключает сообщения о повторяющихся пакетах
;mute-replay-warnings

# Пути к файлам сертификатов
# ca — сертификат CA, которым выданы сертификат клиента И сертификат сервера
# cert — сертификат клиента
# key — закрытый ключ сертификата клиента
ca cert_export_test-CA.crt
cert cert_export_test-client-ovpn-1.crt
key cert_export_test-client-ovpn-1.key

# auth-user-pass сообщает клиенту, что он должен использовать имя пользователя и пароль для аутентификации (но не вместо сертификатов, а вместе с сертификатами)
# auth-user-pass говорит OVPN-клиенту использовать логин и пароль (но не вместо сертификатов, а вместе с сертификатами)
# user-pwd.txt указывает на файл, в котором хранятся логин и пароль; первая строка в файле — логин, вторая — пароль; при отсутствии этого аргумента логин и пароль будут запрашиваться каждый раз при подключении
# Примечание: В случае использования сертификата с закрытым ключом, к которому и так нужно вводить ключ при каждом подключении, я не считаю необходимым заставлять пользователя помнить ещё и логин с паролем
—auth-user-pass user-pwd.txt

# Сообщает клиенту, что он должен проверять сертификат сервера на предмет правильности используемых key-usage
remote-cert-tls server

# Ключ для шифрования начала процесса аутентификации (handshake), дополнительная мера безопасности. Имеет смысл при использовании только логина/пароля, без сертификатов.
;tls-auth ta.key 1

# Задание особого метода шифрования, по-умолчание используется blowfish128.
;cipher x

# Использование lzo-сжатия. Не поддерживается OVPN на ROS.
;comp-lzo

# Уровень лога. Чем больше значение — тем подробнее.
verb 3

# Блокирование повторяющихся сообщений в логе
;mute 20

# Выше были приведены параметры, которые присутствуют в «родном» примере конфига для клиента + 1 необходимый нам параметр
# Ниже я приведу ещё несколько, на мой взгляд, полезных параметров.

# Маршрут, устанавливаемый при запуске подключения
# Маршрут указывает не на шлюз, а непосредственно на подключение
route 192.168.88.0 255.255.255.0

# Пауза перед установкой маршрутов после установления подключения (в секундах)
route-delay 5

# Если мы хотим задать OVPN-подключение в качестве основного шлюза
route-gateway 192.168.100.1
redirect-gateway def1 //Спасибо пользователю @bibliary за правку. Согласно докам этот вариант верен, но протестировать на момент редактирования не имею возможности.

Примечание: для применения параметров маршрутизации, прописанных в конфиге, сам сервис OVPN, или же OVPN GUI должны быть запущены с правами администратора.

Примечание: список большинства параметров здесь но он несколько устаревший.

Настройка MikroTik-клиента
1 Импорт сертификатов

1.1 Кладём в микротик файл сертификата CA и файл сертификата и файл ключа клиента любым удобным способом

1.2 Импортируем сертификат CA

/certificate import file-name=cert_export_test-CA.crt passphrase=»»

1.3 Импортируем сертификат и ключ клиента

/certificate import file-name=cert_export_test-client-ovpn-1.crt passphrase=»»

/certificate import file-name=cert_export_test-client-ovpn-1.key passphrase=private-key-password1

2. Настраиваем клиент

/interface ovpn-client add name=OVPN_client connect-to= port=1194 mode= user=test-user-1 password=P@ssword1 profile=default certificate=cert_32 auth=sha1 cipher=blowfish128 add-default-route= disabled=no

Значения в <> указываете в соответствии с предыдущими настройками и вашими потребностями.

Для экспериментов использовалось следующее оборудование и ПО:

RouterBoard 2011UiAS-2HnD с RouterOS 6.32.2 на борту — 2 шт., один в качестве сервера, другой в качестве клиента; оба служат пограничными шлюзами — дома и на работе.

Ноутбук с Windows 10 Pro x64 на боту — 1 шт., в качестве клиента; служит для работы и в качестве лаборатории.

Сертификаты:Создание сертификатов средствами маршрутизатора

В статьей разбирается создание сертификатов средствами операционной системы MikroTik RouterOS. Решение проверялось при работе с: SSTP, OpenVPN и IPsec.

Полезные материалы по MikroTik

Углубленный курс "Администрирование сетевых устройств MikroTik" Онлайн-курс по MikroTik с дипломом государственного образца РФ. Много лабораторных работ с проверкой официальным тренером MikroTik. С нуля и до уровня MTCNA. 
На Telegram-канале Mikrotik сэнсей можно получить доступ к закрытой информации от официального тренера MikroTik. Подписывайтесь 

Настройка

Ввиду специфики работы RouterOS (актуально, как минимум для RouterOS 6.39.2).

Подготовить шаблоны сертификатов:

Если сертификаты будут использоваться для SSTP, то в качестве параметра “common-name” сертификата сервера обязательно должен быть указан либо его IP-адрес, либо привязанное к его адресу доменное имя. При этом подключение от Windows-клиента пройдет только от того, что указано в параметре “common-name”. Т. е. если в параметре указано доменное имя, а при подключении указывается адрес, то подключение не произойдет.

/certificate
add name=ca country=RU state=»Moscow Region» locality=Moscow organization=N/A unit=N/A common-name=ca key-size=2048 days-valid=4000 key-usage=key-cert-sign,crl-sign
add name=server common-name=10.1.100.1 country=RU days-valid=4000 state=»Moscow Region» locality=Moscow organization=N/A unit=N/A
add name=client1 common-name=client1 country=RU days-valid=4000 state=»Moscow Region» locality=Moscow organization=N/A unit=N/A
add name=client2 common-name=client2 country=RU days-valid=4000 state=»Moscow Region» locality=Moscow organization=N/A unit=N/A

В свойствах сертификатов server, client1 и client2 на вкладке “Key Usage” снять все галки:

Снятие всех опций на вкладке

Подписать сертификат центра авторизации. Из контекстного меню сертификата «ca» выбрать «sign«. В качестве опции «CA CRL Host» указать адрес VPN-сервера:

Подписание сертификата центра авторизации на маршрутизаторе МикроТик

В RouterOS до 6.37.4 сертификат центра авторизации надо подписывать только через графический интерфейс, т. к. только в этом случае, статус сертификата становился KAT. Если подписывать через консоль, то статус становился KLAT. В итоге вся последующая работа с сертификатами становилась нерабочей.

Или через консоль:
/certificate
sign name=ca ca-crl-host=10.1.100.1 number=ca

Подписать сертификаты сервера и клиентов:

/certificate
sign ca=ca server name=server ca-crl-host=10.1.100.1
sign ca=ca client1 name=client1 ca-crl-host=10.1.100.1
sign ca=ca client2 name=client2 ca-crl-host=10.1.100.1

Подписать можно так же и через графический интерфейс:

Подписание сертификатов сервера и клиентов на маршрутизаторе МикроТик

Проверка

Проверка заключается в проверке флагов сертификатов. Выдача должна выглядеть следующим образом: сертификат удостоверяющего центра должен иметь ключи: KLAT, остальные сертификаты: KI.

На скриншоте изображено KAT, но должно быть KLAT

Проверка флагов сертификатов на маршрутизаторе МикроТик

Полезные материалы по MikroTik

Углубленный курс "Администрирование сетевых устройств MikroTik" Онлайн-курс по MikroTik с дипломом государственного образца РФ. Много лабораторных работ с проверкой официальным тренером MikroTik. С нуля и до уровня MTCNA. 
На Telegram-канале Mikrotik сэнсей можно получить доступ к закрытой информации от официального тренера MikroTik. Подписывайтесь 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *