id: Гость   вход   регистрация
текущее время 04:41 25/04/2024
создать
просмотр
ссылки

Удобный защищенный и анонимный удаленный доступ в Linux-системах


Цель: найти open-source решение для удобной (по возможности легкой в настройке) организации удаленного доступа на Linux-системах в вариантах:
1. Удаленный доступ с Linux-системы к Linux-системе
2. Удаленный доступ с Linux-системы к Windows-системе (ну и на всякий случай можно было бы и обратный вариант)
И в обоих вариантах (Linux-Linux и Linux-Windows/Windows-Linux) два варианта подключения:

1. Защищенное прямое, по IP клиента и сервера, которое может быть нужно для локальных соединений (внутри сети провайдера Internet или в локальной сети, например).
2. Защищенное анонимное, например/и оптимально через Tor, используя скрытые сервисы, адреса ".onion", чтобы трафик не уходил в обычный Internet.

Наверное, многие знают такие наболее популярные решения для быстрой и легкой организации удаленного доступа "из коробки", как TeamViewer и немного более сложный в настройке Удаленный рабочий стол Chrome (требует обязательного наличия аккаунта в Google – gmail.com)


И не смотря на то, что данные решения достаточно просты и удобны для самых неподготовленных пользователей, могут без особых проблем работать за сетевыми экранами и бесплатны, у них есть ряд недостатков, которые по довольно понятным причинам ограничивают сферу применения этих решений для более взыскательных пользователей. И конкретно минусов TeamViewer и удаленного рабочего стола Google можно перечислить:


1. Проритетарность (закрытость исходных кодов) и как следствие невозможность изучить исходный код этих программ.
2. Центральный сервер для установки соединения удаленного доступа с возможностью идентификации пользователей этим сервером (назначение ID, создание аккаунтов и т.д.), вплоть до анализа содержания сеансов удаленного доступа, что может угрожать в том числе бизнес-информации.
3. Отсутствие независимого и свободного по дизайну (открытые исходники) шифрования удаленного доступа.
4. Отсутствие возможности выбора: создавать ли соединение между клиентом и сервером удаленного доступа напрямую – "точка-точка" IP-IP или создавать соединение, где между клиентом и сервером есть некий промежуточный канал, анонимизирующий в случае надобности как клиент так и сервер удаленного доступа.
5. И всякие ограничения, мешающие свободному использованию этих средств в коммерческих целях – в TeamViewer для этого нужно покупать лицензию, а в удаленном доступе Chrome сеанс связи прерывается каждые 10 минут, после чего нужно заново устанавливать соединение по новому паролю.


И соответственно, хотелось бы найти решение (пункты в той же последовательности вопросов как выше):
1. Открытая лицензия самой программы (программ) для удаленного доступа (наличие исходников)
2. Отсутствие центрального сервера, который бы мог идентифицировать пользователей. Если и допускать наличие такого сервера или промежуточного узла между двумя пользователями, то только такой, которые не сможет зафиксировать ни IP ни какие-либо другие явно деанонимизирующие факты о пользователях.
3. Открытый стандарт шифрования для установления удаленного доступа, максимально скрывающий даже вообще факт того, что имел место сеанс удаленного доступа + возможно сильное шифрования еще под протоколом связи, например тот же PGP. Естественно все стандарты шифрования должны быть только открытыми (open source). Как видимый вариант – системы с открытыми ключами.
4. Возможность выбора способа соединения клиента и сервера:

а) прямое соединение: реальный IP клиента – > реальный IP сервера. этот вариант может быть очень актуален, когда не важна анонимность удаленного доступа и когда удобнее пускать трафик внутри сети провайдера или в локальной сети. особенно актуально насчет внутреннего трафика провайдера, когда он и быстрее и бесплатен, в отличие от "внешнего трафика", которые может быть медленным и создавать дополнительные расходы (расход лимита внешнего для провайдера трафика)
б) непрямое, анонимизирующее соединение, когда ни клиент, ни сервер не знают никаких идентифицирующих данных о собеседники удаленного доступа (наверное сюда можно отнести больше всего IP адреса)
в) возможно и промежуточный вариант, когда клиенту или серверу будут известны (т.е. это не будет тайной) данный о собеседнике (т.е. кому-то одному)

Возможные системы, на которых бы хотелось бы настроить такое решение: Linux-ы, основанные на Debian (Ubuntu, Tails и т.д.) как приоритетные (более распространенные), но полагаю и на остальные Linux-ы эти решения перенести не будет очень сложно. Также было бы очень желательно, чтобы данное решение было легко перенести на Windows – системы, т.к. так или иначе большинство знакомых, которым может понадобиться помощь, да и вообще большая часть пользователей сидит все-таки на Windows-ах.


Возможные решения для установки анонимного соединения: промежуточный узел в виде скрытого сервиса Tor – ".onion" или выход через Tor на некий анонимный DNS или какой-то постоянный сторонний домен (если такое вообще есть – без надобности регистрировать на них свои персональные данные), как вариант – ssh для завертывания прямого соединения точка-точка(для локальной сети или внутренней сети провайдера)


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


Полагаю, тема будет интересна очень многим, т.к. удаленный доступ сегодня средство очень необходимое как в личных целях (помощь в настройке компьютера близким, друзьям, знакомым) так и в работе (удаленный офис, моменты администрирования и т.п.) и насколько я понял, именно такой функциональности и простоты уровня TeamViewer и удаленного рабочего стола Chrome в готовом или почти готовом виде/тем более open-source с надежной защитой связи для Linux-систем сейчас видимо просто нет. Хотелось бы найти такое решение, возможно допилить силами сообщества до степени легкой установки и легкого использования, возможно создать скрипты или просто готовые сборки решения.


 
Комментарии
— unknown (30/01/2014 22:19)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Linux-Linux:
  1. SSH и есть такое соединение. Если нужно порулить графическими программами (а лучше сразу отучаться от того, чтобы это было нужно), то через SSH можно пустить и иксы.
  2. SSH over Tor.

Windows-Linux:
В качестве клиента putty или аналоги, но лучше с Windows никуда не ходить.
— Гость (01/02/2014 03:17)   <#>

Нет, не знают. Не путайте pgpru с хабром, коммерческие говноподелки тут никого не интересуют.


Есть dyndns, посмотрите.


Инфраструктура скрытых сервисов это позволяет сделать, но надо настраивать всё самому. Готовых решений не знаю, если не считать "всё в одном" в виде FreedomBox (может быть, были и другие подобные проекты, не помню). Сам FreedomBox не факт, что юзабелен хоть в какой-то степени.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3