Как настроить 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 символов это по сути то же самое, что и использование сертификатов с точки зрения защиты соединения? Или я вообще не так все представляю?

Если трудно ответить просто, дайте ссылку, с удовольствием ознакомлюсь.
  • Вопрос задан
  • 8584 просмотра
Пригласить эксперта
Ответы на вопрос 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
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы