Предыстория вопроса.
Приходят очередные контрагенты, говорят "давай строить IPSec-тоннель". Традиционно предлагают
DH Group 2 и SHA-1. При том, что у самих стоит ни разу не самая древняя Cisco Firepower 4120. Ну я им возражаю, мол, какого. Давайте тогда уж DH Group 14 и SHA-256 хотя бы. Они: "окей, давайте, но наша железка потребует тогда IKEv2". Ну давайте IKEv2, тоже мне, испугали ежа.
А дальше начинается интересное. При включении IKEv2 циска явно просит указать алгоритм PRF (pseudo-random function), которой хешируется PSK. И по умолчанию выставляет в качестве оной всё тот же приснопамятный SHA-1. Что касается Juniper-а, то он вообще не даёт пользователю / админу определять PRF, а выбирает его сам. Причём,
заранее неизвестно какой именно. В документации про него ничего не сказано, в логах тоже не пишет. Просто отбивает первую фазу по "No Proposal Chosen", а дальше иди и гадай почему. И только когда IPSec-соединение будет успешно установлено, в "show security ike security-associations detail" можно будет посмотреть что же он там выбрал. Ну спасибо, добрые инженеры. Вам срочно потребуется вызвать всех телепатов из отпуска прежде чем начинать строить тоннели. Причём, телепаты должны уметь читать мысли бездушной железки.
Но я всё-таки дорюхал. Так что вот вам правильный ответ, телепатов можете отправлять обратно в отпуск.
Если для первой фазы используются
AEAD-шифры, то Juniper выберет PRF=SHA384. Если "традиционные" шифры с отдельной проверкой целостности (в терминах циски "integrity", в терминах Juniper-а "authentication-algorithm"), то Juniper выберет ту же функцию, которая используется для проверки целостности. Например, для "authentication-algorithm sha-256" будет активирована PRF=SHA256 и так далее.
Собственно, у меня к такому поведению особых претензий нет. Но вот за то, что оно нигде не описано, ни в каких доступных мне мануалах, Juniper заслужил от меня очередной смачный плевок в свою сторону. Cisco в этом плане ведёт себя куда корректнее. Кстати, выбор PRF-а StrongSWAN-ом примерно похож на Juniper-овский, но там это вполне внятно задокументировано. И StrongSWAN позволяет поменять PRF при любом раскладе, в отличие от.
Так что если кто будет строить IPSec между Juniper и ASA / Firepower, имейте в виду. А, и да, ещё один нежданчик. Вот отсюда:
https://www.juniper.net/documentation/en_US/junos/topics/reference/configuration-statement/security-edit-policy-ike.htmlascii-text key-Specify a string of 1 to 255 ASCII text characters for the key. Characters @ + - or = are not allowed
И чем же вам плюсы-минусы в PSK-то не угодили, родные? Какого хрена вы вообще мне указываете что можно писать в PSK, а что нельзя? А не уху ели ли вы часом? Та же циска жрёт в PSK что угодно и не давится.
Забавно, что в разных мануалах по Juniper-ам фигурирует разный набор разрешенных / запрещенных символов в PSK. Хрен поймет кому верить.
Грёбаные индусы...