изграждане на тунели

При работа с облачни услуги е важно, не само скоростта на обработка и предаване на данни - на първо място представи гарантирано ниво на сигурност. Данни, съхранявани на външен ресурс, в никакъв случай не трябва да попаднат в неподходящи ръце. C, от друга страна, постоянно има съобщения за опити да се посочват нищо и заключване. Може би затова наскоро повишения интерес към VPN-решения и заедно с вече традиционното IPsec / XFRM и OpenVPN На Linux са активно развиващите се няколко проекта. Днес ви очакват четири интересен пример: SoftEther VPN, WireGuard, FreeLAN и GoVPN.







SoftEther VPN

С него се осигурява висока производителност и скоростта на съединение 1 GB / и без значително ограничение за размера на RAM и минимално натоварване на процесора. Следователно, изискванията за страна на сървъра са много ниски. При тестове SoftEther VPN заобикаля на същия хардуер като първоначалното решение. Той поддържа криптиране с AES-256 и RSA-4096, IPv4 / IPv6, трафик сеч и събития. местно удостоверяване на потребителя, RADIUS, и Windows домейн.

Администриране на профила и настройките за сигурност могат да бъдат конфигурирани дистанционно с помощта на мениджъра на GUI сървър (локализация само на английски, японски и китайски), която е инсталирана на зимно администратор или MacOS-компютър или да използвате vpncmd командния ред помощна програма. Тя може да бъде инсталиран на Windows, Linux, MacOS, FreeBSD и Solaris. Изходният код е достъпен и архивират с компилиран приложение. За да зададете необходимостта да изберете OS платформа и компоненти (сървър, клиентът, моста ...). Официално се поддържа от Linux-ядрото 2.4 / 2.6 / 3.x, но работи без проблеми и в съвременните дистрибуции с ядрото 4.x. В Linux, да разопаковате архива и стартирате .install.sh файл и след това три пъти, за да приемат условията на лиценза, и в края, за да стартирате сървъра:

Освен това, в отговор на въпроса vpncmd (или използвайте Server Manager), да конфигурирате параметрите на връзката.

изграждане на тунели
Управление на VPN SoftEther да използвате графичния потребителски интерфейс

VPN-инициализира връзка (ръкостискане) чрез обмен на публични ключове и прилича подход на SSH. Всичко останало се управлява прозрачно WireGuard, няма нужда да се притеснявате за ключове, маршрутизация, наблюдение на състоянието и т.н., всичко това се грижи WireGuard. Можете да използвате симетрично криптиране, но това ще изисква по-малко повече опции. Routing се извършва чрез криптиране ключовете за всяка от мрежовия интерфейс прикрепен частния ключ. За да актуализирате ключ ръкостискане настъпва след определен период от време или сигнал, че ключовете са остарели. За договаряне на ключ и връзка, вместо на собствения си демон в потребителското пространство, механизмът на Noise_IK Noise протокол рамка, подобна на поддръжка в authorized_keys SSH, без усложнения под формата на подкрепа за x509 и ASN.1.

За да кандидатствате за криптиране поточен шифър ChaCha20 и удостоверяване за съобщения алгоритъм (MAC) Poly1305. За да се генерира общ таен ключ - протокол Дифи - Хелман елиптична крива при прилагането Curve25519, Denielom Bernshteynom предложи. Използва се за хеширане BLAKE2s (RFC 7693) и SipHash-2-4. Избягвайте преиграване-атака позволява клеймото TAI64N, пакети с по-малък времеви печат се отхвърлят.







След инсталирането на системата има нов мрежов интерфейс wg0, който може да бъде определен от редовни инструменти Ipconfig / IP-адрес и маршрут / IP-маршрути. Специално г.с. средство служи за създаване на таен ключ на устройството и да предостави списък на асоциациите за клиенти (своя публичен ключ, позволено IP).

За да инсталирате необходимия разпределение с ядро ​​Linux> 4.1. Пакетът може да се намери в хранилищата на големите Linux дистрибуции. За Ubuntu 16.04 е с ЗОП.

Монтаж от изходния код също е лесно. Ние повишаване на интерфейса, за да се генерира двойка ключове (например, имайте privatekey и publickey файл):

Ние получи публичния ключ от клиента и да се създаде връзка.

Можете да използвате PresharedKey (генериран г.с. genpsk отбор), което добавя още един слой към съществуващата симетрично криптиране с публичен ключ за криптиране. За празника, можете да укажете PersistentKeepalive, което позволява да се поддържа връзка, защото на NAT и защитна стена. Повишаване на интерфейса:

За удобство е по-добре да се подготвят предварително конфигурационен файл, съдържащ секцията на интерфейса и секцията връстници. Форматът може да се види чрез въвеждане на РГ showconf.

Също така, поради по-малко закъснения WireGuard просто изглежда по-добре в сравнение с производителността IPsec (256-битов ChaCha20 + Poly1305 и AES-256-GCM-128), но настройките са много по-лесно.

Докато WireGuard достъпна само за Linux, след като се очаква тестване до пристанището на други операционни системи. Кодът се разпространява под лиценза GNU GPLv2.

Създаване WireGuard
Гледайте конфигурация WireGuard

Той поддържа Win, Linux, MacOS, Raspberry Pi. Пакетни хранилища имат големи дистрибуции, така че инсталацията не предизвиква затруднения. Всъщност програмата е двоичен един, така че да се създаде мрежа е много проста.

Вдигнете FreeLAN на сървъра

изграждане на тунели
FreeLAN конфигурационен файл

Тя осигурява три режима на работа:

  • нормалното (по подразбиране), когато мрежата просто са шифровани пакети;
  • шум (шум), когато пакети са допълнени с шум от постоянна дължина;
  • CPR (постоянна скорост) - в допълнение към пакетите от шума, се изпращат в строго определен период от време, ако няма полезна информация се изпраща към пакета за шум.

През последните две режими, дължащи се на генериране на постоянен шум от трафика е възможно да се скрие от дължината на съобщенията и на факта на прехвърляне на товари. Има нула неразгласяване на имота, в който не е възможно онлайн-речника атака, устойчиви на преиграване атаки чрез използване на код едно съобщение за удостоверяване (съобщение код за удостоверяване) и синхронизация на времето (по желание). Предвижда въртенето на ключове за сесия и изпращане на сърдечна дейност в подкрепа на работата чрез NAT или защитна стена. включат балон (в съобщение 6.0) за хеширане на пароли. В версия 5.0, това е Argon2d, дори по-рано PBKDF2. Следователно, вариантите не са съвместими.

Има некодиран вариант също така гарантира конфиденциалност и автентичността на данните, поради chaffing и вее технология. Тя ви позволява да се заобиколят ограниченията за използване на криптографски средства в някои страни. Вместо това, алгоритми за кодиране, използвани за удостоверяване и предаване на множество излишни пакети (получателят трябва само да изберете тези, които го побира). Но това увеличава всеки пакет 4128 байта, така че режимът и взискателна процесора, както и за излишък предаване на движението.

Съвместим както IPv4 и IPv6. Можете да свържете външен HTTP-прокси, клиентът разполага и с вграден HTTP прокси-режим, който може да се използва за достъп до сървъра. За статистиката на свързаните клиенти в реално време в JSON-форматирана с вграден HTTP сървър. Тя работи в GNU / Linux и FreeBSD. Сървърът е конфигурирана с помощта на YAML-файла.

Готов дизайн на опаковката не предлага само изходния код на събранието ще трябва пакети UML-комунални услуги и golang. Въпреки неофициални пристанища са се появили в някои дистрибуции. Разпределение постоянно се развива, както и някои указания за настройване вече не е валидна.

Конфигуриране на клиент GoVPN

заключение

Всеки един от представените решения има своите предимства, струва по-отблизо и да избера най-подходящия според планираните задачи.