Архив за месяц: Март 2014

Wake-on-LAN

Удаленное включение компьютеров по сети — очень полезный функционал, который совершенно напрасно недооценивается большинством системных администраторов. Установка обновлений, дефрагментация, поиск вирусов и многие другие задачи можно выполнять в нерабочее время, при этом совершенно необязательно заставлять пользователей оставлять свои компьютеры включенными. Достаточно лишь активировать функционал Wake-on-LAN в BIOS, не забыв при этом обратить внимание на настройку энергосберегающих технологий в режиме ожидания, и настроить функцию управления питанием в ОС. В настоящее время Wake-on-LAN — это не только «магический пакет», а целый набор разнообразных технологий, работоспособность которых зависит от функционала сетевого адаптера. Подробное описание поддерживаемых технологий, а также о настройке параметров питания сетевых адаптеров можно прочитать на Технете.

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

Option Explicit
Dim colNetworkAdapters
Dim objNetworkAdapter
Dim strDevInstanceName
Dim strNetworkAdapterID
'Query for all of the Win32_NetworkAdapters that are wired Ethernet (AdapterTypeId=0 corresponds to Ethernet 802.3)
Set colNetworkAdapters = GetObject("WinMgmts:{impersonationLevel=impersonate}//./root/Cimv2").ExecQuery("SELECT * FROM Win32_NetworkAdapter WHERE AdapterTypeId=0")
For Each objNetworkAdapter In colNetworkAdapters
   strNetworkAdapterID = UCase(objNetworkAdapter.PNPDeviceID)
   'Query for all of the MSPower_DeviceWakeEnable classes
   Dim colPowerWakeEnables
   Dim objPowerWakeEnable
   Set colPowerWakeEnables = GetObject("WinMgmts:{impersonationLevel=impersonate}//./root/wmi").ExecQuery("SELECT * FROM MSPower_DeviceWakeEnable")
   'Compare the PNP Device ID from the network adapter against the MSPower_DeviceEnabled instances
   For Each objPowerWakeEnable In colPowerWakeEnables
      'We have to compare the leftmost part as MSPower_DeviceEnabled.InstanceName contains an instance suffix
      strDevInstanceName = UCase(Left(objPowerWakeEnable.InstanceName, Len(strNetworkAdapterID)))
      'Match found, enable WOL
      If StrComp(strDevInstanceName, strNetworkAdapterID)=0 Then
         objPowerWakeEnable.Enable = True
         'Required to write the value back to the object
         objPowerWakeEnable.Put_
      End If
   Next
   'Query for all of the MSNdis_DeviceWakeOnMagicPacketOnly classes
   Dim colMagicPacketOnlys
   Dim objMagicPacketOnly
   Set colMagicPacketOnlys = GetObject("WinMgmts:{impersonationLevel=impersonate}//./root/wmi").ExecQuery("SELECT * FROM MSNdis_DeviceWakeOnMagicPacketOnly")
   'Compare the PNP Device ID from the network adapter against the MSNdis_DeviceWakeOnMagicPacketOnly instances
   For Each objMagicPacketOnly In colMagicPacketOnlys
      'We have to compare the leftmost part as MSNdis_DeviceWakeOnMagicPacketOnly.InstanceName contains an instance suffix
      strDevInstanceName = UCase(Left(objMagicPacketOnly.InstanceName, Len(strNetworkAdapterID)))
      'Match found, enable WOL for Magic Packets only
      If StrComp(strDevInstanceName, strNetworkAdapterID)=0 Then
         'Set to false if you wish to wake on magic packets AND wake patterns
         objMagicPacketOnly.EnableWakeOnMagicPacketOnly = False
         'Required to write the value back to the object
         objMagicPacketOnly.Put_
      End If
   Next
Next

Если в выделенной жирным строчке изменить False на True, то для пробуждения будут использоваться только магические пакеты. На мой взгляд, не стоит намеренно ограничивать себя в технологиях пробуждения, т.к., например, Агент администрирования Kaspersky Security Center позволяет пробуждать компьютеры с помощью битовых шаблонов.

Оригинальный скрипт.

Повышаем безопасность SSL/TLS в ОС Windows

В ОС Windows за организацию безопасных каналов SSL/TLS отвечает криптопровайдер SChannel, чтобы противостоять современным атакам на слабые шифры требуется его отконфигурировать. Проще всего это сделать с помощью программы IIS Crypto — она отключит небезопасные шифры и SSL 2.0, добавит современные шифры. Конфигурация применится ко всем службам, использующим SChannel (в т.ч. Exchange и TMG), а не только к IIS. Также требуется отключить небезопасное пересогласование сессий TLS путем добавления в ключ HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL параметров типа DWORD AllowInsecureRenegoClients и AllowInsecureRenegoServers с нулевыми значениями.

Подробнее про атаки на SSL/TLS и закручивание гаек вручную можно прочитать в этой статье.

Провести глубокий анализ настроек SSL своего веб-сервера можно с помощью этого сервиса.

Настройка таймаутов авторизации FBA в OWA

По умолчанию в OWA действуют достаточно жесткие таймауты авторизации с помощью FBA: 15 минут для общих компьютеров и 8 часов для личных. С учетом того, что по умолчанию выбирается режим общего компьютера и изменить это поведение в настройках MS Exchange нельзя, такие настройки могут доставлять неудобства пользователям.

Настроить таймауты по своему усмотрению можно путем редактирования реестра: в ключ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchange OWA необходимо добавить параметры типа DWORD PublicTimeout и PrivateTimeout и в качестве значения задать необходимые таймауты в минутах.  Чтобы внесенные изменения вступили в силу, необходимо перезапустить службу «Служба проверки подлинности на основе форм Microsoft Exchange».

Источник: Технет

Устанавливаем протокол RDP 8.0 в Windows 7 и Windows Server 2008 R2

  1. Устанавливаем обновление kb2592687
  2. Включаем протокол с помощью групповых политик:
  • Конфигурация компьютера\Административные шаблоны\Компоненты Windows\Службы удаленных рабочих столов\Узел сеансов удаленных рабочих столов\Подключения\Выбор транспортных протоколов RDP — Использовать TCP и UDP
  • Конфигурация компьютера\Административные шаблоны\Компоненты Windows\Службы удаленных рабочих столов\Узел сеансов удаленных рабочих столов\Среда удаленных сеансов\Настройка RemoteFX — Включить
  • Конфигурация компьютера\Административные шаблоны\Компоненты Windows\Службы удаленных рабочих столов\Узел сеансов удаленных рабочих столов\Среда удаленных сеансов\Разрешить протокол удаленного рабочего стола (RDP) версии 8.0 — включить

Не забываем открыть порт UDP/3389 в брандмауэре!

Как добавить новый интерфейс в RRAS

Недавно столкнулся с проблемой — в сервер на Windows Server 2008 R2 с поднятой и настроенной службой RRAS был добавлен новый сетевой адаптер, однако в оснастке RRAS он не появился и добавить его вручную, как это делалось в Windows Server 2003 не удалось, интерфейс отсутствовал в списке доступных для добавления. На форумах предлагалось гениальное решение — удалить конфигурацию RRAS, а затем заново настроить службу. Быть может это решение годится, когда конфигурация элементарная и RRAS не выполняет критичных задач, но не в моем случае.

Приемлемое решение все же удалось найти на форумах Технет:

  • Открываем реестр, переходим к ключу HKLM\SYSTEM\CurrentControlSet\services\RemoteAccess\Interfaces, находим ключ с наибольшим номером и экспортируем его в файл.
  • Переходим к ключу HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces и ищем интерфейс, отсутствующий в RRAS, копируем его GUID.
  • В файле увеличиваем номер интерфейса, меняем GUID в параметре InterfaceName.
  • Импортируем файл в реестр, перезапускаем службу RRAS.

Решение, увы,  нетривиальное. Более того, в той же ветке на форуме пишут, что в Windows Server 2012 R2 проблема решается точно также.

Настройка источника синхронизации времени в домене

Синхронизация времени в домене на основе Active Directory настроена по умолчанию, ведь одинаковое время на серверах и клиентах — залог успешного функционирования Kerberos. Однако помимо одинакового времени на всех устройствах домена зачастую требуется обеспечить его точность (например, для разбора спорных ситуаций). Как и где настроить источник точного времени для всего леса подробно рассказывается в Технете. Вкратце: источником времени в лесу является PDC Emulator корневого домена и именно на нем необходимо произвести все манипуляции.

Остается дело за малым — выбрать источник точного времени. Разумеется, ответ напрашивается сам собой — pool.ntp.org. К сожалению, как показала практика, на некоторых серверах в пуле отклонение во времени может достигать невероятных величин — 75 секунд. Не будем вдаваться в причины такого безобразия, а поищем доступные открытые источники. Обеспечением работы государственной службы времени, частоты и определения параметров вращения Земли занимается ФГУП «ВНИИФТРИ». На предприятии установлены специализированные аппаратные тайм-серверы, подключенные к государственному первичному эталону времени, т.е. их уровень — stratum 1. Тайм-серверы расположены в Москве, Иркутске и Хабаровске, доступ к ним по протоколу NTP предоставляется абсолютно бесплатно.

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

Переходим к конфигурации:

w32tm /config /manualpeerlist:"ntp1.vniiftri.ru ntp2.vniiftri.ru ntp3.vniiftri.ru ntp4.vniiftri.ru" /syncfromflags:manual /reliable:yes /update && net stop w32time && net start w32time && w32tm /resync

Теперь наш PDC Emulator стал тайм-сервером со stratum 2. Проверить состояние синхронизации времени между контроллерами домена можно с помощью команды w32tm /monitor, а между контроллером домена и рядовым сервером или рабочей станцией с помощью команды w32tm /query /peers && w32tm /query /status.