Как стать автором
Обновить

Комментарии 31

У меня в версии 0.4.5 галочка «Test experimental kernel driver» появилась прямо в GUI. По умолчанию снята, поставил, работает, по скорости в моём случае (VPN-сервер в Адстердаме) даёт прирост процентов на 5-10 (на чистоту эксперимента не претендую, на результат могли влиять и другие факторы и просто случайные отклонения, я всего лишь прогнал раз 10 подряд Speedtest с новой опцией и без неё).

Очень даже хорошая новость.

А если у тебя есть такой добрый отзыв от беспощадного Линуса к пулл-реквесту в ядро, то резюме, в общем-то, можно уже и не писать. Хед-хантеры и так удавят друг-друга.

хех... я из-за него начал смотреть на Rust... Если уж этот "м*дак" (может так не показаться, но это в положительном ключе) это одобрил, то видимо на это есть причины.

Вообще, это интересный пример того, как программист-любитель пишет более качественный код для ядра Windows, чем профессионалы из Microsoft.

Я бы не стал называть Джейсона любителем. Он и до создания wireguard был уже известным специалистом, с OSS проектами и собственным микробизнесом в области безопасности. И уж точно его квалификация на порядок выше среднего индуса на окладе в MIcrosoft.

Стало неприятным открытием, что теперь в Windows, точно так же, как и в macOS, невозможно загрузить самоподписанный драйвер, даже добавив свой собственный CA. 2000 долларов за возможность запустить свой собственный код на своей собственной машине, как замечательно...

А пробовали перевести Windows в режим TESTSIGNING?

Не соглашусь, это не то же самое.

TESTSIGNING, как и отключение SIP в macOS, позволяет запускать любые драйвера, в том числе подписанные левыми сертификатами каких-нибудь абстрактных вирусописателей.

Это не то же самое, что и запускать драйвера, подписанные моим сертификатом. Я не хочу отказываться от механизмов безопасности ОС — пусть они служат на благо, но меня удручает то, что мое мнение не принимается во внимание. Я должен либо платить, либо согласиться с тем, что будет запущен произвольный код, независимо от его подписи.

Изначально писали что невозможно загрузить без денег. А невозможно только в пользовательском режиме. А как отделить ваш сертификат от не вашего? А если он подделан? Как в MacOS с этим делом?

В macOS невозможно без денег и договора с Apple (чтобы получить особый entitlement в сертификат подписи), безотносительно режима. Чтобы отличить мой сертификат от не моего, достаточно проследить его цепочку подписей - если она заканчивается на моем CA, то это мой сертификат. Если не заканчивается, или имеются нарушения подписей посредии, то это не мой сертификат.

Мой CA я согласен добавить через csrutil из безопасного режима, как это происходит для отключения SIP. Вот только Apple не согласна. Раньше можно было добавить CA в системное хранилище ключей и использовать его для верификации подписи драйвера, больше нельзя.

Насчет того, что сертификат может быть подделан - как можно подделать сертификат?

В macOS невозможно без денег и договора с Apple, безотносительно режима.

Получается на Windows ситуация лучше?

Насчет того, что сертификат может быть подделан - как можно подделать сертификат?

Тут нет компетенции к сожалению, мало ли что поддается взлому...

Получается на Windows ситуация лучше?

Так ведь и на Windows ситуация точно такая же -- без денег никак. Хочешь свой драйвер -- нельзя, можно только вовсе отключить все проверки и сидеть с голой задницей, что в macOS (`csrutil enable --without kext`), что в Windows (TESTSIGNING). В результате может быть загружен совершенно любой драйвер совершенно любой малвари, а не тот, который утвержден моей криптографической подписью.

Тут нет компетенции к сожалению, мало ли что поддается взлому...

Для того, чтобы взломать типичный корневой сертификат с RSA-ключом в 4096 бит, не хватит времени жизни Вселенной. Если Вы считаете, что сертификаты легко подделываются, значит, можно подделать корневой сертификат Apple или Microsoft и подписывать произвольный код и так.

Мой CA я согласен добавить через csrutil из безопасного режима

Если можете добавить вы, то может добавить и малварь.

Не сможет, для этого нужно иметь физический доступ, т.к. использование csrutil подразумевает перезагрузку в recovery mode, которая отличается от обычного другими флагами в nvram. Если малварь может перезагрузиться в recovery, то эта малварь - я.

Можно включить testsigning, впихнуть свой драйвер, потом выключить. Другие левые дрова больше не пролезут, а ваш продолжит работать.

Для переключения TestSigning требуется перезагрузка, насколько я знаю.

Не продолжит, самоподписанный/неподписанный драйвер отправится на мороз после перезагрузки.

Пробовал эту штуку. Очень понравилось. Реально быстро и просто. Но порог вхождения выше простого юзера, поскольку требует начальной настройки, которая может оказаться нетривиальной. Оно реально просто, когда знаешь. А когда не знаешь - можно убить несколько дней на Гугл. Особенно, если клиент или сервер за натом. Документация по настройке на сайте wireguard очень скудная. Спасают только бложики и stackoverflow. И даже если вроде начало работать и пошли пинги, то легко можно тут же упороться в MTU.

У меня скорее была проблема - "вот эти две команды запустить и пять строчек в конфиг добавить - И ВСЁ????", в итоге долго и старательно пытался понять что еще донастроить нужно.

Да, такая же хрень. По описанию всё просто, а когда оно не работает, то фиг пойми, почему.

Попробуйте tailscale — тот же wireguard как транспорт + человеческий интерфейс вокруг.

Любопытный проект, спасибо! Но не внушает доверия, что выпуск ключей в третьих руках.

На скорую руку погуглив, нашел реализацию центрального сервера headscale. Не пробовали?

Не пробовал, потому что и так приходится доверять всем направо и налево, а у tailscale как минимум клиент опенсорсный и приватная часть ключа локальные машины покидать не должна, такое бы сразу кто-нибудь заметил (наверное) :)

Ещё очень понравилось, что есть клиенты подо всё. Лучший, как мне кажется - под планшеты. А мой телек теперь легко и непринужденно показывает нетфликс для другой страны в 4к. Главное - срастить конфиг для своего случая и потом клонировать для остальных своих устройств.

Теперь wireguard клиент не будет требовать админских прав при подключении?

Теперь он их будет сам раздавать (шуточка)

Подскажите, можно ли в WireGuard настроить жёсткую привязку клиентов к их индивидуальным IP-адресам? Насколько эта привязка надёжна? Может ли клиент обойти её и получить другой IP-адрес?

Да, в конфиге сервера для каждого клиенского ключа задается ip, или диапазон. В клиентском конфиге он же. Сейчас попробовал менять адрес на клиенте, не пускает.

У каждого клиента свой ключ для подключению к серверу
На сервере прописывается диапазон адресов от куда может подключится клиент
Ни что не мешает задать конкретный адресс

Может кто знает как на win машине создать два одновременных подключения к разным vpn серверам?

примерно $2000 за трёхлетний

Да, после того как Digicert перестал давать 50% скидку через портал hdev, действительно стало дороговато. Могли бы и сразу написать, что EV сертификат от Globalsign более чем в два раза дешевле обходится. ​

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.