Безопасное удаленное управление

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

Для решения проблемы в нехватке ip-адресов в Интернете широко применяется технология создания виртуальных хостов, которая предусматривает привязку множества доменных имен к одному ip-адресу. Эта технология оправдывает себя и широко используется лишь для протокола прикладного уровня HTTP (HyperText Transfer Protocol).

Подобное практикует, например, компания Besthosting. Поэтому стоимость хостинга достаточно низкая и доступна широкому кругу лиц. Скажем так – за малые деньги получаем возможность размещения сайтов в сети Интернет с небольшим рядом ограничений.

Провайдеры, в свою очередь, используют механизм преобразования сетевых адресов, так называемый Network Address Translation (NAT), который дает возможность нескольким пользователям работать от имени одного ip-адреса, но ограничивает возможность приема входящих tcp-подключений.

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

Можно сделать вывод, что связь между двумя компьютерами, которые подключены к сети Интернет и не имеющими реальных ip-адресов, физически невозможна. Таким образом, следует ввести между ними третий компьютер, который будет исполнять роль сервера. На таком принципе основано множество сетевых протоколов высокого уровня: SMTP/POP3, ICQ, Skype, VPN. В случае размещения сервера в Интернете нельзя с полной уверенностью гарантировать то, что данные, хранящиеся на сервере или передающиеся через него, не будут скомпрометированы со стороны администрации сервера. Таким образом, будем считать, что сервер не является защищенным и шифрование данных должно выполняться на клиентах.

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

Программный комплекс должен включать:

– программное обеспечение (ПО) сервера, которое используется как промежуточное звено для передачи данных между клиентами с отсутствующим реальным ip-адресом;

– программа Master, которая устанавливается на управляющем компьютере и выполняет необходимые функции для передачи команд управляемому компьютеру через сервер;

– программа Slave, выполняющая прием и выполнение команд от программы Master, использующая сервер как промежуточное звено передачи данных;

– программа для управления ключами, обеспечивающая безопасную генерацию и обмен ключами.

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

Пост написан по материалам журнала Математические машины и системы, 2012, № 2.

Добавить комментарий

Ваш адрес email не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.