Иногда приходится что-то делать только потому, что это действительно круто. Хотя копирование файлов со всех сторон полезно, но это не обязательно интересно. Интересно подключиться к стереосистеме читателя, которая соединена с выходом приложения Winamp, выполняющейся на машине с установленной операционной системой FreeBSD в его лаборатории / офисе / жилой комнате. Вот это действительно интересно! Как это может работать? В составе приложения Winamp есть подключаемый модуль (плагин) под названием SHOUTcast DSP, который предназначен для передачи потока выходных данных проигрывателя к работающей в онлайновом режиме радиостанции для перераспределения его среди других проигрывателей. В свою очередь, проигрыватели инкапсулируют поступающие к ним от приложения Winamp данные, преобразуя их в сжатый поток данных формата MP3 с фиксированной скоростью передачи битов. При этом проигрыватели находятся в готовности отослать преобразованные данные на радиосервер. Автору известна универсальная программа инкапсуляции звука приложения Winamp, но по этому поводу у него есть идея получше.

1. Поскольку предпринимается попытка передать поток аудиоданных в формате MP3 из UNIX-окружения непосредственно на динамики персонального компьютера, то потребуется соответствующее программное обеспечение с функциями проигрывателя. Это либо программа mpgl23, либо программа madplay. Программа mpgl23 де-факто является стандартом проигрывателя аудиоданных в формате MP3 для операционной системы UNIX, хотя у нее есть определенные погрешности в качестве звучания. Программа madplay -гораздо более высококачественный проигрыватель, но, по крайней мере при работе в операционной системе FreeBSD, время от времени она работает нестабильно. Программу mpgl23 можно найти по адресу www.mpgl23.de, a madplay - загрузить с сайта www.mars.org/home/rob/proj/mpeg/.

2. Стоит задача не только получить поступающий откуда-то поток аудиоданных в формате MP3. Следует хотя бы чуть-чуть реализовать функциональные возможности радиостанции. Не волнуйтесь, нет необходимости в повторной реализации полных протоколов их работы. Необходимо только сымитировать доступ к их паролю, что бы ни скрывалось за ним. Как правило, это означает отправку «OK» в момент подключения, после чего пользователь начнет получать поток данных в формате MP3. Так, вместо

mpgl23 - # play mp3’s being piped in

используем

sh -c ‘echo OK; exec mpgl23 # first say OK, then play MP3s being piped in

3. Выберите порт для shoutcast и увеличьте его на 1. Через выбранный таким образом порт пользователь ссылается на источник, откуда он пожелал прослушать поток аудиоданных. Таким образом, выбранный порт - это не порт, через который проигрыватель читателя будет передавать поток аудиоданных. Подключаемый модуль shoutcast через порт 8000 обслуживает передачу данных пользователем, но получает музыку через порт 8001. Это немного необычно, но позволяет упростить многие вещи. Добавьте выражение Port+1 к /etc/services в качестве сервиса «shout» так, как это показано ниже:

su-2.05a# grep shout /etc/services shout 8001/tcp

(В дальнейшем изложение будет вестись исходя из предположения, что пользователь выбрал порт 8000.) 4. Теперь, после выбора порта для прослушивания и «демона», который знает, что ему делать, можно объединить их в файле inetd.conf и на самом деле проигрывать все, что поступает в ваш адрес:

shout stream tcp nowait root /bin/sh sh -c ‘echo OK; exec mpgl23

Почти всегда плохо, если в приложении, подключающем что-либо к сети, рядом с директорией «root» можно увидеть «sh» (гарантируется, что использование возможностей MP3-проигрывателя на всю катушку приведет к переполнению буфера), но в любом случае надо сделать все необходимое для получения доступа к звуковому устройству. Этого можно добиться путем смягчения ограничений на работу звукового устройства при помощи ввода chmod 0666 /dev/dsp или chmod 0666 / dev/dspO и выполнении программы mpgl23 без каких-либо специальных разрешений, исключая право на создание помех: shout stream tcp nowait nobody /bin/sh sh -c ‘echo OK; exec mpgl23 -’

Пользователям операционной системы Linux, особенно ее версии Red Hat. Вполне возможно, что в состав дистрибутива используемой ими операционной системы включена программа xinetd вместо inetd. Пользователь узнает это по присутствию директории /etc/xinetd.d. В этом случае последовательность действий пользователя вместо уже описанной будет следующей: а) создайте файл /etc/xinetd.d/shout;

b) запишите в него следующий текст:

# default: on # description: play mp3 s service shout
{
disable = no sockettype = stream protocol = tcp wait = no user = nobody server = /bin/sh
server_args = -c ‘echo OK; exec mpgl23 }

c) путем ввода /etc/rc.d/init.d/xinetd restart перезапустите xinetd. 5. Наконец, читателю потребуется модуль SHOUTcast DSP, который можно найти по адресу www.shoutcast.com/download/broadcast.phtml. По различным причинам рассматривается случай, когда пользователь собирается инкапсулировать его внутри превосходного подключаемого модуля SqrSoft Advanced Crossfading Output, написанного Марианом Хернаном Лопезом (Mariano Hernan Lopez). Он доступен по адресу www.winamp.com/plugins/detail.jhtml?componentId=32368. Для начала необходимо установить перекрестный регулятор уровня сигнала (микшер):

а) загрузите Winamp и щелкните правой кнопкой мыши на интерфейсном окне программы. Выберите пункты меню Options I Preferences, затем Plugins-Output. Выберите SqrSoft Advanced Crossfading и щелкните на Configure;

б) щелкните на вкладке Buffer. Проверьте установки на соответствие установкам, показанным на рис. 13.5;

Настройка перекрестного регулятора уровня сигнала в) щелкните на вкладке Advanced

Рис. 13.5. Настройка перекрестного регулятора уровня сигнала в) щелкните на вкладке Advanced. Активизируйте Fade-On-Seek; г) щелкните на вкладке DSP. Выберите Nullsoft SHOUTcast Source DSP;

д) щелкните на кнопке ОК для фиксации внесенных исправлений и заново запустите программу Winamp.

6. На этом этапе рядом с окном программы Winamp всплывет новое окно. Оно предназначено для управления программой SHOUTcast DSP, и его размеры не могут быть уменьшены, что сильно раздражает. Ниже приведена последовательность действий по настройке программы SHOUTcast DSP:

а) щелкните на вкладке Input. Удостоверьтесь, что устройством ввода данных (Input Device) является Winamp (пользователь может также установить эту систему для разгрузки своей звуковой карты. Это означает, что он может создать канал, передавая выходной сигнал со своих системных микрофонов во внешний мир);

б) щелкните на вкладке Encoder. Удостоверьтесь, что первым кодирующим устройством (Encoder 1) выбрано MP3 Encoder вместе с его установками 256 Кб/с, 44,100 КГц, Stereo;

в) щелкните на вкладке Encoder. Установите в поле IP-адреса Address значение IP-адреса своего сервера и введите в поле номер порта величину 8000. Это на единицу меньше номера порта, который пользователь на самом деле прослушивает с сервера. Удостоверьтесь, что значение кодирующего устройства равно 1;

г) щелкните на кнопках Connect и Play непосредственно на окне программы Winamp. Посмотрите, что получилось! (См. рис. 13.6.)

Направление потока аудиоданных программой Winamp на удаленную аудиосистему

Рис. 13.6. Направление потока аудиоданных программой Winamp на удаленную аудиосистему

7. В сказанном был бы элемент незавершенности, если не добавить несколько слов об организации туннеля передачи аудиоданных при помощи протокола SSH. Для этого известны два основных способа. Первый применяется, когда демон существует независимо от туннеля (как, например, в случае, когда поток аудиоданных передается в конце концов на внешний радиосервер). Второй способ характеризуется запуском демона одновременно с туннелем передачи данных. Второй способ предпочтительнее первого, поскольку при его использовании не остается лазеек для внедрения кем-либо шума, который может хорошо прослушиваться и имитировать звук... в течение короткого времени. • Независимый демон. Предположим, что у читателя достаточно прав для доступа и модификации файла inetd.conf или программы xinetd при помощи выполнения единственного действия: запуска ssh -L8001:127.0.0.1:8001 user(a),mp3player. Пусть он запустит программу Winamp, используя SocksCap, или, что более вероятно, только изменит выходной IP-адрес сервера на значение 127.0.0.1. Если читатель действительно попытается создать туннель к реальному shoutcast/ icecast серверу, то следует заменить значение 8001 портом, который каждый может прослушать, увеличив его номер на единицу.

• Зависимый демон. Для использования зависимого демона нужна программа netcat, скомпилированная, по крайней мере, на стороне клиента с опцией DGAPING SECURITY HOLE. Однако это все еще чрезвычайно полезный метод общего назначения, который нужно знать. Он работает подобно тому, как показано ниже:

$ ssh -L18001:127.0.0.1:18001 effugas@10.0.1.11 “nc -1 -р 18001 -е ./plaympg.sh”

effugas@ 10.0.1.11 ”s password:

(Файл Plaympg - это нечто больше, чем файл, содержащий команды #!/bin/sh -с ‘echo

OK; exec mpgl23 - ’.)

Резюме

«Му son, youVve seen the temporary fire and the eternal fire; you have reached the place past which my powers cannot see.

IVve brought you here through intellect and art; from now on, let your pleasure be your guide; youVre past the steep and past the narrow paths.
Look at the sun that shines upon your brow;
look at the grasses, flowers, and the shrubs born here, spontaneously, of the earth.
Among them, you can rest or walk until the coming of the glad and lovely eyes-those eyes that, weeping, sent me to your side.
Await no further word or sign from me: your will is free, erect, and whole-to
act against that will would be to err: therefore I crown and miter you over yourself».
[VirgilVs last words to Dante as he gives Dante the power to guide himself. Canto XXVII, Purgatorio (IGD Solutions)J

«Мой сын, ты увидел сиюминутный пожар и вечный огонь.

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

Силой своего ума и мастерства я привел тебя туда;

А теперь пусть твоя воля поведет тебя дальше;

Ты прошел по крутым и узким тропинкам.

Посмотри на солнце, сияющее тебе в глаза;

Посмотри на траву, цветы и кусты земные, здесь неожиданно выросшие.

Среди них ты можешь отдохнуть и погулять, пока не дойдешь до радостных и любящих тебя глаз -

Это те глаза, которые, плача, послали меня к тебе.

Не жди от меня больше никаких слов или намеков.

Твои помыслы свободны, прямы и готовы к тому, чтобы действовать безошибочно и самостоятельно:

Поэтому я короную тебя и даю тебе власть над собой».

[Последние слова Виргилия к Данте о том, что его задача выполнена. Он передал Данте свои знания и волю. Теперь Данте может жить самостоятельно. Песнь XXVII, Pur gator io (IGD Solutions)J

Мы поднялись и встали над скалою,

Уже достигнув ступени конечной.

Вергилий, глядя мне в глаза, со мною Заговорил: «И временный, и вечный Огонь ты видел, сын, и входишь в область,

Где я не вождь, а ты не подопечный.

Тебя вели мой ум и моя доблесть

Чрез все препоны. Днесь владеешь правом

Сам обресть благо, чести сей сподобясь.

Смотри, как солнце шагом величавым Грядет по небу, свет и теплотворы Даруя лесу, и цветам, и травам.

Пока тебе не засияли взоры Той, кто, рыдая, за тебя молила,

Да скрасят отдых твой сии просторы.

Отныне буду нем я как могила:

Власть восприемли главного арбитра,

И над тобой - чтоб крепла эта сила -

Златись, корона, и красуйся, митра!»

Данте Алигьери. «Божественная комедия» / Пер. с итал. М.: Просвещение, 1988

Различные проблемы вынудили вернуться к ясным решениям туннелирования. При их реализации поиск общих способов инкапсуляции обычно приводит к более эффективным решениям, хотя затраченные на их поиск усилия и отдача от них могут изменяться в очень широких пределах. Основными идеями, лежащими в основе проектирования туннелей, являются следующие: • конфиденциальность: «Куда уходит мой трафик?»;

• трассируемость: «Через какую сеть можно передавать данные?»;

• удобство: «Какие усилия могут потребоваться для инсталляции программ и их выполнения?»;

• гибкость: «Какие еще существуют варианты использования туннеля?»;

• качество: «Насколько безболезненно обслуживание системы?».

Общим правилом создания сквозных безопасных туннелей должно стать использование криптографических методов. Независимо от того, какие способы необходимы для установления связи между точками А и В, для передачи данных между ними следует использовать всюду, где это возможно, криптографические методы. Учитывая конкретные условия, процесс построения туннеля предусматривает прокладку маршрута от клиента к серверу, независимое выполнение процедур аутентификации и шифрования передаваемых данных по проложенному пути, а также переадресацию (перенаправление) сервисов по полученному виртуальному каналу связи. Пакет OpenSSH является одним из лучших пакетов для создания сквозных туннелей, которые доступны в настоящее время.

В пакете OpenSSH аутентификация реализована следующим образом. Клиенты удостоверяют подлинность серверов, используя хранимые у них ключи хостов. Первое подключение используется для подтверждения подлинности всех последующих соединений. Ключи могут быть распределены заранее, но до сих пор неизвестны унифицированные и изящные решения их распределения. Сервера удостоверяют подлинность клиентов при помощи паролей или удаленно верифицированных личных ключей. Клиенты могут размещать пароли в своих ключах. Они могут использовать программы-агенты для предотвращения повторного ввода пароля при каждой попытке подключения. Сказанное заслуживает специального замечания: единственная учетная запись, даже учетная запись суперпользователя, может санкционировать доступ к различным программам с дефектами в области защиты обработки и хранения ключей.

Пакет OpenS SH позволяет переадресовывать команды. Простое добавление в конец обращения к ssh имени команды, которую пользователь собирается выполнить, приведет к удаленному ее выполнению так, как будто это локальная команда. Если удаленная команда ожидает предоставления ей возможности вывода на экран, то следует воспользоваться опцией -t. Переадресация команд, объединенных вместе с помощью простых каналов, позволяет значительно повысить эффект от их использования. Хорошим примером применения каналов является передача файлов, настроенная в соответствии с потребностями пользователя. Наконец, можно существенно повысить безопасность применения инструментария su благодаря замкнутости окружения ssh во время выполнения команд внутри нее.

Кроме того, пакет OpenSSH позволяет переадресовывать TCP-порты. При переадресации локального порта откуда-то издалека импортируется единственный порт, определяющий способность к сетевому соединению компьютеров между собой. Тем самым резко снижаются возможности применения механизма перенаправления локального порта в других протоколах. При переадресации динамического порта откуда-то издалека импортируется целый диапазон портов, определяющий способность к сетевому соединению компьютеров между собой. В этом случае от приложений требуется выдавать правильные запросы переадресации по протоколу SOCKS. Многие приложения Windows поддерживают протокол SOCKS, а большинство приложений Windows и UNIX могут быть настроены на его использование при помощи общедоступных упаковщиков. И наконец, при переадресации удаленного порта экспортируется единственный порт, позволяющий обеспечить сетевое взаимодействие с внешним миром.

У пакета OpenS SH есть специальные возможности для прокладки туннелей через непокорные, труднопреодолимые сети. Опция ProxyCommands позволяет привлечь прикладные программы с командной строкой к обеспечению сетевого взаимодействия компьютеров между собой по протоколу SSH. Одним из таких приложений является программа connect, с, которая позволяет прокладывать туннель по протоколу SSH через разнообразные модули доступа прокси. Это может оказаться избыточной возможностью, поскольку зачастую для прохода через большинство сетей достаточно простого использования протоколом SSH портов HTTP или HTTPS (80 или 443 соответственно). Когда это невозможно, то программа httptunnel позволяет SSH проходить через любые сети, которые поддерживают стандартный Web-трафик.

Кроме того, пакет OpenS SH может подтвердить свою собственную подлинность хосту-бастиону, расположенному между клиентом и сервером, проложить через него маршрут передачи данных и независимым образом подтвердить подлинность серверу, с которым пользователь собирался установить соединение с самого начала. Сервер может также установить SSH-соединение к клиенту, экспортируя доступ к своему собственному SSH-демону. В результате сервер становится удаленно администрируемым сервером. Два описанных способа могут быть объединены. Таким образом, доступ может как экспортироваться, так и импортироваться, позволяя двум взаимно защищенным межсетевыми экранами хостам встретиться где-то посередине на специальном хосте-бастионе и установить через него соединение.

Существуют некоторые интересные и полезные способы, которыми можно воспользоваться. Читатель может легко скопировать файлы при помощи программы scp, которая в свою очередь может быть переадресована с использованием ранее описанных способов. При помощи программы rsync можно инкрементным способом (и эффективно) обновить внутреннее содержимое дерева директорий даже через туннель HTTP. Можно по сети записать данные на компакт-диски, локально запустив программу mkisofs и направляя по каналу ее вывод удаленному приложению cdrecord. Можно, используя программы SHOUTcast, inetd или mpgl23, непосредственно передавать зашифрованный или незашифрованный поток аудиоданных аудиосистеме через сеть.

Конспект

Основные требования к системам туннелирования

• В общем случае наиболее эффективными оказываются подходы инкапсуляции, которые предусматривают перехват трафика, не требуя взамен знания его содержимого.

• Сквозная безопасность ограничивает угрозы со стороны промежуточных хостов и маршрутизаторов. Главное внимание при проектировании туннелей уделяется конфиденциальности (Куда уходит мой трафик?), трассируемости (Через какую сеть можно передавать данные?), удобству (Какие усилия могут потребоваться для инсталляции программ и их выполнения?), гибкости (Какие еще существуют варианты использования туннеля?) и качеству (Насколько безболезненно обслуживание системы?).

Проектирование сквозных систем туннелирования

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

• Сквозная безопасность ограничивает угрозы со стороны промежуточных хостов и маршрутизаторов.

• OpenS SH является одним из лучших современных пакетов, который может быть использован для создания сквозных туннелей.

Сезам, откройся: аутентификация

• Основной синтаксис ssh при подключении: ssh user@host.

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

• Серверы подтверждают подлинность клиентов при помощи паролей или удаленно верифицированных личных ключей. Клиенты могут разместить пароли в своих ключах и использовать программы-агенты для предотвращения повторного ввода пароля при каждой попытке подключения.

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

• К числу команд аутентификации пакета OpenS SH с использованием общедоступного ключа входят следующие:

- генерация криптографической пары SSH1 или SSH2: ssh-keygen или ssh-keygen -t

dsa;

- указание удаленному хосту на необходимость использовать криптографическую пару SSH1 вместо пароля cat ~/ssh/identity.pub \ ssh -1 effugas@10.0.1.10 «cd ~ && umask 077 && mkdir -p .ssh && cat'» ~/.ssh/authorized keys»;

- указание удаленному хосту на необходимость использовать криптографическую пару SSH2 вместо пароля cat ~/.ssh/id dsa.pub \ ssh effugas@10.0.1.10 «cd ~ && umask 077 && mkdir -p .ssh && cat'» ~/.ssh/authorized keys2»;

- добавление идентификационной фразы к ключу SSH1 или SSH2 ssh-keygen.exe -р или ssh-keygen.exe -d-р;

- запуск агента ключа SSH (позволяет избежать необходимости повторного ввода идентификационной фразы) ssh-agent bash;

- добавление ключа SSH1 или SSH2 к агенту ssh-add or ssh-add ~/.ssh/ id dsa.

Переадресация команд: применение переадресации команд для непосредственного выполнения скриптов и каналов

• Простым добавлением в конец обращения к ssh имени команды, которую пользователь собирается выполнить, можно добиться ее удаленного выполнения так, как будто это локальная команда. Опция -t необходима в том случае, когда удаленная команда ожидает предоставления ей возможности вывода на экран.

• Переадресация команд, объединенных вместе с помощью простых каналов, позволяет реализовать множество полезных вещей, например предоставить широкие возможности настройки процедуры передачи файлов в соответствии с потребностями пользователя:

- удаленное выполнение команды ssh user@host command;

- создание канала между выводом удаленной команды и вводом локальной команды ssh user@host «remote command» I «local command»;

- получение файла ssh user@host «catfile» > file;

- запись файла cat file I ssh user@host «cat > file»;

- получение содержимого директории ssh user@host Is /path;

- получение нескольких файлов ssh user@host «tar cf- /path» \ tar -xf -;

- запись нескольких файлов tar -cf - /path \ ssh user@host;

- возобновление загрузки (по каналу связи) ssh user@host «tail -с remote filesize -local file size file» >> file;

- возобновление загрузки в удаленный компьютер (по каналу связи) tail -с local filesize-remote f ilesize file > > file.

Инструментарий su может быть сделан безопасным; благодаря ограниченности окружения SSH может быть использована для выполнения внутри нее команд:

- безопасное переключение пользователей ssh user@host -t «/bin/su -I user2».

Переадресация портов: доступ к ресурсам удаленных сетей

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

• При переадресации динамического порта откуда-то издалека импортируется целый диапазон портов, определяющий способность к сетевому соединению компьютеров между собой. Для переадресации динамического порта необходимо, чтобы приложения могли выдавать правильные запросы переадресации по протоколу SOCKS.

• Многие приложения Windows поддерживают протокол SOCKS, а большинство приложений Windows и UNIX могут быть настроены на его использование при помощи общедоступных упаковщиков.

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

• В число команд переадресации порта пакета OpenSSH входят следующие:

- переадресация локального порта на некоторый наугад выбранный порт 6667 хоста, который доступен через SSH-демон ssh user@host -L6667:remotely visible host:6667;

- динамическая переадресация локального порта 1080 на некоторый определенный приложением хост и порт, выполненная при помощи SSH-демона ssh user@host -D1080;

- переадресация удаленного порта 5900 на некоторый наугад выбранный порт 5900 хоста, доступного при помощи собственного SSH-клиента ssh user@host -R5900:locally visible host:5900.

Когда-то в Риме: пересекая непокорную сеть

• Опция ProxyCommands позволяет привлечь прикладные программы с командной строкой к обеспечению сетевого взаимодействия компьютеров между собой по протоколу SSH. Одним из таких приложений является программа connect, с, которая позволяет прокладывать туннель по протоколу SSH через разнообразные модули доступа прокси.

• Краткая сводка правил применения опций ProxyCommands пакета OpenSSH:

- основное использование ssh -о ProxyCommand= "command" user@port;

- применение вместо внутреннего сокета протокола TCP программы netcat для подключения к удаленному хосту ssh -о Proxy Command= " ne %h %p" user@host;

- использование программы connect.c для маршрутизации трафика через демон SOCKS4 на proxy_host:20080 для подключения к удаленному хосту ssh -о ProxyCommand= " connect.exe -4 -Sproxy user@proxy:20080 %h %p " user@host;

- использование программы connect.c для маршрутизации трафика через демон SOCKS5 на proxy_host:20080 для подключения к удаленному хосту ssh -о ProxyCommand= " connect.exe -5 -Sproxy user@proxy:20080 %h %p " user@host;

- использование программы connect.c для маршрутизации трафика через демон HTTP на proxy_host:20080 для подключения к удаленному хосту ssh -о ProxyCommand="connect.exe -Нproxy user@proxy:20080 %h %p " user@host.

Часто для прохождения через большинство сетей достаточно просто применить протокол SSH, использующий порты HTTP или HTTPS (80 или 443).

• При работе по протоколу SSH программа HTTPTunnel позволяет перемещаться по любым сетям, которые поддерживают обычный Web-трафик:

- перенаправление трафика протокола HTTP от локального порта 10080 к SSH-демону на локальном хосте localhost hts 10080 -F 127.0.0.1:22;

- прослушивание SSH-трафика по порту 10022, преобразование его в дружественные протоколу HTTP-пакеты, отправка их через модуль доступа прокси на proxy_host:8888 и доставка их серверной части программы httptunnel на хосте 10080 htc -F10022 - Р proxy host:8888 host: 10080;

- отправка трафика на порт 10022 локального хоста localhost при условии проверки возможности переадресации на конечный хост ssh -о HostKeyAlias=host -о Port=10022 user@127.0.0.1.

Протокол SSH может подтвердить свою собственную подлинность хосту-бастиону, расположенному между клиентом и сервером, проложить через него маршрут передачи данных и независимым образом подтвердить подлинность серверу, с которым пользователь собирался установить соединение с самого начала.

• Сервер может также установить SSH-соединение к клиенту, экспортируя доступ к своему собственному SSH-демону, и, таким образом, стать удаленно администрируемым сервером.

• Доступ может как экспортироваться, так и импортироваться, позволяя двум взаимно защищенным межсетевыми экранами хостам встретиться где-то посередине на специальном хосте-бастионе и установить через него соединение.

• Ниже перечислены команды импортирования доступа от хоста-бастиона к SSH-демону:

- настройка механизма локальной переадресации к SSH-демону, к которому можно получить доступ через хост-бастион ssh -L2022'.backend host:22 user@bastion;

- самостоятельное подключение к SSH-демону, который стал доступным в результате выполнения предыдущей команды ssh -о HostKeyAlias=backendhost -p 2022 root@127.0.0.1;

- настройка механизма динамической переадресации для получения доступа к сети, видимой позади некоторого хоста-бастиона ssh -D1080 user@bastion;

- подключение к некоторому SSH-демону, который виден с хоста-бастиона, подключенного в результате выполнения предыдущей команды ssh -о

ProxyCommand="connect -4 -S 127.0.0.1:1080 %h %p " user@backend host;

- настройка обычного механизма продвижения данных к месту использования; непосредственная выдача хосту-бастиону команды установить связь с внутренним хостом ssh -о Proxy Command= "ssh user@bastion ne %h %p " user@backend host.

В число команд экспортирования системой с установленным SSH-демоном хосту-бастиону (или клиенту) возможности соединения компьютеров между собой по протоколу SSH входят следующие:

- экспорт доступа нашему SSH-демону по локальному порту 2022 клиента ssh -R2022:12 7.0.0.1:22 user@client;

- обратное подключение посредством механизма переадресации экспортированного порта во время верификации идентификационных данных сервера ssh -О HostKeyAlias=backend host user@12 7.0.0.1.

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

На полпути: что теперь?

• Файлы могут быть легко скопированы при помощи программы sep, которая поддерживает переадресацию?

- копирование файла на удаленный хост scp file user@host:/patk,

- копирование файла при помощи переадресации локального порта scp -о "HostKeyAlias backend hosf -о «Port 2022» file user a backend host:/tmp.

При помощи программы rsync можно инкрементным способом (и эффективно) обновить внутреннее содержимое дерева директорий даже через туннель HTTP:

- синхронизация файла с файлом удаленого хоста (обновление только того, что необходимо) rsync -е ssh file user@host:/pathfile ;

- определение SSH1 для программы rsync rsync -е «ssh -1» fille user@host:/path/file;

- работа с программой rsync через туннель HTTP:

- запуск серверной части программы HTTPTunnelte 10080 -F 127.0.0.1:22;

- запуск клиентской части программы HTTPTunnel htc -F 10022 -Р proxy host:8888 host:10080;

- работа программы rsync с внутренним содержимым директории при помощи файла rsync -v -г -е “ssh -о HostKeyAl ias=host path user@12 7.0.0. l:/path.

Можно по сети записать данные на компакт-диски, локально запустив программу mkisofs и направляя по каналу ее вывод удаленному приложению cdrecord?

- непосредственная запись данных на CD с использованием протокола SSH mkisofs -JRpath/1 ssh user@burning host “cdrecord dev=scsi id speed=# -

- запись данных на CD с использованием протокола SSH после кэширования данных на удаленном хосте mkisofs -JR path/ \ ssh user@host “cat > /tmp/burn.iso && cdrecorddev=scsi idspeed=# /tmp/burn.iso && rm /tmp/burn.iso”.

- Можно, используя программы SHOUTcast, inetd или mpgl23, непосредственно передавать музыку в формате зашифрованного или незашифрованного потока аудиоданных аудиосистеме через сеть:

Переадресация всех данных в формате MP3, посланных MP3 декодеру удаленного сервера на localhost: 18001 ssh -LI8001:127.0.0.1:18001 effugas@ 10.0.1.11 “nc -I -p 18001 -e Jplaympg.sh” (plaympg.sh contents: #!/bin/sh -c “echo OK; exec mpgl23 -).

Часто задаваемые вопросы

Вопрос: Разве перечисленные методы не подразумевают обреченности любой попытки управления региональной сетью? Особенно это касается систем, которые пытаются предсказать местонахождение компьютера по его IP-адресу.

Ответ: По большей части, да. Рассмотренные в этой главе методы не являются чем-то принципиально новым. В течение многих лет то там, то здесь использовалась описанная разновидность прыжков от одного модуля доступа прокси к другому. Без них никакой реальный доступ в Интернет был бы невозможен. Вероятно, средний человек не владеет техникой, которая заставила бы автора краснеть за описанные в этой главе искусственные приемы. Практика - мать изобретений, критерий истины и т. д. Но имейте в виду, что анализ трафика - мощное оружие. Не очень-то гармоничны соединения, которые открываются в одном направлении, а затем завершаются посылкой огромного числа своих данных в другом. Даже системы, которые используют рикошет данных от промежуточных хостов, не настолько уж безучастны к управлению передаваемого через них потока данных. При отсутствии явной зависимости между содержимым данных, которые были получены где-то в средней точке и отправлены из нее конечному адресату, практически неизбежно есть временная корреляция между тем, когда данные достигают средней точки, и тем, когда некоторая эквивалентная им по размеру порция данных достигнет адресата. Это не что иное, как результат уменьшения времени ожидания без учета маскирующих шумовых помех.

Вопрос: У меня не работает переадресация порта. Как мне кажется, мое соединение по адресу http://www.host.com не является туннелем, хотя я установил туннель, шифрующий передаваемые по нему данные, на сайт www.host.com по порту 80, используя опцию L80:www.host.com:80. Почему? Ответ: Важно понять, что переадресация локального порта устанавливает в пространстве пользователя новое соответствие между компьютерами, которые способны соединиться между собой. Укажите своей операционной системе на необходимость подключиться к www.host.com, и она попытается выполнить ваше распоряжение правильно. Вам следует сообщить своей операционной системе об организации в пространстве пользователя обратной связи при помощи механизма продвижения данных, который в данном случае размещен по адресу 127.0.0.1, порт 80. Реализовать механизм продвижения данных можно или назначением вашему приложению альтернативного IP-адреса, или изменяя правила поиска имен в вашем хост-файле.

Вопрос: Ваши методы неправильны, неэлегантны и ужасны. Ответ: А автор никогда и не говорил, что они совершенны. Действительно, при их использовании присутствуют риски безопасности. Более того, у них есть и другие недостатки. Фактически автор соглашается с вышеприведенной оценкой своих методов. Их использование - это ошибочный путь построения сети, но неправильные сети уже спроектированы и работают на практике. В протоколах ТСРЛР можно найти все виды ограничений, особенно на уровне маршрутизации. Вносимые в них по мере необходимости исправления, преследующие цель объединить различные структуры, уводят далеко в сторону. Можно даже сказать, что они достаточно неудачны. Туда нас завела элегантность... Она должна и вывести оттуда.

«реверс» клиентов | Защита от хакеров корпоративных сетей | Хакинг аппаратных средств


Защита от хакеров корпоративных сетей



Новости за месяц

  • Июнь
    2019
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс