Как настроить IPSec на Mikrotik без пароля?

На Mikrotik настроил VPN L2TP и IPSec. Работает. Но что мне не очень нравится, так это вот что: везде куча мануалов (например, раз, два, три, еще много где), но везде описывается вариант IPSec peer с pre-shared-key (типа, secret=12345). Не могу понять, как сделать IPSec по сертификату/ключу (как правильнее, не уверен).

Вот например, можно создать в IP - IPSec - Keys ключ. Он приватный. Для его создания не спрашивают CN, нет привязки к реальному IP или FQDN. НА первый взгляд, удобнее. Ок. Создал. Экспортировал публичный для него ключ. Ок, сделал. На рабочем столе Windows лежит файл my_key.txt, содержимое примерно такое:

-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqN0b29/XsFI66jsn2c9K
ELOXNA6+9zjJ8RJCWO6RphGXcpwS5/HPXJkPEFqDQSEaViC7K2n2c8Ph/Me6btHF
...
rFOBJ/HvMsSuQyrM6hz2w4XbTRYw4/BfCapb3lT58KlwfLBkp5wUdBWTq8bKE+BV
Bqk1aQpBk18vrHZCR8RBb0kCAwEAAQ==
-----END PUBLIC KEY-----

Как его импортировать в Windows 7/8? Пробовал Мастер импорта сертификатов - пишет, что не найден подходящий сертификат. Это я еще до мобильных клиентов не добрался...

Задача осложняется тем, что ключ можно создать в меню IP - IPSec - Keys, а в меню System - Certificate можно содать сертификат, который тоже вроде бы можно использовать для IPSec.

В итоге, хочу спросить:
1. какая вообще разница использовать pre-shared-key или сертификат?
2. можно ли и если да, то как, использовать ключ, созданный в меню IP - IPSec - Keys, для VPN между Mikrotik и клиентом Windows;
3. в чем отличие ключа из IP - IPSec - Keys и сертификатов из System - Certificate;
4. правильно ли я понимаю, что связь IPSec, установленная между компьютером и сервером VPN, при использовании pre-shared-key отличается от нее же, но с использованием сертификата/ключа, более легкой возможностью подбора? Ну, к примеру, secret=skksdjhfkjsh и еще 200 символов это по сути то же самое, что и использование сертификатов с точки зрения защиты соединения? Или я вообще не так все представляю?

Если трудно ответить просто, дайте ссылку, с удовольствием ознакомлюсь.
  • Вопрос задан
  • 9498 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Maxim_Q
какая вообще разница использовать pre-shared-key или сертификат?

pre-shared-key - это аутентификация по паролю. Она плоха тем что можно сбутфорсить пароль или сделать MITM атаку
сертификат - более продвинутая версия аутентификации когда проверяется вторая сторона. сбутфорсить или сделать MITM атаку практически нереально (читай невозможно если ты простой смертный, а не сотрудник АНБ). В сертификатах есть проверка по IP еще, очень полезная штука.

можно ли и если да, то как, использовать ключ, созданный в меню IP - IPSec - Keys, для VPN между Mikrotik и клиентом Windows;

Для IPsec сертификат должен иметь IPsec галочки в настройках генерации сертификата, сертификат желательно привязать к IP. Потом полученный сертификат (его открытый ключ) экспортировать в windows в центр корневых сертификатов. Я настроил IPsec с гибриной авторизацией только на микротиках, на windows переностить настройки никогда небыло нужды, но сертификаты от других служб экспортировать приходилось и их нужно сувать именно в корневые сертификаты.

в чем отличие ключа из IP - IPSec - Keys и сертификатов из System - Certificate;

IP - IPSec - Keys = нет привязки к IP и скорее всего этот сертификат только для авторизации на микротиках, для windows нужен другой из System - Certificate.

правильно ли я понимаю, что связь IPSec, установленная между компьютером и сервером VPN, при использовании pre-shared-key отличается от нее же, но с использованием сертификата/ключа, более легкой возможностью подбора?


грубо говоря да pre-shared-key это полное говно и его никогда нельзя использовать. только сертификаты с проверкой сервера и клиента. сертификаты сервера нужно экспортировать на клента, а клиентские сертификаты нужно экспортировать с клиента на сервер, чтобы они друг друга знали, иначе соединиться не получится.

-----
Обязательные нстройки:
для L2TP (PPP > L2TP_Server) Use IPsec: reguired - требовать IPsec и без него не поднимать L2TP
В профиле L2TP (PPP > Profiles) Use Encryption: required - требовать шифрование.
для IPsec
(IP > IPsec > Peer_Profiles) и (IP > IPsec > Peers) настроить так чтобы использовалось шифрование не ниже AES. DES, 3DES - явно уязвимы. blowfish - есть вероятность что уязвим.

(IP > IPsec > Policies)
Action : encryption
Level : required
IPsec Protocols : esp (не вздумай поставить ah, труба всему шифрованию, его тупо не будет. только esp)

IP > IPsec > Installed_SAs
тут после соединения проверь чтобы было шифрование три колонки (Auth. Algorithm; Encr. Algorithm; Encr. Key Size) алгоримм подписи пакета, алгоритм шифрования и размер ключа шифрования.

вот хорошая статься по IPsec: https://habr.com/ru/post/438176/
Ответ написан
Комментировать
@efkot
Как его импортировать в Windows 7/8? Пробовал Мастер импорта сертификатов - пишет, что не найден подходящий сертификат. Это я еще до мобильных клиентов не добрался...

ну так для начала смените ему расширение на cer
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы