Укрощение @Интернет@

         

Примеры строк инициализации


Каждая строка инициализации должна начинаться с префикса "AT", за которым следует одна или несколько команд модема, разделенных для удобночитаемости знаком пробела или прижатых вплотную друг к другу. Например: "AT S52=0 *P2".

Часто за AT следует команда "&F", восстанавливающая все заводские настройки модема. Дело в том, что многие коммуникационные программы, в том числе и сама операционная система, конфигурируют модем по своему усмотрению и сохраняют настройки в его энергонезависимой памяти. Конечно, если результат такой настройки неудовлетворителен, имеет смысл вернуть заводские параметры по умолчанию, в противном же случае лучше оставить все как есть, тем более что команды строки инициализации перекрывают результаты работы всех ранее введенных команд и позволяют изменить любую настройку по своему вкусу.

Несколько следующих примеров строк инициализации демонстрируют способы эффективного использования модемов на некачественных каналах:

Пример №1 для всех модемов:                     "AT S6=10 S9=30 S10=80"

Пример №2 для модема ACORP:                  "AT S6=10 S9=30 S10=80 +MS=10,1,9600,14400"

Пример №3 для Courier V. Everything       "AT S6=10 S9=30 S10=80 S28=20"

Пример №4 для "ZyXEL OMNI"                  "AT S6=10 S9=30 S10=80 S39=1 &N17*Q1"



Проблемы администрирования


Чем рискует администратор, разрешая клиентам выполнение собственных cgi-скриптов? Если web-сервер исполняет их не с правами root, то ничем, за исключением предоставления прав пользователя владельцем скриптов (и потенциального предоставления этого права злоумышленникам, обнаружившим уязвимость скрипта).

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

под другим именем.

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

В UNIX-системах любой, даже непривилегированный, пользователь имеет доступ ко многим секретным файлам сервера, манипуляции с которыми потенциально способны нанести ущерб системе. Например, файл "/etc/passwd" доступен для чтения всем пользователям этого сервера, и, если администратор забыл "затенить" пароли, злоумышленник сможет в относительно короткое время их подобрать. (К счастью, во всех системах кроме LINUX пароли "затенены" изначально и других там просто нет). ОС Windows NT\2000 в этом отношении защищена значительно лучше, но все же имеет ряд слабых мест, например, допускает просмотр профилей безопасности до ввода пароля (профили же среди прочей информации хранят историю паролей, с целью предотвращения их повторного использования; да, это старые, уже недействительные пароли, но они раскрывают стратегию выбора пароля – используются ли случайные комбинации символов, словарные слова, клички любимых хомячков, чем невероятно облегчают проникновение в систему).


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

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

С точки зрения безопасности это довольно рискованный ход, - ошибка скрипта может запросто дать WEB-клиенту права непривилегированного пользователя, а то и администратора!

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




Программа учета времени проведенного


Большинство программ учета времени, поведенного в Интернет, отчитывают его с момента входа в сеть, тогда как провайдер – с момента передачи пароля пользователя (хотя возможны вариации). Эти два события разделяют всего несколько секунд (или около того), но при многократных входах в сеть ошибки измерений постепенно накапливаются и программа учета начинает врать. Не сильно, но все-таки до последней минуты на нее полагаться не стоит.

??? Рисунок "карикатура" – человек с мордой типа "тяпка" стоит перед уходящем поедом. Он смотрит на привокзальные часы. Он смотрит на свои часы – последние отстают на несколько минут.

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



Провайдер и удаленный доступ


"Власть - палка о двух концах"

Френк Херберт "Дюна"



ReGet


В меню "Настройки" выберите пункт "Свойства закачки по умолчанию" (или нажмите комбинацию клавиш <Ctrl+Alt+O>) и в открывшемся диалоговом окне перейдите к закладке "Прокси".

Для работы через HTTP Proxy-сервер

взведите галочку "Использовать для HTTP" и строкой ниже укажите адрес сервера и номер порта, отделенный от адреса двоеточием, например, так: proxy.itech.ru:3128 (номер порта и адрес сервера можно узнать у администратора сети или провайдера). Если Proxy требует аутентификации, в строке "Имя" введите свой логин, а в строке "Пароль" свой пароль. В графе "Откат на" укажите количество байт которые будет отрезаться от хвоста скаченного файла при каждом разрыве соединения (подробнее см. "Я скачал файл с сервера, а он отказывается распаковываться (запускаться). Кто виноват и что делать?"). Галочка "Хитрый откат" будучи взведенной задействует продвинутый алгоритм отрезания хвоста, пытающийся определить точное положение "мусора" в хвосте, дабы не отрезать лишнего. Анализируя поток данных, ReGet ищет строки характерные для сообщений об ошибке (по умолчанию – "HTTP/1.,<HTML>"). Если ваш Proxy-сервер информирует об ошибке каким-то иным образом (что, впрочем, достаточно маловероятно) добейтесь появления в окне браузера сообщения о такой ошибке, а затем в меню "Вид" выберите "В виде HTML" и скопируйте самую верхнюю строку в поле "Список первых символов сообщения об ошибке" диалогового окна настроек ReGet. Вообще-то, от использования "хитрого отката" лучше отказаться – он, экономя всего лишь несколько секунд на каждый разрыв соединения, создает угрозу необратимо испортить скачиваемый файл так, что его будет проще скачать сначала, чем восстановить. Так стоит ли рисковать?

Для работы через ftp Proxy-сервер взведите галочку "Использовать для FTP" и строкой ниже укажите адрес сервера и номер порта, отделенный от адреса двоеточием, например, так: proxy.itech.ru:3128 (номер порта и адрес сервера можно узнать у администратора сети или провайдера). Если Proxy требует аутентификации, в строке "Имя" введите свой логин, а в строке "Пароль" свой пароль. В большинстве случаев провайдеры предоставляют один Proxy для ftp- и http-протоколов, для работы с которым радио кнопка графы "Тип FTP прокси" должна находится в положении "HTTP". Если же соединение осуществляется через WinGate или Microsoft Proxy, требующих представлять адрес ftp-сервера и имя пользователя в виде адреса электронной почты, перекиньте эту радио кнопку в положение "user@site".

Ограничения: ReGet поддерживает только базовый алгоритм аутентификации и не умеет передавать на Proxy зашифрованный пароль. Некоторые администраторы запрещают базовую аутентификацию по соображениям безопасности (пароль, переданный открытым тестом, легко перехватить), что приводит к неработоспособности ReGet. Выход состоит в установке SOCKS Proxy-клиента, самостоятельно перехватывающего запросы на установку соединения и переправляющие их на Proxy. Обратите внимание – при работе через Proxy-клиента галочки "Использовать для HTTP" и "Использовать для FTP" в настройках ReGet следует сбросить.

Рисунок 12 рис 0х022 Настройка ReGet для работы через Proxy-сервер


В меню "Настройки" выберите пункт "Свойства закачки по умолчанию" (или нажмите комбинацию клавиш <Ctrl+Alt+O>) и в открывшемся диалоговом окне перейдите к закладке "HTTP", где перемещением радио кнопки в секции "Строка User-Agent" выберите: какое именно приложение необходимо имитировать.

Секция "Строка Referrer" задает способ заполнения содержимого поля "Referrer". На выбор пользователя предложены следующие варианты: "Нет" – поле "Referrer" остается пустым; "Версия ReGet" – в поле "Referrer" попадет версия ReGet, например, "ReGet/1.4.0.393  SE" (не очень хорошо для имитации браузера, но зато честно); наконец, ниспадающий бокс со строкой редактирования позволяет задать содержимое поля "Referrer" самостоятельно – для обхода защиты (если она есть – т.е. файл с сервера не отдается иным образом) занесите сюда адрес странички, содержащей ссылку на файл (он содержится в строке "Адрес" браузера). Такую операцию придется проделывать для скачки каждого файла с защищенного сервера. Чтобы постоянно не лазить в глобальные настройки "Свойств закачки по умолчанию" при добавлении новой закачки в закладке "URL" взведите галочку "Использовать собственные расширенные настройки", затем, в раскрывшемся веере закладок, перейдите к закладке "HTTP" и скопируйте адрес страницы в локальное поле "Referrer". Это довольно утомительное занятие, но ReGet не предоставляет никаких средств для его автоматизации. Впрочем, web-мастера, ведущие планомерную войну со своими посетителями, встречаются не так уж часто, поэтому к описанному выше трюку прибегать придется редко.




В меню "Настройки" выберите пункт "Свойства закачки по умолчанию" (или нажмите комбинацию клавиш <Ctrl+Alt+O>) и в открывшемся диалоговом окне перейдите к закладке "FTP", в ней сбросьте галочку "Режим ASCII" (сброшена по умолчанию) и нажмите клавишу "OK", чтобы проделанные изменения вступили в силу.




В меню "Настройки" выберите пункт "Свойства закачки по умолчанию" (или нажмите комбинацию клавиш <Ctrl+Alt+O>) и в открывшемся диалоговом окне перейдите к закладке "FTP", а в ней взведите галочку "Пассивный режим". Нажмите "ОК" и повторите попытку получения файла.

Родственные вопросы:

Интернет. Общие вопросы à Что такое Proxy-сервер и как с ним работать?

Интернет. Общие вопросы à Как заставить такое-то приложение работать через Proxy (Firewall)



Решения общие для всех модемов


Модем не устанавливает связь:

– убедитесь, что в телефонной линии наличествует гудок: на некоторых АТС он появляется только лишь через несколько секунд после снятия трубки; если это так, увеличьте содержимое регистра S6, хранящего время ожидания гудка в секундах (по умолчанию обычно 2);

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

– многие модемы не могут установить соединение из-за помех на линии, которые они ошибочно принимают за несущую частоту удаленного модема со всеми отсюда вытекающими последствиями. Попробуете увеличить содержимое регистра S9, хранящего время в десятых долях секунды в течение которого следует принимать несущую частоту. По умолчанию оно равно 6 (т.е. 0,6 сек.), чего более чем недостаточно в большинстве случаев. Хороший результат дает S9=30. Обратите внимание: вместе с увеличением содержимого S9 необходимо увеличить и значение регистра S10, хранящего время в десятых долях секунды в течение которого может отсутствовать несущая частота и при этом не происходит разрыв связи. Если S9 = S10 то любое, даже мгновенное пропадание несущей, приводит к разрыву связи, а если S9 > S10, то установить связь вообще не удается.

Модем часто бросает трубку:

– попробуйте увеличить содержимое регистра S10, хранящего время в десятых долях секунды в течение которого может отсутствовать несущая частота, и при этом не происходит разрыв связи. По умолчанию оно равно 7 (т.е. 0,7 сек.), чего явно недостаточно при эксплуатации модема на некачественных каналах. Хороший результат дают значения от 80 десятых долей секунд и более. Обратите внимание, что на некоторых модемах максимальное время отсутствия несущей определяется разницей

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

Модем не определяет сигнал "занято":

– этой "детской" болезни подвержены многие дешевые модемы, в том числе и ACORP. К счастью, такое заболевание не смертельно – во-первых, можно вручную разорвать связь, услышав в динамике гудки отбоя, а во-вторых, даже если этого и не сделать, соединение будет само разорвано по истечению времени, содержащегося в регистре S7 (в секундах). Однако не стоит увлекаться его чрезмерным уменьшением – даже если линия свободна, но за указанный интервал времени ваш модем не успеет "снюхаться" с удаленным модемом – соединение будет безжалостно разорвано. По мнению автора, оптимальное значение регистра S7 – 15-20 секунд.



Решения, специфичные для конкретных модемов


Модем не устанавливает связь:

– возможно, модем слишком быстро набирает номер, и АТС просто не успевает его "переваривать". Попробуйте уменьшить скорость набора. В модемах ZyXEL для этого необходимо скорректировать значение регистра S39. Значение "0" соответствует 10 пульсам в секунду, "1"

– 16 и "2"

– 20. Например "S39=1" задает скорость набора в 16 пульсов в секунду;

– модемы Courier V. Everything часто не могут "снюхаться" друг с другом из-за недостаточно продолжительного времени посылки тональных сигналов. Решение проблемы заключается в увеличении содержимого регистра S28, хранящего время посылки тональных сигналов в десятых долях секунды (по умолчанию 8). Например: "S28=20" задает интервал посылки в две секунды.

Модем часто бросает трубку:

- если качество линии не остается постоянным на протяжении всего сеанса связи (как это часто бывает с плохими телефонными линиями под которыми каждые N минут проезжает трамвай), то характеристики канала, измеренные в момент установки соединения, могут оказаться излишне оптимистичными, а скорость соединения – завышенной (равно, как и наоборот). Попробуйте задать скорость соединения вручную, уменьшая ее до тех пор, пока не будет достигнута требуемая стабильность связи. Необходимо отметить, что протокол V.34, используемый большинством модемов по умолчанию, предъявляет к качеству линии достаточно жесткие требования и порой имеет смысл перейти на протокол V.32bis, хоть и ограничивающий максимальную скорость в 14.400, но значительно лучше переносящий все тяготы телефонной жизни. Обратите внимание – ограничение скорости соединения в настройках Windows обладает тем недостатком, что не позволяет выбрать требуемый протокол и в большинстве случаев соединение устанавливается по V.324Bis, поэтому, разумно включить команду выбора скорости в строку инициализации модема:

ACORP: для принудительного задания скорости и протокола соединения в модемах "ACORP" служит команда "+MS=", краткая форма вызова которой выглядит так: "+MS=режим, автомод, скорость минимальная, скорость максимальная". Полный перечень режимов и соответствующих им скоростей содержится в прилагаемой к модему документации. Пример использования: "+MS 10,1,9600,14400" – заставляет модем соединяться по протоколу V.32bis на скорости от 9.600 до 14.400;


3Com US Robotics Courier V. Everything: модемы этой серии не позволяют принудительно задавать протокол соединения, поэтому для ограничения скорости можно воспользоваться настройками Windows;
ZyXEL OMNI: выбор протокола осуществляется командной "&Nn", где n – номер требуемого режима (список режимов приведен в прилагаемой к модему документации). Для протоколов V.34 и V.90 допускается принудительное задание любой требуемой скорости соединения, а для всех остальных предоставляется несколько фиксированных диапазонов на выбор. Например, "&N17" заставляет модем соединяться по протоколу V.32bis на максимально возможной из следующих скоростей: 14.400 / 12.000 / 9.600 / 7.200 / 4.800.
– модемы ZyXEL позволяют управлять своей реакцией на изменение качества линии. Этим "заведует" команда "*Qn", где n может принимать одно из следующих значений: "0" – никак не реагировать на изменение качества и продолжать обмениваться данными на той же скорости; "1" – заново согласовывать параметры соединения с удаленным модемом при ухудшении качества; "2+"(по умолчанию)
– адаптивная настройка и "3" – прекращение соединения при ухудшении качества. Модемы Courier V. Everything не позволяют управлять своей реакцией на изменение качества связи и самостоятельно адаптируются под условия "окружающей среды", работая на максимально возможной скорости;
– причиной частых разрывов соединений зачастую оказывается неверно подобранный уровень выходного сигнала. Вообще-то, модемы могут (и должны) автоматически согласовывать "громкость" своего разговора при установке соединения, но, если затухание канала не остается постоянным, а меняется в течение сеанса связи, имеет смысл выставить уровень вручную, отыскав компромисс между наименьшим и наибольшим затуханием. Не стоит выставлять "громкость" передачи на максимум – это усилит искажения, особенно эхо, и модем, "охрипнув" от собственного крика, снизит скорость передачи. В модемах ZyXEL уровень выходного сигнала регулируется командой "*Pn", где "n" – условная громкость, принимающая значения от 0 до 15, причем большее значение соответствует большей громкости. Модемы Courier V. Everything и ACORP
не позволяют регулировать уровень выходного сигнала;
– модемы ZyXEL позволяют настраивать и чувствительность приемника, что особенно полезно на каналах с сильным или непостоянным затуханием. Чувствительность регулируется регистром S52: значение "0" соответствует чувствительности приемника в – 43 дБм, "8" - –33 дБм и "16" - –26 дБм.

Розница и опт


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

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

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

В магазинах самообслуживания воровство покупателей компенсируют увеличением цен товаров. Точно так, в стоимость рекламы включен (вернее, правильнее сказать, исключен) обман злоумышленников.

Вообще же, проблема вокруг накрутки баннеров, на мой взгляд, сильно раздута. Обилие рекламы наглядно свидетельствует, что несмотря ни на какие накрутки, она окупает себя. В каком-то высшем смысле обман спонсоров приносит больше пользы, чем вреда. Чем больше обманщиков, тем ниже эффективность рекламы, а, значит, меньше и самой рекламы! Трудно найти посетителя, который бы горячо не приветствовал такое развитие событий!



С некоторого времени перезагрузки


Да, существует такая пренеприятнейшая проблема, заставившая многих всерьез усомниться в "стерильности" своего компьютера и живехонько отправится за новым антивирусом. Но виною тому вовсе не вирусы, а сам Outlook (скажи, какой паршивец!). Точнее, его умение сжимать (см. вопрос "Я удалил из паки большое количество сообщений, но ее размер не изменился") собственные папки в фоновом режиме при накоплении такого-то количества помеченных к удалению сообщений.

Сама по себе эта операция очень полезная, но, будучи не вовремя прерваннаяпрерванной, она приводит к очень тяжелым последствиям и лучше ее отключить в превентивном порядке. Для этого в меню "Сервис" выберете пункт "Параметры" и в открывшемся диалоговом окне перейдите к закладке "Обслуживание". Снимите галочку "Сжимать сообщения в фоновом режиме" и перезапустите Outlook Express.

Все! Теперь никакие зависания и перезагрузки вам не страшны!

Рисунок 35 Рисунок 0x013.tif Отключение фонового сжатия папок

Родственные вопросы:

Я удалил из паки большое количество сообщений, но ее размер не изменился {ИЗМЕНИТЬ ШРИФТ НА КУРСИВ}



Секреты телеконференций


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

Кэрол Бароди



Серверные решения:


Администратор почтового сервера может запретить прием корреспонденции от определенных лиц и даже целых серверов. Так, некоторые ящики отказываются принимать письма, посланные с бесплатных серверов наподобие mail.ru, aport.ru, chat.ru и подобных им. Мотивация проста – антиспам. Впрочем, такая жесткая мера приносит больше вреда, чем удобства, серьезно ограничивая круг общения пользователей такого ящика.

Если "доставшее" вас лицо шлет свои депеши с одного и того же адреса, попробуйте обратиться за помощью к администратору вашего почтового сервера, передав ему копию одного их писем или сообщив обратный адрес его отправителя. (Если вы только в состоянии определить его самостоятельно – см. "Как установить подлинный адрес отправителя письма?"). По идее администратор (особенно если он к тому же и ваш провайдер) должен пойти навстречу и занести этот адрес в "черный список" фильтра. Намного хуже обстоят дела с бесплатными ящиками – их администраторы довольно прохладно относятся к проблемам своих клиентов и не очень-то легки на подъем. В таком случае приходится прибегать к клиентским решениям…



Сетевой порядок байт


Среди производителей процессоров нет единого мнения на счет порядка следования младших и старших байт. Так например, у микропроцессоров Intel младшие байты располагаются по меньшим адресам, а у микропроцессоров Motorola 68000 – наоборот. Естественно, это вызывает проблемы при межсетевом взаимодействии, поэтому, был введен специальный сетевой порядок байт, предписывающий старший байт передавать первым (все не так, как у Intel).

Для преобразований чисел из сетевого формата в формат локального хоста и наоборот предусмотрено четыре функции - первые две манипулируют короткими целыми (16-битными словами), а две последние – длинными (32-битными двойными словами): u_short ntohs (u_short netshort); u_short htons (u_short hostshort ); u_long ntohl (u_long netlong ); u_long htonl (u_long hostlong);

Чтобы в них не запутаться, достаточно запомнить, что за буквой "n" скрывается сокращение "network", за "h" – "host" (подразумевается локальный), "s" и "l" соответственно короткое (short) и длинное (long) беззнаковые целые, а "to" и обозначает преобразование. Например, "htons" расшифровывается так: "Host à Network (short )" т.е. преобразовать короткое целое из формата локального хоста в сетевой формат.

Внимание: все значения, возвращенные socket-функциями уже находятся в сетевом формате и "вручную" их преобразовывать нельзя! Т.к. это преобразование исказит результат и приведен к неработоспособности.

Чаще всего к вызовам этих функций прибегают для преобразования номера порта согласно сетевому порядку. Например: dest_addr.sin_port = htons(110).



Сколько к письму добавляется служебной


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

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

Восемь бит удалось-таки закодировать в цифрах, знаках препинания и символах английского языка. Однако такой способ кодировки потребовал определенных накладных расходов – там, где раньше хватало одного байта, теперь порой требуется аж до трех! Русскоязычное письмо (даже без учета добавленной к нему служебной информации), после его перекодировки может "растолстеть" до трех собственных размеров.

Вложенные файлы чаще всего автоматически кодируются в UUE или MIME, отчего их размер возрастает в 1,3 раза. То есть, если максимальный размер одного письма ограничен 1 мегабайтом, наибольший допустимый размер файла вложения составит 770 килобайт , а за вычетом служебной информации еще на несколько килобайт меньше – порядка 750-760 Кб.

Родственные вопросы:

Что такое MIME



Сколько компьютеров можно связать прямым кабельным соединением?


Максимально возможное количество компьютеров, соединяемых прямым кабельным соединением определяется доступными портами компьютера (см. "У меня нет свободных портов. Как мне быть?"). Используя два последовательных (либо один последовательный и один параллельный) порта можно соединить в цепочку неограниченное количество компьютеров. Для этого на каждом компьютере необходимо запустить две копии приложения "Прямого кабельного соединения" – назначив один порт ведомым, а другой ведущий. Разумеется, все порты могут быть и ведомыми (ведущими) одновременно – это полезно когда к одному компьютеру, играющему роль сервера, подключено несколько других компьютеров-клиентов по топологии звезда (см. Рис 30).

Рисунок 29 Рис 0x024 Последовательное соединение компьютеров

Рисунок 30 Рис 0х025 Топология "звезда"

Родственные вопросы:

У меня нет свободных портов. Как мне быть?



Соединение с ведомым компьютером устанавливается, но тут же разрывается. Почему?


Причина, скорее всего, в неправильных настройках портов. Для исправления ситуации зайдите в BIOS Setup, удерживая DEL во время загрузки компьютера (впрочем, в некоторых случаях процедура входа выглядит иначе – подробности в руководстве по материнской плате), найдите раздел конфигурации оборудования (он может называться, например, "PERIPHERAL SETUP" – "конфигурация периферии") и переключите на обоих компьютерах последовательный порт в режим ECP ("Extended Capabilities Port"), назначив свободное прерывание IRQ и канал DMA или значение "Auto" если BIOS поддерживает автоматическое определение.

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

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

Если значения всех параметров совпадают, то наиболее вероятная причина разрывов соединений – чрезмерная длина кабеля. Для последовательного соединения допустима длина до 30 метров, параллельного – как минимум вдвое короче, а желательно не более 6-7 метров, иначе соединение будет нестабильным. Не допускайте запутывания и образования "барашков" (петель) на кабеле – они приводят к сбоям и увеличивают затухание сигнала.



Статистика – наука точная?


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

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

Если только злоумышленник не станет "нащелкивать" миллионы кликов в день, а лишь в полтора-два раза увеличит свою посещаемость, то даже такая простая имитация введет рекламодателя в заблуждение.

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

С другой стороны, если количество реальных заходов невелико, то никаким обманом злоумышленнику не удастся их увеличить. Страница в стиле "Я и моя собака", собирающая несколько тысяч просителей в день, мгновенно вызовет подозрения у рекламодателя. А если создать действительно интересный и интенсивно посещаемый ресурс – какой смысл его "накручивать"? Не проще ли разместить вдвое больше баннеров?

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



SubЧто такое режим ASCII и как его отключить в моем ftp-клиенте?


Режим ASCII предписывает ftp-серверу передавать (принимать) содержимое файла в восьмибитной ASCII-кодировке, принудительно замещая все символы "конца строк" двухбуквенными последовательностями "перевод каретки, конец строки" согласно спецификации виртуальных терминалов (подробнее см. ответ на предыдущий вопрос).

Такой режим не годится для двоичных файлов, например, архивов или исполняемых, поэтому в таких случаях его следует отключить (или, наоборот, не включать – в зависимости от настроек ftp-клиента по умолчанию). Как конкретно это сделать должно быть рассказано в прилагаемой к программе документации (прочитайте ее от корки до корки, документация – вещь хорошая!), а ниже в качестве демонстрации будет показано как отключить ASCII-режим в популярных клиентах ReGet и FAR, в остальных же случаях ищете в настройках опции "ASCII mode" или "ASCII режим", так же может быть "Не замещать LF на CRLF" {>>>>> сноска – LF – Line Feed

– конец строки, CR - carriage return – возврат каретки} "Don’t replace (синонимы – reform, reorganize; change, transform, convert…) LF to CR LF" по-английски.



SubЧто такое TCP/UDP mapping?


Технология "TCP/UDP mapping" позволяет клиенту локальной сети, сидящему за Proxy-сервером, принимать входящие соединения, а администратору ограничивать своих подопечных, предоставляя им доступ только к заранее оговоренным ресурсам. Кроме того, mapping-серверы очень просто программировать и разработать их может сам же администратор, написав буквально десяток строк на Perl или чуть-чуть больше на Си.

Грубо говоря, TCP/UDP mapping это до предела упрощенный TCP/UDP Proxy-сервер. Принцип его работы в общих чертах заключается в следующем – Proxy ожидает подключений от локальных клиентов по некоторому порту, а, дождавшись – устанавливает соединение с заранее оговоренным Интернет – сервером по заранее оговоренному порту, причем номера портов по обе стороны не обязательно должны совпадать. Аналогично, такой Proxy сервер может принимать входящие включения извне сети и направлять их заранее оговоренному клиенту.

Например, пусть клиенты локальной сети хотят получить доступ к серверам телеконференций находящимся вне локальной сети, где-то там, в Интернет. Скажем, это news.microsoft.com, news.relcom.ru и news.org. Администратор Proxy устанавливает mapping – все подключения к Proxy-серверу по 119 порту он будет переправлять на сервер news.microsoft.com порт 119. Пользователи, желающие читать конференции с сервера Microsoft, должны прописать в настройках своего клиента не

адрес news.microsoft.com, а адрес своего Proxy-сервера, который и осуществляет такое перенаправление. То есть, для клиентов локальной сети Proxy-сервер как бы станет сервером news.microsoft.com.

Хорошо, а если кому-то потребуется обратиться еще к одному серверу новостей, скажем, news.relcom.ru – "mapping" двух серверов на один и тот же порт невозможен, т.к. Proxy не сможет понять, что от него хотят и к какому именно серверу следует переправлять пакеты. Поэтому, приходится идти на хитрость – пусть при соединении с Proxy-сервером по некоторому порту отличному от 119, т.к. этот порт уже занят, например, 666 – Proxy будет переправлять клиента на сервер news.relcom.ru порт 119. Пользователям для связи с news.relcom.ru понадобится указать в настройках программы-клиента адрес своего Proxy-сервера и порт 666 – и все будет работать нормально! Конечно, при условии, что используемое приложение допускает задание нестандартного порта для входа на сервер.



SubУ меня нет свободных портов. Как мне быть?


Подавляющее большинство материнских плат имеет только один LPT- и два COM- порта. Естественно: LPT занят принтером, на одном COM-у "вист" мышь, на другом – модем. Для удаленного соединения портов уже не хватает. Как быть?

Проще всего купить в компьютерном магазине мультикарту

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

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

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

Существует и альтернативный вариант: купить мультиплексор и попеременно переключать один порт между двумя устройствами. А если несколько мультиплексоров объединить в одну цепочку, можно повесить на каждый порт неограниченное количество устройств! Единственная проблема – они, разумеется, не смогут работать одновременно.



SubВсе равно не работает! Разрывает связь через минуту!


Да, Windows 2000 при установке прямого кабельного соединения с Windows 9x разрывает связь через минуту неактивности. Для устранения этой беды проще всего создать bat-файл следующего содержания:

:Start

ping %1

goto start

И запустить его сразу после установки соединения, передав имя соседнего компьютера. Утилита "ping", вызываемая в бесконечном цикле, будет посылать поток эхо - запросов, обеспечивая необходимую активность. Это несколько снизит скорость обмена данными, за счет постоянного "пинга", но более доступного и универсального решения проблемы, по-видимому, не существует.



Существуют ли универсальные пароли к NT?


"Универсальных паролей" к NT не существует – это вам не Award BIOS! Но в ней есть такой зверь как нуль - пользователь, который необходим самой системе для организации нуль - сессий, использующихся Windows NT для связи с другой NT.

"Вручную" установить нуль-подключение можно командной "netuse \\name\IPC$ "" /USER:""", где name – сетевое имя компьютера или его IP-адрес. Подключившийся получает доступ ко многим ветвям реестра, а так же возможность запускать User Manager для просмотра пользователей и групп, Event Viewer для просмотра журнала событий и некоторые другие утилиты.

Ветвь реестра "HKLM\Software\Microsoft\Windows\CurrentVersion\Run", содержащая имена программ, запускаемых при каждой локальной регистрации пользователя, доступна нуль - пользователю и для чтения, и для модификации! Изменяя ее по своему усмотрению, атакующий может не только выполнить одну из программ, хранящихся на сервере, но и любую из программ, находящихся на его компьютере! Для этого он должен записать нечто вроде "\\mycomputer\myprog", где mycomputer – имя компьютера злоумышленника или его IP-адрес. Командный файл выполняется с привилегиями локально зашедшего на сервер пользователя (а локально на сервер, как правило, заходят администраторы). Получив же права администратора, атакующий сможет сделать с сервером все что угодно!

Если используется автоматический вход в систему (а используется он удручающе часто), в ветке реестра "HKEY_LOCAL_MACHINE\Software\Microsoft\Windowsубратть "?" NT\CurrenetVersion\Winlogon", по умолчанию доступной группе Everyone (всем пользователям), содержатся имя пользователя, вошедшего в систему, ("DefaultUsername") и его пароль ("DefaultPassword"). Если удаленные подключения разрешены, любой член группы Everyone (т.е. всякий, зарегистрированный в системе), сможет просмотреть указанную ветвь реестра, со всеми отсюда вытекающими (для администратора) последствиями!

В Windows 2000 эти бреши в защите устранены, но нуль – пользователь по-прежнему существует и может подсоединяться к удаленному компьютеру без указания пароля.



Существуют ли вирусы, способные


Такие вирусы на сегодняшний день не известны (во всяком случае, о них не упоминает ни Евгений Касперский, ни остальные разработчики антивирусов), но, тем не менее, принципиальная возможность их создания существует. Вот навскидку несколько доводов:

а) в популярных почтовых клиентах были обнаружены ошибки, приводящие к срыву стека и вытекающей отсюда возможности выполнения кода, переданного злоумышленником (подробнее об этом смотри книгу  "Техника сетевых атак" Криса Касперски);

б) для просмотра писем, отправленных в HTML-формате, вызывается браузер, а ни один браузер на сегодняшний день не свободен от ошибок;

Вот два конкретных примера дырок, присутствующих в последней, на момент написания этих строк, пятой версии браузера IE, запущенной под управлением Windows2000:

а) поддержка "плавающих" форм реализована с ошибкой, позволяющей получить доступ к локальным файлам жертвы;

б) встроенный в письмо файл в форме chm (файл справочной системы Windows) почтовым клиентом Outlock Express 5.01 (и, возможно, другими версий) отображается автоматически, без запросов на подтверждение. А ведь chm-файлы могут содержать команды вызова исполняемых приложений!

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

Родственные вопросы:

Безопасность à Как защитится от вирусов, полученных из Интернет?

Безопасность à Небезопасность электронной почты

Безопасность à Где можно узнать о самых свежих дырках и последних обновлениях приложений?

Безопасность à Какие почтовые вложения безопасны?



Сырые сокеты


Помимо потоковых и дейтаграммных сокетов существуют, так называемые, сырые (RAW) сокеты. Они предоставляют возможность "ручного" формирования TCP\IP-пакетов, равно как и полного доступа к содержимому заголовков полученных TCP\IP-пакетов, что необходимо многим сетевым сканерам, FireWall-ам, брандмаузерам и, разумеется, атакующим программам, например, устанавливающим в поле "адрес отправителя" адрес самого получателя.

Спецификация Winsock 1.x категорически не поддерживала сырых сокетов. В Winsock 2.x положение как будто было исправлено: по крайней мере формально такая поддержка появилась, и в SDK даже входил пример, демонстрирующий использование сырых сокетов для реализации утилиты ping. Однако, попытки использования сырых сокетов для всех остальных целей с треском проваливались – система упрямо игнорировала сформированный "вручную" IP (или TCP) пакет и создавала его самостоятельно.

Документация объясняла, что для самостоятельной обработки заголовков пакетов, опция IP_HDRINCL должна быть установлена. Весь фокус в том, что вызов "setsockopt(my_sock,IPPROTO_IP, IP_HDRINCL, &oki, sizeof(oki))" возвращал ошибку!

Таким образом, на прикладном уровне получить непосредственный доступ к заголовкам TCP/IP невозможно. Это препятствует переносу многих приложений из UNIX в Windows, более того, определенным образом ущемляет возможности самой Windows, не позволяя ей решать целый ряд задач, требующих поддержки сырых сокетов.



Так какой же модем все-таки выбрать?


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

Осмысленный выбор модема требует точного знания характера помех и качества своей телефонной линии, и единственный бытовой прибор доступный для ее измерения – сам модем, причем не всякий, а только дорогая модель. Дешевый ACORP не умеет снимать даже АЧХ, не говоря уже об измерении шума, эха, сдвига несущей, дрожания фазы и т.д.

Замечательно, если ZyXEL OMNI Pro можно ненадолго одолжить у приятеля или взять на прокат – это позволит оценить ситуацию и поможет приобрести именно то, что нужно. Если же такой возможности нет – лучше не рисковать и остановить свой выбор на ZyXEL OMNI Pro. (Исключая случаи с сильно зашумленными каналами, на которых быстрее всего работает V Everything)

Родственные вопросы:

Как подобрать правильную строку инициализации или что делать, если модем не работает? (следующий)



Так ли надежны ли независимые источники?


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

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

Ситуация со счетчиками полностью аналогична. Несмотря на некоторые предохранительные меры (например, Rambler не фиксирует заходы с Proxy-серверов), счетчики очень легко накрутить до требуемого значения. Их показания ни о чем не говорят и не позволяют установить истинную посещаемость страницы.

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

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



Техника фильтрации


Существует два подхода к фильтрации пользовательского ввода:

а) выдача сообщения об ошибке и прекращение работы, если обнаружен хотя бы один опасный символ;

б) "выкусывание" всех таких символов без выдачи предупредительных сообщений и продолжение работы.

Последний подход неоправданно популярен вопреки логике и здравому смыслу. Почему? Пусть, например, адрес легального посетителя выглядит так: "horn&hoff@mail.org" Программа фильтрации "видит" потенциально опасный символ "&" и "на всякий случай" решает его удалить, - в результате письмо направляется совсем по другому адресу, а пользователь "ждет у моря погоды", не понимая почему оно до него не дошло.

Если встретился опасный символ – независимо от того, умышленно он вставлен или нет, – использовать такие данные нельзя. Скрипт обязан прекратить работу и объяснить причину своего неудовольствия пользователю.

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

if ($filename =~/[<>\|\-&\.\\\/\0]/)

{die "Ошибка ввода! Недопустиый символ \"$&\" \n";}

open(fh, $filename);

...

Перечень потенциально опасных символов зависит от конкретного случая, – создание универсального фильтра "на все случаи жизни" невозможно.

Например, при добавлении новой записи в гостевую книгу разумно выполнить проверку на предмет присутствия "нехороших" тегов, но не стоит запрещать посетителям использовать теги вообще. В то же время, передавая e-mail посетителя внешнему МТА, необходимо убедится в отсутствии символов перенаправления стандартного ввода (синтаксически неотличимых от угловых скобок, обрамляющих тэги), иначе злоумышленник сможет ввести нечто вроде "hacker2000@hotmail.com; mail hacker2000@hotmail.com </www/cgi-bin/mycgi.pl" и получить исходный текст скрипта (или любого другого файла) "с доставкой на дом"!


Поиск уязвимых мест в скриптах значительно облегчает механизм меченных данных (tainted data). Если запустить Perl с ключом "-T", он станет требовать явной инициализации или фильтрации всех скалярных переменных, передаваемых функциям eval, system, exec и некоторым другим, потенциально опасным с его точки зрения. Любые переменные, полученные извне (стандартный поток ввода, командная строка, переменные окружения и т.д.), считаются "зараженными" и не могут быть переданы "опасным" функциям до тех пор, пока не будут "обеззаражены" фильтром регулярных выражений. Если одна "зараженная" переменная присваивается другой – та тоже становится "зараженной"!

Но Perl не проверяет корректности фильтрации символов, допуская даже сквозную фильтрацию – "(.*)", и не считает опасной функцию print

(как, впрочем, и многие другие). Конструкция "$a=<>; print $a" не вызывает нареканий со стороны Perl, а ведь переменная $a может содержать нехорошие тэги и вызовы SSI!

Механизм меченных данных, во всяком случае, его реализация в языке Perl, – не панацея! И расслабляться программистам не стоит. "Зараженный режим" разумно использовать как дополнительное средство самоконтроля, но если он не нашел никаких ошибок, это еще не дает оснований считать, что их там действительно нет. Сказанное относится и к ключу "-w", заставляющего Perl выполнять дополнительные проверки, "ругаться" при попытке чтения неинициализированных переменных, попытке модификации файловых манипуляторов и т.д., – если это и усилит безопасность программы, то на самую малость.


Teleport Pro


В меню "File" ("Файл") выберите пункт "Proxy server" ("Proxy-сервер") и в появившемся диалоговом окне взведите галочку "Connect to the Internet through this proxy server" ("Подключаться к Интернет через этот Proxy-сервер"), а строкой ниже введите его IP-адрес (доменное имя) и номер порта. Если Proxy-сервер требует аутентификации в строке "Proxy Account" введите свой логин, а в окне "Proxy Password" – пароль. Нажмите "ОК" и на этом процедуру настройки можно считать завершенной.

Родственные вопросы:

Что такое Proxy-сервер и как с ним работать?

Не могу скачать файл с ftp через Proxy-сервер (Firewall)! Почему это и как быть?

Как заставить работать ICQ через Proxy или firewall?

Получение файлов à Я скачал файл с сервера, а он отказывается распаковываться (запускаться). Кто виноват и что делать?


Популярный "телепортатор" сайтов – TeleportPro – значительно менее гибок, чем его сотоварищ ReGet и не позволяет манипулировать содержимым поля "Referrer", – вся имитация браузера сводится к подделке поля "User-Agent".

Для задания желаемого значения в меню "Project" выберите пункт "Project Properties" и в появившемся диалоговом окне перейдите к закладке "Netiquette" – там, в поле "Agent Identify", предлагается на выбор один из пунктов:

"Anonymous"

– аноним (поле User-Agent пустое);

"Identify as Teleport Pro

 – идентифицировать себя как Teleport Pro (по умолчанию);

"Impersonate Microsoft Internet Explorer, version"

 – выдавать себя за Internet Explorer указанной версии (номер версии указывается в соответствующем окне);

"Impersonate Netscape Navigator"

– выдавать себя за Netscape Navigator указанное версии;

"Use this identification"

– в поле "User-Agent" помещается строка, введенная пользователем.

Родственные вопросы:

Не могу скачать файл с ftp через Proxy-сервер (Firewall)! Почему это и как быть?



Типовые ошибки и способы их устранения


Несмотря на свое многообразие ошибки разработчиков легко разделить на четные категории:

·         передача ввода пользователя внешним программам или штатным функциям без надлежащей фильтрации;

·         оформление компонентов приложения в виде самостоятельного скрипта, допускающего  непосредственный вызов удаленным пользователем;

·         помещение секретных данных в файл, доступный псевдопользователям

·          использование переменных окружения для ответственных целей

Все эти пункты подробно рассмотрены ниже.



Трезвый взгляд на SETI или стоит ли присоедияться к SETI@HOME?


Безоблачная морозная ночь… Небосвод густо усеян сотнями звезд, притягивающими взор. С юга на север протянулась туманная полоска Млечного Пути - тусклый свет миллиардов звезд спиральных рукавов нашей галактики, сливающийся в сплошное свечение.

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

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

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

Достоверно известно лишь приблизительное число звезд, потенциально пригодных для белковой жизни. Сколько же из них обладают планетными системами, мы не знаем. Тем более А сколько из них непредсказуема вероятность существования пригодныхпригодно  для обитания? планет. Увы, этого никто не знает… Но даже если у нас есть такая планета - шансы же зарождения (и сохранения!) жизни на ней невелики. Насколько точно они невелики на пригодной для этого планете оценить сказать невозможно - возникновение жизни на Земле и то загадка!

Приведу Еще несколько аргументов. Жизнь (белковая) действительно навряд ли не может быть широко распространена во Вселенной, - далеко не каждая редкая галактика подходит для этого. И неудивительно! Своему существованию мы обязаны не в последнюю очередь гигантским облакам пыли и газа, плотно окутывающим ядро нашей Галактики. Свет и жесткое излучение гигантской черной дыры, расположенной в галактическом центре, тысяч скученных звезд вязнутет

в их недрах, так и не долетев до Земли

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


Газ и пыль - следствие молодости нашей Галактики, не успевшей израсходовать свой строительный материал. Не меньше выручает ее "ленивость" - темп звездообразования у нас относительно невысок. Большинство галактик ведут себя иначе, и белковая жизнь в них невозможна. Это трудно себе представить, но это так. Звездные системы, порой в десятки раз превосходящие нашу, оказываются заведомо мертвы (во всяком в нашем, белковом, понимании жизни).

Аналогично, не в любом месте галактики, пригодной для существования, возникают благоприятные условия для возникновения жизни. Рядом не должно быть активных объектов, звезд-гигантов, опасных эруптивных переменных; звезда-родительница должна сформироваться из вторичного строительного материала, обогащенного тяжелыми элементами, образующих в будущем твердую поверхность планет…

Но даже этого может оказаться недостаточно! Сформулирован далеко не полный перечень условий, обязательных для зарождения жизни. Так, например, недавно появилась гипотеза о влиянии Плутона на дела земные. Казалось бы, самая далекая и неприметная планета (да и то не планета, а так…) Солнечной системы рискует оказаться ключевой.

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

Сейчас не важно так это или нет. Это может

оказаться так, и тогда жизнь действительно намного более редкая штука, чем мы сейчас представляем. (прим. пока книга  готовилась к печати, данная гипотеза была с разгромным треском опровергнута). Обратим внимание и на другой момент. Существование любой цивилизации по космическим меркам не может быть очень долгим (подумаешь, миллиардом лет больше, миллиардом лет меньше). Тогда, по прогнозам Шкловского, цивилизации окажутся разбросанными не только пространстве, но и во времени!



Такова печальная картина мира глазами реалиста (или скептика?). Впрочем, это не мешает заниматься поиском внеземных цивилизаций и попытками установить контакт с братьями по разуму. Идеи эти не новы и берут свое начало с той незапамятной поры, когда люди поняли, что планеты вовсе не божественные светила, а далекие космические тела, подобные Земле.

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

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

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

Еще по-летнему теплым осенним днем, 19 сентября 1959 года, в 4690 номере журнала "Nature" была опубликована пионерская работа двух ученых Дж. Коккони и Ф. Моррисона "Поиск межзвездных коммуникаций". Суть ее сводилась к следующим тезисам:

- электромагнитные волны оптимальное средство общения с внеземными цивилизациями;

- внеземные цивилизации пытаются установить с нами связь;

- сигналы внеземных цивилизаций должны быть узкополосными и непериодическими;

- сигналы вероятнее всего ожидать  на длине волны 21 см;

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

Именно эти принципы практически в неизменном виде и были положены в основу проекта SETI (Search for Extra Terrestrial Intelligence). {УБРАТЬ КУРСИВ >>>} Не то, что бы иные исследования совсем не велись, но предпочтение им отдавалось явно второстепенное.



Сегодня такой подход к проблеме вызывает не более чем снисходительную улыбку специалистов. Амбициозный Архипов во всю критикует застоялое болото, призывая опустить взгляд с небес на Землю и Луну. Туда, где возможно сохранились артефакты и останки кораблей иных цивилизаций, - стоит только хорошо поискать, и найти если не иголку в стоге сена, то каплю в океане.

Впрочем, к идеям Архипова вернемся позже, а сейчас обратим внимание на один удивительный факт. Аппаратура, предназначенная для поиска внеземных цивилизаций, отдает практически все часы наблюдений другим программам. Типичный случай телескопа "двойного назначения" наш знаменитый "шестисотый" РАТРАН. Антенна этого грандиозного сооружения, построенного человечеством, превышает в диаметре половину километра! Одной из задач телескопа при его конструировании, значилось "поиск внеземных цивилизаций".

Этим же вопросом не уставали интересоваться все высокопоставленные чиновники, посетившие телескоп. Стыдливо умолчим, какую лапшу им ухитрялись вешать на уши - радиоастрономы, стесненные графиком наблюдений, просто не могли отдавать драгоценное время на такую чепуху.

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

Но не стоит воспринимать SETI, как грандиозное надувательство, – проект SETI это одно, а удачный повод для инвестиций своих проектов - совсем иное. Между тем, значительная часть астрономического оборудования была построена благодаря соперничеству двух держав за первенство в межзвездных контактах.



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

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

А теперь о недостатках: скорость триста тысяч километров в секунду невообразима велика только в земных масштабах. Для двухсторонней связи даже с ближайшими звездами она непригодна.

Теоретически можно допустить, что некая цивилизация послала свой "мяв" во Вселенную, не дожидаясь ответа. Не будем задаваться вопросом ценности сигнала, выпушенного цивилизаций, успевшей к моменту его получения развеяться в прах. Лучше подумаем, как его вычленить из космических шумов. Это только невооруженному глазу Вселенная кажется спокойной и стационарной. Радиоволны же доносят шумы, трески, последние вздохи погибающих звезд, иногда перекрываемые загадочными еще ни с чем не отождествленными стонами. Бессмысленно слушать Вселенную, точно не представляя какой звук какому процессу принадлежит.

Впрочем, можно сосредоточится в узком волновом диапазоне, одним махом отсеяв множество помех. Нужно лишь "договориться" с внеземной цивилизацией какой именно частоте следует отдать предпочтение. А почему бы не численно равной длине волны нейтрального водорода - самого распространенного вещества во Вселенной?

Отсюда и взялись "пресловутые" 21 см. Ожидается, к такому же выводу придут и далекие "братья по разуму". Никаких других соображений на этот счет нет. Но кто поручится за логику неизвестной цивилизации? Может быть (даже, скорее всего), с ее точки зрения, более предпочтительной окажется другая частота.



Но даже сверхцивилизация не может позволить роскоши всеволнового всенаправленного передатчика. Ни технически, ни энергетически это невозможно (и не будем здесь даже обсуждать почему). С другой стороны, узконаправленный луч может бесконечно долго обшаривать космос, не находя адресата.

Таким образом, надежда на сколь ни будь продолжительное во времени послание рассеивается, словно утренний туман. Сумеем ли мы отличить кратковременный импульс послания (если вообще поймаем его) от естественных космических шумов?

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

Но пыл неисправимых оптимистов ни цифры, ни аргументы не охлаждают. Попытаемся отправить их с тыла на фронт. Разделимся на группы, раскиданные по широкой степи. У каждого из нас фонарик да бинокль. С наступлением темноты попробуем связаться друг с другом. Задача простая - установить контакт, ухитрившись передать информацию о себе.

Не будем ухмыляться над тепличностью условий. Повод поржать (иначе не скажешь) у нас еще будет. С расстояния 10 5 км, когда луч фонарика отчетливо(!) виден в бинокль, группы с завидным упрямством обнаруживать себя отказываются. За исключением единичных случаев стабильное общение начинается лишь когда ближайшие соседи расположены в пределах полукилометра друг от друга, – по космическим меркам, совсем рядом.

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

Небесспорен и последний тезис. Откуда взялась уверенность, что с нами хотят установить связь? Кто и насколько этого хочет? Тем паче, что связи, как таковой не будет. Во всяком случае, на радиоволнах.

К сожалению, сегодня ничего нельзя предложить в альтернативу. Более быстрыми носителями информации мы не располагаем. В нашей Вселенной ни одно взаимодействие, из известных на сегодняшний день, не распространяется быстрее света.

Это пресловутое ограничение действует на все тела, точнее говоря, на все элементарные частицы, из которых "слеплен" окружающий мир. Но, изучая строение вакуума, физики приходят к выводу сложного устройства "пустоты". микромира, физики приходят к выводу, что мир – как бы он ни был огромен – един, а все ограничения – от лукавого. Быть может, это и есть дверь в мир сверхсветовых скоростей?

Так или иначе, это загадки завтрашнего дня…. На этой ноте и завершим главу. Слишком рано и слишком наивно мы пытаемся заговорить с иными мирами. Так, когда-то алхимики пытались получить философский камень, а астрологи – предсказать судьбу по звездам. Впрочем, сегодня мы осознаем неполноту наших знаний и даже пытаемся угадать направление, в котором надо идти.


У меня стоит Internet Explorer 5.0, но я не могу открыть mht файл. Почему?


Для работы с mht файлами достаточно иметь Internet Explorer четвертой версии или выше. Весь фокус в том, что mht файлы являются "собственностью" Outlook Express 5.0 и если он не был установлен, Internet Explorer не будет поддерживать mht файлы– он не сможет ни открыть их, ни сохранить страницу Web-страницу в формате MIME (см "Что такое mht файлы и зачем они нужны?", "Как сохранить WEB-страницу на диск для ее просмотра в Off-Line?").

Установка Outlook Express 5.0 или выше должна решить эту проблему.

Родственные вопросы:

Что такое mht файлы и зачем они нужны?

Как сохранить WEB-страницу на диск для ее просмотра в Off-Line?



Уязвимость самостоятельных модулей


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

Например, посетитель вводит в форму "Search" свой запрос, браузер извлекает его и передает поисковому скрипту, который отыскав файл документа с таким содержанием, передает его имя другому скрипту, предназначенному для его отображения.

Разработчик, предполагая, что второй скрипт всегда будет вызываться только первым, может и не предпринять никаких усилий по фильтрации ввода второго скрипта. Но ведь ничто не мешает злоумышленнику непосредственно вызывать этот скрипт самому, передав ему имя любого файла, который он хочет посмотреть (например, "/etc/passwd"), а не только *.html!

Любые данные, принимаемые любой программой извне, должны быть проверены! Необходимо убедиться в том, что запрошенный файл пользователю действительно можно смотреть. Этого не так-то просто добиться, как может показаться на первый взгляд – проверка запроса на соответствие именам запрещенных файлов ничего не решает – злоумышленник может запросить и базу данных клиентов сервера, и содержимое интересующего его скрипта, и т.д., – всего не перечислишь! Ограничение области видимости текущей директорией – так же не приводит к желаемому результату, во всяком случае, без фильтрации символов обращения к вышележащим каталогам.

Надежнее всего передавать не имя отображаемого файла, а его  номер в списке доступных для просмотра файлов. Существенные недостатки такого решения – сложность скрипта и необходимость постоянной коррекции списка доступных файлов при всяком добавлении или удалении новых документов на сервере.

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


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

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

Не стоит надеяться на проверку переменной HTTP_REFERER – она заполняется самим HTTP-клиентом и может содержать все, что угодно! Грамотно спроектированный скрипт должен помещать в скрытое поле не только имя пользователя, но и его пароль. Для чатов такая защита вполне подойдет, но в более ответственных случаях пароль следует шифровать по алгоритму с несимметричными ключами или хешировать по схеме "запрос-отклик". Иначе злоумышленнику, перехватившему трафик, не составит большого труда его узнать. Техника шифрования – тема отдельного большого разговора, в контексте же настоящей книги вполне достаточно указать на необходимость шифрования, устойчивую к перехвату, а как ее реализовать – это уже другой вопрос.

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

Кроме того, браузеры Internet Explorer и Netscape Navigator заносят в общедоступный журнал URL все посещенные за такой-то период сайты, – на компьютерах коллективного использования это приводит к возможности перехвата секретной информации, переданной на сервер методом GET. В отличие от него, метод POST помещает содержимое запроса в HTTP-заголовок, что намного безопаснее.


В Windows NT 4.0 нет прямого кабельного соединения. Или я не там его ищу?


Последнее – совершенно справедливо. В WindowsNT возможность прямого соединения, разумеется, есть! Щелкните в "Панели управления" по иконке "Модем" и нажмите "Добавить". Откажитесь от услуг мастера, установив галочку напротив пункта выбирать модем вручную из списка. В левой панели выберете "Стандартный модем", а в правой – прямое кабельное соединение по параллельному или последовательному порту.

Если компьютер с Windows NT 4.0 играет роль ведомого, кликнете "Сеть" в "Панели управления" для установки RAS, но не соглашайтесь на предложения автоматического поиска адаптера, а попросите позволить вам выбрать его самостоятельно. В списке адаптеров найдите "MS Loopback Adapter" – эмулятор сетевой карты. На запрос типа фрейма введите "802.3" и укажите требуемый порт. Запустите RAS, и компьютер с этого момента будет ожидать прямых кабельных подключений.

Если компьютер с Windows NT 4.0 играет роль ведущего, то просто установите нуль-модем, как было показано выше, и создайте соединение с его использованием. Это позволит подключиться Windows NT к другой NT, но не Windows 9x.

О том, как соединить Windows NT (равно, как и Windows 2000) с Windows 9x рассказывает одноименный совет.



Вирусы и легальные программы


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

Сказанное выше применимо не только к вирусам. Точно так действуют и легальные программы. Обратите внимание – не могут, а уже действуют. Существуют даже готовые пакеты "накруток", предназначенные для интеграции в другие приложения, например, AddGateway. Причем, многие из них нагло прописывают себя в автозагрузке и крутят баннеры не только в момент своей работы, но и в любое другое время! (При условии, конечно, что пользователь находится в сети).

Не все разработчики упоминают этот факт в документации

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

Разработчики антивирусов, похоже, не видят ничего опасного в таких программах и не выдают предупреждающих сообщений при их проверке. А следовало бы… Пользователю, не особо разбирающемуся в тонкостях операционной системы, обнаружить и защитится от подобных "гостей" очень трудно. Персональные межсетевые экраны, наподобие AtGuard, здесь бесполезны, поскольку, не могут достоверно определить кто устанавливает исходящее соединение – легальный пользователь или нехорошая программа. Тем более что "совсем нехорошие" программы крутят банеры с помощью браузера, делая невидимым его окно.

При возникновении подозрений рекомендуется запустить утилиту msconfig в Windows 9x или "Панель управленияàАдминистрированиеàУправление компьютером" в Windows NT\2000 и удалить все лишние программы из "Автозагрузки". Затем с помощью утилиты Depends (входит в Windows SDK) посмотреть: какие модули импортируют подозреваемые программы. Большинство "накрутчиков" выдают себя наличием модуля ws2_32.dll, необходимого для установки и поддержания TCP-соединений.

Большинство, но не все! Ведь ничто не мешает запустить браузер с помощью утилиты start.exe или API-функции CreateProcess, а затем скрыть его окно вызовом ShowWindow. Для полной уверенности необходимо дизассемблировать и подробно проанализировать каждое, потенциально опасное, приложение. Такая работа доступна далеко не всякому специалисту, не говоря уже о простых пользователях!

Словом, было бы очень хорошо, если бы разработчики антивирусов наконец-то обратили на эту проблему свое внимание.



Вирусы - кибернетический Минотавр или Мания?


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

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

??? Рисунок "карикатура" обыграть предыдущий абзац

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

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

Разумеется, это не осталось "безнаказанным", и у членов так и не создавшегося штаба от натиска новых вирусов трещали BBS-ы, "слетало с катушек" содержимое жестких дисков... Впрочем, через некоторое время пожар страстей погас сам собой, и жизнь потекла прежним чередом.

Забавно, но клуб вирусописателей (речь идет, о SGWW – Stealth Group World Wide – Всемирная Группа Невидимок, как уже догадались завсегдатаи SU.VIRUS и прочие участники событий) все же оставил после себя след в песке истории. – Выпустил с десяток номеров электронного журнала, издал свою книгу, высказался в газетах, пускай и местного масштаба, но все-таки! Члены же клуба "отрывания ведущего компонента детородного органа", так и остались с этим органом и с мегабайтами электронного флейма, осевшего на многих серверах Интернет.

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


Цель - не человек. Его цель информация, которую он разрушает, словно камни, растирая в порошок. Но кто тогда Антивирус? Благородный Геракл, спускающийся на смертный бой?

Нет! Информация и электронные сигналы, циркулирующие среди миллионов проводников, не знают добра и зла. Антивирус - точно такое же чудовище, только на службе у человека.

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

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

Ответ прост, - вирусы вторглись в частную собственность ее владельцев. А информация обрела черты материальной собственности. Например, этот текст, что сейчас набирается на компьютере, с точки зрения вируса – всего лишь набор байт, который в одно мгновение может быть развеян по винчестеру. С точки же зрения его обладателя (то есть меня), время, потраченное на написание и, - пусть и скромная, но все же осязаемая сумма гонорара, выплачиваемая редакцией за публикацию, делают информацию таким же осязаемым эквивалентом материальной ценности, как и сто долларовая купюра (Доллары, кстати, та же информация).

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

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

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



Почему так происходит? И как объяснить вирусописателям, что их точка зрения неправильная, а за информацией стоит труд создавших ее людей? Ответ обескураживающий – никак!

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

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

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

Для них весь мир - игрушка. Компьютер игрушка, и вирус - игрушка. Да и что можно программировать на сегодняшних компьютерах? Игру "крестики-нолики" - не интересно. Шахматы - слишком сложно для начинающих.

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

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

Бесполезно! Пока не наткнется иное лицо пару раз на вирус, оно не поумнеет, - все будет надеяться на "авось да пронесет".



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

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

Это вообще ни в какие ворота не лезет. Кто живой? Вирус что ли? Вот эта примитивная программа из сотни строк, которая не способна ни на что, кроме тупого заражения строго определенного типа файлов, по строго определенному шаблону? Да по сравнению с вирусом тот же Word интеллектуал! На антивирус (убийцу де) возложены куда более емкие и требующие адаптации и элементов искусственного интеллекта задачи!

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

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

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

Действительно, на первый взгляд компьютерный вирус внешне схож с вирусом биологическим. Размножается, копирует себя только в файлы определенного формата (избирательность то бишь), имеет инкубационный период... можно долго перечислять. Но это только внешнее сходство, и ничто более.

Героиня на экране - это копия живого человека. Она выглядит как человек, движется, говорит... только не факт, что она живая. Это только изображение на кинопленке. Копия живого человека, только копия, а сам оригинал остался где-то там...

Так и с вирусами. Эмулировать поведение биологического вируса несложно (в силу его простоты), но эта эмуляция никогда не достигнет оригинала... и останется лишь электронной копией.

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



Но вирусы при этом не исчезнут. Они просто перекочуют туда, где и появились - в стены лабораторий и компьютеры исследователей. И не удивительно – репродуцирующиеся (то есть размножающиеся) программы стали частью прикладной науки и имеют огромный познавательный интерес.

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

Существуют ли вирусописатели - исследователи? Конечно! Тот же Данилов (автор небезызвестного антивируса Dr.Web) увлекается их написанием. Правда, ни один из них не увидел "белого света", так и оставшись на компьютере разработчика. Это хороший пример увлекательного занятия, без ущерба для окружающих. Люди с высокой моральной ответственностью никогда не позволят себе опуститься до вреда другим пользователем. Так и химик, разработавший новый токсин, не бежит, чтобы вылить его в ближайший пруд или водопровод.

Вирус – лишь одно из многих средств пакости другому человеку. Удивительно, но в полемиках об этом часто забывают и зацикливаются только на вирусописателях. Свет клизмой на них что ли сошелся?

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

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

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

Но если бы вирусам и их авторам уделяли бы меньше влияния, поверьте, их ряды бы сразу и быстро поредели.


Вместо заключения


Отсутствие надежных средств идентификации пользователя – одна из центральных проблем современного Интернет. Именно анонимность позволяет злоумышленникам совершать атаки, оставаясь ненаказанными. Если рекламодатели действительно хотят донести информацию до клиента, им необходимо настоять на доработке HTTP-протокола и внесению в него команд, предназначенных специально для загрузки баннеров.

Пусть некий третейский арбитр выдает каждому абоненту Интернета специальный ключ, позволяющий однозначно идентифицировать клиента. Посылая запрос на загрузку баннера, клиент передает на сервер и зашифрованный ключ, подтверждая аутентичность своего запроса. Обхитрить такую схему будет нелегко, если вообще возможно. За исключением одного "но". Не будет ли справедливым выплачивать деньги не держателю сайта, а самому клиенту за просмотр рекламы?

Боюсь, что клиент никаких денег не получит, но протокол HTTP и сами браузеры в скором будущем действительно доработают так, чтобы доступ к ресурсу открывался только после просмотра рекламы. Ходят упорные слухи, что коммерсанты усиленно давят на политиков, требуя запретить "баннеро - резки" как вредоносные программы, приносящие убыток владельцам сайтов.

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



Внутренний или внешний?


Внешние модемы (особенно хорошие) всегда дороже внутренних того же аналогичного класса. В то же время, скорость, начертанная на коробке, в обоих случаях одинаковая – 56, - других модемов сегодня днем с огнем не сыщешь! Так за какие же такие преимущества внешнего модема стоит платить деньги?

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

Второе – "зависания" внешнего модема "лечатся" включением-выключением его питания, в то время как внутренний же приходится "реанимировать"

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

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

Впрочем, два последних достоинства даны лишь в "довесок" к первому – надежность связи превыше всего, а в ней-то встроенные модемы проигрывали, и будут проигрывать. С другой стороны, грамотно сконструированный внутренний модем со всеми фильтрами и цепями развязки на линиях хорошего и отличного качества практически не уступает внешнему модему ни по скорости, ни по надежности.

При этом он не занимает места на столе (под час это весьма актуально), питается от блока питания компьютера (не требуя персональной розетки или переходника к UPS), и самое главное – не "отъедает" последовательный порт, который может требоваться и для других вещей (сканер, USP, Direct Cable Connection и т.д.).



и поделиться опытом управления симулятором


Обменяться своими впечатлениями и поделиться опытом управления симулятором можно на канале IRC, доступном и через WEB-интерфейс (http://moss.askkewi.net/). Там же можно задать вопросы разработчикам проекта (не то что бы часто, но они там появляются).

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

Среди англоязычных серверов самые большие информационные залежи находятся на Mars Operations Support System (MOSS) - http://moss.askkewi.net/, а обо всех новостях и обновлениях симулятора можно узнать на страничке http://mars.graham.com/mplwits/news.htm.


Официальное название симулятора Mars Polar


Официальное название симулятора Mars Polar Lander - WITS,  что расшифровывается как Web Interface for Telescience. Именно это нужно набирать в строке запроса поисковых серверов, что бы найти хотя бы крупицы информации в бескрайнем океане сети.

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


Только кончая задуманное сочинение, мы


" Только кончая задуманное сочинение, мы уясняем себе, с чего нам следовало его начать".
Блез Паскаль


Когда для решения поставленной задачи возможностей "голого" HTML оказывается недостаточно, приходится прибегать к вызову внешних программ, взаимодействующих с web-сервером через cgi-интерфейс. Такие программы могут быть написаны на любом языке, хоть на Бейсике, но исторически сложилось так, что в подавляющем большинстве случаев для их разработки используется Perl.
Это лаконичный, немногословный, мощный и в то же время легкий в освоении язык, реализованный практически на всех существующих платформах и операционных системах. Он выгодно отличается от Си отсутствием характерных для последнего проблем переполнения буферов. Однако, несмотря на все свои достоинства, с точки зрения безопасности Perl – едва ли не худший выбор.
Изначально Perl предназначался для разработки средств управления и мониторинга многоуровневых сетей – локальных приложений, нетребовательных к защищенности. Неудивительно, что создатели Perl сочли удобство эксплуатации более приоритетным, чем обеспечение безопасности. Типичный пример: вызов open
может не только открывать файл, но и запускать его, если в имени присутствует символ конвейера. Излишняя гибкость и самостоятельность языка заметно ускоряют программирование, но создают проблемы при написании серверных приложений, обязанных не допустить выполнение любых действий, явно не санкционированных разработчиком.
Никогда нельзя быть уверенным, что все клиенты будут использовать программу "как нужно", а не "как можно". Помимо непреднамеренных ошибок пользователей, большую угрозу представляют злоумышленники, пытающиеся найти такие запросы, обработка которых причинила бы урон серверу.
Проблема усугубляется тем, что большинство скриптов разрабатываются непрофессионалами, порой только-только осваивающих Perl. Неудивительно, что при этом практически всегда допускаются ошибки, приводящие к уязвимости скрипта. На сегодняшний день качественный скрипт – скорее исключение, чем правило. Ошибки нередко обнаруживаются и в профессиональных (вернее, претендующих на это звание) продуктах. Все скрипты Мэта Райта, приведенные в его книге "CGI/Perl", и получившие в результате этого большую распространенность, некорректно фильтруют ввод пользователя, допуская тем самым возможность атаки на сервер.
Создание безопасных серверных приложений представляет серьезную проблему, решению которой и посвящена настоящая глава. (см. так же "Техника сетевых атак" Криса Касперски)


Сокеты (sockets) представляют собой высокоуровневый унифицированный интерфейс взаимодействия с телекоммуникационными протоколами. В технической литературе встречаются различные переводы этого слова – их называют и гнездами, и соединителями, и патронами, и патрубками, и т.д. По причине отсутствия устоявшегося русскоязычного термина, в настоящей статье сокеты будет именоваться сокетами и никак иначе.
Программирование сокетов не сложно само по себе, но довольно поверхностно описано в доступной литературе, а Windows Sockets SDK содержит многоженство ошибок как в технической документации, так и в прилагаемых к ней демонстрационных примерах. К тому же имеются значительные отличия реализаций сокетов в UNIX и в Windows, что создает очевидные проблемы.
Автор постарался дать максимально целостное и связанное описание, затрагивающее не только основные моменты, но и некоторые тонкости не известные рядовым программистам. Ограниченный объем журнальной статьи главы, непосредственно не относящейся к основой теме книги, не позволяет рассказать обо всем, поэтому, пришлось сосредоточиться только на одной реализации сокетов – библиотеке Winsock 2, одном языке программирования – Си\Си++ (хотя сказанное большей частью приемлемо к Delphi, Perl и т.д.) и одном виде сокетов – блокируемых синхронных сокетах.


Большинство ресурсов современного Интернета существует исключительно за счет рекламы. Владельцы сайтов стремятся увеличить количество показов баннеров всеми возможными – и честными, и нечестными – средствами. Рекламодателю, понятное дело, не улыбается тратить свои кровные впустую, оплачивая показы баннеров, которых никто не видел.
Извечное противостояние щита и меча – злоумышленник изыскивает способы обмануть рекламодателя, а рекламодатель всеми силами стремится распознать обман злоумышленника.
Эта глава раскрывает те хитрости, включая нетрадиционные и малоизвестные, к которым прибегают злоумышленники для обмана своих спонсоров. Технические детали атак опущены – книга ориентирована не на взлом, а на защиту и адресована в первую очередь на
разработчикам собственных баннерных сетей.

Windows 9x


::Способ 1 - создайте командный файл следующего содержания: "rundll32.exe rnaui.dll,RnaDial "Имя соединения"", где "Имя соединения" – название одного из соединений в папке "Удаленный доступ к сети". (см. рис. 7) Запустите этот файл и – все!

Рисунок 7 рис. 0x01F Вход в Интернет из командной строки

{К рисунку: подретушировать красную линию (окультурить стрелку и т.д)}

::Способ 2 – перетащите из папки "Сеть и удаленный доступ" иконку выбранного соединения на "Рабочий Стол" или в другую папку. В сеансе MS-DOS наберите команду "start Полное Имя Ярлыка Соединения, Включая Путь". Работает? Вот и ладненько!


Откройте папку "Удаленный доступ к сети". В меню "Соединения" выберете пункт "Настройка" и в открывшемся диалоговом окне снимите галочки напротив пунктов "Запрос сведений перед набором номера" и "Запрос подтверждения после подключения". Все!




Если в "Свойствах" модема ("Панель управления" à

"Модем" à

"Свойства") стоит галочка "Вести протокол для этого модема", то в каталоге %Windows% лежит файл "Имя Модема.log", содержащий подробную информацию обо всех сетевых сессиях – время входа, количество полученных и переданных байт, время разрыва соединения и т.д. Конечно, это неполноценное средство учета времени проведенного в сети, но зато хорошее средство убедиться, что сервер статистики провайдера, если таковой имеется (см. "Безопасность à Как узнать, что моим паролем пользуется кто-то еще?") не лжет и вашим паролем не пользуется никто другой.

Пример содержимого файла протокола с комментариями автора (комментарии находятся спереди комментируемых строк).

Файл C:\WINDOWS\ Rockwell 33.6 DPF External PnP.log

// 20 января 2001 года. Зима. Метель.

// На системных часах компьютера 10 часов 22 минуты 16 с копейками секунд

// Автор дважды щелкает по иконке удаленного доступа…

01-20-2001 10:22:16.72 - Rockwell 33.6 DPF External PnP in use.

// Тип

модема - Rockwell 33.6 DPF External PnP

01-20-2001 10:22:16.73 - Modem type: Rockwell 33.6 DPF External PnP

// Путь к inf файлу, содержащим настройки модемов, в том числе и этого

// сам inf файл хранится в каталоге %Windows%\inf

01-20-2001 10:22:16.73 - Modem inf path: MDMMOD.INF

// секция в inf файле, хранящая настройки данного модема

01-20-2001 10:22:16.73 - Modem inf section: Modem2

// ???

01-20-2001 10:22:16.98 - 115200,N,8,1

01-20-2001 10:22:17.20 - 19200,N,8,1

01-20-2001 10:22:17.20 - 19200,N,8,1

// Система приступает к инициализации модема

01-20-2001 10:22:17.20 - Initializing modem.

// Система посылает модему команду AT

(команда инициализации)

01-20-2001 10:22:17.20 - Send: AT<cr>

01-20-2001 10:22:17.20 - Recv: AT<cr>

// Модем о ответ говорит "ОК"




Для установки утилиты прямого кабельного соединения выполните следующие действия: зайдите в "Панель управления", кликните по иконке "Установка и удаление программ", перейдите к закладке "Добавление и удаление компонентов Windows" и установите следующие компоненты: "Связь"à "Прямое кабельное соединение" и "Связь" à "Удаленный доступ к сети". Затем в той же "Панели управления" кликните по иконке "Сеть" и установите "Контролер удаленного доступа" (если он не был установлен ранее), нажав кнопку "Добавить" à "Сетевая плата" à "Microsoft" à "Контролер удаленного доступа". Вместе с контроллером Windows добавит "Семейный вход в систему" и протокол "TCP/IP". Для организации сети Microsoft можно добавить "Клиент" à "Microsoft" à "Клиент для сетей Microsoft". Ведомому компьютеру потребуется "Служба доступа к файлам и принтерам сетей Microsoft", содержащаяся в категории "Службы". На ведущий компьютер ее устанавливать не требуется. Затем, как и предлагает Windows, следует перезагрузиться.

Остается только "зашарить" ресурсы ведомого компьютера, т.е. сделать их доступными для совместного использования. "Зашаривать" можно и целые диски, и отдельные директории, и принтеры. О совместном использовании Интернет-соединений рассказано отдельно (см. "Как обеспечить совместный доступ к одному Интернет - соединению"), а для "зашаривания" файлов и директорий щелкните по выбранному ресурсу правой клавшей мыши, выберите в контекстном меню пункт "Свойства", перейдите к закладке "Доступ", где и переместите радио кнопку с положения "Локальный" в "Общий ресурс".




Вся корреспонденция хранится в директории "\WINDOWS\Application Data\Microsoft\Outlook Express". Все папки Outlook представлены файлами с теми же самыми именами с расширением dbx.




"\WINDOWS\Application Data\Microsoft\Address Book". Имя адресной книги совпадает с именем пользователя.




Запустив telnet.exe, необходимо вызывать диалог "Параметры терминала", активируя пункт меню “ТерминалàПараметры”. Появляется следующее окно (смотри рисунок 53):

Рисунок 54 Рисунок 059 Параметры терминала telnet.exe

При работе с telnet-сервером флажок "Отображение ввода" (другой распространенный вариант названия этой опции "Локальное эхо") должен быть сброшен, иначе все вводимые с клавиатуры символы будут дублироваться. Это происходит потому, что telnet-сервер возвращает клиенту все символы, набранные им с клавиатуры. Не может же пользователь работать вслепую?

Это кажется настолько очевидным, что существование альтернативных вариантов просто не укладывается в голове, но, несмотря на это они существуют! Напротив, в большинстве экспериментов, описываемых в книге, флажок "Отображение ввода" придется взводить, поскольку такие сервера как, например, SMTP, POP3, HTTP "молча" проглатывают отдаваемые пользователем команды и возвращают результат своей работы, но не отображают принятые символы на терминале. Однако клиент telnet может самостоятельно выводить на экран все нажатые клавиши, если флажок "Отображение ввода" установлен.

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

Форму курсора предлагается выбрать между "простым" и "прямоугольным". "Простая" приводит к появлению на экране символа прочерка, изображенного на рисунке 54.2. Напротив, прямоугольный курсор занимает всю строку целиком и выглядит так, как показано на рисунке 54.1.

           

Рисунок 55 Рисунок 062 "прямоугольный курсор"                         Рисунок 063 "Простой курсор"

"Клавиатура VT100" указывает на необходимость эмуляции клавиатуры терминала VT-100, отличающегося от обычных терминалов наличием клавиш-стрелок, управляющими положением курсора. Если этот флажок сбросить, в редакторе vi придется пользоваться клавишами "<h>,<j>,<k>,<l>", что может оказаться несколько непривычно современному пользователю, поэтому "VT100" лучше всегда держать установленным.



Windows 98 SE


Вторая редакция Windows 98 выгодно отличается от своей предшественницы умением совместно использовать сетевые соединения. Правда, по умолчанию эта возможность выключена, и многие о ней даже не подозревают! Чтобы ее задействовать установите компонент ICS

Internet Connection Sharing  в "Установке Windows" à

"Средства Интернет" à

"Internet Connection Sharing". Если такого пункта здесь нет – вам подсунули майскую версию Windows 98 под видом "Second Edition"!

Рисунок 23 Рис 0х00B Установка компонента ICS в Windows SE

После завершения установки Internet Connection Shared

автоматически запускается Мастер, подготавливающий его к работе и создающий клиент-диск. Никаких трудностей на этом этапе возникнуть не должно. Если Мастер задаст вопрос об используемом адаптере, укажите "Контроллер удаленного доступа".

Затем, после перезагрузки, в свойствах "Internet Explorer" выберете закладку "Соединения" и напротив тех соединений, которые хотите использовать совместно, установите галочку "Разрешить совместный доступ".

Теперь необходимо подготовить к работе клиента. Вставьте в компьютер, не имеющий прямого Интернет-соединия, только что созданный диск и запустите оттуда файл "ICSCLSET.EXE". (Он там один, за исключением, Readme). Вновь запустится Мастер, который настроит клиента.



кликните правым мышем по иконке


Откройте папку "Сеть и удаленный доступ к сети", кликните правым мышем по иконке удаленного соединения с провайдером, в открывшемся диалоговом окне перейдите к закладке "Параметры" и в "Параметрах набора номера" снимите галочку "Запрашивать имя, пароль, сертификат и т.д.".

Если вы используете несколько различных удаленных соединений – эту операцию придется проделать над каждым из них.

Родственные вопросы:

Можно ли войти в Интернет, используя только командную строку?

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



Гораздо проще установить прямое кабельное соединение в Windows 2000. Достаточно лишь нажать "Пуск" à "Настройка" à "Сеть и удаленный доступ к сети" à "Создание нового подключения" à "Прямое подключение к другому компьютеру через последовательный, параллельный или инфракрасный порт", выбрать роль компьютера – ведущий или ведомый, назначит порт, и нажать "Готово". На этом все! Один нюанс – чтобы назначить свой компьютер ведомым необходимо обладать правами администратора, иначе ничего не выйдет.

Ведомый компьютер автоматически приступает к ожиданию подключений сразу же после загрузки системы. Для установки соединения владелец ведущего компьютера должен нажать "Пуск" à "Настройка" à "Сеть и удаленный доступ к сети" и выбрать ранее созданное прямое кабельное соединение. Подключение сетевых дисков осуществляется точно так же, как и в Windows 9x.

Родственные вопросы:

Какова максимальная скорость кабельного соединения?

Как установить прямое кабельное соединение через USB-порт?

Как обеспечить совместный доступ к одному Интернет - соединению

Сколько компьютеров можно связать прямым кабельным соединением?

В Windows NT 4.0 нет прямого кабельного соединения. Или я не там его ищу? (следующий)



Гораздо проще "зашарить" Интернет - соединение в Windows 2000. Достаточно в свойствах удаленного соединения ("Пуск"à "Настройка" à "Сеть и удаленный доступ к сети" à

"Соединение с моим провайдером", вызов контекстного меню нажатием правой клавиши мыши à "Свойства") установить галочку "Разрешить другим пользователям устанавливать частное подключение к моему компьютеру с помощью туннеля в Интернете или другой сети".



Рисунок 24 0x00D Зашаривание Интернет-соединения в Windows 2000

Родственные вопросы:

Как установить прямое кабельное соединение через USB-порт? (следующий)



В Windows 2000 все папки Outlook хранится в директории "\Documents and Settings\Kris Kaspersky\Local Settings\Application Data\Identities\{DFDDC7DC-0E74-49BD-9DE5-3D8E08C6A51F}\Корпорация Майкрософт\Outlook Express", где "Kris Kaspersky" – регистрационное имя пользователя, под которым он зашел в систему.

Внимание: папки Outlook не всегда представлены одноименными файлами!

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

Родственные вопросы:

Где Outlook хранит адресную книгу?

Можно ли восстановить случайно удаленное сообщение?

Я удалил из паки большое количество сообщений, но ее размер не изменился. Почему?



"\Documents and Settings\Kris Kaspersky\Application Data\Microsoft\Address Book", где "Kris Kaspersky" –  имя пользователя под которым он вошел в систему. Имя адресной книги совпадает с именем пользователя.



В поставку Windows 2000 входит значительно измененный telnet?клиент, – это консольное приложение, вызывающее трудности с настройкой у новичков. Оно может работать в двух режимах - в рабочем и командном.

Командный

режим предназначается для управления клиентом. Все символы, введенные с клавиатуры, обрабатываются самим клиентом и не передаются на сервер. Сразу после запуска, клиент находится в командном режиме. Для того чтобы получить список существующих команд достаточно набрать "?" или "help". Установить соединение с сервером можно либо воспользовавшись командой "open имя сервера порт", либо указав адрес сервера (и порт) в командной строке. По умолчанию используется двадцать третий порт.

После успешной установки соединения, клиент переходит в рабочий режим. Возвратится обратно в командный (если возникает такая необходимость) помогает нажатие сочетания клавиш <Ctrl-]>. Находясь в командном режиме, можно в любой момент закрыть активное соединение командой "close" или выйти из клиента (с закрытием соединения) командой "quit". Для переключения из командного в рабочий режим нажмите клавишу <Enter>.

Две команды "set" и "unset" позволяют управлять параметрами клиента. Доступны следующие опции (для получения их списка укажите знак вопроса после команды set

или unset):

NTLM -                              посылать серверу при аутентификации только NT хеш LOCAL_ECHO          эхо-отображение символов, набираемых на клавиатуре

TERM                                 тип терминала (ANSI, VT100, VT52 или VTNM)

CRLF                                  завершать каждую строку символами CR (0xD) и LF (0xA)

Команда set устанавливает требуемую опцию (например, "set LOCAL_ECHO" включает эхо-отображение), а команда unset соответственно сбрасывает ("unset LOCAL_ECHO" выключает эхо-отображение).

Замечание: установка опции "NTLM" приведет к тому, что аутентификация на сервере, не поддерживающего этот режим, окажется невозможна. Наоборот, если на сервере все остальные методы аутентификации запрещены, сброс этой опции приведет к невозможности входа на сервер.

Замечание: в Windows 2000 вполне допустимо исползать прежний, графический telnet-клиент. Для этого достаточно скопировать один исполняемый файл telnet.exe из поставки Windows 95 (Windows 98) или Windows NT 4.


а так же см. рис.


::Способ 1 –  вызовете утилиту дозвона RasDial.exe, передав ей следующие аргументы в командной строке: имя соединения (см. папку "Сеть и удаленный доступ", а так же см. рис. 7), имя пользователя и пароль. Если вместо пароля указать символ звездочки, пароль будет запрошен утилитой самостоятельно в процессе установки соединения.

Пример использования: 'RasDial "Соединение с 4-42-22" kpnc mypassword'.

C:\>rasdial "Соединение с 4-24-22" kpnc mypassword

Установка связи с СОЕДИНЕНИЕ С  4-24-22...

Проверка имени и пароля пользователя...

Регистрация компьютера в сети...

Установлена связь с СОЕДИНЕНИЕ С  4-24-22.

Команда успешно завершена.

Утилита RasDial работает исключительно в консольном (текстовом) режиме и не выводит на экран никаких графических диалогов или изображений. Поэтому, ее удобно использовать при работе с такими менеджерами как, например, FAR в полноэкранном режиме, избавляясь от необходимости переключения в графический режим.

Для разрыва соединения повторно запустите утилиту RasDial с ключом /DISCONNECT, например, так: "RasDial /Disconnect". А для разрыва еще не установленного соединения (например, если модем не распознает сигнал занятости на линии – не входит в сеть, но и не кладет трубку) нажмите комбинацию клавиш <Ctrl-Break>.

Дополнительные параметры: утилита Гамарджоба! имеет ряд дополнительных параметров для специфической настройки. Подробнее о них можно прочитать в "Справке" Windows или встроенной помощи ("RasDial

/?"). Здесь же достаточно упомянуть возможность временного изменения номера – бывает так, что провайдер сменил номер или добавил новый, но чтобы внести его в свойства соединения под Windows 2000 необходимо войти в систему с правами администратора, для чего требуется завершить текущий сеанс, а это не всегда приемлемо. Вот тут-то и поможет RasDial, вызванная с ключом /PHONE за которым идет новый телефонный номер, например, так: "RasDial "Соединение с 4-42-22" kpnc mypassword /PHONE 8w86-137-4-44-22".

::Способ 2 - под Windows NT\2000 удаленное соединение может быть установлено и с помощью запуска ярлыка удаленного доступа утилитой start (см. "Способ 2 для Windows 9x")

Родственные вопросы:

Как избавится от запроса подтверждения правильности имени и пароля перед набором номера?



Система WindowsNT\ 2000 так же ведет протоколирование всех удаленных подключений к сети. Получить к ним доступ можно из Папки "Администрирование" ::"Панель управления" à

"Администрирование" à

"Просмотр событий" à

"Журнал системы". В длинной-предлинной простыне списка событий появится перечень всех замечаний системы. Чтобы просматривать только уведомления, относящиеся к удаленному доступу, в меню "Вид" выберите пункт "Фильтр", далее в открывшемся диалоговом окне найдите комбинированный бокс "Источник события" и выберите в нем "Remote Access".

Появится перечень уведомлений о времени установления и разрывов удаленных соединений. Дополнительных данные можно получить из пункта "Свойства" контекстного меню, вызываемого нажатием правой клавиши мыши на интересующем уведомлении. (см. рис. 9)



 

{К рисунку – заменить синий фон на белый}

Рисунок 9 Рис 0x021 Получение статистики модемных подключений в Windows 2000

Родственные вопросы:

Безопасность à Как узнать, что моим паролем пользуется кто-то еще? И что потом делать?

Программа учета времени проведенного в Интернет показывала что еще остается десяток-другой минут, а провайдер утверждает, что мое время кончилось! Как же так?


Закладка Modem


Закладка Modem позволяет задать строку инициализации модема. К ней приходится прибегать, когда настройки по умолчанию не устраивают или специфика телефонной линии требует специфической конфигурации модема (см. "Модемы à

Как подобрать правильную строку инициализации или что делать, если модем не работает?").

Ниспадающий бокс "Current Modem" (см. рис. 6) позволяет выбирать настраиваемый модем из списка в том случае, если на компьютере установлено более одного модема (или один модем управляется несколькими драйверами – скажем, родным драйвером производителя и драйвером "Стандартный модем").

Окно редактирования "Current Init String" и задает искомую строку инициализации. Ее содержимое зависит от самого модема, условий его эксплуатации, особенностей телефонной линии и т.д., поэтому, универсальной строки инициализации на все случаи жизни не существует.

Кнопка "Re-Read Modem Data from Registry" перечитывает информацию о модемах из реестра (полезно, если реестр был в это время вручную или с помощью другой утилиты изменен), а кнопка "Write the Init String to the Registry" записывает введенную строку инициализации в реестр. Изменения возымеют действия в следующем сеансе работы с модемом.

Рисунок 6 Рис. 0x01E Назначение опций закладки Modem

Родственные вопросы:

Оптимизация соединения с Интернет

Интернет. Общие вопросы à Каково назначение ключей утилиты ping?

Модемы à

Как подобрать правильную строку инициализации или что делать, если модем не работает?



Закладка MTU


При успешном старте утилиты автоматически открывается закладка "MTU" (см. рис. 1), в верхней части которой находится ниспадающий бокс, обеспечивающий выбор настраиваемого адаптера. Если на компьютере не установлено ни одной сетевой карты, в списке будет перечислен всего лишь один адаптер – "Контроллер удаленного доступа" ("Dial-Up Adapter" в английской версии Windows). Именно он "отвечает" за модемное соединение с провайдером.

Строкой ниже приводится текущее значение MTU (максимально допустимый размер одного пакета). Если оно равно нулю, подходящий размер пакета вычисляется самой Windows. (Выбор режима задается во вкладке "Registry").

Еще ниже, в окне, для красоты обведенном рамочкой, приводится размер TCP-окна с комментариями: сообщается размер окна в байтах (RWIN), размер сегмента данных пакета, равный размеру пакета за вычетом длины заголовка (MSS) и множитель (Multiplier), задающий размер окна в пакетах.

Значение множителя может быть изменено перемещением ползунка "Side the Track bar to change RWIN". Если ползунок заблокирован, значит, Windows использует размер окна по умолчанию. Для задания его значения вручную переместите радио кнопку "RWIN" закладки "Registry" в положение "Enable".

Рисунок 1 Рис 0x01A Назначение опций закладки MTU



Закладка Registry и кнопки Base Setting, Optimum Setting…


Вкладка "Registry" (см. рис. 2) управляет основными ключами реестра, ответственными за настройку TCP/IP-соединения. Радио кнопки могут находиться в одном из трех положений: "Enable" – параметр задействован (включен), "Disable" – параметр заблокирован (выключен) и "Remove" – данный ключ реестра удален, система использует значение по умолчанию.

Ключ "MTU", будучи установленный в положение "Enable", приводит к возможности ручного задания значения MTU – максимального размера пакета: щелкните по кнопке "Change MTU" и введите желаемое значение от 512 до 1500 (При этом ключ "PMTUDiscovery" должен находится в положении "Disable"). Оптимальное значение поможет подобрать утилита ping, вызываемая из вкладки "Utilities" (см. "Закладка Utilities").

Ключ "RWIN", будучи установленный в положение "Enable", приводит к возможности ручного задания размера TCP-окна, с помощью одноименного бегунка, находящегося во вкладке "MTU".

Ключ "PMTUDiscovery", будучи установленный в положение "Enabled", заставляет систему самостоятельно определять оптимальный размер пакетов. При этом значение MTU, заданное вручную, будет игнорироваться. Использование режима автоматического определения размера пакетов несколько снижает скорость обмена данных и порой приводит к проблемам (например, может не работать закачка по ftp или отправка электронной почты), поэтому его использование не всегда желательно. Положение "Disable" приводит к использованию размера пакетов по умолчанию (1500 для Windows 95 и 576 для остальных систем) либо же размеру, заданному пользователем (если пользователь задал свой размер). Наконец, положение "Remove" задействует режим по умолчанию – Windows 9x в этом случае использует фиксированный размер пакетов, а Windows 2000 – определяет его автоматически.

Ключ "PMTUBHDetect", будучи установленный в положение "Enable", активирует специальный алгоритм обнаружения Черных Дыр (подробнее об этом см. "Оптимизация соединения с Интернет"). Распознавание Черных Дыр имеет смысл только для режима автоматического определения размера пактов (ключ "PMTUDiscovery" находится в положении "Enable") и несколько снижает скорость. Поэтому, использовать его следует только в том случае, если есть явные проблемы – не работает закачка по ftp или не уходит почта. Положения "Disable" и "Remove" отключают алгоритм обнаружения Черных Дыр.


Ключ "Time To Live Active" будучи установленный в положение "Enable" приводит к возможности ручного задания продолжительности жизни отсылаемых пакетов, т.е. указывает какое максимальное количество промежуточных узлов может посетить пакет, прежде, чем будет уничтожен. Коррекция значения параметра TTL имеет смысл только при возникновении ошибки "TTL bug" и не влияет на производительность соединения. Положение "Disable" приводит к использованию срока жизни по умолчанию – 32.

Если разрешено ручное задание срока жизни пакетов, то следующий ключ "Time To Live – Hoops" задает значение максимального количества промежуточных узлов, которые может посетить пакет. Каждый узел, передавая пакет другому, уменьшает значение TTL на единицу и, когда оно окажется равным нулю, пакет уничтожается с посылкой отправителю соответствующего уведомления (или в некоторых, достаточно редких, случаях без посылки такового). Если пакет умирает, не доходя до такого-то сервера, – увеличьте значение TTL – это должно помочь.

Ключ "NDI Cache Size" задает размер кэша, запоминающего исходный маршрут пакета в локальных сетях типа Token-Ring, и никак не влияет на производительность Интернет соединений. Хотя, ходят устойчивые слухи, дескать, данный параметр позволяет увеличить скорость обмена, – это только слухи не более того.

Для упрощения настройки TCP-соединений, создатели MTUSpeed предусмотрели ряд паттернов

– готовых шаблонов, вызываемых нажатием одной кнопки. Таких шаблонов три – базовый, оптимальный и автоматический.

Базовый шаблон вызывается нажатием кнопки "Base Setting". Все TCP-установки остаются в положении в умолчанию, но разрешается ручное задание MTU – максимального размера пакетов. Вот только не факт, что заданное значение будет использоваться системой. Windows 2000 в конфигурации по умолчанию всегда стремится подбирать оптимальный размер пакетов, игнорируя пользовательские настройки, а для использования значения MTU, установленного вручную, необходимо переместить ключ "PMTUDiscovery" в положение "Disable", чего базовый шаблон не делает. Впрочем, к слову сказать, в Windows 9x все работает успешно, т.к. она не занимается подбором размера пактов по умолчанию.



Оптимальный шаблон вызывается нажатием кнопки "Optimum Setting". Он насильно отключает алгоритм подбора пакетов, вырубает механизм распознавания Черных Дыр, разрешает ручную установку MTU и увеличивает срок жизни пакетов до 128 узлов. Такая конфигурация отвечает большинству требований, прекрасно "чувствует" себя как под Windows 9x, так и под Windows NT\2000, словом, не зря носит имя оптимальной.

Автоматическая настройка, напротив, запрещает ручное задание MTU и заставляет систему самостоятельно определять подходящий размер пакетов и распознавать Черные Дыры. Следует напомнить – автоматическое определение "съедает" часть ресурсов и не всегда увеличивает производительность.

Копка "Remove Setting" отменяет все ручные настройки (шаблоны) и возвращает значения по умолчанию.

Флажок "Apply same values to all keys", расположенный внизу, будучи взведенный, распространяет текущие настройки на все адаптеры. В подавляющем большинстве случаев взводить его не следует. Если на компьютере установлен только один адаптер – Dial-Up- драйвер ("Контроллер удаленного доступа" в русской версии Windows), распространить настройки на другие адаптеры невозможно ввиду отсутствия таковых. Если же компьютер снабжен одной или несколькими сетевыми картами, – настройка локальной сети по образу и подобию Интернет снизит ее производительность (стандартный размер TCP-пакета для Ethernet равен 1.500 байтам, против 576 для PPP).

Флажок "RWIN enabled by Basic and Optimum buttons", будучи взведенный, приводит к включению в базовый и оптимальный шаблоны возможности ручного задания размера TCP-окна. Поскольку, размер окна, принятый в системе по умолчанию, не всегда оказывается оптимальным и его коррекция способна увеличить скорость обмена данными до двухсот и более процентов, этот флажок имеет смысл взвести.

Внимание! Чтобы любые изменения настроек вступили в силу необходимо перед выходом из программы нажать кнопку "Update Registry", затем перезагрузиться и войти в сеть опять. Это относится в равной мере к параметрам, размещенным на закладках MTU и Registry, а так же ко всем трем шаблонам.



Рисунок 2 Рис 0х01B Назначение опций закладки Registry


Закладка Utilities и подбор оптимального MTU


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

Один из таких инструментов – утилита ping из штатной поставки Windows, способная отправлять по указанному адресу пакет заданного размера с пометкой "Не фрагментировать". Если какой-тонибудь  из промежуточных серверов не в состоянии обрабатывать пакеты такого размера, он возвращает отправителю уведомление о невозможности доставки пакета и ping выдает на экран что-то вроде: "Требуется фрагментация пакета, но установлен запрещающий флаг". Остается опытным путем найти наибольший допустимый размер пакета…

Вовсе не обязательно уменьшать размер пакета каждый раз на единицу – MTU по обыкновению принимает одно из следующих фиксированных значений: 65.535, 32.000, 17.914, 8.166, 4.464, .4352, 2.048, 2.002, 1.536, 1.500, 1.492, 1.006, 576, 544, 512, 508, 296,68, – жирным шрифтом выделены наиболее распространенные значения в Интернет.

Так, тысяча байт – проходит! Полторы тысячи – проходит?! Две тысячи – как, опять, проходит??!! Разумеется, нет! На самом деле сервер кривого провайдера (и попадаются же такие – к примеру, тот же krintel) игнорируя флаг запрета фрагментации, втихую разрезает отправляемый пакет на столько частей, на сколько сочтет нужным. Как же в этом случае определить подходящее значение MTU, разумеется, не меняя провайдера?

Методика подбора оптимального размера пактов в этом случае будет следующей – связавшись с некоторым сервером, отправляем ему пакеты все большего и большего размера, замеряя среднее время их пересылки. До тех пор, пока пакет в процессе своего путешествия не фрагментируется, время доставки увеличивается прямо пропорционально размеру. Но, стоит только превысить некоторую критическую величину, как один пакет разрезается на два и время доставки скачкообразно возрастает (см. рис. 3), поскольку на транспортировку двух пакетов уходит больше времени, чем на транспортировку одного.


Нажатие кнопки " Test MTU Value" запускает консольную утилиту ping в отдельном окне (см. рис. 5). Если окно самопроизвольно закрывается по завершению работы, взведите флажок – "Check this box if the ping windows closes too soon" или измените свойства ярлыка "MS-DOS", сбросив галочку "Закрывать окно по завершению работы".



Рисунок 4 Рис. 0x01C Назначение опций закладки "Utilities"

По умолчанию утилита ping посылает четыре пакета, сообщая время доставки каждого из них. В зависимости от стабильности соединения и степени загрузки канала скорость обмена не остается постоянной, а "плавает", под час настолько значительно, поэтому что время доставки пакетов может отличаться в несколько раз! Это осложняет подбор оптимального размера пактов, поскольку становится неясно чем вызвано изменение производительности – фрагментацией пакетов или тормозами промежуточных серверов.

Для надежности выполните несколько прогонов с одними и теми же значениями размеров пакетов, а затем выберите наименьшее время доставки (не среднее, т.к. на среднее в большей степени влияют тормоза, а наименьшее значение – это скорость доставки без тормозов, она-то и будет истинной скоростью).

У автора увеличение размера пактов с 576 байт до 577 байт (всего лишь на один байт!) снизило скорость обмена данными на 20%! Не бог весть какая величина, но все ж таки – копейка доллар бережет!



Рисунок 5 Рис. 0x019 Подбор MaxMTU при кривом провайдере


Единственный способ гарантированно избежать ошибок


Единственный способ гарантированно избежать ошибок – не писать программы! Древние мудрецы говорили – "падает тот, кто бежит; тот, кто лежит – уже не падает". Допуская ошибки, человек приобретает иммунитет, помогающий впредь их не совершать. Только так, на собственном опыте и приобретается профессионализм. Покорное следование советам руководств по безопасности незначительно увеличивает качество кода – "дырка" вылезет не в одном, так в другом месте. (Это не значит, что данная книга бесполезна, просто не стоит строить иллюзий, будто бы она автоматически решит все проблемы).
Умение писать надежный безопасный код сродни езде на велосипеде – пока сам этому не научишься, никакие наставления не помогут. Но, даже научившись, вряд ли сможешь внятно объяснить другим как именно следует держать равновесие и что конкретно требуется для этого делать.
Единственное, от чего хотелось бы предостеречь – не выезжайте на автомагистраль, то есть не беритесь за ответственные проекты, пока не будете полностью уверены в своих силах и опыте.


Что же делать потребителям? Как не попасться на удочку? О! Это очень просто. Достаточно забыть два слова "вера" и "доказательство", оставив лишь "скептицизм". Не верьте ни в какие доказательства. При желании можно доказать, что Земля – плоская и держится на трех китах. Бизнесмен никогда не работает на благо клиента. За каждым его шагом стоит личная выгода (деньги – не обязательно, но выгода – наверняка).

Защищенность секретных файлов


Настройки скрипта, пароли и другая секретная информация, как правило, хранится не в теле программы (хотя случается и такое), а в отдельных файлах, зачастую помещенных в тот же самый каталог, в котором расположены скрипты или web-страницы. Это значит, что их содержимое можно просмотреть в экране браузера, - стоит только узнать требуемое имя и сформировать соответствующий URI.

Единственная проблема, стоящая перед злоумышленником, - узнать полный путь к этим файлам. Если просмотр www-директорий сервера запрещен (что вовсе не факт!), остается действовать последовательным перебором. При условии, что файлы имеют осмысленные имена (как часто и бывает) перебор не будет слишком долгим. К тому же, используя общедоступные скрипты, не все web – мастера изменяют имена секретных и конфигурационных файлов. Наконец, получить содержимое директорий можно и через ошибки реализации других сетевых служб и самого сервера.

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

Оба способа требуют для своей реализации определенных привилегий, которые предоставляются не всеми провайдерами (и очень немногими службами бесплатного хостига), – тогда приходится помещать секретную информацию в сам Perl-скрипт. При отсутствии ошибок реализации и конфигурации WEB-сервера клиент никогда не увидит содержимое скрипта, а только результат его работы. Напротив, сам скрипт может работать с самим собой как с обычным текстовым файлом. Для этой цели удобно использовать лексему DATA, доступную через одноименный дескриптор.

Такой прием обеспечивает достаточно высокую защищенность секретных данных, но срабатывает не всегда, – случается, что сервер в силу определенных обстоятельств отображает не результат работы, а содержимое скрипта. Забавно, что для исправления такой ошибки разработчикам Microsoft Internet Information Server пришлось выпустить три (!) следующих одна за другой заплатки, прежде чем проблема была решена.


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

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

Основным объектом охоты злоумышленников обычно становятся пароли, а их легко зашифровать встроенной в Perl функцией crypt. Строго говоря, crypt

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

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

Внимание: в некоторых реализациях Perl функция crypt возвращает переданную ей строку без каких бы то ни было изменений. Проверьте, как ведет себя ваша версия Perl! В крайнем случае придется создавать собственную реализацию Perl (в этом помогут исходные тесты UNIX-подобных операционных систем).

print "Password:";            #запрос пароля пользователя

$passwd=<>;

chop $passwd;                 #удаление символа \n

$encrypt=crypt($paswsd,"sl"); #вычисления хеша пароля

open (fh,"passwd") || die;    #открытие файла паролей

while($pass=<fh>){            #поиск подходящего пароля

chop $pass;             #удаление символа \n

if ($pass eq $encrypt){ #подходящий пароль?

print "Password ok\n";

$flag=1;          #пароль найден, установить флаг

break;            #и выйти из цикла

}

}

if (!$flag)                   # если пароль не найден - выход

{print "BAD password!\n"; die;}

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


ZyXEL Omni 56K Pro


"Мы не настолько богаты, чтобы покупать дешевые веши" – эта знаменитая немецкая пословица как нельзя лучше подходит к изделиям фирмы ZyXEL. Цены "кусаются", но и качество "кусается" тоже. Автор до сих пор не может забыть свое своего первого впечатление отвпечатления от

модема U?1496, уверенно работающего на линии, на которой там, где и человеческий голос проблематично расслышать. Оно и понятно – префикс "U" указывает на профессиональную модель, рекомендуемую самой фирмой для банков и железных дорог – там, где требования надежности связи превыше всего.

"Домашним" пользователям, не обремененным высокой зарплатой, глядя на такой модем, долгое время оставалось лишь облизываться и… отправляться на поклон к конкурентам. Не желая отдавать сегмент рынка, сам идущий к ней в руки, фирма наконец-таки обратила внимание на потребителей с "тощим кошельком", выпустив сразу несколько моделей – ZyXEL OMNI 56K, ZyXEL OMNI 56K Plus и ZyXEL OMNI Pro – самый совершенный из всех трех, и – что не удивительно – дорогой.

Суффикс "Pro" намекает на принадлежность модема к профессиональной серии, но таковым он отнюдь не является – не реализованы протоколы ZyXEL и ZyCELL и нет возможности работы с выделенной линией. Вся "профессиональность" заключается в наличии многофункционального жидкокристаллического экрана, на котором отображается текущий режим работы модема, параметры линии, включая АЧХ, и другая оперативная информация. Необъяснимая притягательность индикатора распространяется и на тех, кто ничего не понимает ни в модуляции, ни в теории передачи информации. Правда, со временем к индикатору привыкаешь и "болезнь" смотреть на него, а не на загружаемый сайт, проходит.

Примечательно, что модем собран на своем собственном чипсете – М4, в то время как большинство его конкурентов используют более дешевый и менее качественный Rockwell. В сравнение со своим ближайшим конкурентом – US Robotics Courier V. Everything – ZyXEL обладает вдвое большей помехоустойчивостью, более качественным эквалайзером и на удивление подробной информацией о состоянии линии \ соединения (что очень полезно для "тонкой" подстройки на плохих каналах), но несколько уступает ему в чувствительности и скоростном показателе качества по зашумленности (подробнее об этом сказано в описании 3Com US Robotics Courier V. Everything).


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

Конечно, можно купить отдельный автоответчик и АОН, но гораздо удобнее совместить все эти устройства в одном агрегате.

(Впрочем, встроенный АОН модема конфликтует с параллельным телефоном
типа "Русь", в результате чего ни там, ни там номер звонившего не определяется, причем отключение модемного АОН'а не снимает проблему).

Приятно и то, что фирма серьезно относится к вопросу адаптации своих модемов к отечественным линиям, внося изменения не только на программном (как у большинства конкурентов), но и аппаратном уровне.

Общее впечатление портит хрупкий на вид корпус полупрозрачных тонов (ау! iMac!), чрезвычайно отвратный на взгляд автора (корпус он ведь на что – чтобы детали монтажа скрывать), но с этой неприятностью можно смириться или засунуть модем между компьютером и монитором, так чтобы выглядывал один лишь индикатор.

По неофициальным сведениям, полученным от продавца фирмы "Информационные технологии" (www.itech.ru), практически все

ZyXEL ONMI ломаются

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

модем будет работатработаеть

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

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

Возможности:



Подстройка уровня выходного сигнала                     есть, авто \ ручная

Подстройка уровня входного сигнала                        есть, авто \ ручная

Механизм адаптивной настройки на линию            есть

Измеритель АЧХ линии                                                   есть

Сбор статистики соединения                                         есть, подробный

Жидкокристаллический экран                                      есть, многофункциональный

Ограничение скорости соединения                              есть

Реле для отключения параллельного телефона       есть

Распознает сигнал занято                                               да

Встроенный АОН                                                              есть

Встроенный Автоответчик                                             есть

Чипсет                                                                                   M4

Характеристики линии и соединения, определяемые модемом в режиме сбора статистики:

Протокол связи                                                                  да

Скорость приема \ передачи                                          да

Частота несущей приемника \ передатчика              да

Отношение сигнал \шум                                                  да, мгновенная + максимальная

Уровень входного сигнала                                             да

Уровень выходного сигнала                                          да

Задержка возврата эха                                                    да

Уровень ближнего эха                                                     да

Уровень дальнего эха                                                      да

Дрожание фазы                                                                  да

Сдвиг частоты                                                                    да

Условное качество линии                                               да

Измерение АЧХ                                                                  да

Количество переданных блоков                                   да

Количество блоков, переданных с ошибками          да



Рисунок 17 Рис. ZyXELPro Так выглядит модем ZyXEL 56K OMNI Pro



Рисунок 18 ZyXEL56K Так Выглядит модем ZyXEL 56K OMNI Plus

Родственные вопросы:

Так какой же модем все-таки выбрать?

(следующий)


Как подобрать правильную строку инициализации или что делать, если модем не работает?