From: Sergey Matveev Date: Wed, 22 Jan 2020 13:30:19 +0000 (+0300) Subject: На работе рассказал про IPsec (ESP, IKEv2, PF_KEY) X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=5990ef1243d356aac4686e9357fc85f945eba3c5;p=stargrave-blog.git На работе рассказал про IPsec (ESP, IKEv2, PF_KEY) Освежевал память свою на эту тему. Обратил внимание что в PF_KEY при добавлении SP можно задавать ожидаемые идентификаторы сторон. А это значит что я по сути могу просто в своём приложении для сокета вызвать setsockopt и передать желание безопасного соединения с адресом какого-нибудь банка и явно передать что я ожидаю что он представится доменом или как-то ещё. Ядро это увидит, оповестит IKE, тот согласует SA и аутентифицирует стороны. В принципе это абсолютно полная замена TLS. Но посмотрел в исходники FreeBSD и увидел что передать то я могу идентификаторы, но никто их нигде использовать не будет. Исходники OpenBSD говорят что вроде бы всё ожидаемо будет учтено. strongSwan исходники говорят что он подобные SP требования из PF_KEY учитывать будет только под Linux. FreeBSD тут плетётся где-то сзади, что неприятно. Я уже обнаруживал что ESN в ней не поддерживается для ESP, что на современных быстрых жирных сетях вообще крайне желательно бы иметь. Ещё я заметил что IPsec FreeBSD чуть ли не полностью сделан Яндексом, судя по всему. Оно то конечно всё работает, но на определённом множестве промышленных задач, а не всяких мелочей ДЦ корпорациям не сдавшихся. Прям захотелось взять и перейти на OpenBSD! Но... отсутствие ZFS -- критично, невысокая производительность и масштабируемость неприятны. Прям хоть в виртуалку под FreeBSD ставь OpenBSD для работы с сетью. ---