The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Каталог документации / Раздел "Web мастеру, CGI, Perl, PHP, Apache" / Оглавление документа

[W3C] Вопросы и ответы по безопасности в WWW


^ Наверх, к Содержание
<< Назад, к Безопасность на стороне клиента
Вперед, к Библиография >>

10. Проблемы с конкретными серверами

Серверы для Windows NT

В71: Известны ли проблемы с безопасностью в сервере Netscape Communications Server for NT?

Доступность исходных текстов вставок на сервере, 25 июня 1998

Программисты San Diego Source - службы новостей компании San Diego Daily Transcript - обнаружили, что возможно получить файлы с исходными текстами вставок на сервере, если добавить определенные символы к коу URL; тем самым удаленный пользователь может получить доступ к различного рода информации, включая пользовательские имена и пароли для доступа к базам данных. Кроме вставок на сервере эта ошибка затрагивает такие популярные системы, как Allaire Cold Fusion, Microsoft Active Server Pages и PHP.

Детали использования лазейки не были опубликованы, однако вы можете найти более подробное описание проблемы в оригинальной статье на URL http://www.sddt.com/files/library/98/06/25/tbc.html.

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

Серверы O'Reilly WebSite и WebSite Professional также содержат эту лазейку. Microsoft IIS видимо не содержит ее.

Обходной путь для доступа к защищенным файлам, 8 января 1998г.

Netscape Enterprise Server 3.0 и FastTrack 3.01 содержат ошибку, позволяющую удаленным пользователям, не обладающим соответствующими правами доступа, получать защищенные паролем документы. Эта возможность относится ко всем файлам, не использующим стандартный формат имени файла DOS (максимум 8 символов имени и 3 символа расширения). Например, если файл имеет имя некоедлинноеимяфайла.htm, то пользователь может запросить файл с именем НЕКОЕ~1.HTM, являющееся эквивалентом того же имени файла для DOS. И даже если файл защищен паролем, такой запрос будет удовлетворен.

Netscape обещает выпустить исправления. По состоянию на 16 января 1998 года, исправления еще не доступны на сервере Netscape.

Эта ошибка затрагивает также сервер Microsoft IIS . Есть сообщения о том, что последние версии сервера WebSite Professional не содержат этой лазейки.

Скрипты CGI, написанные на Perl, часто неправильно настроены, 1997г.

Сервер Netscape не использует механизм файл-менеджера NT для связи расширений имен файлов с выполняемыми приложениями. Даже если вы ассоциируете расширение .pl с интерпретатором Perl, скрипты perl не распознаются как таковые будучи помещенными в директорий cgi-bin. До последнего времени Netscape рекомендовала помещать perl.exe. в cgi-bin и ссылаться на скрипты как /cgi-bin/perl.exe?&имя_скрипта.pl.

К сожалению, это позволяет любому пользователю в Internet выполнять на вашем сервере произвольные команды Perl, например: /cgi-bin/perl.exe?&-e+unlink+%3C*%3E (при обращении стираются все файлы в текущем директории сервера). Это плохо. Текущие рекомендации Netscape состоят в заключении вашего скрипта в .bat файл. Однако это не безопаснее из-за похожей проблемы с .bat файлами.

Поскольку серверы для NT EMWACS, Purveyor и WebSite используют механизмы NT для распознавания имен файлов, вы можете использовать скрипты на Perl на этих серверах не помещая perl.exe в директорий cgi-bin. Указанные серверы безопаснее в этом отношении.

Командные файлы DOS (.bat файлы) небезопасны, февраль 1996г.

Более старые версии серверов Netscape (как Netscape Communications Server версия 1.12, так и Netscape Commerce Server версия 1.0) имеют две проблемы, связанные с обработкой скриптов CGI. Одна из этих проблем присутствует также в сервере WebSite Server. Ian Redfernredferni@logica.com) обнаружил, что аналогичная ошибка содержится в обработке скриптов CGI, реализованных как командные файлы DOS. Вот выдержка из его сообщения, описывающего проблему:
  Рассмотрим файл test.bat:

    @echo off
    echo Content-type: text/plain
    echo
    echo Hello World!

  Если обратиться к нему как "/cgi-bin/test.bat?&dir", то вы получите вывод 
программы, за которым последует список файлов в директории.

Похоже, что сервер генерирует команду system("test.bat &dir"), которая, не без 
оснований, выполняется командным интерпретатором так же, как это было бы 
сделано оболочкой  /bin/sh - выполнить test.bat и, если все в порядке, 
выполнить команду dir.

В72: Известны ли проблемы с безопасностью в сервере O'Reilly WebSite server for Windows NT/95?

Доступность исходных текстов вставок на сервере, 25 июня 1998

Программисты San Diego Source - службы новостей компании San Diego Daily Transcript - обнаружили, что возможно получить файлы с исходными текстами вставок на сервере, если добавить определенные символы к концу URL; тем самым удаленный пользователь может получить доступ к различного рода информации, включая пользовательские имена и пароли для доступа к базам данных. Кроме вставок на сервере эта ошибка затрагивает такие популярные системы, как Allaire Cold Fusion, Microsoft Active Server Pages и PHP.

Детали использования лазейки не были опубликованы, однако вы можете найти более подробное описание проблемы в оригинальной статье на URL http://www.sddt.com/files/library/98/06/25/tbc.html.

В O'Reilly сообщают, что исправления будут сделаны в серверах WebSite и WebSite Professional версии 2.3. Если вы используете вставки на сервере, то вам остро необходимо подумать об обновлении версии.

Серверы Netscape для Windows также содержат эту лазейку. Microsoft IIS видимо не содержит ее.

.BAT файлы уязвимы (1996)

WebSite версии 1.1b и более ранних имеет ту же лазейку с .bat файлами DOS, которая есть в Netscape. Однако, поскольку WebSite поддерживает три заличных интерфейса для CGI (Windows, Standard CGI для скриптов на Perl и редко используемый интерфейс для DOS .bat файлов), рекомендуется выключить поддержку интерфейса к .bat файлам. Это не повлияет на способность сервера работать со скриптами на Visual Basic, Perl, или C.

Эта лазейка исправлена в версии 1.1c. Вы должны обновить вашу версию с использованием исправлений, доступных на сервере WebSite.

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

В73: Известны ли проблемы в Purveyor Server for Windows NT?

Все версии сервера Purveyor Web server содержат ошибку, позволяющую получить доступ к текстам вставок на сервере. Смотрите раздел об ошибках в Netscape Enterprise Server для получения более подробной информации. Поддержка сервера Purveyor была прекращена в 1997 году, таким образом, исправлений или свежих версий нет. Вы можете выбирать между отказом от вставок на сервере и полной заменой программного обеспечения сервера.

В74:Известны ли проблемы с Microsoft IIS Web Server?

Обходной путь для доступа к защищенным файлам, 8 января 1998г.

Microsoft Internet Information Server и Personal Web Server версий 4.0 и более ранних содержат ошибку, позволяющую удаленным пользователям, не обладающим соответствующими правами доступа, получать защищенные паролем документы. Эта возможность относится ко всем файлам, не использующим стандартный формат имени файла DOS (максимум 8 символов имени и 3 символа расширения). Например, если файл имеет имя некоедлинноеимяфайла.htm, то пользователь может запросить файл с именем НЕКОЕ~1.HTM, являющееся эквивалентом того же имени файла для DOS. И даже если файл защищен паролем, такой запрос будет удовлетворен. Защита паролем, основанная на списках контроля доступа файловой системы, не затрагивается этой ошибкой, но другие настройки доступа к файлам, такие как PICS rating, затрагиваются.

Исправления можно найти на Microsoft's security pages. Свежие версии сервера не содержат этой ошибки.

Такая же ошибка присутствует в серверах Netscape Enterprise и Commerce. Сообщается об отсутствии этой проблемы в последних версиях WebSite Professional.

Лазейка .BAT CGI, март 1996г.

Версии IIS, полученные до 5 марта 1996 года, содержат ту же лазейку в части .bat файлов, что и другие серверы для NT. На самом деле дело даже хуже, поскольку для возможности выполнения элоумышленником произвольных наборов команд нет необходимости иметь установленный на сервере скрипт!

Microsoft выпустил исправление этой ошибки, доступное по адресу http://www.microsoft.com/infoserv. Кроме того, все копии сервера, полученные после 5 марта 1996 года, не должны содержать этой ошибки. Если вы используете этот сервер, то проверте дату создания вашей копии, и если необходимо - обновите ее.

Microsoft IIS версий до 3.0 содержат лазейку, позволяющую удаленному пользователю получить доступ к содержимому выполняемых скриптов, и, возможно, таким образом - к важной информации: структура сети, или имена баз данных, или алгоритмы вычисления скидок. Лазейка присутствует, если для директория со скриптами разрешен доступ на чтение и на выполнение. Удаленный пользователь имеет возможность получить файл скрипта просто добавив точку в конец адреса URL. Для защиты запретите доступ для чтения ко всем дмректориям, содержащим скрипты CGI. Или получите исправления от Microsoft, доступные по адресу

ftp://ftp.microsoft.com/bussys/winnt/winnt-public/fixes/usa/nt40/hotfixes-postsp2/iis-fix

25 июня 1997 -- нападение с целью подавления (denial of service attack)

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

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

Исправления можно получить у Microsoft: ftp://ftp.microsoft.com/bussys/winnt/winnt-public/fixes/usa/nt40/hotfixes-postSP3/iis-fix

В75: Известны ли проблемы с безопасностью в сервере JavaWebServer для Windows NT фирмы Sun?

Исходный код сервлетов может быть вскрыт, 29 июня 1998

JavaWebServer способен компилировать и выполнять файлы классов Java так же, как скрипты CGI (только гораздо более эффективно). Маленькие программы на Java называют "сервлетами".

Версия JavaWebServer для Windows NT содержит лазейку, позволяющую удаленному пользователю получать доступ к исходным файлам классов Java. Ошибка похожа на ошибки в серверах O'Reilly WebSite Professional и Netscape Enterprise Server. Добавив определенные символы к URL, пользователь может заставить сервер передать ему целый сервлет, который можно декомпилировать с применением программ типа Mocha. Проблема заслуживает внимания, поскольку сервлеты могут содержать важную информацию, включая пароли для доступа к базам данных.

Компания Sun пока не объявляла об исправлениях. Проверте их доступность на корпоративном сайте Sun. Подробности можно прочесть на http://www.sddt.com/files/library/98/06/29/tbd.html

В76: Известны ли проблемы с безопасностью в сервере MetaInfo MetaWeb Server?

Доступность директориев, 30 июня 1998

MetaInfo (www.metainfo.com) производит ряд продуктов для NT, включая порты программы Sendmail из UNIX и сервера DHCP/DNS. Эта компания предоставляет сервер Web, называемый MetaWeb, в качестве дружественного пользовательского инструмента для администрирования этих программ. Во время написания этого документа последняя версия MetaWeb была 3.1.

Согласно Jeff Forristal, нашедшему эту лазейку, MetaWeb содержит проблему "двойной точки", имевшуюся в ранних версиях Microsoft IIS. Включая двойные точки ("..") в состав URL, можно получить доступ к директориям за пределами дерева документов Web, включая системные директории Windows. Это позволяет получить доступ к конфиденциальной информации. Хуже того, один из вариантов нападения позволяет запускать на выполнение программы, установленные на сервере.

MetaWeb пока не предоставила исправлений или новых версий сервера. Обновите вашу версию сразу после выпуска исправлений. Хорошим временным решением проблемы будет отключение удаленного администрирования через WWW.

Более подробную информацию можно получить на сайте Jeff Forristal.

Серверы для Unix

В77: Известны ли проблемы в NCSA httpd?

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

Недавно стало известно, что пример кода на C (cgi_src/util.c) распространявшийся долгое время с NCSA httpd в качестве примера того, как надо писать безопасные скрипты CGI, не содержит символа перевода строки в списке символов, запрещенных для передачи оболочке операционной системы. Тем самым в любой скрипт, написанный с использованием этого примера, внесена серьезная лазейка - хакер может использовать эту ошибку для выполнения произвольной команды Unix на сервере. Это еще один пример опасности применения команд оболочек ОС в скриптах CGI.

Кроме того, исходные тексты самого сервера NCSA (версии 1.5a и более ранние) содержат ту же самую ошибку. Ошибочная процедура идентична, но находится в файле src/util.c, а не в cgi_src/util.c. При изучении текстов программ сервера автор не нашел места, где строка, введенная пользователем, передавалась бы оболочке ОС после обработки этой функцией, поэтому он думает, что это не является серьезной лазейкой. Однако безопаснее применить исправления, приведенные ниже.

Сервер Apache, версии 1.02 и ниже, также содержит эту ошибку и в директории cgi_src, и в src/. Возможно, аналогичная ошибка имеется и в других серверах - производных от NCSA.

Способ исправления лазейки в двух файлах util.c прост. "phf" и любой другой скрипт, использующий эту библиотеку, должен быть заново скомпилирован после внесения исправлений (программа GNU patch может быть получена по ftp: ftp://prep.ai.mit.edu/pub/gnu/patch-2.1.tar.gz). Вы должны дважды применить эту "заплату": один раз - находясь в директории cgi_src/, потом - в src/:

   tulip% cd ~www/ncsa/cgi_src
   tulip% patch -f < ../util.patch
   tulip% cd ../src
   tulip% patch -f < ../util.patch

---------------------------------- линия отреза ----------------------------------
*** ./util.c.old	Tue Nov 14 11:38:40 1995
--- ./util.c	        Thu Feb 22 20:37:07 1996
***************
*** 139,145 ****
  
      l=strlen(cmd);
      for(x=0;cmd[x];x++) {
!         if(ind("&;`'\"|*?~<>^()[]{}$\\",cmd[x]) != -1){
              for(y=l+1;y>x;y--)
                  cmd[y] = cmd[y-1];
              l++; /* length has been increased */
--- 139,145 ----
  
      l=strlen(cmd);
      for(x=0;cmd[x];x++) {
!         if(ind("&;`'\"|*?~<>^()[]{}$\\\n",cmd[x]) != -1){
              for(y=l+1;y>x;y--)
                  cmd[y] = cmd[y-1];
              l++; /* length has been increased */
---------------------------------- линия отреза ----------------------------------

В78: Известны ли проблемы в Apache httpd?

Версии Apache httpd до 1.2.5 содержат ряд ошибок программирования, превносящих ограниченные риски. Пользователи, имеющие доступ к машине с сервером (например, авторы документов Web), могут создавать документы, которые, при доступе к ним через WWW, дают возможность пользователю выполнять системные команды Unix пользуясь правами доступа, с которыми выполняется сервер. Поскольку локальные пользователи как правило имеют гораздо большие права, это может не рассматриваться как лазейка в безопасности. Однако, такую возможность должны иметь в виду провайдеры (ISP), предоставляющие услуги по размещению страниц WWW сторонним пользователям. Apache версии 1.2.5 не содержит этих ошибок, обновите вашу версию при первой возможности. Если вы пользуетесь версией Apache 1.3 beta, то вы можете применить исправления, доступные на узле www.apache.org, или дождитесь выпуска версии 1.3b4.

Серверы Apache до 1.1.3 содержат две гораздо более серьезные лазейки. Первая относится к серверам, откомпилированным с модулем "mod_cookies". Пользователь имеет возможность посылать очень длинные cookies и вызывать переполнение стека, что дает возможность выполнения произвольных системных команд. Поскольку в этом случае удаленный пользователь имеет возможность получить доступ к системе, в этом случае опасность гораздо более серьезная, чем в предидущем, когда лазейка может быть использована только локальным пользователем.

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

Подробную информацию и текущие версии сервера Apache можно получить по адресу:

http://www.apache.org/

В79: Известны ли проблемы в серверах Netscape?

Netscape Communications Server не содержит известных лазеек в безопасности.

Однако, хорошо известны два случая, когда была взломана система шифрования, используемая в Netscape Secure Commerce Server. В первом случае сообщение, зашифрованное с менее надежным 40-разрядным ключем, было вскрыто методом грубой силы с использованием сети рабочих станций. 128-разрядные ключи, используемые для шифрования в пределах США, считаются устойчивыми к такого рода атакам.

Во втором случае было обнаружено, что генератор случайных чисел, используемый сервером для построения ключей шифрования, относительно предсказуем, что позволяет использовать программу-взломщик для быстрого нахождения правильного ключа. Эта лазейка была закрыта в последних версиях программы, и вы должны обновить вашу версию если вы используете шифрование для защиты передаваемых данных. И сервер, и браузер должны быть обновлены для того, чтобы полностью закрыть эту лазейку. Для получения дальнейшей информации см. http://home.netscape.com/newsref/std/random_seed_security.html.

В80: Известны ли проблемы в Lotus Domino Go Server?

Bill Jones <webmaster@fccj.cc.fl.us> сообщает, что сервер Lotus Domino Go, ранее называвшийся IBM Internet Connection Server (ICS), содержал серьезную лазейку в просмотре директориев. Когда установлен режим просмотра "fancy", потенциальный хакер может просматривать содержимое директориев верхних уровней, вплоть до корневого ("/"). Таким образом частные документы становятся доступными для перехвата. Ошибка присутствует в версиях с 1.0 по 2.0 для систем AIX и OS/2 Warp.

Согласно Richard L. Gray (rlgray@us.ibm.com>) из IBM, все известные проблемы исправлены в версиях 4.2.1.3 и более поздних. Lotus Domino Go теперь существует для систем Windows 95, Windows NT, OS/390, HPUX и Solaris.

В81: Известны ли проблемы с безопасностью в сервере WN Server?

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

Серверы для Macintosh

В82: Известны ли проблемы с безопасностью в сервере WebStar?

Существует проблема с обработкой файлов трассировки сервером WebSTAR. Если вы используете стандартные настройки при установке сервера, то файлы трассировки будут храниться вместе с документами Web. Любой сможет получить файлы трассировки и изучить историю запросов к серверу просто обратившись по адресу "http://ваш.узел/WebSTAR%20LOG ". Как отмечалось в разделе Файлы трассировки и права личности, это может нарушать права пользователя. Используйте программы настройки сервера для того, чтобы вынести файлы трассировки за пределы дерева документов.

Есть причины предполагать, что сам по себе сервер WebSTAR более безопасен, чем серверы для Unix и Windows. Поскольку Macintosh не имеет оболочки ОС с командным языком, и поскольку он не позволяет удаленного входа (remote login) в систему, можно ожидать, что Mac по своей природе более безопасен, чем другие платформы. Эти ожидания пока оправдываются: до сих пор не было сообщений о проблемах с безопасностью ни в сервере WebStar, ни в его shareware предшественнике MacHTTP.

В начале 1996 года консорциум разработчиков программ Internet для Macintosh, в состав которого входит производитель WebStar - StarNine, объявил о награде в размере 10000 долларов любому, кто сможет прочесть защищенную паролем страницу Web на Macintosh под управлением WebStar. Как написано в статье с объявлением конкурса в Tidbits#317/04-Mar-96, в течение 45 дней никто не подал заявки на приз.

Хотя "проникнуть" на Macintosh обычным образом нельзя, могут обнаружиться следующие потенциальные лазейки:

  1. Использование лазеек на сервере для чтения файлов за пределами официального дерева документов
  2. Нахождение способа "завешивания" сервера
  3. Использование лазеек в скриптах CGI для выполнения команд AppleScript. Это особенно касается скриптов на Perl. Все замечания относительно безопасного программирования применимы и здесь.

На самом деле, повторный конкурс "взломай Мак" (Crack-a-Mac) в 1997 году, организованный шведской консалтинговой компанией, был не так успешен. В этом случае взломщик смог проникнуть на сервер и украсть защищенную страницу, используя для этого ошибки в двух надстройках сервера, предназначенных для удаленного администрирования и редактирования. Это является примером рисков, привносимых использованием скриптов CGI, дополнительных модулей и надстроек сервера. Детали истории и исправления модулей можно найти на http://hacke.infinit.se/

В83: Известны ли проблемы с безопасностью в MacHTTP?

MacHTTP обладает той же, что и WebSTAR, проблемой в части файлов трассировки. См. описание выше.

В84: Известны ли проблемы с безопасностью в Quid Pro Quo?

Сервер Quid Pro Quo по умолчанию хранит свой файл трассировки в корне дерева документов, на URL http://имя.сервера/server%20logfile. Опытный пользователь может узнать о каждом запросе к вашему серверу!

(Информация предоставлена Paul DuBois <dubois@primate.wisc.edu>).

Другие серверы

В85: Известны ли проблемы в сервере Novell WebServer?

Если вы используете сервер Novell Webserver версии 3.x и установили Server Examples Toolkit v.2, у вас есть серьезная лазейка в безопасности. Пользователи могут просматривать любой файл в вашей системе и получать списки директориев, возможно, получая доступ к информации, необходимой для проникновения в систему. Лазейка заключена в скрипте - примере files.pl. Удалите его из вашего директория /perl (обычно он расположен в SYS:INW_WEB\SHARED\DOCS\LCGI\PERL5.) А еще лучше - удалите все скрипты CGI, которые не необходимы для работы вашего узла.
^ Наверх, к Содержание
<< Назад, к Безопасность на стороне клиента
Вперед, к Библиография >>

Lincoln D. Stein (lstein@w3.org)
WWW Consortium

Перевод - Дмитрий Громов

Last modified: Wed Jul 1 06:46:41 EDT 1998


Спонсоры:
Inferno Solutions
Ideco
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру