Re: [freebsd] Нагруженный VPN сервер

2018-11-08 Пенетрантность Eugene Grosbein
On 03.11.2018 01:20, Nick Kostirya wrote:
> On Thu, 4 Oct 2018 15:49:38 +0300
> Alexander Andreyev  wrote:
> 
>> Есть такой нюанс, что GRE пролазит через NAT в одном экземпляре, т.е. 
>> если кто-нибудь из той-же сети уже подключен, то второму не получается.
> 
> Второй не может подключиться к тому же, к чему подключен первый?

К тому же, что и первый.

> Или он не может подключиться вообще к любому другому ipsec vpn?

К другому сможет при использовании NAT-T.

___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Нагруженный VPN сервер

2018-11-02 Пенетрантность Nick Kostirya
On Thu, 4 Oct 2018 15:49:38 +0300
Alexander Andreyev  wrote:

> Есть такой нюанс, что GRE пролазит через NAT в одном экземпляре, т.е. 
> если кто-нибудь из той-же сети уже подключен, то второму не получается.

Второй не может подключиться к тому же, к чему подключен первый?
Или он не может подключиться вообще к любому другому ipsec vpn?
___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Нагруженный VPN сервер

2018-10-10 Пенетрантность Eugene Grosbein
10.10.2018 22:52, Anton Saietskii пишет:

>> Этих претензий я тоже не понял. Чем плоха группа 1024, мало ест батарею?
> Ну почему же плоха? Прекрасна, как и 3DES. *всем_известная_табличка*

Которая табличка из известных? Их много.

> 2. Не умеет в "always-on vpn";
 Что такое "always-on vpn" в контексте IPSEC?
>>> В контексте ведроида. Это когда траф никакой не ходит, пока туннель не
>>> поднимется.
>> И это не понял, к чему эта претензия - к мобиле?
> Изначально этот сабтред у нас пошёл из-за утверждения, что OpenVPN
> таки всегда и везде взлетает, и тут я согласен.

О, далеко не всегда и не везде. Вторым-третьим его запустить в параллель
к уже имеющемуся до той же самой удаленной сети (но по другим трассам в WAN)
никогда не пробовал? Или до железки, для которой нет реализации OpenVPN,
или есть, но только очень старая.

> IPsec я уважаю,
> конечно, но просто глупо отрицать тот факт, что нет универсального
> способа настройки, ибо столько разных ciphersuite, и нет какого-нибудь
> common set настроек. В OpenVPN же ты и правда просто кладёшь конфиг и
> он просто работает,

Не вижу отличия с ipsec-tools, я так же копирую racoon.conf с одной системы
на другую и он просто работает. Но это всё, как я уже говорил, в очень
простых конфигурациях, в песочнице. Как только возникает схема посложнее,
в обоих случаях требуется перенастройка и отладка и в случае с OpenVPN
не факт, что вообще существует решение.

> а версии самого продукта по возможностям на разных платформах равны.

Хаха.

> 3. Не умеет в туннели, создающие интерфейсы.
 На FreeBSD есть интерфейсы if_ipsec(4) для этого, они работают в паре с 
 демоном IKE.
>>> Только они не умеют в неизвестный адрес другого конца туннеля, в
>>> отличие от L2TP, например.
>> Это же динамические интерфейсы, их можно создавать из script phase1_up
> Не совсем понял, куда пихать скрипт.

Это из man racoon.conf
/phase1_up

___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Нагруженный VPN сервер

2018-10-10 Пенетрантность Anton Saietskii
вс, 7 окт. 2018 г. в 15:09, Eugene Grosbein :
>
> 07.10.2018 18:37, Anton Saietskii пишет:
>
> > вс, 7 окт. 2018 г. в 14:28, Eugene Grosbein :
> >> 07.10.2018 18:21, Anton Saietskii пишет:
>  05.10.2018 21:40, Anton Saietskii пишет:
> > чт, 4 окт. 2018 г. в 20:56, Eugene Grosbein :
> >> Назовите клиента, который не поддерживает l2tp/ipsec с ikev1.
> > Ой, моя мобила так "поддерживает", что один хрен только StrongS/WAN
> > использовать можно, ибо группы DH для PFS больше 1024 не умеет,
> > SHA-256 нормально тоже не умеет (только truncated SHA-256)...
> > Естественно, ещё ни о каком AEAD и речи нет.
>  Имеете что-то против StrongS/WAN?
> >>> Оно:
> >>> 1. Не является частью Android;
> >>
> >> А зачем ему быть частью Android? Со стороны Android должен быть 
> >> стандартный IPSEC.
> > Во-первых, всё-таки IPsec. ;-)
> > Во-вторых, по поводу своей мобилы писал выше и повторюсь:
> >> группы DH для PFS больше 1024 не умеет, SHA-256 нормально тоже не умеет 
> >> (только truncated SHA-256)...
>
> Этих претензий я тоже не понял. Чем плоха группа 1024, мало ест батарею?
Ну почему же плоха? Прекрасна, как и 3DES. *всем_известная_табличка*

> >>> 2. Не умеет в "always-on vpn";
> >> Что такое "always-on vpn" в контексте IPSEC?
> > В контексте ведроида. Это когда траф никакой не ходит, пока туннель не
> > поднимется.
>
> И это не понял, к чему эта претензия - к мобиле?
Изначально этот сабтред у нас пошёл из-за утверждения, что OpenVPN
таки всегда и везде взлетает, и тут я согласен. IPsec я уважаю,
конечно, но просто глупо отрицать тот факт, что нет универсального
способа настройки, ибо столько разных ciphersuite, и нет какого-нибудь
common set настроек. В OpenVPN же ты и правда просто кладёшь конфиг и
он просто работает, а версии самого продукта по возможностям на разных
платформах равны.

> >>> 3. Не умеет в туннели, создающие интерфейсы.
> >> На FreeBSD есть интерфейсы if_ipsec(4) для этого, они работают в паре с 
> >> демоном IKE.
> > Только они не умеют в неизвестный адрес другого конца туннеля, в
> > отличие от L2TP, например.
> Это же динамические интерфейсы, их можно создавать из script phase1_up
Не совсем понял, куда пихать скрипт.
___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Нагруженный VPN сервер

2018-10-07 Пенетрантность Eugene Grosbein
07.10.2018 18:37, Anton Saietskii пишет:

> вс, 7 окт. 2018 г. в 14:28, Eugene Grosbein :
>> 07.10.2018 18:21, Anton Saietskii пишет:
 05.10.2018 21:40, Anton Saietskii пишет:
> чт, 4 окт. 2018 г. в 20:56, Eugene Grosbein :
>> Назовите клиента, который не поддерживает l2tp/ipsec с ikev1.
> Ой, моя мобила так "поддерживает", что один хрен только StrongS/WAN
> использовать можно, ибо группы DH для PFS больше 1024 не умеет,
> SHA-256 нормально тоже не умеет (только truncated SHA-256)...
> Естественно, ещё ни о каком AEAD и речи нет.
 Имеете что-то против StrongS/WAN?
>>> Оно:
>>> 1. Не является частью Android;
>>
>> А зачем ему быть частью Android? Со стороны Android должен быть стандартный 
>> IPSEC.
> Во-первых, всё-таки IPsec. ;-)
> Во-вторых, по поводу своей мобилы писал выше и повторюсь:
>> группы DH для PFS больше 1024 не умеет, SHA-256 нормально тоже не умеет 
>> (только truncated SHA-256)...

Этих претензий я тоже не понял. Чем плоха группа 1024, мало ест батарею?

>>> 2. Не умеет в "always-on vpn";
>> Что такое "always-on vpn" в контексте IPSEC?
> В контексте ведроида. Это когда траф никакой не ходит, пока туннель не
> поднимется.

И это не понял, к чему эта претензия - к мобиле?

>>> 3. Не умеет в туннели, создающие интерфейсы.
>> На FreeBSD есть интерфейсы if_ipsec(4) для этого, они работают в паре с 
>> демоном IKE.
> Только они не умеют в неизвестный адрес другого конца туннеля, в
> отличие от L2TP, например.

Это же динамические интерфейсы, их можно создавать из script phase1_up


___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Нагруженный VPN сервер

2018-10-07 Пенетрантность Anton Saietskii
вс, 7 окт. 2018 г. в 14:28, Eugene Grosbein :
>
> 07.10.2018 18:21, Anton Saietskii пишет:
>
> >> 05.10.2018 21:40, Anton Saietskii пишет:
> >>> чт, 4 окт. 2018 г. в 20:56, Eugene Grosbein :
>  Назовите клиента, который не поддерживает l2tp/ipsec с ikev1.
> >>> Ой, моя мобила так "поддерживает", что один хрен только StrongS/WAN
> >>> использовать можно, ибо группы DH для PFS больше 1024 не умеет,
> >>> SHA-256 нормально тоже не умеет (только truncated SHA-256)...
> >>> Естественно, ещё ни о каком AEAD и речи нет.
> >>
> >> Имеете что-то против StrongS/WAN?
> > Оно:
> > 1. Не является частью Android;
>
> А зачем ему быть частью Android? Со стороны Android должен быть стандартный 
> IPSEC.
Во-первых, всё-таки IPsec. ;-)
Во-вторых, по поводу своей мобилы писал выше и повторюсь:
> группы DH для PFS больше 1024 не умеет, SHA-256 нормально тоже не умеет 
> (только truncated SHA-256)...

> > 2. Не умеет в "always-on vpn";
> Что такое "always-on vpn" в контексте IPSEC?
В контексте ведроида. Это когда траф никакой не ходит, пока туннель не
поднимется.

> > 3. Не умеет в туннели, создающие интерфейсы.
> На FreeBSD есть интерфейсы if_ipsec(4) для этого, они работают в паре с 
> демоном IKE.
Только они не умеют в неизвестный адрес другого конца туннеля, в
отличие от L2TP, например.
___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Нагруженный VPN сервер

2018-10-07 Пенетрантность Eugene Grosbein
07.10.2018 18:21, Anton Saietskii пишет:

>> 05.10.2018 21:40, Anton Saietskii пишет:
>>> чт, 4 окт. 2018 г. в 20:56, Eugene Grosbein :
 Назовите клиента, который не поддерживает l2tp/ipsec с ikev1.
>>> Ой, моя мобила так "поддерживает", что один хрен только StrongS/WAN
>>> использовать можно, ибо группы DH для PFS больше 1024 не умеет,
>>> SHA-256 нормально тоже не умеет (только truncated SHA-256)...
>>> Естественно, ещё ни о каком AEAD и речи нет.
>>
>> Имеете что-то против StrongS/WAN?
> Оно:
> 1. Не является частью Android;

А зачем ему быть частью Android? Со стороны Android должен быть стандартный 
IPSEC.

> 2. Не умеет в "always-on vpn";

Что такое "always-on vpn" в контексте IPSEC?

> 3. Не умеет в туннели, создающие интерфейсы.

На FreeBSD есть интерфейсы if_ipsec(4) для этого, они работают в паре с демоном 
IKE.

___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Нагруженный VPN сервер

2018-10-07 Пенетрантность Anton Saietskii
пт, 5 окт. 2018 г. в 21:47, Eugene Grosbein :
>
> 05.10.2018 21:40, Anton Saietskii пишет:
> > чт, 4 окт. 2018 г. в 20:56, Eugene Grosbein :
> >> Назовите клиента, который не поддерживает l2tp/ipsec с ikev1.
> > Ой, моя мобила так "поддерживает", что один хрен только StrongS/WAN
> > использовать можно, ибо группы DH для PFS больше 1024 не умеет,
> > SHA-256 нормально тоже не умеет (только truncated SHA-256)...
> > Естественно, ещё ни о каком AEAD и речи нет.
>
> Имеете что-то против StrongS/WAN?
Оно:
1. Не является частью Android;
2. Не умеет в "always-on vpn";
3. Не умеет в туннели, создающие интерфейсы.
___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Нагруженный VPN сервер

2018-10-05 Пенетрантность Eugene Grosbein
05.10.2018 21:40, Anton Saietskii пишет:
> чт, 4 окт. 2018 г. в 20:56, Eugene Grosbein :
>> Назовите клиента, который не поддерживает l2tp/ipsec с ikev1.
> Ой, моя мобила так "поддерживает", что один хрен только StrongS/WAN
> использовать можно, ибо группы DH для PFS больше 1024 не умеет,
> SHA-256 нормально тоже не умеет (только truncated SHA-256)...
> Естественно, ещё ни о каком AEAD и речи нет.

Имеете что-то против StrongS/WAN?

___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Нагруженный VPN сервер

2018-10-05 Пенетрантность Eugene V. Boontseff

On 04.10.2018 20:56, Eugene Grosbein wrote:



Не нужно, начиная с Windows Vista есть галка в свойствах VPN-подключения.

Я на 7-ке не нашёл это галочки. Подскажите, как она выглядит/называется?

У меня уже нет Vista и семерок, и на Win 8.1 я тоже её не нашел.
Может быть, я ошибся насчет галки или перепутал с чем другим за давностью 
времён,


Ошиблись, потому что это не "галка")

В свойствах подключения на закладке "безопасность" есть выпадаеющее меню 
"Шифрование данных".


Там надо выбрать "необязательное (подключаться даже без шифрования)".

И виндовс клиент подключается по l2tp к сервер без ipsec.


--
Eugene

___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Нагруженный VPN сервер

2018-10-05 Пенетрантность Anton Saietskii
чт, 4 окт. 2018 г. в 20:56, Eugene Grosbein :
> Назовите клиента, который не поддерживает l2tp/ipsec с ikev1.
Ой, моя мобила так "поддерживает", что один хрен только StrongS/WAN
использовать можно, ибо группы DH для PFS больше 1024 не умеет,
SHA-256 нормально тоже не умеет (только truncated SHA-256)...
Естественно, ещё ни о каком AEAD и речи нет.
___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Нагруженный VPN сервер

2018-10-04 Пенетрантность Anton Yuzhaninov
On 10/4/18 3:03 PM, Eugene Grosbein wrote:
> MS-CHAPv2 handshake не выполняется каждую секунду. Нужно либо иметь 
> возможность активно
> вмешиваться в канал, чтобы инициировать переустановку соединения, либо иметь 
> возможность
> длительного непрерывного мониторинга канала, чтобы поймать момент handshake.
> 
> Не то, чтобы это было неосуществимо, но овчинка должна стоить выделки и если 
> вас пасут люди,
> достаточно для этого мотивированные и имеющие необходимые ресурсы - да, лучше 
> PPtP не использовать.
> И вообще лучше стеганографию применять в дополнение к шифрованию.
> 
> Но закрыть от любопытных глаз WiFi-трафик ноутбука в открытой сети кафешки на 
> полчаса,
> причём трафик с шифрованными протоколами типа https/ssh/RDP внутри - PPtP 
> достаточен.
> 

Как раз таки в кафешке с WiFi поймать handshake несложно - достаточно
запустить сниффер до того как ты придешь и установишь pptp подключение. Да
даже если и после - WiFi можно заглушить на время больше таймаута pptp сессии,
не говоря уже о более тонких аттаках на WiFi подключение.

Даже если трафик внутри шифрованный перехват pptp-хендшейка позволит узнать
пароль, который потом можно использовать для доступа ко внутренней сети (если
VPN используется для доступа в какую то закрытую локалку).

Ну и зачем использовать DES, когда есть современные криптооллгаритмы.
___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Нагруженный VPN сервер

2018-10-04 Пенетрантность Eugene Grosbein
05.10.2018 1:44, Anton Yuzhaninov пишет:

> On 10/4/18 2:00 PM, Eugene Grosbein wrote:
>> Во-вторых, вся "небезопасность" PPtP заключается только в том, что сложность 
>> его взлома
>> зависит от сложности используемых паролей (а не должна бы). Если 
>> использовать не словарные
>> пароли для PPtP, то никакой небезопасности в нём нет.
> 
> PPtP использует MSCHAPv2 для авторизации. Вот что писали про его безопасность
> в 2001м году: https://penguin-breeder.org/pptp/download/pptp_mschapv2.pdf
> 
> On a system equipped with a 550MHz Intel Celeron,  we can test around 2^16
> passwords per second.  At this speed, the remaining password space is 
> searched in
> 2^36·2^−16 secs = 2^20 secs ≈ 2^14 mins ≈ 12 days
> 
> D pdf-ке выше речь идет про пароли длинной до 8 символов, но на современных
> CPU (и тем более GPU) это будет сильно быстрее чем 2^16 паролей в секунду.

Пароли до 8 символов для VPN? Я как раз про это и говорил, сложность взлома
зависит от сложности паролей, а не должна. Не вижу противоречия.
Есть какие-то проблемы использовать гораздо более длинные пароли?

> Плюс есть online сервис, который позволяет для перебора DES использовать FPGA:
> https://crack.sh/
> https://crack.sh/pptp/
> Про скорсть пишут: this means that it can exhaustively search the entire
> 56-bit DES keyspace in ... ≈ 26 hours

Я в курсе. На практике использовать этот сервис нетривиально.

The first thing you’ll need to do is obtain the network traffic for the PPTP 
VPN MS-CHAPv2 handshake you’d like to crack.
Next you’ll use chapcrack in order to parse and extract the PPTP VPN MS-CHAPv2 
handshake.

MS-CHAPv2 handshake не выполняется каждую секунду. Нужно либо иметь возможность 
активно
вмешиваться в канал, чтобы инициировать переустановку соединения, либо иметь 
возможность
длительного непрерывного мониторинга канала, чтобы поймать момент handshake.

Не то, чтобы это было неосуществимо, но овчинка должна стоить выделки и если 
вас пасут люди,
достаточно для этого мотивированные и имеющие необходимые ресурсы - да, лучше 
PPtP не использовать.
И вообще лучше стеганографию применять в дополнение к шифрованию.

Но закрыть от любопытных глаз WiFi-трафик ноутбука в открытой сети кафешки на 
полчаса,
причём трафик с шифрованными протоколами типа https/ssh/RDP внутри - PPtP 
достаточен.

___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Нагруженный VPN сервер

2018-10-04 Пенетрантность skeletor

04.10.2018 20:56, Eugene Grosbein пишет:

04.10.2018 17:35, skeletor write:


Учитывая, что GRE почти везде заблокирован, остаются варианты:

Неправда, что "GRE почти везде заблокирован" - правда, что он не пролазит через 
NAT
мобильных операторов связи (и ещё у некоторых). С публичными IP у GRE нет 
проблем.

Правда, и NAT в моём случае (и не только в моём) был не при чём: тесты были и с 
NAT'ом и без NAT'a и на разных провайдерах.
Осталось ещё пару провайдеров, где нормально проходит GRE, но таких единицы.


Я не верю в это и вот почему: в отсутствие NAT пакеты IP с GRE внутри
для маршрутизатора ничем вообще не отличаются от пакетов IP с TCP внутри
и роутятся точно так же и чтобы их резать, провайдеру нужно выполнять
дополнительные действия непонятно зачем, заодно нарушая RFC 1812
Requirements for IP Version 4 Routers.

Кроме NAT, я знаю только одну реальную причину, когда такое действительно может 
быть:
если пакеты GRE идут фрагментированными и за счёт этого маршрутизатор вынужден 
форвардить их
программно процессором вместо того, чтобы обрабатывать аппаратными ASIC на 
платформах типа
Cisco 7600 - и в таком случае GRE-фрагменты могут дропаться, но это решается 
отказом
от больших пакетов GRE (уменьшением MTU), чтобы они не фрагментировались.

Ну и да, ещё в ранних версиях Cisco IOS были баги, из-за которых транзитный GRE
мог тупо дропаться из-за багов в CEF, но это было очень давно.
Может быть, ваши тесты тоже уже утратили актуальность - как давно они были?
Нынешняя реальность - GRE без NAT пролазит через интернет без проблем.


В теории оно возможно так и есть. На практике, совсем иначе. Итог - GRE 
не проходит. Причин может быть много, и разбираться с каждым клиентом 
почему у него не проходит GRE - ещё то занятие.

Тесты мои проходили около 2-х лет назад.




- l2tp: что бы использовать без ipsec'a, нужно лезть в реестр винды

Не нужно, начиная с Windows Vista есть галка в свойствах VPN-подключения.

Я на 7-ке не нашёл это галочки. Подскажите, как она выглядит/называется?


У меня уже нет Vista и семерок, и на Win 8.1 я тоже её не нашел.
Может быть, я ошибся насчет галки или перепутал с чем другим за давностью 
времён,
но это и неважно - l2tp/ipsec нынче работает без проблем.



с ipsec может и без проблем работает, но вот без него (а разговор был 
именно об l2tp без ipsec) - у меня тоже не вышло запустить. после правок 
в рееестре - проблема была решена.



L2TP/IPSEC для клиента гораздо легче в настройке, так как клиент нынче
встроен практически во все платформы из коробки и нужно прописать только
адрес сервера, psk, логин и пароль для PPP.

Настройка сервера (racoon) под встроенный клиент тех же платформ не сложнее 
настройки openvpn.



Не соглашусь с вами, и вот почему: когда у вас в клиенте стоит поддержка IPsec 
и выбрать там можно только 1-2 параметра,


Вообще не нужно ничего выбирать.


это не означаете что это просто. Это ад!!! У одного только ikev2,


Назовите клиента, который не поддерживает l2tp/ipsec с ikev1.


у второго только ikev1,


Для l2tp/ipsec это нормально.


у третьего поддерживаются только некоторые cipher'ы,


И этого достаточно - серверу надо просто включить все возможности.
Ну, кроме des (3des можно оставить).


у чётвертого только сертификат,


Имя в студию.



Постараюсь вспомнить


а у пятого только pre-shared key и всё это можно узнать только отдебажив на 
стороне сервера.
И подключения каждого клиента - это квест. А, и это ещё не всё! Весёлая 
проблема клиентов за NAT'ом.
Есть патчи, но у меня они не заработали (точнее патчились, но толку 0).


Это всё устаревшая информация. Начиная с FreeBSD 11.1, всё работает из коробки.



Да, я пробовал на FreeBSD 9.X/10.X, Собственно, после этого отпала вся 
охота с ним возится.



Точно такая-же весёлая проблема и сервера за NAT'ом.


Это больше проблема виндоклиентов, которым надо редактировать реестр (и то один 
параметр),
но в контексте FreeBSD на маршрутизаторе она вообще не актуальна.


А ещё, дебаг - просто песня, понять-то что не так, не всегда можно, а если и 
можно, то непонятно как решить.
Может когда-то давно это и было просто, когда все сетапили по одному мануалу, 
но сейчас, ИМХО, уже далеко не так просто.

Теперь OpenVPN. Есть конфиг сервера, есть такой же конфиг
(где такие же cipher'ы, такие же параметры компрессии, такие же наборы 
сертификатов,...)
клиента. Всё! Вы просто отдаёте его клиенту и неважно на каком девайсе он 
запущен,
оно а 99% будет работать. Идём дальше, openvpn прекрасно работает за NAT'ом,
как клиент, так и сервер. Порог вхождения настроек значительно ниже, чем у 
IPSec'a. Дебаг и поиск проблем гораздо удобнее.


Это всё можно сформулировать короче - вы умеете готовить openvpn (есть опыт), 
но не умеете готовить IPSEC.
Нынче это совсем не сложно.

Кроме того, у openvpn есть свои недостатки. Он не совместим ни с чем, кроме 
самого себя
(попробуйте запустить его на Cisco ASA, например; а вот IPSEC там есть) и иногда
не совместим с собственными старыми версиями. Он гоняет трафик через userland

Re: [freebsd] Нагруженный VPN сервер

2018-10-04 Пенетрантность Anton Yuzhaninov
On 10/4/18 2:00 PM, Eugene Grosbein wrote:
> Во-вторых, вся "небезопасность" PPtP заключается только в том, что сложность 
> его взлома
> зависит от сложности используемых паролей (а не должна бы). Если использовать 
> не словарные
> пароли для PPtP, то никакой небезопасности в нём нет.

PPtP использует MSCHAPv2 для авторизации. Вот что писали про его безопасность
в 2001м году: https://penguin-breeder.org/pptp/download/pptp_mschapv2.pdf

On a system equipped with a 550MHz Intel Celeron,  we can test around 2^16
passwords per second.  At this speed, the remaining password space is searched 
in
2^36·2^−16 secs = 2^20 secs ≈ 2^14 mins ≈ 12 days

D pdf-ке выше речь идет про пароли длинной до 8 символов, но на современных
CPU (и тем более GPU) это будет сильно быстрее чем 2^16 паролей в секунду.

Плюс есть online сервис, который позволяет для перебора DES использовать FPGA:
https://crack.sh/
https://crack.sh/pptp/
Про скорсть пишут: this means that it can exhaustively search the entire
56-bit DES keyspace in ... ≈ 26 hours
___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Нагруженный VPN сервер

2018-10-04 Пенетрантность Eugene Grosbein
04.10.2018 19:49, Alexander Andreyev пишет:

 Учитывая, что GRE почти везде заблокирован, остают7ся варианты:
>>> Неправда, что "GRE почти везде заблокирован" - правда, что он не пролазит 
>>> через NAT
>>> мобильных операторов связи (и ещё у некоторых). С публичными IP у GRE нет 
>>> проблем.
>> Правда, и NAT в моём случае (и не только в моём) был не при чём: тесты были 
>> и с NAT'ом и без NAT'a и на разных провайдерах.
>> Осталось ещё пару провайдеров, где нормально проходит GRE, но таких единицы.
> 
> А по моим наблюдениям единицы тех провайдеров где точно не пролазит...
> Обычно вполне работает.
> Есть такой нюанс, что GRE пролазит через NAT в одном экземпляре, т.е. если 
> кто-нибудь из той-же сети уже подключен, то второму не получается.
> 
> И если игнорировать небезопасность PPTP (а ведь во многих случаях, это 
> действительно не важно, важен сам транспорт),
> то я этот протокол таки в лидерах по простоте настроек. Обычно может быть 
> настроен даже самым неискушенным пользователем.

Во-первых, протокол PPtP использует модифицированный протокол GRE под названием 
PPTPGRE
и это позволяет NAT-у пропускать сколько угодно независимых паралельных 
подключений PPtP,
в отличие от "простого" GRE-туннеля. Но, разумеется, NAT должен уметь 
транслировать PPTPGRE
и наш libalias это умеет где-то с версии FreeBSD2, поэтому это умеет и natd, и 
нынче ipfw nat.

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

___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Нагруженный VPN сервер

2018-10-04 Пенетрантность Eugene Grosbein
04.10.2018 17:35, skeletor write:

>>> Учитывая, что GRE почти везде заблокирован, остаются варианты:
>> Неправда, что "GRE почти везде заблокирован" - правда, что он не пролазит 
>> через NAT
>> мобильных операторов связи (и ещё у некоторых). С публичными IP у GRE нет 
>> проблем.
> Правда, и NAT в моём случае (и не только в моём) был не при чём: тесты были и 
> с NAT'ом и без NAT'a и на разных провайдерах.
> Осталось ещё пару провайдеров, где нормально проходит GRE, но таких единицы.

Я не верю в это и вот почему: в отсутствие NAT пакеты IP с GRE внутри
для маршрутизатора ничем вообще не отличаются от пакетов IP с TCP внутри
и роутятся точно так же и чтобы их резать, провайдеру нужно выполнять
дополнительные действия непонятно зачем, заодно нарушая RFC 1812
Requirements for IP Version 4 Routers.

Кроме NAT, я знаю только одну реальную причину, когда такое действительно может 
быть:
если пакеты GRE идут фрагментированными и за счёт этого маршрутизатор вынужден 
форвардить их
программно процессором вместо того, чтобы обрабатывать аппаратными ASIC на 
платформах типа
Cisco 7600 - и в таком случае GRE-фрагменты могут дропаться, но это решается 
отказом
от больших пакетов GRE (уменьшением MTU), чтобы они не фрагментировались.

Ну и да, ещё в ранних версиях Cisco IOS были баги, из-за которых транзитный GRE
мог тупо дропаться из-за багов в CEF, но это было очень давно.
Может быть, ваши тесты тоже уже утратили актуальность - как давно они были?
Нынешняя реальность - GRE без NAT пролазит через интернет без проблем.

>>> - l2tp: что бы использовать без ipsec'a, нужно лезть в реестр винды
>> Не нужно, начиная с Windows Vista есть галка в свойствах VPN-подключения.
> Я на 7-ке не нашёл это галочки. Подскажите, как она выглядит/называется?

У меня уже нет Vista и семерок, и на Win 8.1 я тоже её не нашел.
Может быть, я ошибся насчет галки или перепутал с чем другим за давностью 
времён,
но это и неважно - l2tp/ipsec нынче работает без проблем.

>> L2TP/IPSEC для клиента гораздо легче в настройке, так как клиент нынче
>> встроен практически во все платформы из коробки и нужно прописать только
>> адрес сервера, psk, логин и пароль для PPP.
>>
>> Настройка сервера (racoon) под встроенный клиент тех же платформ не сложнее 
>> настройки openvpn.

> Не соглашусь с вами, и вот почему: когда у вас в клиенте стоит поддержка 
> IPsec и выбрать там можно только 1-2 параметра,

Вообще не нужно ничего выбирать.

> это не означаете что это просто. Это ад!!! У одного только ikev2,

Назовите клиента, который не поддерживает l2tp/ipsec с ikev1.

> у второго только ikev1,

Для l2tp/ipsec это нормально.

> у третьего поддерживаются только некоторые cipher'ы,

И этого достаточно - серверу надо просто включить все возможности.
Ну, кроме des (3des можно оставить).

> у чётвертого только сертификат,

Имя в студию.

> а у пятого только pre-shared key и всё это можно узнать только отдебажив на 
> стороне сервера.
> И подключения каждого клиента - это квест. А, и это ещё не всё! Весёлая 
> проблема клиентов за NAT'ом.
> Есть патчи, но у меня они не заработали (точнее патчились, но толку 0).

Это всё устаревшая информация. Начиная с FreeBSD 11.1, всё работает из коробки.

> Точно такая-же весёлая проблема и сервера за NAT'ом.

Это больше проблема виндоклиентов, которым надо редактировать реестр (и то один 
параметр),
но в контексте FreeBSD на маршрутизаторе она вообще не актуальна.

> А ещё, дебаг - просто песня, понять-то что не так, не всегда можно, а если и 
> можно, то непонятно как решить.
> Может когда-то давно это и было просто, когда все сетапили по одному мануалу, 
> но сейчас, ИМХО, уже далеко не так просто.
> 
> Теперь OpenVPN. Есть конфиг сервера, есть такой же конфиг
> (где такие же cipher'ы, такие же параметры компрессии, такие же наборы 
> сертификатов,...)
> клиента. Всё! Вы просто отдаёте его клиенту и неважно на каком девайсе он 
> запущен,
> оно а 99% будет работать. Идём дальше, openvpn прекрасно работает за NAT'ом,
> как клиент, так и сервер. Порог вхождения настроек значительно ниже, чем у 
> IPSec'a. Дебаг и поиск проблем гораздо удобнее.

Это всё можно сформулировать короче - вы умеете готовить openvpn (есть опыт), 
но не умеете готовить IPSEC.
Нынче это совсем не сложно.

Кроме того, у openvpn есть свои недостатки. Он не совместим ни с чем, кроме 
самого себя
(попробуйте запустить его на Cisco ASA, например; а вот IPSEC там есть) и иногда
не совместим с собственными старыми версиями. Он гоняет трафик через userland
и поэтому на порядок сильнее нагружает процессор. Его авторы слабо разбираются
в сетях и реально легко его использовать только в простейших сетевых 
конфигурациях.

Запустить протоколы динамической маршрутизации через туннели openvpn,
интегрировать их в SNMP-мониторинг по-отдельности или в какую другую систему
управления сетевыми интерфейсами задача весьма нетривиальная и в некоторых
случаях вообще не решаемая.




___
freebsd mailing list
freebsd@uafug.org.ua

Re: [freebsd] Нагруженный VPN сервер

2018-10-04 Пенетрантность skeletor

04.10.2018 15:49, Alexander Andreyev пишет:

Учитывая, что GRE почти везде заблокирован, остают7ся варианты:
Неправда, что "GRE почти везде заблокирован" - правда, что он не 
пролазит через NAT
мобильных операторов связи (и ещё у некоторых). С публичными IP у GRE 
нет проблем.
Правда, и NAT в моём случае (и не только в моём) был не при чём: тесты 
были и с NAT'ом и без NAT'a и на разных провайдерах.
Осталось ещё пару провайдеров, где нормально проходит GRE, но таких 
единицы.


А по моим наблюдениям единицы тех провайдеров где точно не пролазит...
Обычно вполне работает.
Есть такой нюанс, что GRE пролазит через NAT в одном экземпляре, т.е. 
если кто-нибудь из той-же сети уже подключен, то второму не получается.


И если игнорировать небезопасность PPTP (а ведь во многих случаях, это 
действительно не важно, важен сам транспорт), то я этот протокол таки в 
лидерах по простоте настроек. Обычно может быть настроен даже самым 
неискушенным пользователем.

___


Допустим вы правы насчёт одного пакета. Вопрос: зачем тогда ТСу 
поднимать такой сервис, который рассчитан только на одно подключение 
через NAT? Что бы потом разбираться с кучей юзеров, почему у них не 
работает подключение? Я понимаю, когда ты что-то делаешь только для себя 
и только ты один будешь использовать, но когда таких вот человек 500-1000?

___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Нагруженный VPN сервер

2018-10-04 Пенетрантность Alexander Andreyev

Учитывая, что GRE почти везде заблокирован, остают7ся варианты:
Неправда, что "GRE почти везде заблокирован" - правда, что он не 
пролазит через NAT
мобильных операторов связи (и ещё у некоторых). С публичными IP у GRE 
нет проблем.
Правда, и NAT в моём случае (и не только в моём) был не при чём: тесты 
были и с NAT'ом и без NAT'a и на разных провайдерах.
Осталось ещё пару провайдеров, где нормально проходит GRE, но таких 
единицы.


А по моим наблюдениям единицы тех провайдеров где точно не пролазит...
Обычно вполне работает.
Есть такой нюанс, что GRE пролазит через NAT в одном экземпляре, т.е. 
если кто-нибудь из той-же сети уже подключен, то второму не получается.


И если игнорировать небезопасность PPTP (а ведь во многих случаях, это 
действительно не важно, важен сам транспорт), то я этот протокол таки в 
лидерах по простоте настроек. Обычно может быть настроен даже самым 
неискушенным пользователем.

___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Нагруженный VPN сервер

2018-10-04 Пенетрантность skeletor

04.10.2018 12:02, Eugene Grosbein пишет:

04.10.2018 15:50, skeletor wrote:


Учитывая, что GRE почти везде заблокирован, остаются варианты:


Неправда, что "GRE почти везде заблокирован" - правда, что он не пролазит через 
NAT
мобильных операторов связи (и ещё у некоторых). С публичными IP у GRE нет 
проблем.



Правда, и NAT в моём случае (и не только в моём) был не при чём: тесты 
были и с NAT'ом и без NAT'a и на разных провайдерах.

Осталось ещё пару провайдеров, где нормально проходит GRE, но таких единицы.


- l2tp: что бы использовать без ipsec'a, нужно лезть в реестр винды


Не нужно, начиная с Windows Vista есть галка в свойствах VPN-подключения.



Я на 7-ке не нашёл это галочки. Подскажите, как она выглядит/называется?


- мобильные клиенты точно не будут работать с ним
- openvpn: поддерживаются и мобильные и десктопные клиенты для популярных ОС 
(win/mac/linux/freebsd), легок в настройке (в 1 конфиг можно и конфиг и ключи 
запихнуть) + множество вариантов аутентификации (ключи, пароли, ключи+пароли)
- ipsec: сложен в настройке, очень капризен ко всему (качество инета, 
поддерживаемые шифры, протоколы)

Тут нужно выбрать не то, что вам по душе, а то, что смогут использовать юзера: 
если это можно юзать только под одной ОС и только после 100500 настроек конфига 
и столько же правок в самой ОС, то никому такой VPN не нужен будет. Либо, если 
сервис есть, а по факту не работает (где-то посредине между вами и юзером 
заблокирован GRE), то и тут вы быстро потеряете клиентов.


L2TP/IPSEC для клиента гораздо легче в настройке, так как клиент нынче
встроен практически во все платформы из коробки и нужно прописать только
адрес сервера, psk, логин и пароль для PPP.

Настройка сервера (racoon) под встроенный клиент тех же платформ не сложнее 
настройки openvpn.
Капризность к качеству инета - неправда, в IPSEC есть автоматическое 
преодоление NAT
за счёт прозрачной инкапсуляции в UDP.

Только всё это разговоры на другую тему, потому как когда речь идёт о тысяче 
одновременных
соединений - речь, вероятней, о провайдинге в контролируемой сети, а тут 
openvpn совсем не в тему,
так как требует уже существующего подключения для себя, в отличие от PPPoE.






Не соглашусь с вами, и вот почему: когда у вас в клиенте стоит поддержка 
IPsec и выбрать там можно только 1-2 параметра, это не означаете что это 
просто. Это ад!!! У одного только ikev2, у второго только ikev1, у 
третьего поддерживаются только некоторые cipher'ы, у чётвертого только 
сертификат, а у пятого только pre-shared key и всё это можно узнать 
только отдебажив на стороне сервера. И подключения каждого клиента - это 
квест. А, и это ещё не всё! Весёлая проблема клиентов за NAT'ом. Есть 
патчи, но у меня они не заработали (точнее патчились, но толку 0). Точно 
такая-же весёлая проблема и сервера за NAT'ом.
А ещё, дебаг - просто песня, понять-то что не так, не всегда можно, а 
если и можно, то непонятно как решить.
Может когда-то давно это и было просто, когда все сетапили по одному 
мануалу, но сейчас, ИМХО, уже далеко не так просто.


Теперь OpenVPN. Есть конфиг сервера, есть такой же конфиг (где такие же 
cipher'ы, такие же параметры компрессии, такие же наборы 
сертификатов,...) клиента. Всё! Вы просто отдаёте его клиенту и неважно 
на каком девайсе он запущен, оно а 99% будет работать. Идём дальше, 
openvpn прекрасно работает за NAT'ом, как клиент, так и сервер. Порог 
вхождения настроек значительно ниже, чем у IPSec'a. Дебаг и поиск 
проблем гораздо удобнее.

___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Нагруженный VPN сервер

2018-10-04 Пенетрантность Eugene Grosbein
04.10.2018 15:35, Max пишет:
> Спасибо за ответ.
> 
> Патчи нужно в любом случаи накладывать?

Желательно. Чем больше одновременных сессий, тем больше шансов словить панику,
хотя когда сессий меньше 500, вероятность крайне мала.

___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Нагруженный VPN сервер

2018-10-04 Пенетрантность Eugene Grosbein
04.10.2018 15:50, skeletor wrote:

> Учитывая, что GRE почти везде заблокирован, остаются варианты:

Неправда, что "GRE почти везде заблокирован" - правда, что он не пролазит через 
NAT
мобильных операторов связи (и ещё у некоторых). С публичными IP у GRE нет 
проблем.

> - l2tp: что бы использовать без ipsec'a, нужно лезть в реестр винды

Не нужно, начиная с Windows Vista есть галка в свойствах VPN-подключения.

> - мобильные клиенты точно не будут работать с ним
> - openvpn: поддерживаются и мобильные и десктопные клиенты для популярных ОС 
> (win/mac/linux/freebsd), легок в настройке (в 1 конфиг можно и конфиг и ключи 
> запихнуть) + множество вариантов аутентификации (ключи, пароли, ключи+пароли)
> - ipsec: сложен в настройке, очень капризен ко всему (качество инета, 
> поддерживаемые шифры, протоколы)
> 
> Тут нужно выбрать не то, что вам по душе, а то, что смогут использовать 
> юзера: если это можно юзать только под одной ОС и только после 100500 
> настроек конфига и столько же правок в самой ОС, то никому такой VPN не нужен 
> будет. Либо, если сервис есть, а по факту не работает (где-то посредине между 
> вами и юзером заблокирован GRE), то и тут вы быстро потеряете клиентов.

L2TP/IPSEC для клиента гораздо легче в настройке, так как клиент нынче
встроен практически во все платформы из коробки и нужно прописать только
адрес сервера, psk, логин и пароль для PPP.

Настройка сервера (racoon) под встроенный клиент тех же платформ не сложнее 
настройки openvpn.
Капризность к качеству инета - неправда, в IPSEC есть автоматическое 
преодоление NAT
за счёт прозрачной инкапсуляции в UDP.

Только всё это разговоры на другую тему, потому как когда речь идёт о тысяче 
одновременных
соединений - речь, вероятней, о провайдинге в контролируемой сети, а тут 
openvpn совсем не в тему,
так как требует уже существующего подключения для себя, в отличие от PPPoE.



___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Нагруженный VPN сервер

2018-10-04 Пенетрантность skeletor


04.10.2018 11:12, Max пишет:

Добрый день, уважаемый Алл,

Подскажите, пожалуйста, под операционной системой FreeBSD нужно 
настроить VPN сервер, который будет обслуживать от 500 до 1000 
одновременных подключений.


Что посоветуете выбрать в качестве программного обеспечения.

Спасибо.




Учитывая, что GRE почти везде заблокирован, остаются варианты:

- l2tp: что бы использовать без ipsec'a, нужно лезть в реестр винды, 
мобильные клиенты точно не будут работать с ним
- openvpn: поддерживаются и мобильные и десктопные клиенты для 
популярных ОС (win/mac/linux/freebsd), легок в настройке (в 1 конфиг 
можно и конфиг и ключи запихнуть) + множество вариантов аутентификации 
(ключи, пароли, ключи+пароли)
- ipsec: сложен в настройке, очень капризен ко всему (качество инета, 
поддерживаемые шифры, протоколы)


Тут нужно выбрать не то, что вам по душе, а то, что смогут использовать 
юзера: если это можно юзать только под одной ОС и только после 100500 
настроек конфига и столько же правок в самой ОС, то никому такой VPN не 
нужен будет. Либо, если сервис есть, а по факту не работает (где-то 
посредине между вами и юзером заблокирован GRE), то и тут вы быстро 
потеряете клиентов.

___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Нагруженный VPN сервер

2018-10-04 Пенетрантность Max

Спасибо за ответ.

Патчи нужно в любом случаи накладывать?


04.10.2018 11:31, Eugene Grosbein пишет:

04.10.2018 15:12, Max wrote:


Добрый день, уважаемый Алл,

Подскажите, пожалуйста, под операционной системой FreeBSD нужно настроить VPN 
сервер, который будет обслуживать от 500 до 1000 одновременных подключений.

Что посоветуете выбрать в качестве программного обеспечения.

Зависит от нужных протоколов VPN. Если имеется в виду PPtP/L2TP,
то 64-битная версия FreeBSD не ниже чем 11.2 и mpd5 из свежих портов/пакетов.

Не помешает также ещё не прокоммиченный патч на ядро для повышения стабильности:
https://bz-attachments.freebsd.org/attachment.cgi?id=183570

Если используется IPv6 и туннели 6to4 (драйвер stf), то ещё патч для повышения 
стабильности:
https://bz-attachments.freebsd.org/attachment.cgi?id=183569

Если в сети используется мультикаст (например, OSPF), то ещё патч для повышения 
стабильности:
https://bz-attachments.freebsd.org/attachment.cgi?id=183568

Со всей этой требухой можно стабильно обслуживать и более тысячи одновременных 
подключений,
у некоторых по 3000 и больше, но тут уже вопрос мощности железа (нельзя 
бесконечно нагружать).
  


___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


Re: [freebsd] Нагруженный VPN сервер

2018-10-04 Пенетрантность Eugene Grosbein
04.10.2018 15:12, Max wrote:

> Добрый день, уважаемый Алл,
> 
> Подскажите, пожалуйста, под операционной системой FreeBSD нужно настроить VPN 
> сервер, который будет обслуживать от 500 до 1000 одновременных подключений.
> 
> Что посоветуете выбрать в качестве программного обеспечения.

Зависит от нужных протоколов VPN. Если имеется в виду PPtP/L2TP,
то 64-битная версия FreeBSD не ниже чем 11.2 и mpd5 из свежих портов/пакетов.

Не помешает также ещё не прокоммиченный патч на ядро для повышения стабильности:
https://bz-attachments.freebsd.org/attachment.cgi?id=183570

Если используется IPv6 и туннели 6to4 (драйвер stf), то ещё патч для повышения 
стабильности:
https://bz-attachments.freebsd.org/attachment.cgi?id=183569

Если в сети используется мультикаст (например, OSPF), то ещё патч для повышения 
стабильности:
https://bz-attachments.freebsd.org/attachment.cgi?id=183568

Со всей этой требухой можно стабильно обслуживать и более тысячи одновременных 
подключений,
у некоторых по 3000 и больше, но тут уже вопрос мощности железа (нельзя 
бесконечно нагружать).
 
___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd


[freebsd] Нагруженный VPN сервер

2018-10-04 Пенетрантность Max

Добрый день, уважаемый Алл,

Подскажите, пожалуйста, под операционной системой FreeBSD нужно 
настроить VPN сервер, который будет обслуживать от 500 до 1000 
одновременных подключений.


Что посоветуете выбрать в качестве программного обеспечения.

Спасибо.

___
freebsd mailing list
freebsd@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd