Iis поиск в каталоге webdav


Содержание

IIS Win7 не позволяет WebDAV отобразить корень

Имею тренировочный IIS, хочу заставить его отдавать информацию по протоколу WebDAV.
Кое-как настроил, виндой папка зацепляется нормально (через «добавить элемент в сетевое окружение»), но меня это интересует постольку-поскольку. Основная задача — поднять под апачем WebDAV (не через подключение модуля WebDAV, а через php-скрипт) да так, чтобы винда цепляла эту папку как свою.
Для этого пристально изучаю, как общается винда с WebDAV-сервером и пытаюсь воспроизвести поведение в апаче. Со стороны апача — мои личные заморочки, а вот со стороны IIS у меня недопонимание.
Пытаюсь посмотреть, что же такое отвечает IIS на запросы, которые идут от webdav-клиента. Для этого на апаче запротоколировал последовательность запроса виндового клиента и пытаюсь другим клиентом скормить те же запросы уже IIS-у.

Когда пытаюсь REST-клиентом (реализованным как сторонний плагин под файрфокс) отправлять те же запросы, что и винда (ее WebDAV-клиент), то наталкиваюсь на ошибку 403 Forbidden. Причем это происходит тогда, когда выполняется запрос к корневой папке (PROPFIND localhost/virtualdir/). Если же обратиться аналогичным образом к объекту в папке (PROPFIND localhost/virtualdir/file.txt), то приходит удачный 207 Multistatus
В первом случае клиент запрашивает у меня HTTP-аутентификацию (как по ответу 401 Authorization required). Я в растерянности, что вводить. Ввожу виндовый логин-пароль — приходит отлуп 403. Оставляю пустым — возникает повторный запрос (401).
Когда пытаюсь обратиться в объекту в папке — никаких проблем, авторизация не требуется, успешный ответ 207.

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

Как создать WebDAV сервер средствами IIS от ОС Windows 10, 8.1, 8, 7, Vista

Совсем недавно мы рассмотрели две очень интересные темы, связанные с доступом к файлам на компьютере через интернет. Эти статьи доступны по следующим ссылкам: файловый сервер с WEB интерфейсом и FTP-сервер. Статьи получились большие и, на мой взгляд, очень полезные, но этот комплект не полный. Сегодня я расскажу об ещё одном способе обмена файлами, а точнее протоколе WebDAV. Что же это такое?

WebDAV (англ. Web Distributed Authoring and Versioning) — это протокол защищенного соединения высокого уровня. WevDAV работает поверх HTTP. Этот протокол позволяет осуществлять любые операции с файлами (и их метаданными) на сервере и даже позволяет работать одновременно с несколькими файлами. То есть, установив WebDAV сервер, мы получаем защищенное соединение для работы с нашими файлами на компьютере с любой точки планеты, где есть интернет. Неплохо? Конечно же, это отлично! И, кстати, именно по протоколу WebDAV работают такие проекты как Google Drive, Яндекс.Диск, DropBox и SkyDrive. Это явный пример того, что этот протокол стоит внимания.

Хватит теории, думаю вы и так уже всё поняли и решили, что вам он нужен. Перейдем к настройке (все операции проводились на Windows 8.1 Final, но применимы так же к Windows 7 и Windows 8):

1) Первое что нам нужно — это включить недостающие компоненты системы. Для этого идём в «Панель управления» → категория «Программы» → «Программы и компоненты» и жмём кнопку слева «Включение или отключение компонентов Windows»:

2) Открываем каталог «Службы IIS» и ставим маркеры на каталоги «Службы Интернета» и «Средства управление веб-сайтом».

Раскрываем «Службы Интернета» и далее совершаем два пункта:
а) Переходим в каталог «Безопасность» и ставим галочку на все пункты;
б) Переходим в каталог «Общие функции HTTP» в этом каталоге так же ставим галочки на все компоненты.

Жмём ОК и ждём, пока Windows включит необходимые нам компоненты.

Возможно после включения понадобится перезагрузка системы.

3) Далее нам необходимо создать пользователей и группу для них, которые смогут работать с нашими файлами по протоколу WebDAV. Для этого идём в «Панель управления» → группа «Система и безопасность» → «Администрирование» → «Управление компьютером». В левой части окна выбираем раздел «Локальные пользователи и группы» → «Группы». Чтобы создать группу, нужно кликнуть правой клавишей мыши по центральной части окна и выбрать соответствующий пункт:

Вводим имя группы и её описание:

Далее нужно перейти на вкладку «Пользователи» и по аналогии создать нового пользователя. Кликаем правой клавишей по пустому месту и выбираем «Новый пользователь»:

Указываем имя пользователя, полное имя, вводим пароль, снимаем галочку с «Требовать смены пароля…» и ставим галочки на «Запретить смену пароля пользователем» и «Срок действия пароля не ограничен» и создаем пользователя:

Далее открываем свойства нового пользователя и переходим на вкладку «Членство в группах». Жмём кнопку «Добавить» → «Дополнительно» → «Поиск» и выбираем группу, которую мы создали несколько минут назад. Жмём ОК.

4) Теперь нам нужно предоставить новой группе доступ к папкам, доступ к которым будет осуществляться через WebDAV. Для этого открываем свойства нужного каталога и переходим на вкладку «Безопасность», нажимаем кнопку «Изменить»:

Нажимаем «Добавить» и добавляем группу пользователей, которую мы создавали для WebDAV. Выбираем её и даём в нижней части полный доступ:

Жмём ОК, для применения изменений.

5) Теперь переходим к настройке сервера. Для этого идём в «Панель управления» → группа «Сеть и безопасность» → «Администрирование» и открываем «Диспетчер служб IIS» → «Сайты» и выбираем в левой колонке «Default Web Site»:

В центральной части окна открываем «Правила разработки WebDAV»:

В открывшемся меню, в правой колонке жмём кнопку «Включить WebDAV»:

Далее, в том же меню жмём «Добавить правило разработки»:

В открывшемся окне выбираем «Указанные роли или группы пользователей» и вводим имя группы, которую мы создавали для WebDAV. Ставим все галочки в разделе «Разрешения» и жмём ОК.

Возвращаемся в окно работы с сайтом и жмём кнопку «Проверка подлинности»:

Включаем «Проверка подлинности Windows». Для этого нажимаем правой клавишей и выбираем «Включить». Если сервер будет использовать только для WebDAV, можно отключить анонимную проверку.

Ещё раз возвращаемся в меню работы с сайтом и выбираем пункт «Правила авторизации»:

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

Настройка сервера почти завершена, осталось за малым: указать папку, доступ к которой будет осуществлять по протоколу WebDAV. Для этого жмём правой клавишей по Default Web Site, выбираем «Управление веб-сайтом» и кликаем по «Дополнительные параметры»:

В открывшемся окне вводим путь до папки, доступ к которой будет осуществляться через протокол WebDAV и жмём ОК.

Сервер WebDAV настроен и готов к работе. Если у вас постоянный IP, можно купить доменное имя и привязать его к вашему компьютеру.
Для удобства использования WebDAV сервера, можно подключить его на компьютере как сетевой диск, это значительно упростит его использование. Так же к вашему вниманию доступны статьт о подключении к серверу с телефона на Android через ES Проводник или X-plore File Manager.

На этом всё. Надеюсь эта статья оказалась вам полезной, нажмите одну из кнопок ниже, чтобы рассказать о ней друзьям. Также подпишитесь на обновления сайта, введя свой e-mail в поле справа.

Webdav authentication performance / alternatives

I am trying to find out how suitable Webdav is for a product by the company i am working at.

Our needs seem to exceed what Webdav has to offer and i’m trying to find out if my theory is correct and if so how we could work around it.

I am using the Webdav-package which you can install through the «add/remove windows features»-dialog.

The problem is that we want to be able to set permissions for each file and since we can access and change authoring-rules by code this is more or less possible.

Authoring-rules seem to apply to folders and not individual files but this could be worked around by giving each file it’s own folder (although it’s a bit ugly).

To me this solution seems very inefficient mainly because the authoring-rules are all placed in a list which means that for all file-requests the server has to loop through the entire list which gets larger for every file added to the server.

My thought is that we could build some kind of «proxy» that checks permissions in a more efficient way and if the user has permission to access the file we just forward the request to the webdav-server.

This might also be inefficient though since we have to have an application managing the connection between the user and the Webdav-server but at least the inefficiency isn’t exponential.

I guess this leads to the questions:

Is Webdav at all suitable for more complex permissions?

Is there some part of Webdav that i have missed which solves this problem?

If so, would it be better to go with the internal solution or should we do an external solution?

If not Webdav, is there a better solution? (We want all the nice file-locking, version-control and office-integration stuff)

Publishing Content to IIS

Publishing Content using WebDAV

You can use Web Distributed Authoring and Versioning (WebDAV) to manage and publish content such as HTML files, ASP pages, scripts and executables, to IIS. You can use WebDAV to create and modify web content on Internet servers. WebDAV utilizes the port 80. This is the default used by HTTP. By default, WebDAV is not installed, nor enabled in IIS 6.

How to install WebDAV

Click Start, Control Panel, and click Add/Remove Programs.

Click Add/Remove Windows Components in the Add Or Remove Programs dialog box.

Click Application Server in the Windows Components dialog box, and then click the Details button.

The Application Server dialog box appears next.

Click IIS and then select the Details button.

Click the WWW Publishing Service, and then click WebDAV Publishing

How to enable WebDAV

Open the IIS Manager.

Select the Web Service Extensions (WSE) node in the console tree

  • Right-click WebDAV in the detail pane, and click Allow to enable WebDAV for all websites and virtual directories on the IIS server.
  • How to enable WebDAV Clients

    Before you can use WebDAV for publishing, you first have to enable your client machines to support WebDAV. To do this,

    Open the Services console under the Administrative Tools. Menu.

    Locate the WebClient service.

    Double-click the WebClient service to open its Properties window.

    Verify that the Startup Type setting is set to Automatic.

  • Click Start to initiate the WebClient service on the client
  • How to configure WebDAV

    The primary steps in configuring WebDAV are:

    Create a WebDAV virtual directory: To use WebDAV to publish content to IIS, you have to create a WebDAV virtual directory. To do this,

    Open the IIS Manager

    Right-click the Default Web Site, and select New, and then Virtual Directory.

    Follow the prompts of the New Virtual Directory Wizard to create the WebDAV virtual directory.

  • Configure NTFS permissions: The NTFS permissions which you configure control whether users are able to use WebDAV.
  • To configure NTFS permissions for the WebDAV virtual directory,

    Open the IIS Manager

    Right-click the WebDAV virtual directory and select Permissions. The default permissions for users are

    Read, users can read the file’s content

    Read & Execute, users can read the file’s content and execute scripts

    List Folder Contents, users are view the contents of the WebDAV directory.

    The special permissions assigned to users are:

    Create Files/Write Data

    Create Folders/Append Data

    Configure Web permissions: The Web permissions which you configure have to enable clients to perform the following tasks:

    Publish content to IIS.

    Manage various types of Web content

    To configure Web permissions for the WebDAV virtual directory,

    Open the IIS Manager

    Right-click the WebDAV virtual directory and select Properties from the shortcut menu.

    Click the Virtual Directory tab. The Web permissions and other configuration settings which you can configure are:

    Script Source Access, if the Write permission is enabled as well, users are able to edit ASP pages and files.

    Read, enables users to read files, if the NTFS permissions also enables this permission.

    Write, users can write files to the directory, if the NTFS permissions also enable this permission.

    Directory Browsing, users can view files in the directory, if the NTFS permissions also enables this permission.

    Index This Resource, if the Indexing service is enabled, users are able to search the files in the directory.

    Publishing Content using FPSE

    You can use the FrontPage to publish Web content to IIS, and to manage Web content. IIS 6 includes FrontPage Server Extensions 2002 (FPSE 2002), to provide the following:

    Enable client computers to connect with the Web server through FrontPage

    Илон Маск рекомендует:  Работа с аргументами, передаваемыми по ссылке
  • Enable client computers to create, edit, and delete Web content.
  • How to install FPSE

    Click Start, Control Panel, and click Add/Remove Programs.

    Click Add/Remove Windows Components in the Add Or Remove Programs dialog box.

    Click Application Server in the Windows Components dialog box, and then click the Details button.

    The Application Server dialog box appears next.

    Click IIS and then select the Details button.

    Click FrontPage 2002 Server Extensions.

    How to enable FPSE

    Open the IIS Manager.

    Select the Web Service Extensions (WSE) node in the console tree

  • Right-click FrontPage Server Extensions 2002 in the detail pane, and click Allow to enable FPSE for websites and virtual directories on the IIS server.
  • How to configure additional websites to support for FrontPage

    Open the IIS Manger

    Locate and right-click the website, select All Tasks from the shortcut menu, and then select Configure Server Extensions 2002.

    When the tool for managing FPSE opens, click the Submit button

  • On the Server Administration page, you can configure the global FPSE settings for the websites on your server.
  • Configuring Content Expiration

    The IIS 6 content expiration feature enables you to specify when content should expire. For content that has expired, the page is requested again, and not retrieved from the cache. Content expiration can be configured at the site level, virtual directory level, or file level.

    To configure content expiration for the Default Web Site,

    Open the IIS Manager

    In the console tree, right-click Default Web Site, and select Properties from the shortcut menu.

    Click the HTTP Headers tab.

    Click the Enable Content Expiration checkbox.

    The options that you can select with regard to content expiration are:

    Expire After, specify the time duration after which content should expire.

    Expire On, specify the date and time when content should expire

    Configuring Redirection for Client Requests

    The methods in which you can redirect client requests for files in a directory on the Web server are listed below:

    You can redirect client requests to a different directory but on the identical site to which the content is moved.

    You can redirect client requests to a different website.

    You can redirect client requests to a specific URL on a site on the Internet

  • You can redirect client requests to a particular file in a directory on the site
  • How to configure redirection for a website or virtual directory

    Open the IIS Manager

    Navigate to either the properties window for the particular site or virtual directory.

    Select either the Home Directory tab or Virtual Directory tab.

    On the Home Directory tab, click the A Redirection To A URL option.

    The Home Directory tab displays the following options for redirecting client requests:

    IIS 5.0 и IIS 4.0: скрытые различия

    Секреты безопасного перехода на новую версию сервера Internet

    В операционной системе Windows 2000 реализовано множество новых возможностей, в том числе очередная версия информационного сервера Internet — Microsoft IIS 5.0. Теперь уже не нужно разыскивать Windows NT 4.0 Option Pack, поскольку IIS 5.0 входит в состав ядра и поставляется на компакт-диске с Windows 2000.

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

    Новая версия сервера существенно отличается от предыдущей. Многие отличия уже достаточно хорошо известны: новые методы аутентификации, более высокая производительность, возможность запускать приложения в режиме объединенных изолированных процессов (pooled-out-of-process). Другие особенности известны не так широко, но тем не менее и они важны.

    [Прим. редакции: Out-of-process сервер — это компонент, который реализован в виде отдельной программы, содержащей объекты. Этот тип сервера всегда работает в собственном пространстве процессов и поэтому практически не зависит от каких-либо программ клиента.]

    Установка

    При установке IIS 4.0 пользователь должен указать, где разместить корневые каталоги Web- и FTP-сервера. Из соображений безопасности и оптимизации администраторы систем предпочитают не располагать корень Web-сервера на томе С.


    Однако в процессе обычной установки Windows 2000 корневой Web-каталог IIS 5.0 размещается на С: без каких-либо указаний со стороны администратора. Единственный способ установить информационный сервер IIS 5.0 в другое место — это выполнить автоматическую (unattended) установку. Чтобы запустить такую установку, можно воспользоваться утилитой Sysocmgr, поставляемой вместе с Windows 2000, и указать место для корневого каталога Web, FTP и inetsrv (последний по умолчанию находится в каталоге c:winnt). Если после установки IIS 5.0 обнаружится, что все относящиеся к информационному серверу продукты располагаются на диске С, следует немедленно переустановить IIS 5.0 в автоматическом режиме с указанием правильного размещения корневых каталогов. Информацию об особенностях автоматической установки можно найти в одном из следующих источников:

    • в статье Microsoft «How to Change the Default Installation Paths for FTP and the Web» (http://support.microsoft.com/ support/kb/articles/q259/6/71.asp);
    • в материалах Windows 2000 Resource Kit Deployment Planning Guide;
    • в документе «Microsoft Windows 2000 Guide to Unattended Setup» (unattend.doc), в файле support oolsdeploy.cab на компакт-диске Windows 2000.

    Изменения в структуре файлов и каталогов

    Каталог IISHelp. Справочный каталог IIS 5.0 — IISHelp — находится в каталоге \%systemroot%winnthelpiishelp. Help-файлы предыдущей версии, IIS 4.0, расположились там же, только каталог назывался раньше iis, а не iishelp. Справочные файлы зачастую «завязаны» со всевозможными административными инструментами, мастерами (wizard) и программами, доступ к которым должен быть ограничен. По этой причине в IIS 4.0 изначально заложена некоторая угроза безопасности, поскольку общедоступным объявляется весь справочный каталог целиком, включая файлы NT Help, что отображается в виде некоторого виртуального каталога на сайте Default Web. В IIS 5.0 виртуальный каталог Help отображается на сайте Default Web в каталог iishelp, а не в родительский каталог help.

    Каталог Adminscripts. Примеры административных сценариев IIS 5.0 содержатся в файлах .vbs. Они демонстрируют возможности Microsoft Active Directory Service Interfaces (ADSI), связанные с обслуживанием Web-сервера. Найти каталог сценариев Adminscripts можно в inetpub. Для IIS 4.0 аналогичные данные были размещены в каталоге Adminsam-ples по адресу: \%systemroot%system32inetsrv.

    Default-документы. В процессе установки IIS 4.0 создавались сайты Default Web и Administrative Web. На сайте Default располагался документ, который отображался всякий раз при обращении к «новоиспеченному» серверу. IIS 5.0 не создает подобный документ, вместо этого формируется активная серверная страница IIS-Start.asp. Когда происходит обращение к IISStart.asp, система проверяет, локальное это обращение или удаленное. Если локальное, то IISStart.asp запускает localstart.asp. Если запрос удаленный, то выдается сообщение Under Construction. Приложение IIS-Start.asp выполняется только в том случае, когда нет ни файла de-fault.asp, ни файла default.htm. Если создать такой default-документ, то он будет использоваться вместо IIS-Start.asp в процессе запуска IIS 5.0.

    Каталог IISADMPWD. Сайт Default Web IIS 4.0 содержал виртуальный каталог IISADMPWD, где хранились файлы, с помощью которых пользователи могли менять пароли своих учетных записей через Web-браузер. Если выполняется «чистая» установка IIS 5.0 (т. е. не обновление IIS 4.0, а установка «с нуля»), то выясняется, что сайт Default Web больше не содержит виртуальный каталог IISADMPWD. Однако, несмотря на это, все необходимые файлы для изменения паролей через Web-браузер на сервере присутствуют. Чтобы предоставить пользователям доступ к этим файлам, нужно следовать рекомендациям, изложенным в статье Microsoft «IISADMPWD Virtual Directory Is Not Created During Clean Install of IIS 5.0» (http://support.microsoft.com/ support/kb/articles/q269/0/82.asp). Предоставление пользователям права менять пароль через обычный Web-браузер сопряжено с определенным риском. Об этом подробнее рассказано в других статьях Microsoft — «Malformed HTR Request Returns Source Code for ASP Scripting Files» (http://support.microsoft.com/ support/kb/articles/q260/0/69.asp) и «GET on HTR File Can Cause a `Denial of Service` or Enable Directory Browsing» (http://support.microsoft.com/ support/kb/articles/q267/5/59.asp). Кроме того, в первом номере нашего журнала за 2001 г. этому посвящена статья Кена Спенсера «Изменение паролей через Internet».

    Отличия в работе

    Неудаляемый анонимный пользователь. Во время установки IIS 5.0 и IIS 4.0 создается учетная запись IUSR_servername. С ее помощью регистрируются анонимные соединения с Web-сервером. Из соображений безопасности администраторы IIS 4.0 зачастую удаляют или переименовывают учетную запись IUSR_servername. При попытке удалить или переименовать аналогичную запись IUSR в IIS 5.0 программа воссоздаст ее при перезагрузке сервера. Единственный «обходной маневр» — создать и использовать аналог учетной записи IUSR без префикса IUSR в ее названии. Более подробно об этом рассказано в статье Microsoft «Correction and Addendum to Internet Information Services 5.0 Release Notes» (http://support.microsoft.com/ support/kb/articles/q254/2/60.asp).

    Меньшая зависимость от реестра. Одно из наиболее серьезных скрытых отличий IIS 5.0 состоит в практически полной зависимости настроек сервера от метабазы данных, а не от реестра системы. Метабаза IIS 5.0 содержит множество параметров, которые в версии IIS 4.0 хранились в разделах реестра. Этот факт не так очевиден, поскольку раздел HKEY_LOCAL_MAC-HINESystem CurrentControlSetServicesInetinfo по-прежнему присутствует в реестре и отражает определенную информацию для новой версии IIS точно так же, как это было в предыдущей версии. На самом деле такой раздел нужен только для обеспечения обратной совместимости с IIS Microsoft Management Console (MMC).

    WWW Distributed Authoring and Versioning (WebDAV). WebDAV — это разработанный с целью расширения возможностей протокола HTTP функциями файлового ввода/вывода. RFC 2518 описывает стандарт WebDAV, который позволяет открывать, сохранять, переименовывать, осуществлять поиск, создавать, изменять и удалять файлы на сервере IIS 5.0 непосредственно из приложений Microsoft Office, рабочего стола Windows 2000 и браузера Microsoft Internet Explorer (IE) 5.0.

    WebDAV автоматически активизируется в версии IIS 5.0, и отключить его невозможно. Сервер IIS 5.0 выполняет постоянный мониторинг всего HTTP-трафика на предмет присутствия Web-DAV-команд, в том числе связанных с собственным изобретением Microsoft — Translate header. Когда сервер распознает команду WebDAV, Web-сервер обращается к расширению Internet Server API (ISAPI) — библиотеке httpext.dll — для обработки WebDAV-запроса. Web-DAV не зависит от расширений файлового API, поэтому нельзя найти httpext.dll в ссылках приложений, запущенных на IIS 5.0. Хотя httpext.dll — это расширение ISAPI, избавиться от него не удастся.

    Контроль операций файлового ввода/вывода на Web-сервер — основа системы безопасности Web, а стандарт WebDAV разрешает пользователям выполнять файловые операции; таким образом, применение Web-DAV создает потенциальную угрозу безопасности. Для предотвращения доступа к файлу с использованием стандарта WebDAV обычная фильтрация на уровне порта не помогает, поскольку обращение к файлу осуществляется через HTTP-порт (порт 80).

    Для того чтобы записать файлы на сервер через WebDAV, необходимо разрешение на запись для IIS 5.0 (IIS 5.0 Write). Это разрешение не привязано к определенному пользователю, и его активизация предоставляет всем пользователям право записывать файлы на Web-сервер. Так что, разрешая использовать WebDAV, администратор вынужден полностью полагаться на систему прав NTFS, чтобы проконтролировать доступ к файлам. Но право записи IIS 5.0 тем не менее не дает пользователям возможности модифицировать Active Server Pages (ASP) или другие файлы сценариев.

    Экран 1. Предоставление доступа к тексту сценария.

    Чтобы редактировать файлы сценариев, следует установить флажок Script source access, единственное свойство WebDAV, которое можно настраивать в IIS 5.0. На Экране 1 показана вкладка Home Directory в окне Default Web Site Properties. Когда устанавливаются флажки Script source access и Write и используется WebDAV-приложение, открывающее ASP или иной связанный с ним файл сценария, IIS 5.0 передает исходный текст ASP, вместо того чтобы выполнять код ASP, и посылает результат HTML. Флажок Script source access можно установить как на уровне всего Web-сайта, так и для отдельных страниц.

    С применением WebDAV также связаны такие проблемы, как отказ в обслуживании (Denial of Service (DoS), блокировка файлов и нелегальный доступ к исходным текстам. В ответ на проявившиеся проблемы после внедрения WebDAV-программирования (в частности, команды Translate:f) Microsoft выпустила бюллетень безопасности Security Bulletin MS00-058, «Patch Available for `Specialized Header` Vul-nerability» (http://www.microsoft.com/technet/ security/bulletin/ms00-058.asp). Некоторые вопросы на ту же тему рассматриваются в статьях Microsoft «Internet Information Service May Re-turn Source of Active Server Pages File» (http://support.microsoft.com/ support/kb/articles/q256/8/88.asp) и «The Translate:f Security Hole» (http://www.4guysfromrolla.com/ webtech/0815001.shtml). Дополнительную информацию об остальных настройках системы безопасности можно найти в документации WebDAV, включенной в состав IIS 5.0.

    Application mappings. Сервер IIS использует отображение приложений (application mappings) для привязки файлов с различными расширениями к тем или иным исполняемым программам. К примеру, в соответствии с алгоритмом application mappings файлы с расширением ASP перенаправляются для обработки asp.dll. При желании можно добавить новое отображение, чтобы позволить IIS воспользоваться файлами сценариев практически любого типа (Perl, Rexx или PHP).

    Чтобы добраться до вкладки App Mappings в IIS 5.0 или IIS 4.0, нужно выбрать вкладку Home Directory в окне Default Web Site Properties, щелкнуть Configuration и затем App Mappings. Того же результата можно добиться путем установки произвольного виртуального каталога в качестве приложения.

    Экран 2. Закладка IIS 5.0 App Mappings с разрешенными командами.

    Экран 2 иллюстрирует вкладку App Mappings для IIS 5.0, а Экран 3 — для версии IIS 4.0. Стрелки, указывающие на правые колонки на том и другом экране, подчеркивают существенное различие между IIS 5.0 и IIS 4.0. Колонки озаглавлены по-разному: для IIS 5.0 — это Verbs, а для IIS 4.0 — Exclusions. По умолчанию, IIS 5.0 не разрешает использовать новые команды (verbs) в спецификации HTTP. Устанавливая связь приложение-исполняемый модуль, нужно указать команды, разрешенные системой для работы с HTTP. Сервер IIS 4.0, наоборот, по умолчанию разрешает использовать новые команды. Поэтому для IIS 4.0 нужно указать команды, запрещенные системой (исключения).

    Экран 3. Закладка IIS 4.0 App Mappings с запрещенными командами.

    Если проигнорировать сказанное или не заметить разницу в заголовках колонок App Mappings и указать исключенные команды (к примеру, DE-LETE и PUT), вместо разрешенных (к примеру, GET и POST) сервер возвратит сообщение об ошибке 403.1 Execute Access Forbidden («Исполнение запрещено»), сопроводив его маловразумительным дополнением: «You have attempted to execute a CGI, ISAPI or other executable program from a directory that does not allow programs to be executed.» («Попытка выполнить CGI, ISAPI или другую программу из каталога, который не предназначен для выполнения программ».) Поддавшись на это провокационное сообщение, можно никогда не отыскать причину ошибки. Система аудита здесь не поможет, так же как ничего не удастся добиться ни с помощью программы Filemon (выполняет мониторинг используемых в системе файлов, доступна по адресу: http://www.sysinternals.com), ни с помощью иной техники мониторинга, основанной на анализе разрешений NTFS (разрешения исполнять программы в данном случае). Предоставление группе Everyone права Full Control на исполняемые файлы тоже проблемы не решит.

    Илон Маск рекомендует:  Visual basic html = vbscript использование объектов

    Организация пула сокетов (Socket pooling). Когда для создания Web-сайта используется IIS 4.0, Web-сервер выделяет TCP-сокеты специально для Web-сайта. Например, если создано 20 Web-сайтов, каждый со своим IP-адресом, IIS 4.0 назначает сокет-соединение для каждого из этих 20 сайтов, и каждый из них «прослушивает» 80-й порт. В этом случае ограничиваются масштабируемость и производительность, поскольку ресурсы, занимаемые незадействованными сокетами, не могут использоваться другими сайтами.

    В противоположность этому, IIS 5.0 использует пул сокетов, которые Web-сервер по умолчанию подключает ко всем сайтам, имеющим различные IP-адреса, при условии, что пул работает на один и тот же порт. При таком подходе ресурсы сервера распределяются оптимально.

    Если Web-сервер имеет только один IP-адрес, то, вероятнее всего, для создания нескольких Web-сайтов на одном адресе IP используются заголовки хоста (host headers). Пул сокетов не поддерживает сайты такого типа, организация связного пула доступна только для Web-сайтов с различными IP-адресами. В оперативной документации по сайтам второго типа (основанные на анализе заголовка хоста) этот нюанс в работе IIS 5.0 описан недостаточно внятно.

    В файле Readme из состава IIS 5.0 (см. статью Microsoft «Contents of Internet Information Server 5.0 Release Notes» по адресу: http://support.microsoft.com/ support/kb/articles/q250/9/79.asp) показаны скрытые различия в организации пула сокетов. Если для повышения производительности системы выполняется тонкая настройка одного из Web-сайтов, работающих на пул, это неизбежно оказывает воздействие и на все остальные Web-сайты в пуле сокетов. Отрегулировать параметры производительности Web-сайта можно на вкладке Performance в окне Default Web Site Properties, как показано на Экране 4.

    Экран 4. Настройка производительности Web-узла.

    Можно отключить функцию организации связного пула для IIS 5.0 для отдельно взятого сайта или сервера. Для отключения связного пула на сервере нужно набрать команду

    Затем следует перезапустить IIS 5.0. Для отключения пула на индивидуальном сайте нужно набрать

    где х — это номер Web-сайта. IIS 5.0 использует нумерацию, а не имена Web-сайтов, для того чтобы идентифицировать различные Web-сайты. IIS 5.0 назначает номера в той последовательности, в которой сайты создавались. С помощью программы MetaEdit 2.1 (ее можно загрузить по адресу: http://support.microsoft.com/ support/kb/articles/q232/0/68.asp) можно выяснить номера Web-сайтов, о которых идет речь. Номер Web-сайта также определяется с помощью следующей команды:

    где websitename — это имя данного сайта, которое показывает Internet Service Manager (ISM). Важное замечание: команда чувствительна к регистру.

    Протоколирование работы. Если в журналах IIS 5.0 или IIS 4.0 отображается неверное время, проблема может заключаться в том, что вместо локального времени сервера используется время по Гринвичу (Greenwich Mean Time, GMT). В соответствии со стандартом консорциума World Wide Web Consortium (W3C) в работе сервера IIS применяется GMT, поэтому программа, отвечающая за журнал событий, должна выполнять конвертацию GMT в локальное время. Для этого можно воспользоваться утилитой Convlog из состава Microsoft Windows Internet Information Server Resource Kit или же пакетом Windows 2000 Resource Kit.

    В обеих версиях IIS время GMT используется для установки времени перехода даты и, в некоторых случаях, для именования журнальных файлов, что может оказать влияние на результаты анализа оценки трафика Web-сайта. К примеру, если сервер IIS расположен в Калифорнии в Тихоокеанской временной зоне, с восьмичасовой разницей по отношению к Гринвичу. Если сервер регистрирует записи с ежедневной дискретностью, можно сделать неверный вывод, что он закроет журнальный файл текущего дня и приступит к сбору данных следующего дня в полночь по Тихоокеанскому времени. Но поскольку IIS использует настройки GMT, журнальный файл сервера будет закрыт в четыре часа дня по Тихоокеанскому времени, и IIS присвоит ему имя, как если бы оно соответствовало трафику, накопленному за весь день. Так и есть на самом деле — дневной трафик содержится в диапазоне с четырех часов дня до следующих четырех часов дня, а не с полуночи до полуночи.

    IIS 5.0 обладает новым свойством, разрешающим проблему перехода даты. В окне Properties Web-сайта нужно последовательно выбрать вкладку Web Site, Enable Logging, W3C Extended Logging Format как Active Log Format и щелкнуть Properties. На вкладке General Properties в окне Extended Logging Properties (см. Экран 5) можно установить флажок Use local time for file naming and rollover, чтобы журнальные файлы формировались с учетом перехода даты в локальной временной зоне. Но вот датировка самих записей внутри файлов по-прежнему соответствует Гринвичу. Напоминаю, что сказанное относится к IIS 5.0.

    Экран 5. Настройка IIS 5.0 для использования локального времени при создании журналов.

    Для версии IIS 4.0 также можно настроить использование локального времени при определении перехода даты и именовании журнальных файлов, хотя технически это несколько сложнее, чем для IIS 5.0. В соответствии с рекомендациями, изложенными в статье Microsoft «Log Files Rolled Over According to GMT, Not Local Time Zone» (http://support.microsoft.com/ support/kb/articles/q193/6/12.asp), нужно набрать следующую команду для установки ключа метабазы в соответствии с локальным временем сервера:

    В этой команде w3svc — это название раздела метабазы Web-сервера, а х — номер Web-сайта, для которого устанавливается локальное время регистрации журналов. Это решение можно использовать для любого сервера NT 4.0 с установленным Service Pack 5 (SP5) или SP4. В пакете исправлений SP6 описанная проблема с переходом даты решена.

    Сквозная аутентификация (pass-through authentication). При создании виртуального каталога, который отображается на сетевой диск (remote share), требуется указать имя и пароль, чтобы система предоставила доступ к сетевому диску. Каждое очередное обращение к виртуальному диску будет происходить в контексте безопасности указанного имени и пароля, если только специально не указать в настройках сервера (справедливо и для IIS 4.0, и для IIS 5.0), что можно учитывать данные зарегистрированного пользователя. Такое использование учетных данных для аутентификации при обращении к сетевому диску называется pass-through authentication («сквозная аутентификация»).

    Если требуется подключить сквозную аутентификацию для сервера IIS 5.0, нужно воспользоваться методом, который, с одной стороны, поддерживает сквозную аутентификацию, а с другой — создает в метабазе соответствующую запись. Сквозными называются следующие методы аутентификации: Anonymous (пароль не указывается), Basic и Integrated Windows. При использовании метода Integrated Windows в системе, настроенной на работу по протоколу Kerberos, сквозная аутентификация также поддерживается. Но для работы по протоколу Kerberos должны выполняться определенные требования:

    • клиент: Windows 2000 + IE 5.0 или старше;
    • сервер: Windows 2000 + IIS 5.0;
    • клиент и сервер принадлежат одному домену или находятся в доменах, связанных доверительными отношениями;
    • сервер IIS 5.0 сконфигурирован для использования метода Integrated Windows;
    • и, наконец, сервер Windows 2000 и ресурс Web, к которому происходит обращение, должны иметь одинаковые имена или же нужно использовать программу Setspn (входит в состав Windows 2000 Resource Kit) для регистрации имени Web в качестве нового имени Service Principal Name.

    Для редактирования метабазы можно воспользоваться файлом сценария или программой MetaEdit 2.1. Приведенный ниже ASP-код активизирует сквозную аутентификацию на IIS 5.0 для виртуального каталога Protected на сайте Default. При этом нужно указать номер Web-сайта вместо единицы (1), а также имя виртуального каталога, названного в нашем случае Protected.

    Команда IISReset. Остановка и запуск IIS 4.0 — процесс весьма сложный, но перезапускать Web-сервер из-за всевозможных «подвисаний» приходится часто. Многие администраторы IIS 4.0 в штатном режиме перезапускают серверы в ночное время либо используют командные файлы для перезапуска остановленных служб.

    Для решения этой проблемы разработчики Microsoft добавили в Windows 2000 команду IISReset.exe. Это утилита командной строки, которая позволяет останавливать и запускать IIS 5.0 и зависимые службы. Чтобы остановить службы Internet, следует вместо значка Services в панели управления воспользоваться командой IISReset. В документации отмечается: «You should use the (IISReset) method, and not the Windows 2000 Services snap-in, for restarting Internet services. Because several Internet services run in one process, Internet services shut down and restart differently from other Windows services.» («Для перезапуска служб Internet следует использовать метод IISReset, а не оснастку Windows 2000 Services. Поскольку некоторые службы Internet функционируют как единый процесс, остановка и перезапуск служб сервера Internet протекают иначе, чем те же операции с другими службами Windows 2000».)

    IISReset имеет несколько дополнительных параметров, которые позволяют управлять процессом перезапуска сервера и указывать некоторые особые действия. Например, чтобы заставить сервер перезагрузиться, если IIS 5.0 не отвечает в течение заданного времени, нужно набрать:

    где seconds — время в секундах.

    Экран 6. Настройка Windows 2000 для запуска IISReset.

    Если IIS 5.0 не отвечает, можно запустить IISReset через Windows 2000 Service Control Manager (SCM). Для активизации этой возможности следует открыть контекстное меню IIS Admin Service приложения IIS 5.0 Services, выбрать Properties и щелкнуть на вкладке Recovery (см. Экран 6). На экране приведены установки по умолчанию, но при необходимости можно описать процедуру восстановления и задать необходимые временные параметры. На Экране 6 указано, что при любом сбое (первом, втором и всех последующих) будет вызываться программа IISReset. В поле Run file описывается файл, запускаемый после каждого сбоя (в данном случае указан C:WINNTSystem32iisreset.exe). Администратор может задать различные действия после первого, второго и всех последующих сбоев, а также вызвать специально разработанную программу, которая перезапустит остальные процессы, запишет нужные сообщения в журналы событий или оповестит обслуживающий персонал. Для вывода всех параметров, перечисленных в документации на IIS 5.0 для команды IISReset, достаточно просто набрать в командной строке:

    SSL-соединения и Client Access Licenses

    В дискуссионной статье, затрагивающей вопросы реализации сервера IIS 5.0 («Deploying Windows 2000 with IIS 5.0 for Dot Coms: Best Practices», http://www.microsoft.com/ technet/iis/iisdtcom.asp), отмечается, что .COM-бизнес должен иметь достаточное количество клиентских лицензий (Client Access Licenses, CAL) для использования всех доступных соединений Secure Sockets Layer (SSL).

    При работе с Windows 2000 необходимо, чтобы каждый зарегистрированный пользователь обладал своей лицензией (CAL), а система, в свою очередь, ограничивает число одновременно подключенных пользователей количеством лицензий, приобретенных при покупке системы. Служба Windows 2000 License Logging Service отслеживает соблюдение этих правил. Если попытаться отключить эту службу, то Windows 2000 установит максимальное число одновременных соединений равным 10.

    Неизвестный для большинства администраторов систем второй счетчик — счетчик SSL-соединений — существует отдельно от счетчика пользователей, прошедших аутентификацию. Windows 2000 + SP1 ограничивает число SSL-соединений, включая анонимные, количеством клиентских лицензий — CAL. Другими словами, имея 10 CAL, можно установить 10 зарегистрированных и 10 анонимных соединений одновременно. Т. е. лимит SSL-соединений существует, и если он превышен, то выводится сообщение:

    Поскольку не имеет смысла ограничивать число анонимных SSL-соединений количеством закупленных клиентских лицензий, Microsoft Product Support Services (PSS) выпустила специальную заплатку. Дополнительную информацию о поведении IIS 5.0 при превышении лимита CAL можно найти в статье Microsoft «Error Message: HTTP 403.15 — Forbidden: Client Access Licenses Exceeded» (http://support.microsoft.com/ support/kb/articles/q264/9/08.asp). Можно модифицировать реестр, чтобы помешать IIS 5.0 и службе License Logging Service препятствовать созданию SSL-сессий. В раздел реестра HKEY_LOCAL_MACHINESYSTEM CurrentControlSetServicesW3SVCParameters нужно добавить параметр EnableCAL (тип REG_DWORD) и установить его значение равным 0. В статье Microsoft «What`s New in the Windows 2000 Server Licensing Model» (http://www.microsoft.com/windows2000/ guide/server/pricing/changes.asp) объясняется, что нарушения лицензионного соглашения с Microsoft не происходит, если число имеющихся лицензий CAL меньше числа анонимных SSL-соединений.

    SSL и групповые символы (wildcards)

    В IIS 4.0 если несколько сайтов размещаются на одном хосте или используется множество серверов одного домена (например, mysite.com), то в сертификате можно использовать групповой символ (например, *.mysite.com) для описания Common Name (CN) и присвоить этот сертификат всем сайтам или серверам. Работать с групповыми символами можно в том случае, если лицензия допускает многократное использование. К сожалению, IIS 5.0 уже не поддерживает групповые символы для описания CN. Если же Common Name сервера IIS 5.0 не соответствует DNS-имени, браузер пользователя выведет сообщение о том, что сертификат не соответствует запрашиваемому сайту. Пользователь должен будет подтвердить, что с сайтом установлены доверительные отношения.

    Через некоторое время планируется выпустить заплатку для исправления этой ошибки (Windows 2000 SP1 проблему не решил). Подробнее о групповых символах CN рассказано в статье Microsoft «Accepted Wildcards Used by Server Certificates for Server Authentication» (http://support.microsoft.com/ support/kb/articles/q258/8/58.asp).

    Переход к IIS 5.0

    Существует еще ряд отличий между версиями IIS 4.0 и IIS 5.0, включая изменения в ASP, использование ODBC, COM+, MetaEdit, появление новых мастеров и шаблонов безопасности, изменения в настройках реестра. Большая часть изменений в IIS 5.0 существенно облегчает работу и демонстрирует способность Micro-soft извлекать уроки из неудач в реализации IIS 4.0. Я полагаю, что на версию IIS 5.0 следует перейти, как только представится такая возможность.

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

    Брет Хилл — автор, инструктор и консультант по Microsoft IIS. Ведет сайт www.IISAnswers.com. Имеет сертификаты MCSE, MCT, MCP+Internet и A+/Network+. С ним можно связаться по адресу: brett@iisanswers.com.

    Поделитесь материалом с коллегами и друзьями

    IIS: Webdav over SSL

    Сайт является не обновляемой с 20.07.2020 копией сайта alex-white.ru

    WebDAV (Web Distributed Authoring and Versioning) или просто DAV — набор расширений и дополнений к протоколу HTTP, поддерживающих совместную работу пользователей над редактированием файлов и управление файлами на удаленных веб-серверах.

    1 На Win server 2012 R2 настроить Webdav средствами IIS. Встроенным клиентом в Win 8.1 подключится к Webdav серверу.

    2 Настроить шифрованое соединение через https (ssl)

    3 Подключится с мобильных ОС (android, win phone 8.1)

    1. Берём win 2012 R2 и устанавливаем IIS с поддержкой WebDav Publishing.

    2. Делаем нужную А запись в DNS сервере, по которой будем обращаться к Webdav. К примеру webdav.mydomain.ru. Создаём домен (не забыв указать нужные права на хомяк) в IIS и включаем поддержку Webdav в WebDAV authoring rule. Создаём правило подключения пользователей — WebDAV authoring, указав нужные параметры доступа и выбрав пользователей\группуы. Далее в свойствах сайта заходим в раздел Authentication, и разрешаем только Windows Authentication. По сути минимум настроек сделано, WebDAV будет работать.

    3. Настраиваем клиента. В домашних Win ОС клиент по умолчанию доступен. В серверных нужно доставить Desktop Experience в Features. Подключать можно с консоли NET USE * http://webdav.mydomain.ru в результате будет подключён сетевойдиск или сетевая папка. Но это по протоколу HTTP и при этом данные будут ходить в открытом виде, кроме пароля авторизации. Для шифрования нужно использовать WebDAV over SSL.

    4. Настраиваем сервер IIS для работы WebDAV по протоколу https. Нам понадобится сертификат SSL. Его можно купить

    440р/год, можно получить у китайцев, подробней о заказе тут. Или создать самоподписной сертификат. Первые 2 способа не требуют добавления на каждом клиенте, сертификата в довереннные, третий подразумивает добавление его в доверенные. Как добавить первые 2 сертификата, рассказано тут и с этим должно быть всё просто. IIS может формировать самоподписные сертификаты, но CN в них обычно = имени хоста, а не тому URL по которому вы подключаетесь к серверу. По этому сертификат не будет валидным. Для формирования самоподписного сертификата для Webdav На IIS, нужна утилита SelfSSL входящая в комплект (IIS) 6.0 Resource Kit Tools. О сертификатах в IIS описано подробно тут. Как сгенерировать сертификат расказано тут, я же укажу строку с параметрами. Сама утилита обычно лежит по пути C:\Program Files (x86)\IIS Resources\SelfSSL. Вызываем её с параметрами:

    Илон Маск рекомендует:  Что такое код asp hcfilesdeletedperdiskfree

    selfssl.exe /N:CN=webdav.mydomain.ru /V:1000

    После добавления сертификата на сервер, нужно зайти в раздел Edit bindings в IIS нашего домена и сделать привязку имени к сертификату.

    После успешных действий можно подключаться клиентом WebDav по протоколу HTTPS.

    NET USE * https://webdav.mydomain.ru /USER:ИмяПользователя Пароль

    5. Подключение мобильных устройств к WebDav.

    Если используем самоподписной сертификат, то нужно его добавить на устройстве в доверенные!!

    Для Win Phone 8.1 я не нашёл родного клиента и использую WebDav File. Всё бы ничего, но вот хочется отправлять фотки и файлики из приложений прям в WebDav как в MS OneDrive нативно и просто в пару кликов.

    Полезные ссылки:
    На этом всё. Вот кучка полезных ссылок для шаманства.

    Значение времени жизни кэша для WebDAV в Windows 7 – 60 секунд. Чтобы изменить это значение, вам нужно изменить ключ реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRxDAV\Parameters\FileNotFoundCacheLifeTimeInSec. Эта мера необходима, т.к. не существует механизма, который бы чистил кэш по требованию.

    То знайте, вы защищены обновлением от атаки «denial of service» Максимальный размер скачиваемого файла =

    50мб. Решить можно правкой реестра как указано на сайте MS. Или тут, но с картинками

    WebDAV Extension

    Windows This is a Microsoft Supported Download | Works With: IIS 7

    Overview

    Publish more securely and easily from IIS 7.0 Manager using standard protocols.

    WebDAV for IIS 7.0 is based on the WebDAV extension to the HTTP standard, and integrates seamlessly with the new IIS 7.0 Manager to allow more secure publishing of content using HTTP over SSL.

    Configure publishing on a per-site level.

    WebDAV for IIS 7.0 can be enabled at the site level, allowing IT administrators to restrict WebDAV access to specific sites on a server.

    Prevent lost updates due to overwrites.

    WebDAV for IIS 7.0 supports both shared and exclusive locks to prevent lost updates due to overwrites.

    Improve security and auditing through custom authorization support.

    WebDAV for IIS 7.0 supports per-URL authoring rules, allowing administrators to specify custom WebDAV security settings on a per-URL basis. This fine-grained control gives administrators the ability to maintain one set of security settings for normal HTTP requests and a separate set of security settings for WebDAV authoring.

    Using WebDAV with IIS

    The traditional method for uploading content to a web server is File Transfer Protocol (FTP), but using this approach has its disadvantages:

  • Using FTP requires that you open additional ports on your perimeter firewall, and this can increase the attack surface of your network and make it more susceptible to penetration by attackers. This is obviously undesirable from the perspective of keeping your network secure.
  • FTP has no file locking mechanism, so it’s possible for two users to upload different versions of the same file simultaneously causing one to be overwritten. This can mean lost time troubleshooting why an uploaded file is different from what you expect.
  • The FTP approach means you have to edit your content locally on the client. In other words, to edit a page already on the web server you would have to download it to the client, edit it there, and then upload it again to the web server. This is a time-consuming and inefficient approach to managing content.
  • The solution to these problems is WebDAV, a protocol used for publishing and managing content to web servers. WebDAV is an extension of the HTTP/1.1 protocol described in RFCs 2518 and 3253. WebDAV overcomes the three issues described above as follows:

  • WebDAV uses port 80, the same port used by HTTP for web access. So using WebDAV means you don’t have to open any extra ports on your firewall.
  • WebDAV lets only one user modify a file at a time, while allowing multiple users to read it. This allows files to be locked while they are being edited, preventing unexpected changes from occurring.
  • WebDAV lets you edit files on the server instead of needing to download them first to the client. Editing files remotely using WebDAV is as easy as if they were locally present, and the whole process is transparent to the content producer.
  • Let’s walk through the steps necessary to have WebDAV enabled on an IIS machine and then show how to publish and remotely modify content using WebDAV. For my web server I’m using a Windows Server 2003 machine with IIS 6 installed, and for simplicity we’ll publish content to the Default Web Site.

    Install and Enable WebDAV on the Server

    First we need to install WebDAV on the server. Note that when you promote a Windows Server 2003 machine to the role of Application Server, it installs various IIS 6 components but WebDAV isn’t one of these components installed. This is different from the earlier Windows 2000 Server platform where installing IIS 5 automatically installed WebDAV as well. To install WebDAV on the IIS 6 machine, use Add or Remove Programs in Control Panel and run the Windows Components Wizard. You can find WebDAV under Application Server | Internet Information Services | World Wide Web Service | WebDAV Publishing:

    Once you’ve installed WebDAV, you need to ensure it is enabled. To verify this, check the WebDAV option under the Web Service Extensions node in IIS Manager:

    Note that when you allow the WebDAV extension (httpext.dll) you are allowing it for all websites on your server. IIS unfortunately does not let you enable WebDAV on a per-website basis.

    Enable WebDAV on the Client

    The next step is to enable WebDAV on the client machines that will be used to create and manage content for your website. Windows XP has a built-in WebDAV client that doesn’t need to be installed, only enabled. To enable WebDAV on XP, open the Services console under Administrative Tools and find the WebClient service and double-click on this service to open its Properties sheet:

    Change the Startup Type to Automatic, then click the Start button to get the service running. You’re ready to start publishing content to your web server.

    Tip:
    WebDAV is also supported by Windows 2000 with Internet Explorer 5 or higher installed, and it’s also supported by Office 2000 or later. Some of these earlier platforms don’t fully support every feature of WebDAV that Windows Server 2003 and Windows XP support however.

    Preparing the Web Server for Publishing

    Now let’s do a bit more preparation of our web server to get it ready for publishing content from the client. First, we’ll create a new virtual directory where we’ll be putting our content. I created a local virtual directory named Budgets, which is an alias to the C:\Finance directory on the web server:

    Tip:
    To learn how to create and configure virtual directories on an IIS web server, see my earlier article called Creating and Configuring Web Sites in Windows Server 2003 here on WindowsNetworking.com.

    Now let’s configure the web permissions for this virtual directory so users can publish content. This is done on the Virtual Directory tab of the Properties sheet for the virtual directory:

    As you can see from the figure, by default only Read permission is enabled for the virtual directory. This won’t do as it means users will be able to read content in the directory but not upload or edit content. To publish content using WebDAV, you should enable the following web permissions on the directory:

  • Read — lets users read what has been published to the server
  • Write — lets users upload new content to the server and edit existing content on the server
  • Directory listing — lets users view a list of published files on the server so they can select the one they want to view or edit.
  • Note that enabling Write permission on the virtual directory can constitute a security hole on your web server, as the Write web permission allows anyone to upload content to your server. It’s therefore extremely important that you complete the next and final step of the procedure, namely, configure NTFS permissions on your web server to restrict who has access to the content directory. To do this, open Windows Explorer, open the Properties sheet for your content directory (C:\Finance) and select the Security tab:

    Note that the Users group has Read, Read & Execute, and List Folder Contents permissions. These are necessary for WebDAV users to be able to write and modify content on the web server. There are also two additional special permissions that the Users group has:

  • Create Files / Write Data
  • Create Folders / Append Data
  • These permissions too are necessary for WebDAV publishing, so don’t change them.

    Since the Users group here is a local group (the web server is a member server that belongs to a domain) its membership includes the Domain Users group, so this means any user in the domain is authorized to publish content to your server using WebDAV. If this is not what you want, then remove the ACE for the Users group from the ACL for your content directory in the figure above and add a different group whose membership contains only those users who are allowed to publish, then give this new group the same permissions that Users has above.

    One more tip about permissions:
    If your web server is a public-facing one (residing on your DMZ) on the Internet, you should add the Internet guest account (IUSR_servername) to the ACL for your content directory and assign this group Deny Write permission. That way, anonymous users on the Internet will be able to read the content in the directory but won’t be able to modify it.

    Publishing Content Using WebDAV

    Let’s try out our setup and see if it works. On an XP client machine I have a directory named C:\Stuff with four HTML files in it:

    To publish these files to my web server, I select File | Open in Internet Explorer on the client and enter the URL to the virtual directory, which is http://server/Budgets where “server” can be the name, IP address, or DNS name of my web server. The key here is to select the checkbox labeled “Open as Web Folder” as this will enable me to use WebDAV for publishing to the target folder on the server:

    Once the web folder opens on the remote server, it looks like this:

    IIS Win7 не позволяет WebDAV отобразить корень

    Имею тренировочный IIS, хочу заставить его отдавать информацию по протоколу WebDAV.
    Кое-как настроил, виндой папка зацепляется нормально (через «добавить элемент в сетевое окружение»), но меня это интересует постольку-поскольку. Основная задача — поднять под апачем WebDAV (не через подключение модуля WebDAV, а через php-скрипт) да так, чтобы винда цепляла эту папку как свою.
    Для этого пристально изучаю, как общается винда с WebDAV-сервером и пытаюсь воспроизвести поведение в апаче. Со стороны апача — мои личные заморочки, а вот со стороны IIS у меня недопонимание.
    Пытаюсь посмотреть, что же такое отвечает IIS на запросы, которые идут от webdav-клиента. Для этого на апаче запротоколировал последовательность запроса виндового клиента и пытаюсь другим клиентом скормить те же запросы уже IIS-у.

    Когда пытаюсь REST-клиентом (реализованным как сторонний плагин под файрфокс) отправлять те же запросы, что и винда (ее WebDAV-клиент), то наталкиваюсь на ошибку 403 Forbidden. Причем это происходит тогда, когда выполняется запрос к корневой папке (PROPFIND localhost/virtualdir/). Если же обратиться аналогичным образом к объекту в папке (PROPFIND localhost/virtualdir/file.txt), то приходит удачный 207 Multistatus
    В первом случае клиент запрашивает у меня HTTP-аутентификацию (как по ответу 401 Authorization required). Я в растерянности, что вводить. Ввожу виндовый логин-пароль — приходит отлуп 403. Оставляю пустым — возникает повторный запрос (401).
    Когда пытаюсь обратиться в объекту в папке — никаких проблем, авторизация не требуется, успешный ответ 207.

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

    Установка и настройка WebDAV (IIS 7.5)

    WebDAV.

    Для начала вкратце что такое WebDAV. Стандарт WebDAV (Web Distributed Authoring and Versioning) — расширение протокола HTTP/1.1. Протокол позволяет работать с файлами на сервере и выполнять обычные действия с ними: чтение, запись, удаление файлов. Используется для совместной работы над удаленными файлами. Говоря по-простому, webdav это web-папка.

    Установка WebDAV на Windows Server 2008 R2.

    Я не буду подробно описывать процесс установки WebDAV, я хочу . постинсталляционной настройки

    Включаем WebDAV для сайта IIS.

    Можно сказать на этом установка и настройка по умолчанию выполнена.

    Возможные проблемы и ошибки WebDAV.

    • Проверка работоспособности WebDAV на localhost (Server 2008 R2).

    При подключении диска на localhost возникает ошибка: Error code: 0x80070043 (The network name cannot be found). Можно через cmd: net use * http://localhost

    Ошибка возникает из-за того, что по умолчанию, на Windows Server 2008 R2 не установлен клиент WebDAV (служба WebClient). Для установки клиента необходимо установить фичу — Desktop Experience.

    Проверка роботоспособности WebDAV на localhost.

    Permanent link to this article: http://www.blogss.ru/installing-and-configuring-webdav

    2 комментариев

    Border Сообщает:

    01.06.2015 на 15:33 (UTC 6 )

    Спасибо за решение по Error code: 0x80070043 в картинках

    sergey Сообщает:

    22.12.2020 на 14:46 (UTC 6 )

    О ГОСПОДИ! спасибо, потратил 3 дня на решение ошибки

    Понравилась статья? Поделиться с друзьями:
    Кодинг, CSS и SQL