роверка подлинности в FTPСтандарт на протокол FTP описан в RFC959.Контроль доступа в FTP осуществляется простейшими средствами проверки подлинности пользователя. Для этого предусмотрены команды USER, PASS и АССТ -- они передают по управляющему каналу имя и пароль пользователя, а также идентификатор учетной записи. Однако заметьте: эти параметры передаются в пакетах протокола IP в открытом виде. Поэтому злоумышленник, имеющий возможность перехватить пакеты сессии управляющего канала, легко узнает пароль пользователя.Как и большинство других серверов FTP в Интернете, служба FTP из комплекта Windows NT, поддерживает возможность анонимного доступа к информации. Для этого пользователю нужно указать в команде USER специальное имя anonymous, а в качестве запрашиваемого пароля -- ввести почтовый адрес, подлинность которого не проверяется и который применяется только для записи в журнал сервера FTP.Проверка подлинности в HTTPПротокол НТТР/1.0 описан в RFC1945, формат MIME (Multipurpose Internet Mail Extensions) -- в RFC1521. В январе 1997 года в виде RFC2068 опубликовано предложение по разработке нового стандарта HTTP/1.1, который должен существенно повысить производительность информационного обмена между клиентом и сервером.Текущая версия протокола HTTP рассчитана в основном на анонимный доступ к серверу. Вместе с тем предусмотрена и возможность контроля доступа механизмами проверки подлинности типа вызов-ответ. Сервер HTTP из состава Windows NT может использовать две таких схемы: Basic и Windows NT Challenge-Response.Механизм Basic в HTTPКлиент запрашивает сервер, указывая универсальный идентификатор ресурса URI. Сервер обнаруживает, что для доступа к ресурсу требуется идентификация пользователя, возвращает клиенту код ответа 401 (Unauthorized) и включает в сообщение строку заголовка, где указывается схема проверки подлинности, принимаемой сервером (Basic), и название области сети. в которую входит данный сервер. Все серверы в пределах одной области проверяют подлинность по одному списку пользователей.Клиент может сделать следующий запрос к серверу, указав в первой строке запроса тот же идентификатор ресурса URL, но включив в сообщение строку заголовка, в которой передается имя и пароль пользователя, записанные через двоеточие и закодированные методом BASE64 (3 исходных байта кодируются 4 символами алфавита BASE64).Таким образом, по схеме Basic пароль пользователя передается по сети в открытом виде.Механизм Windows NT Challenge-Response в HTTPВторая схема проверки подлинности, которая может использоваться для доступа клиента Internet Explorer к Интернет-серверу IIS, называется NTLM. Суть данной схемы состоит в том, что сервер в строке заголовка WWW-Authenticate передает клиенту «вызов» -- последовательность 8 случайных байтов. Клиент применяет имеющийся у него хешированный пароль пользователя в качестве ключа шифрования и в заголовке Authorization возвращает серверу «ответ». В ответ включается имя пользователя, домен и зашифрованный паролем «вызов». Этой информации серверу достаточно, чтобы проверить подлинность пользователя и решить, передавать ли ему запрошенный ресурс.Преимущество этого механизма в том, что во время проверки подлинности пароль по сети не передается. Однако применять его в глобальной сети Интернет вряд ли целесообразно. Во-первых, из клиентов HTTP в настоящее время его поддерживает только Microsoft Internet Explorer (начиная с версии 2). А во-вторых, он все же уязвим для изощренных атак, описанных ниже.Альтернативный подход: механизм Basic + протокол SSLПротокол SSL (Secure Sockets Layer) предложен корпорацией Netscape для защиты от несанкционированного доступа передаваемых по Интернету данных путем их шифрования. С точки зрения архитектуры, SSL «встраивается» между модулями HTTP и TCP как на клиентском, так и на серверном компьютере. Поступающий от клиента HTTP-запрос сначала шифруется модулем SSL и в таком виде передается по каналу TCP. На сервере модуль SSL расшифровывает поступившие по каналу TCP данные и передает их HTTP-серверу. Ответ сервера в процессе передачи его клиенту подвергается аналогичным преобразованиям.Контроль допустимых операцийРассмотренные выше средства контроля доступа основаны на идентификации и проверке подлинности пользователя, олицетворении его сервером и применении для защиты информации стандартных средств операционной системы. В дополнение к этому Интернет-сервер содержит средства ограничения допустимых операций протокола.Администратор Интернет-сервера явно указывает папки файловой системы Windows NT, доступные по протоколам FTP, Gopher и HTTP, формируя отдельно для каждой из этих служб список виртуальных каталогов (virtual directories). Объявляя папку виртуальным каталогом IIS, администратор открывает доступ по сети ко всем файлам в этой и вложенных в нее папках. Для каждого виртуального каталога можно указать тип допустимых для него операций. Заметьте: рассматриваемые ограничения относятся ко всем обращающимся через виртуальный каталог пользователям.Виртуальные каталоги могут быть вложены друг в друга, и эта вложенность не обязательно соответствует вложенности папок. Используя это средство, можно установить различные разрешения на подкаталоги виртуального каталога. Только помните: папка, имя которой длиннее 8 или содержит недопустимые для DOS символы, имеет в действительности два имени, и клиент в запросе может указать любое из них.Операциями FTP являются считывание и запись информации. FТР-клиент выполняет операцию считывания по командам dir, get и mget. Операциям записи соответствуют команды клиента put, mput, delete, rename. По умолчанию все виртуальные каталоги FТР-сервера открыты только на чтение. Чтобы разрешить клиентам передавать файлы на сервер, администратору надо установить флажок Write в окне свойств соответствующего виртуального каталога.Для службы HTTP в окне свойств каждого виртуального каталога администратор системы может разрешить или запретить выполнение по запросу клиентов операций Read и Execute.Выполняемые приложения IIS (CGI, ISAPI), открывая большие возможности для создания нетривиальных информационных систем, одновременно представляют угрозу для системы безопасности сервера. Если приложение доступно через Интернет-сервер, его может запустить любой пользователь, располагающий стандартным клиентом HTTP. Поэтому администратору следует очень внимательно относиться к установке приложений IIS. Множество известных взломов защиты серверов HTTP связаны с эксплуатацией ошибок при администрировании Web-узла или ошибок установленных на нем приложений.Microsoft рекомендует обычные и исполняемые файлы помещать в разные виртуальные каталоги, в свойствах виртуальных каталогов с обычными файлами разрешать только операцию Read, а с исполняемыми файлами -- только Execute. Если в последнем случае разрешить обычное считывание, у клиентов появляется шанс получить копию исполняемого файла или сценария, а это -- первый шаг к выявлению в этой программе ошибок и последующей их эксплуатации.Тщательно контролируйте папки, объявленные виртуальными каталогами с разрешением исполнения приложений, и их подпапки. Установленные на них разрешения NTFS должны открывать их на запись лишь ограниченному кругу пользователей. Если приложениям требуется разрешение на запись в какие-либо файлы, лучше сделать так, чтобы эти файлы располагались в отдельной папке, недоступной через Интернет. Появление в виртуальных каталогах с приложениями файлов с расширениями .exe, .com, .dll -- очень тревожный признак. В реестре операционной системы периодически проверяйте список интерпретаторов сценариев, а также значение параметра HKEY_LOCAL_MACHINE\SYSTEM\Current-ControlSet\Services\W3SVC\Parameters\Filter DLLs, в котором перечисляются дополнительные библиотеки, подключаемые к Интернет-серверу.Среди операций сервера HTTP есть еще одна, не упоминавшаяся ранее -- Browse. Что сделает Интернет-сервер, если в запросе указано имя папки, а не файла? По умолчанию -- будет искать в этой папке файл default.htm и возвратит клиенту его содержимое. Но если такого файла нет, он может составить индекс, т.е. перечислить имеющиеся в ней файлы и подпапки. Для информационных систем, созданных по типу WWW, это излишняя операция, поскольку доступ к отдельным файлам осуществляется по гипертекстным связям. Поэтому по умолчанию этот параметр всегда отключен. Однако иногда разработчики Web-узлов, публикуя большое количество файлов, не утруждают себя созданием и поддержанием в актуальном состоянии гипертекстного индекса. В этом случае удобно воспользоваться средством автоматического составления индекса папки. Во второй и третьей версиях IIS оно включается установкой флажка Browsing в окне свойств службы WWW Интернет-сервера на вкладке Directories.Возможные атакиСервер IIS для проверки подлинности использует базу учетных записей Windows NT. С одной стороны, это позволяет легко регулировать доступ к ресурсам системы. С другой -- при определенных условиях злоумышленник может узнать пароль, указанный пользователем в процессе проверки сервером IIS его подлинности. В таком случае этот пароль можно применить не только для доступа через IIS, но и для любых других операций в сети.Перехват пароляПри проверке подлинности по протоколам FTP и HTTP (Basic) пароль пользователя передается по сети открытым текстом. Любой злоумышленник, способный перехватить пакеты, идущие от клиента к серверу, легко узнает этот пароль. Поэтому применять эти механизмы не рекомендуется.Подбор пароляМеханизм проверки подлинности NTLM несколько более защищен. Однако. перехватив пару «вызов-ответ», злоумышленник может применить программу простого перебора и восстановить пароль пользователя. Возможность этой атаки усугубляется тем, что, во-первых, Internet Explorer для Windows 95 и Windows NT 4 передает на сервер имя и пароль пользователя, даже не оповещая последнего об этом. А во-вторых, по сети передается результат шифрования, основанный на пароле LAN Manager, который защищен сравнительно слабо.Использование хешированного пароляЧтобы пройти проверку подлинности на IIS, клиенту не нужно знать исходный пароль пользователя, достаточно иметь 16-байтовый хешированный пароль. Получить его можно с помощью программы PWDump. Тем самым еще раз подчеркнем: база учетных записей компьютеров нуждается в защите.Атака Man-in-the-MiddleАтака на механизм «вызов-ответ», называемая Man-in-the-Middle, может быть с минимальными изменениями проведена по протоколу HTTP.1. Пользователь Internet Explorer пытается получить доступ к WEB-серверу злоумышленника. Тот идентифицирует «жертву» и инициирует проверку подлинности по механизму NTLM.2. Злоумышленник издает запрос на атакуемый сервер в домене жертвы, чтобы открыть сессию SMB.3. Сервер генерирует злоумышленнику ответ, содержащий случайный «вызов».4. Система злоумышленника транслирует этот же «вызов» по протоколу HTTP.5. Internet Explorer, применив пароль пользователя, формирует «ответ» и передает его на проверку злоумышленнику.6. Злоумышленник транслирует «ответ» пользователя атакуемому серверу и, естественно, получает к нему доступ.Самое неприятное в этой атаке то, что пользователь может даже не подозревать, что сведения о нем переданы на сервер в Интернете.Рекомендации по защите сервера IISТиповые потребности организацииРассматриваемая нами типовая организация обычно нуждается в IIS для предоставления пользователям Интернета доступа к Web-серверу организации по протоколам HTTP и FTP.Механизм аутентификации не нужен, так как нет потребности ограничивать доступ к ресурсам Web-сервера ни из Интернета, ни из внутренней сети организации.Для обеспечения таких потребностей достаточно IIS 3, входящего в состав NT Service Pack 3 и выше. Если требуются дополнительные возможности (например, поддержка IIS), лучше установить IIS 4, который доступен в составе бесплатно распространяемого Windows NT Option Pack.Инсталляция сервера IISЕсли IIS не был установлен в процессе инсталляции Windows NT, то его можно инсталлировать, запустив файл inetins.exe из директории %SystemRoot%\system32.Так как Web-сервер нашей типовой организации размещен в локальной сети, для его работы через прокси-сервер необходимы некоторые специальные настройки:1. На компьютере, выполняющем роль Web-сервера, должен быть инсталлирован WinSock Proxy client.2. Необходимо создать текстовый файл wspcfg.ini и поместить его в директорию с файлом inetinfo.exe (%SystemRoot%\system32\inetsrv). Содержимое файла wspcfg.ini:[inetinfo]ServerBindTcpPorts=21,20,80LocalBindTcpPorts=20KillOldSession=1Persistent=1Forcecredentials=13. Если используется разграничение доступа в Интернет, необходимо создать специальную учетную запись, от имени которой будет происходить авторизация службы Web-сервера в MS Proxy Server'e (например, “InetInfo”). Далее, необходимо с помощью утилиты CredTool, входящей в состав WinSock Proxy Client, указать файлу inteinfo.exe действовать от имени этой учетной записи. Для нашего примера это будет команда credtool -w -n inetinfo -c InetInfo domain password4. В свойствах WinSock необходимо создать два протокола:|
Параметр | 1 | 2 | | Protocol Name | FTP Server | HTTP Server | | Initial Connection | 21 TCP Inbound | 80 TCP Inbound | | Port Range | 1025-500 | - | | Type | TCP | - | | Direction | Inbound | | | | 5. Разрешить работать через эти протоколы учетной записи, от имени которой действует служба IIS («InetInfo»).6. Инсталлировать заплатку с сервера Microsoft (http://support.microsoft.com/support/kb/articles/Q236/0/01.ASP).Настройка службы WWW Основные настройки приведены на рисунках выше.Следует обратить внимание, что для папки /Scripts следует установить только разрешение Execute, для остальных - Read.Настройка службы FTPКак это принято в Интернет, рекомендуется в FTP-директории создать папки pub и incoming. Из папки pub посетитель может только читать информацию, а в папку incoming - только записывать. Для этого необходима довольно сложная комбинация разрешений NTFS и IIS.Настройки IIS приведены на рисунках ниже. В них предполагается, что компьютер имеет имя EKSERVER и созданный по умолчанию пользователь, которым олицетворяется IIS-анонимный пользователь, называется IUSR_EKSERVER. Разрешения NTFS для пользователя IUSR_EKSERVER приведены в списке:Для папки ftproot - Read (RX)(RX);Для папки incoming - Special Access (RW)(W);3. Для папки pub - Read (RX)(RX). Дополнительные меры защитыНе рекомендуется Web-дизайнерам и Web-программистам давать доступ к WWW-директориям по протоколу FTP. Вместо этого лучше сделать ее доступной по внутренней сети и работать только оттуда. Рекомендуется отслеживать и хранить лог-файлы IIS в течение длительного времени. Быть может, эти файлы годичной давности помогут доказать вам, что атака на Bank of New York с вашего сервера была произведена не вами, а кем-то, кто ранее сумел взломать его. При наличии невысокоскоростного канала в Интернет рекомендуется ограничить максимальную скорость доступа к Web-серверу, чтобы какая-то часть канала всегда была доступна вашим пользователям. По этой же причине (а также в зависимости от мощности Web-сервера) лучше ограничить максимальное число FTP и HTTP-соединений. Разделы реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots и HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSFTPSVC\Parameters\Virtual Roots рекомендуется открыть для полного доступа только ОС и администраторам. Отслеживать появление в каталогах IIS неизвестных файлов, особенно с расширениями com, exe, dll в папках с разрешением Execute. Следить, чтобы удаленный пользователь не мог по протоколу FTP, закачав в папку incoming большое количество информации, переполнить жесткий диск Web-сервера.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8
|