Глава 8: Расширенное Управление

В главе 5 обсуждались базовые задачи администрирования MetaFrame, а в главах 6 и 7- соответственно приложения и принтеры. Однако, внимательный читатель обратит внимание, что до этого места мы управляли идеальной средой, в которой ничего плохо никогда не случается. Увы, я не живу в таком совершенном мире и держу пари, что вы тоже. Поэтому в этой главе мы будем говорить о том, что я оптимистично назвал как "Расширенное управление", хотя мог бы точнее назвать "Недопущение плохих парней и восстановления в случае отказа хранилища данных. " Другими словами, эта глава охватит следующие темы:

Защита серверов MetaFrame

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

Я собираюсь обсуждать использование групповых политик. Хотя я постараюсь дать обобщенную информацию для тех, кто не использовал групповые политики, они являются слишком сложной темой, чтобы уместиться на нескольких страницах. Дополнительную информацию вы можете найти в книге The Definitive Guide to Windows 2000 Group Policy, которая находится на сайте http://www.realtimepublishers.com, а также Windows 2000: Group Policy, Profiles, and IntelliMirror (Sybex).

Недопущение плохих парней

Недопущение неправомочных людей к серверам MetaFrame может быть тайной наукой, но некоторые меры защиты терминального сервера очень просты. Удостоверьтесь, что никто не зарегистрировался на терминальном сервере и примените заплату, устраняющую брешь в защите (post-SP2) и убедитесь, что серверы MetaFrame не имеют никаких черных ходов, типа IIS - особенно на серверах MetaFrame, которые имеют доступа во внешний мир.

Ограничение доступа к серверу MetaFrame

Локальные или доменные учетные записи Windows 2000 обычно имеют разрешение использовать терминальный сервер. Эти учетные записи необходимы для регистрации, но они также могут использовать терминальный сервер, если имеют допустимую учетную запись на сервере или в домене. Если пускать того, кого не следует, на терминальный сервер, то это не только создаст брешь в защите, но и будет потреблять терминальные лицензии (TS CAL). Поэтому вам необходимо ограничивать доступ пользователей к терминальному серверу. Для этого откройте свойства учетной записи пользователя (через MMC - Active Directory Users and Computers). На вкладке Terminal Services внизу окна снимите флажок Allow logon to terminal server (по умолчанию флажок установлен). После этого пользователь, для которого вы сделали это, не сможет войти на терминальный сервер.

Запрет доступа одинаково работает для сеансов ICA и RDP. При попытке пользователя, которому запрещен доступ, войти на терминальный сервер, ему будет выдано сообщение "Your interactive logon privilege has been disabled. Please contact your system administrator" (Ваши привилегии интерактивного входа зарещены. Обратитесь к системному администратору).

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

Если у вас клиенты Win2K или Windows XP, для предотвращения доступа к терминальному серверу вы можете использовать групповые политики. Для этого используйте оснастку Group Policy для MMC:

Сначала запретите вход на сервер MetaFrame. Вход на сервер MetaFrame считается локальным входом. Поэтому вы можете явно запретить отдельным группам локальный вход или запретить доступ для всех, а затем использовать групповую политику для разрешения доступа пользователям в некоторой группе. Политики Logon Locally и Deny Logon Locally находятся в редакторе политик в разделе Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> User Rights Assignment.

Другой вариант состоит в использовании групповых политик для помещения pn.exe и wfica32.exe в список запрещенных приложений с опцией Don't Run Specified Windows Applications в User Configuration\System редактора политик. Пользователи, которые имеют учетные записи Windows 2000, не смогут запустить клиента MetaFrame, даже если клиент загружен на их компьютере для другого пользователя.

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

Тонкая настройка групповых политик

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

Вы можете все упростить, создав OU для Terminal Services, в ней - локальную группу, а затем создав в ней группу доменных пользователей. Вы можете также создать OU для серверов MetaFrame и изменить гупповую политику, применяемую к этим компьютерам, поскольку их политики будут работать даже в том случае, если компьютеры, подключающиеся к серверам MetaFrame, выполняют ОС, которые не поддерживают групповые политики.

Для применения групповой политики зайдите в контроллер домена, щелкните правой кнопкой мыши на OU или домене, для которого вы хотите установить политику, и выберите из контекстного меню Properties. На вкладке Group Policy нажмите New для создания новой записи, или Edit для редактирования политики, включенной в этот GPO. Закончив, примените политику. По умолчанию, политика обновляется каждые 90 минут, но вы можете изменить это значение или просто перезагрузить сервер, чтобы сделать обновление системы. Вы также можете немедленно обновить параметры настройки групповой политики, используя команду secedit. Чтобы обновить групповую политику для пользователей, введите

 secedit /refreshpolicy user_policy 

Для обновления групповых политик, применяемых к компьютеру, введите

 secedit /refreshpolicy machine_policy

Чтобы повторно применить групповую политику даже если не было никаких изменений, добавьте к любой команде опцию /enforce.

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

Безопасность сети

Другой аспект обеспечения безопасности сети состоит в защите сервера от атак типа отказа в обслуживании (DoS). Атаки DoS делают серверы недоступными, насыщая порты сервера мусорными пакетами и препятствуя прохождению пользовательских пакетов или приводя к отказу сервера. Один из очевидных способов уменьшить уязвимость для атак DoS состоит в том, чтобы блокировать порты для служб, которые вы не используете - например, сервер MetaFrame, не выполняющий IIS, не должен иметь открытым порт 80. Помимо блокирования неиспользуемых портов, Microsoft рекомендует, чтобы вы редактировали параметры настройки системного реестра для стека TCP/IP, которые перечислены в таблице, чтобы сделать сервер менее уязвимым. Эти ключи главным образом расположены в ключе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters (NoNameReleaseOnDemand запрещает сообщать серверу MetaFrame свое имя NetBIOS кому попало и находится в подключе Services\NetBT\Parameters).

 

Параметр реестра

Значение по умолчанию

Рекомендованное Значение

SynAttackProtect

0

2

TcpMaxHalfOpen

100 для Win2KPro и Win2K Server, 500 для Advanced Server

Default

TcpMaxHalfOpenRetried

80 для Win2KPro и Win2K Server, 400 для Advanced Server

Default

Enable PMTU Discovery

1 (True)

0 (False)

NoNameReleaseOnDemand

0 (False)

1 (True)

EnableDeadGWDetect

1 (True)

0 (False)

KeepAliveTime

7,200,000 (2 часа)

300,000

PerformRouterDiscovery

2 (управляется DHCP, но по умолчанию выключено)

0 (disabled)

EnablelCMPRedirects

1 (True)

0 (False)

В дополнение к редактированию реестра сервера MetaFrame, вы также можете найти полезным поместить серверы MetaFrame за межсетевым экраном (firewall). Чтобы использовать межсетевой экран, но разрешать пользователям из внешнего мира использовать сервер MetaFrame, вы должны использовать трансляцию сетевых адресов (NAT), метод представления публичного адреса IP для внешнего мира и приватного (немаршрутизируемого) адреса IP - для внутреннего мира. Внутренние адреса имеют префиксы 192, 172 или 10 в следующих диапазонах:

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

Чтобы использовать NAT, вам необходим маршрутизатор или межсетевой экран, которые поддерживают NAT, и вы должны настроить маршрутизатор для пересылки пакетов, посланных на публичный адрес. (Удостоверьтесь, что вы настроили маршрутизатор только для пересылки пакетов, посылаемых на порт ICA, чтобы уменьшить риск. Неразборчивая пересылка портов с публичных адресов на внутренние позволяет сэкономить на публичных адресах, но не улучшает безопасность). Вы также должны сказать серверу MetaFrame, какие адреса IP ему принадлежат. Используйте утилиту командной строки altaddr для сопоставления публичных и приватных адресов IP на каждом сервере.

Файлы .ICA поддерживают NAT, поэтому если вы указываете некоторый адрес IP для соединения, используйте публичный адрес. Для клиентов, использующих NFuse, редактируйте файл NFUSE.CONF так, чтобы установить AlternateAddress=Off или включить AlternateAddress в файле ICA.

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

Чтобы создать сопоставление публичного и приватного адресов IP, введите команду

 altaddr /set nnn.nnn.nnn.nnn

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

 altaddr /set xxx.xxx.xxx.xxx nnn.nnn.nnn.nnn

где xxx - приватный адрес IP, а nnn - публичный. Чтобы прекратить использование NAT на сервере, удалите сопоставление, дав команду

 altaddr /delete

Опять же, если сервер MetaFrame имеет несколько сетевых карт, то вы должны указать приватный адрес IP карты.

Вы будете должны редактировать сопоставление IP на каждом сервере MetaFrame, использующем NAT. Чтобы не подключаться каждый раз к каждой консоли, altaddr позволяет вам определить сервер, на котором вы хотите выполнить команду:

 altaddr /server:servername /set nnn.nnn.nnn.nnn

Вам все равно нужно перезагрузить удаленные серверы, но вы можете это сделать с командной строки:

 tsshutdn /server:servername /reboot

где servername - имя сервера, который вы хотите перезагрузить.

Наконец, вы должны сделать еще несколько вещей. Microsoft выпустил сборник всех заплат, относящихся к безопасности и выпущенных после SP2. Загрузите и установите его. Кроме того, не устанавливайте IIS на серверах, которые в нем не нуждаются, чтобы эти серверы не были открытыми для внешнего мира. Вирус CodeRed, например, не требовал вмешательства, чтобы сделать IIS незащищенным - для него было достаточно только наличия самой службы. То же самое относится для любой другой службы. Если вы не нуждаетесь в службе на сервере MetaFrame, не устанавливайте ее.

Управление доступом клиентов к серверу MetaFrame

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

Отключение сквозной аутентификации

Мы обсуждали сквозную аутентификацию в Главе 6. Как говорилось, сквозная аутентификация представляет брешь в защите, потому что вы разрешаете автоматический вход к ресурсам домена. Будучи разрешенным, этот автоматический вход возможен только для того, кто уже имеет некоторую степень доступа к домену, но некоторые приложения или данные, которые могут быть доступны на сервере MetaFrame, не доступны через стандартный вход в домен. В дополнение к очевидным соображениям защиты, связанным со сквозной аутентификацией, существует еще одна не столь очевидная проблема. Когда вы разрешаете сквозную аутентификацию, при входе запускается процесс ssonsvr.exe и берет имя текущего пользователя, домен и пароль. Соединения, настроенные на использование сквозной аутентификации, берут информацию для входа в систему от этой службы. Пользователь, который имеет право Debug Programs (расширенное право) может использовать отладчик, чтобы просмотреть эту информацию в текстовом виде. Пока пользователи осторожны при выходе, эта настройка не опасна, но не стоит сохранять информацию о пароле в текстовом виде в незащищенном файле. Если эта потенциальная уязвимость является для вас проблемой, вы можете совсем отключить сквозную аутентификацию: откройте Program Neighborhood, выберите из меню Tools, ICA Settings. На закладке General сбросьте флажок Pass-Through Authentication.

Ладно, думаете вы, а если кто-то полезет в настройки и снова включит сквозную аутентификацию? Тогда вы можете удалить файлы ssoncom.exe, ssonstub.dll, и ssonsvr.exe, находящиеся в каталоге Program Files\Citrix\ICA Client. Без этих файлов сквозная аутентификация работать не будет.

Использование шифрования

Текущая версия клиента ICA поддерживает шифрование, и Citrix рекомендует его использовать для защиты сеансов ICA, чтобы предотвратить перехват пакетов. Для принудительного использования минимального уровня шифрования вам нужно изменить настройки ICA. В утилите Citrix Connection Configuration дважды щелкните на протоколе ICA, чтобы открыть диалоговое окно свойств соединения. Щелкните кнопку Advanced и откроется окно дополнительных настроек:

Как видно, в этом окне вы можете настроить параметры протокола, не полагаясь на настройки в свойствах пользователя. Раздел Security мы хотим настроить на уровне протокола. Выберите из списка требуемый уровень шифрования, и клиент ICA будет принужден его использовать. Для шифрования всей информации сеанса вам необходимо использовать шифрование RC5 (40 бит) или выше. Шифрование RC5 (128 бит) использует полное шифрование сеанса по 128-битному алгоритму RC5. Однако, там есть еще выбор RC5 128-Bit Logon Only, который обеспечивает 128-битное шифрование только процесса входа, а затем выполняет сеанс без сильного шифрования.

Ограничение доступа к дискам сервера MetaFrame

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

Использование NTFS

Инсталлируйте MetaFrame на раздел NTFS. В сущности, весь сервер должен быть отформатирован с NTFS. Это позволяет использовать не только такие достоинства NTFS, как шифрование, квотирование, компрессия и пр., но и локальные права доступа, тогда как FAT и FAT32 поддерживают только сетевые разрешения.

Поскольку любой, кто использует сервер MetaFrame, имеет локальный доступ к нему, вам необходимы локальные разрешения для блокировки среды. Кроме того, если вы инсталлируете MetaFrame на раздел NTFS, то защищается каталог Program Files\Citrix\Independent
Management Architecture. К этому каталогу имеют доступ только локальные администраторы и SYSTEM.

Устанавливайте MetaFrame на готовый раздел NTFS. Если вы установите MetaFrame на FAT или FAT32, а потом сконвертируете раздел в NTFS, то это даст группе Everyone полный доступ ко всем частям раздела (поскольку FAT и FAT32 не поддерживают локальных разрешений). Хотя вы можете вручную установить разрешения, гораздо проще и надежнее установить на "родной" раздел NTFS.

Применение полезных групповых политик

Еще одно пожелание состоит в запрещении комадной строки и команды Run, а также запрещение изменения меню Start и панели задач, чтобы пользователи не смогли сами восстановить командную строку и команду Run. Эти групповые политики находятся в User Configuration, Administrative Templates, Start Menu and Taskbar. Запретите панель управления, используя политику Disable Control Panel в разделе User Configuration, Administrative Templates, Control Panel. Раздел User Configuration, Administrative Templates, Windows Explorer также содержит политику для запрещения доступа к выбранным дискам сервера. Если вы разрешите эту политику, пользователи не будут видеть эти диски в My Computer, Windows Explorer, командах Run и DIR, в My Network Places, но приложения и оснастка MMC Disk Management будут показывать эти диски. (Если пользователи попробуют зайти в эти диски, они увидят сообщение об ошибке, говорящее об отсутствии прав для просмотра). Чтобы совсем отнять возможность просматривать нежелательные диски, вы можете запретить использование MMC на сервере MetaFrame из раздела MMC\Administrative Templates. Запрещенные диски все равно видны пользователю (но недоступны для просмотра их содержимого), поэтому если вы хотите удалить соблазн и избежать вопросов почему некотрые диски недоступны, вы можете применить другую политику в ту же папку: Hide These Specified Drives in My Computer.

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

Аудит доступа пользователей к серверу MetaFrame

MetaFrame XP имеет утилиту auditlog, которую вы можете использовать, чтобы следить за входами и выходами пользователей на серверах MetaFrame. Вы можете проследить все сеансы, или искать определенных пользователей, или идентификаторы сеансов и даты. Этот простой инструмент дает вам некоторые основные инструменты контроля сеансов ICA и RDP. Вы можете также использовать его для обнаружения неудавшихся попыток соединения с сервером MetaFrame.

Включение аудита в Win2K

Auditlog зависит от Security log, видимого в Win2K Event Viewer. Поэтому прежде чем вы можете использовать auditlog, вы должны разрешить аудит Win2K, который управляется через групповую политику. Для разрешения аудита для OU серверов MetaFrame, в Directory Users and Computers щелкните правой кнопкой мыши OU, выберите из контекстного меню Properties, выбирите вкладку Group Policy и добавьте новый GPO с именем Auditing, как показано на рисунке.

Теперь, когда у вас есть GPO, вам следует добавить политику. Щелкните Edit для открытия окна редактора политик и найдите раздел Auditing.

Если вы дважды щелкните на политике для определения ее настроек, то откроется окно:

Хотя обычно не используют аудит успешных подключений, это поможет отслеживать пользовательские сеансы. Установите оба флажка Success и Failure и щелкните OK, выйдите из редактора политик и обновите политики, примененные к OU.

Если вы не используете домен Win2K, вы все равно можете включить аудит серверов. В панели управления откройте апплет Administrative Tools, откройте Local Computer Policy и найдите в разделе Local Policies политику Audit Policy:

Теперь аудит настроен и вы можете использовать утилиту auditlog. Мы начнем с получения полного списка всей активности входа на сервере MetaFrame, введя команду auditlog без параметров:

auditlog

 

   DOMAIN\USERNAME          EVENT       TIME
   REDROOM\Administrator    Logon OK    4/8/2002 12:43
   REDROOM\Scott            Logon OK    4/8/2002 12:41
   REDROOM\Bill             Logon Fail 	4/8/2002 12:41
     Reason: Unknown user name or bad password
   REDROOM\Administrator    Logoff      4/8/2002 12:40
   REDROOM\Administrator    Logon OK    4/8/2002 12:38
   REDROOM\ChristaA         Logon OK    4/8/2002 12:37
   REDROOM\ChristaA         Logoff      3/29/2002 17:56
   REDROOM\ChristaA         Logon OK    3/29/2002 17:56
   REDROOM\Administrator    Logoff      3/29/2002 17:48
   REDROOM\Administrator    Logon OK    3/29/2002 17:47
   REDROOM\ChristaA         Logoff      3/27/2002 20:54
   REDROOM\ChristaA         Logon OK    3/27/2002 20:54 

Как видно, запуск auditlog без параметров дает вывод всех подключений и разъединений от сервера MetaFrame. (Я использую термин "разъединения" намеренно; в этом режиме auditlog не различает между выходами из системы и разъединением - оба показываются здесь как выходы из системы.). Для небольшого числа записей этот вывод приемлим, но месяцы аудита на сильно используемом сервере MetaFrame привели бы к созданию слишком большого файла, который сложно быстро просмотреть, да и информация организована не очень хорошо, чтобы прочесть много записей. Утилита имеет несколько опций, которые вы можете использовать для фильтрации или расширения записей:
Опция Описание
/AFTER:mm/dd/yy

Сообщения об активности только после указанной даты.

/ALL

Активность входа в систему/выхода из системы и типы соединений для всех учетных записей (не используется совместно с /FAIL).
/BEFORE:mm/dd/yy

Работает подобно /AFTER, но урезает отчет, включая активность до указанной даты.

/CLEAR:filename

Очищает журнал событий и сохраняет старый журнал в файл с указанным именем.

/DETAIL

Обеспечивает подробный отчет о всей активности (не используется совместно с /TIME).

/EVENTLOG:filename

Использует для ввода файл с укаазнным именем.

/FAIL

Сообщения только о неудачных входах в систему и причине неудачи.

/TIME

Разбивает отчет по пользователям, указывая время входа и выхода, а также суммарное время, которое каждый пользователь провел на сервере MetaFrame (не используется совместно с /FAIL или /DETAIL)..

/WRITE:filename

Сохраняет вывод в текстовый файл с указанным именем. Можно указывать имена UNC и отображенный диски.

session Судя по смыслу, позволяет сделать отчет по сеансам, но я не нашел идентификатор или имя сеанса, которые бы работали с утилитой. Ни session ID, ни имя сеанса не дали никакого вывода.
username Имя пользователя, для которого следует получить отчет. Отчет будет включать все сеансы указанного пользователя. Работает как для успешных, так и неудачных попыток входа.

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

auditlog /time username

Расширение информации аудита

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

Опция /all заставляет перечислять все соединения с сервером MetaFrame, включая непользовательские, например, от NT AUTHORITY. События NT Authority\Anonymous Logon вглядят так, словно кто-то пытался прорваться на ваш сервер, но это всего лишь фиксация успешных входов (Event ID 540 ) и выходов (Event ID 538). Опция /all также перечисляет типы подключений и разъединений, поэтому вы можете использовать эту опцию для сбора детальной информации о том, как учетные записи соединяются и разъединяются от сервера MetaFrame.

Честно говоря, указание /all является излишним. Что вас в действительности интересует? Сколько времени пользователи проводят на сервере MetaFrame? Для этого используйте опцию /time. Например, команда

 auditlog /time 

выдаст отчет, напоминающий следующий:

   User: ChristaA
   Logon: 3/27/2002 20:54 Logoff: 3/27/2002 20:54 Total: 00:00:02
   Logon: 3/29/2002 17:56 Logoff: 3/29/2002 17:56 Total: 00:00:00
   Logon: 4/8/2002 12:37 CurTm: 4/9/2002 10:20 Total: 21:42:39
   Logon: 4/8/2002 14:37 CurTm: 4/9/2002 10:20 Total: 19:42:34
   Total logon time: 41:25:15

   User: Administrator
   Logon: 3/29/2002 17:47 Logoff: 3/29/2002 17:48 Total: 00:01:08
   Logon: 4/8/2002 12:38 Logoff: 4/8/2002 12:40 Total: 00:01:16
   Logon: 4/8/2002 12:43 Logoff: 4/8/2002 12:44 Total: 00:01:17
   Logon: 4/8/2002 14:33 Logoff: 4/8/2002 14:35 Total: 00:02:04
   Total logon time: 00:05:45

   User: Scott
   Logon: 4/8/2002 12:41 Logoff: 4/8/2002 12:44 Total: 00:03:19
   Total logon time: 00:03:19

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

auditlog /time username 

дает тот же результат, что и команда

auditlog username /time 

Аудит пользователей

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

 auditlog christaa

Эта команда обеспечивает информацию об активности входа в систему для учетной записи christaa. Вывод этой команды точно такой же, что и при запске auditlog без параметров, но показывается только активность указанной учетной записи. Например

   DOMAIN\USERNAME      EVENT       TIME
   REDROOM\ChristaA     Logon OK    4/8/2002 14:37
   REDROOM\ChristaA     Logon OK    4/8/2002 12:37
   REDROOM\ChristaA     Logoff      3/29/2002 17:56
   REDROOM\ChristaA     Logon OK    3/29/2002 17:56
   REDROOM\ChristaA     Logoff      3/27/2002 20:54
   REDROOM\ChristaA     Logon OK    3/27/2002 20:54

Аудит дат

Auditlog отображает всю информацию, начиная со времени, когда вы разрешили аудит на сервере MetaFrame (если вы не используете опцию /clear). Если вы разрешили аудит в декабре, а сейчас май, то вам вряд ли нужно видеть все данные всякий раз при запуске утилиты. Вместо этого вы можете настроить аудит для перечисления только информации до или после определенной даты.

Опция /before не включающая. Т.е. если вы хотите собрать информацию по состоянию на 8 апреля и ранее, то должны указать в качестве параметра опции 04/09/02, а не 04/08/02. Однако, опция /after является включающей, т.е. если вы хотите собрать информацию на 8 апреля и позже, используйте 04/08/02.

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

 auditlog /before:04/08/02 

Для создания отчета начиная с 8 апреля и позже, введите

 auditlog /after:04/08/02

Вы можете комбинировать опции /after и /before с имением пользователя, чтобы создать журнал, отфильтрованный для указанного пользователя и даты. Как в опции /time, порядок опций не важен.

Регистрация успехов или неудач

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

 auditlog /fail

Эта команда создаст отчет обо всех неудавшихся подключений и их причине:

   DOMAIN\USERNAME 		EVENT 		TIME
   REDROOM\Bill 		Logon Fail 	4/8/2002 12:41
      Reason: Unknown user name or bad password

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

Сохранение отчета в файл

Если вы хотите сохранить отчет утилиты auditlog для последующего прочтения, вы можете сохранить его в файл. Auditlog поддерживает несколько способов. Для простой записи отчета указите опцию /write::

 auditlog /write:\path and filename  

где path - имя UNC или отображенного диска для местоположения файла. (Не забудьте указать расширение .txt, это текстовый файл). Будьте внимательными при сохранении файла в правильном месте. Если вы не укажите маршрут, auditlog не предупредит вас, что не смог сохранить файл. Сохраненный файл будет выглядеть приблизительно так:

   User, Logon Type, Logon Date, Logon Time, Logoff Type, Logoff Date, Logoff Time, Connection Time
   Administrator: Logon, 3/29/2002 17:47 , Logoff, 3/29/2002 17:48 ,00:01:08
   Administrator: Logon, 4/8/2002 12:38 , Logoff, 4/8/2002 12:40 ,00:01:16
   Administrator: Logon, 4/8/2002 12:43 , Logoff, 4/8/2002 12:44 ,00:01:17
   Scott: Logon, 4/8/2002 12:41 , Logoff, 4/8/2002 12:44 , 00:03:19
   ChristaA: Logon, 3/27/2002 20:54 , Logoff, 3/27/2002 20:54 ,00:00:02
   ChristaA: Logon, 3/29/2002 17:56 , Logoff, 3/29/2002 17:56 ,00:00:00
   ChristaA: Logon, 4/8/2002 12:37 , CurTm, 4/8/2002 13:26 ,00:49:26 

Если вы хотите вручную редактировать файл, то можете сделать отчет в файл с разделительными запятыми, который вы можете затем импортировать в Excel. Чего вы не можете сделать - это создать отчет, который использует фильтры типа /time или username, поэтому отчет будет содержать все пользовательские подключения.

Если вы хотите отфильтровать сохраненные журналы событий, вы можете сделать это с опцией /eventlog, но вы должны будете сохранить журнал с опцией /clear. (Auditlog не может открыть сохраненный журнал, если вы не сохранили его с опцией /clear - возможно потому, что журнал Security log, от которого зависит сохраненный файл, все еще открыт во время использования опции /write). Чтобы очистить текущий файл auditlog и сохранить его в файл, введите команду

 auditlog /clear:path and filename

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

Хотя вы не обязаны сохранять журнал в файл при использовании /clear, я настоятельно рекомендую это делать. Поскольку журнал сохраняется в текстовом виде, он не будет занимать много места, но при очистке журнал исчезает и нет никакого способа его вернуть; журнал Security log также очищается. После того, как вы очищаете журнал, вы не сможете сделать никакого исторического анализа событий, не используя /eventlog для загрузки сохраненного файла.

Для загрузки сохраненного ранее файла журнала и применения к нему фильтров, используте опцию /eventlog с именем сохраненного файла журнала. Например:

 auditlog /eventlog:path and filename

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

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

 at /?

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

Ограничение доступа к инструментам управления MetaFrame

Полагая, что даже членам группы Administrators запрещено использовать Citrix Management Console без явного на то разрешения, то не удивительно, что вы должны контролировать тех, кому разрешено использовать Citrix Management Console. Хотя вы можете использовать Citrix Management Console для управления фермами MetaFrame XP с любого компьютера, который может выполнять Java, Citrix не рекомендует этого делать, если компьютер обращается к серверам MetaFrame через сетевое соединение, которое может быть прослушано. Однако, не прыгайте за борт. Хотя Citrix рекомендует для лучшей защиты работать с Citrix Management Console через безопасный сеанс ICA, следование этому означает, что вам нужно выполнять ресурсоемкое приложение Java на сервере MetaFrame, что не является идеальным решением, если только вы не можете сделать так, чтобы запускать консоль тогда, когда никто больше не использует сервер MetaFrame. Вместо этого я предложил бы выполнять Citrix Management Console на отдельном компьютере, удостоверившись, что этот компьютер расположен в безопасной сети, в которой вы более свободно можете управлять физической средой. Если вам необходимо удаленно запускать Citrix Management Console, но вы не хотите подвергнуться прослушке, то можете установить консоль на сервере Win2K, не являющемся сервером MetaFrame, с включенным удаленным администрированием (Remote Administration) и использовать ее через зашифрованный сеанс RDP.

В отличие от Citrix Management Console, Citrix Web Console, которую вы можете установить с FR1, использует для аутентификации возможности IIS. Поэтому только те, кто и зарегистрирован на локальным сервере IIS и имеет права администратора Citrix Management Console, могут использовать эту консоль. Локальные учетные записи работают только в том случае, если Citrix Web Console установлена на сервере MetaFrame, а учетная запись является локальной для этого сервера MetaFrame; однако учетные записи домена NT 4.0 и Win2K должны работать пока сервер Citrix Web Console является членом домена или находится в доверительных отношениях с ним. (Учетные записи NDS не могут использовать Web console , потому что IIS их не понимает).

Поскольку каждый пакет, который идет с веб-консоли на сервер MetaFrame, содержит ваши учетные данные, Citrix рекомендует, чтобы вы использовали шифрование SSL на всех соединениях Citrix Web Console, особенно если вы используете сеть, доступную извне. Citrix также рекомендует, чтобы вы для управления консолью использовали IE 4.0 или более поздний, потому что Citrix Web Console содержит элементы управления ActiveX, которые очистят учетные данные после закрытия броузера, чтобы никто не смог войти, используя ваши данные. Только IE 4.0 и более поздние броузеры поддерживают элементы управления ActiveX.

Использование DSMAINT для обслуживания хранилища данных IMA

Подобно команде query, использующей query в качестве префикса для запроса (query server, query farm и т.д.), dsmaint также является частично автономной командой. Чаще всего dsmaint является префиксом для связанных команд, показаных в таблице. Большинство из этих команд очевидны и используют опции, которые я указал.

 

Команда

Описание

Поддерживаемые опции или параметры

dsmaint /recover

Восстанавливает хранилище данных на основе Access в его последнее заведомо исправное состояние. Работает только на сервере, на котором сохранено хранилище данных и выключена служба IMA.

Нет

dsmaint /recreatelhc

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

Нет

dsmaint backup

Если вы используете хранилище данных на базе Access, используйте эту команду на сервере, содержащим хранилище данных, для копирования хранилища на другой сервер. Эта команда не работает с хранилищами данных на базе SQL Server или Oracle - для них используйте стандартные средства резервного копирования баз.

destination path, путь к резевному хранилищу

dsmaint compactdb Уплотняет файл хранилища данных (только Access). Во время уплотнения хранилище будет недоступно (хотя серверы фермы могут все еще читать свои локальные кэши). /ds уплотняет базу данных немедленно. Вы можете использовать эту команду для удаленного сервера, если работает служба IMA. Если нет, вам нужно уплотнить хранилище данных на сервере, на котором хранилище расположено. Опция /Ihc уплотняет локальный кэш.
dsmaint config Изменяет параметры, которые dsmaint использует для соединения с хранилищем данных: имя пользователя, пароль и имя файла. Не выполняйте эту команду вслепую - вы должны остановить службу IMA перед использованием опции /pwd, а затем перезапустить службу. Вы должны также указать имя файла для хранилища данных при конфигурировании хранилища на базе SQL Server или Oracle или вы измените контекст защиты для базы данных.

/user:username и
/pwd:password и
/dsn:filename

dsmaint failover Указывает ферму на новое размещение сервера хранилища данных - взможно, потому что вы отключили хранилище на ремонт и оно будет недоступно более 5 минут. servername, имя нового сервера для хранилища данных IMA.
dsmaint migrate Переносит хранилище данных с одного типа данных на другой, переименовывает хранилище при изменении имени сервера, или перемещает хранилище на новый сервер. Вы можете использовать эту команду для переноса базы данных из Access в SQL Server или Oracle, или из SQL Server в Oracle (или наоборот), но вы не можете перенести хранилище на базе SQL в Access.
Эта понадобится эта команда для изменения имени хранилища данных на базе Access, если вы изменили имя сервера, на котором создали хранилище. Базы данных Access по умолчанию не имеют имя пользователя и пароля, поэтому не используйте опции /srcuser или /srcpwd для миграции базы данных Access.
/srcdsn: имя исходного хранилища данных
/srcuser: имя пользователя, используемого для подключения к исходному хранилищу
/srcpwd: пароль пользователя для исходного хранилища
/dstdsn: имя целевого хранилища данных
dsmaint publishsqlds Публикует хранилище данных, чтобы разрешить его репликацию. (см. главу 3). Создает файл с именем MFXPDS. /user: имя пользователя для хранилища данных
/pwd: пароль к хранилищу

Резюме

В этой главе мы обсудили защиту серверов MetaFrame и аудит доступа к ним. Поскольку серверы MetaFrame должны предоставить пользователям локальный доступ к серверу, ибо этот сервер является их рабочей станцией, эта тема требует тщательного рассмотрения. В Главе 9 я буду говорить об особенностях MetaFrame XPe - тех, которые идут отдельно от основной части MetaFrame XP, а именно Installation Manager и Resource Manager. Даже если у вас нет MetaFrame XPe, вы можете найти эту главу полезной для того, чтобы понять, как расширенная версия MetaFrame XP может упростить управление серверами MetaFrame.

Глава 7: Управление Принтерами  Содержание Глава 9: Использование расширенных возможностей MetaFrame XPe