Коллектив авторов - Защита от хакеров корпоративных сетей
• используя опцию -1, можно получить снижение эффективности применения протокола SSH1. Честно говоря, использовать эту опцию не рекомендуется, но все же это лучше передачи открытого текста по каналу связи;
• очевидно, чем больше будет случаев взлома сетевых программ сетевого взаимодействия компьютеров, тем медленнее будет работать система. Зачастую полезно использовать SSH как метод решения известной проблемы «цыпленка и яйца», которая относится к явлениям, где трудно определить причину и следствие. Применительно к рассматриваемому случаю это означает отсутствие изменений до тех пор, пока отображается результат, но результат не может быть отображен до тех пор, пока не будут завершены изменения. В случае взлома во время использования SSH (назовем это доказательством идеи и ничем более) результирующая величина может быть показана и изменения санкционированы.
Запись на компакт-диск по протоколу SSH
Стандартный метод записи последовательности локальных файлов, используемый в операционных системах UNIX, предусматривает использование двух программ. Сначала одна из них, mkisofs, вызывается для упаковки записываемых файлов в стандартную файловую систему, понятную для CD-ROM. Другим словами, она создает файловую систему в формате IS09660. Затем результат упаковки (файлы в ISO-формате) пересылаются другому приложению, cdrecord, который выполняет запись файлов на CD-ROM (прожиг файлов). Полная процедура описанных действий выглядит следующим образом.
Сначала ищется и обнаруживается устройство записи на компакт-диск SCSI–ID, которое планируется использовать:
bash-2.05a# cdrecord -scanbus
Cdrecord 1.10 (i386-unknown-freebsd4.3) Copyright (C) 1995-
2001 Jorg Schilling
Using libscg version “schily-0.5”
scsibus0:
0,0,0 0) ‘PLEXTOR ’ ‘CD-ROM PX-40TS ’ ‘1.11’
Removable CD-ROM
0,1,0 1) ‘YAMAHA ’ ‘CRW2100S ’ ‘1.0H’
Removable CD-ROM
0,2,0 2) ‘YAMAHA ’ ‘CDR400t ’ ‘1.0q’
Removable CD-ROM
0,3,0 3) *Затем для записи выбирается директория или набор файлов, которые пользователь собирается записать на компакт-диск. Приложение подключает к именам файлов атрибуты Joliet и Rock Ridge. В результате появляется возможность использовать длинные имена файлов, которые стандарт IS09660 поддерживает обычным образом. Часто бывает полезным при использовании программы mkisofs дополнительно указать опцию – f следом за symlinks. В следующем примере будет показано, как задуманное реализовать проще:
bash-2.05a# mkisofs -JR toburn/ > tools.iso
22.21% done, estimate finish Thu Jan 3 19:17:08 2002
44.42% done, estimate finish Thu Jan 3 19:17:08 2002
66.57% done, estimate finish Thu Jan 3 19:17:08 2002
88.78% done, estimate finish Thu Jan 3 19:17:08 2002
Total translation table size: 0
Total rockridge attributes bytes: 726
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used c064
22544 extents written (44 Mb)Как читатель может заметить, после выполненных действий пользователь должен поскучать без дела, ожидая, пока область дискового пространства растрачивается понапрасну. Гораздо более изящное решение заключается в непосредственном перенаправлении вывода программы mkisofs на вход приложения cdrecord. И действительно, именно так в большинстве случаев реализован прожиг данных в операционной системе UNIX:
bash-2.05a # mkisofs -JR toburn/ | cdrecord dev=0,1,0
speed=16 -
Cdrecord 1.10 (i386-unknown-freebsd4.3) Copyright (C) 1995-
2001 Jorg Schilling
scsidev: ‘0,1,0’
scsibus: 0 target: 1 lun: 0
Using libscg version ‘schily-0.5’
Device type : Removable CD-ROM
Version : 2
Response Format: 2
Capabilities : SYNC
Vendor_info : ‘YAMAHA ’
Identifikation : ‘CRW2100S ’
Revision : ‘1.0H’
Device seems to be: Generic mmc CD-RW.
Using generic SCSI-3/mmc CD-R driver (mmc_cdr).
Driver flags : SWABAUDIO
cdrecord: WARNING: Track size unknown. Data may not fit on disk.
Starting to write CD/DVD at speed 16 in write mode for
single session.
Last chance to quit, starting real write in 9 secondsСледует помнить одно важное правило. Оно заключается в том, что почти всегда, когда пользователь пожелает воспользоваться каналом для передачи данных между процессами, SSH позволит ему разместить процессы на разных хостах. Поскольку процессы создания файловой системы и ее записи отделены друг от друга, то можно создать файловую систему на одной машине, а записать ее на другой:
[email protected] ~
$ mkisofs.exe -JR backup/ | ssh [email protected] “cdrecord
dev=0,1,0
speed=8 -”
[email protected]’s password:
scsidev: ‘0,1,0’
scsibus: 0 target: 1 lun: 0
Cdrecord 1.10 (i386-unknown-freebsd4.3) Copyright (C) 1995-
2001 Jorg Schilling
Using libscg version ‘schily-0.5’
Device type : Removable CD-ROM
Version : 2
Response Format: 2
Capabilities : SYNC
Vendor_info : ‘YAMAHA ’
Identifikation : ‘CRW2100S ’
Revision : ‘1.0H’
Device seems to be: Generic mmc CD-RW.
Using generic SCSI-3/mmc CD-R driver (mmc_cdr).
Driver flags : SWABAUDIO
cdrecord: WARNING: Track size unknown. Data may not fit on disk.
Starting to write CD/DVD at speed 8 in write mode for single
session.
Last chance to quit, starting real write in 8 secondsБыстродействие и надежность базовой архитектуры сети являются критичными параметрами для поддержки устойчивого процесса записи данных на CD-диск. Слишком большой период времени, в течение которого не производится обновление пересылаемого на диск содержимого, приводит к тому, что вовсе ничего не будет записано. В итоге пространство на диске будет потрачено впустую (если только устройство записи данных на компакт-диск не поддерживает новую и полезную технологию под названием Burn-Proof, которая в большинстве случаев позволяет избежать бесполезной траты дисковой памяти). Если необходимо записать данные на компакт-диск, пересылая их по медленной или ненадежной сети, то следует воспользоваться удобной возможностью протокола SSH удаленно выполнять не одну, а серию команд. В этом случае последовательность команд будет состоять из команд поиска ISO, записи найденных данных на компакт-диск и удаления уже ненужных данных. Используемое при этом форматирование преследует единственную цель: сделать текст команд удобочитаемым. Что действительно необходимо для выполнения многократных команд за одно обращение к SSH, так это использование между командами точки с запятой.
[email protected] ~
$ mkisofs.exe -JR backup/ | ssh [email protected]
> “cat > /tmp/burn.iso &&
> cdrecord dev=0,1,0 speed=8 /tmp/
> burn.iso &&
> rm /tmp/burn.iso”
[email protected]’s password:
Total translation table size: 0
Total rockridge attributes bytes: 2829
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 9000
3066 extents written (5 Mb)
scsidev: ‘0,1,0’
scsibus: 0 target: 1 lun: 0
Cdrecord 1.10 (i386-unknown-freebsd4.3) Copyright (C) 1995-
2001 Jorg
Schilling
Using libscg version ‘schily-0.5’
Device type : Removable CD-ROM
Version : 2
Response Format: 2
Capabilities : SYNC
Vendor_info : ‘YAMAHA ’
Identifikation : ‘CRW2100S ’
Revision : ‘1.0H’
Device seems to be: Generic mmc CD-RW.
Using generic SCSI-3/mmc CD-R driver (mmc_cdr).
Driver flags : SWABAUDIO
Starting to write CD/DVD at speed 8 in write mode for single
session.
Last chance to quit, starting real write in 8 seconds.
Акустический канал: передача аудиоданных с помощью протоколов TCP и SSH
Иногда приходится что-то делать только потому, что это действительно круто. Хотя копирование файлов со всех сторон полезно, но это не обязательно интересно. Интересно подключиться к стереосистеме читателя, которая соединена с выходом приложения Winamp, выполняющейся на машине с установленной операционной системой FreeBSD в его лаборатории / офисе / жилой комнате. Вот это действительно интересно! Как это может работать? В составе приложения Winamp есть подключаемый модуль (плагин) под названием SHOUTcast DSP, который предназначен для передачи потока выходных данных проигрывателя к работающей в онлайновом режиме радиостанции для перераспределения его среди других проигрывателей. В свою очередь, проигрыватели инкапсулируют поступающие к ним от приложения Winamp данные, преобразуя их в сжатый поток данных формата MP3 с фиксированной скоростью передачи битов. При этом проигрыватели находятся в готовности отослать преобразованные данные на радиосервер. Автору известна универсальная программа инкапсуляции звука приложения Winamp, но по этому поводу у него есть идея получше.
1. Поскольку предпринимается попытка передать поток аудиоданных в формате MP3 из UNIX-окружения непосредственно на динамики персонального компьютера, то потребуется соответствующее программное обеспечение с функциями проигрывателя. Это либо программа mpg123, либо программа madplay. Программа mpg123 де-факто является стандартом проигрывателя аудиоданных в формате MP3 для операционной системы UNIX, хотя у нее есть определенные погрешности в качестве звучания. Программа madplay – гораздо более высококачественный проигрыватель, но, по крайней мере при работе в операционной системе FreeBSD, время от времени она работает нестабильно. Программу mpg123 можно найти по адресу www.mpg123.de, а madplay – загрузить с сайта www.mars.org/home/rob/proj/mpeg/.
2. Стоит задача не только получить поступающий откуда-то поток аудиоданных в формате MP3. Следует хотя бы чуть-чуть реализовать функциональные возможности радиостанции. Не волнуйтесь, нет необходимости в повторной реализации полных протоколов их работы. Необходимо только сымитировать доступ к их паролю, что бы ни скрывалось за ним. Как правило, это означает отправку «OK» в момент подключения, после чего пользователь начнет получать поток данных в формате MP3. Так, вместоmpg123 – # play mp3’s being piped in
используем
sh -c ‘echo OK; exec mpg123 -’ # first say OK, then play MP3s being piped in