Укрепление (hardening) сервера
Что следует делать при установке
Начнем для начала с того, что следует делать, и отложим обсуждение того, чего делать не следует, на некоторое время. Этим будет гарантировано то, что смогут быть выработаны некие наиболее подходящие практические методы, а также то, что все необходимое для них будет установлено. Лучше всего начать с должным образом настроенной базы, чем потом встать перед необходимостью корректировки неправильной установки.
Итак, при установке Windows NT 4.0 в целях безопасности вам следует сделать следующее:
- Ставьте файловую систему NTFS, а не FAT. NTFS дает дополнительное управление безопасностью посредством списков контроля доступа (access control lists, ACLs) и является более "крепкой" файловой системой.
Замечание. Некоторые системные администраторы предпочитают устанавливать файловую систему FAT, а уже затем, после установки, преобразовывать ее в файловую систему NTFS. Подобный способ действий не рекомендуется, поскольку в этом случае ACLs по умолчанию применены не будут.
- Устанавливайте как отдельный сервер, а не как контроллер домена (если, конечно, нет действительно важных причин так делать). То есть нет никакой мыслимой необходимости включать брандмауэр, DMZ Web, Domino или DNS сервер в домен.
- Устанавливайте самые последние пакет обновлений (Service Pack) и исправления, относящиеся к данной платформе и типу установки. Наиболее часто рекомендуемым пакетом обновлений для рассматриваемой платформы является Service Pack 6a, а также несколько дополнительных исправлений.
- Убирайте ненужные службы, устанавливаемые автоматически во время процесса установки. К таким службам относятся следующие:
- Remote Procedure Call (RPC),
- NetBIOS,
- Computer Browser.
Удаление этих служб может сильно повлиять на функциональность сервера. Для планируемой конфигурации следует проверить требования программного обеспечения или, что еще лучше, провести пробную установку и протестировать конфигурацию до ее фактического размещения в реальном рабочем окружении.
Указанные службы могут быть удалены последовательным выбором: Панель управления -> Сеть -> Службы (Control Panel -> Network -> Services):
- Workstation. Может повлиять на некоторые службы, такие, как at. Хотя она и не столь важна, как служба Server, тем не менее обращаться с нею следует осторожно.
- Server. Может повлиять на отдельные части производительности сервера. С этой службой следует обращаться с величайшей осторожностью и удалять ее только в том случае, если не было замечено снижения производительности.
- Отвяжите WINS от TCP/IP. Выберите Панель управления -> Сеть -> Привязки (Control Panel -> Network -> Bindings). Из выпадающего меню выберите "Все протоколы" (All Protocols). Кликните на WINS Client (TCP/IP) и затем на "запретить/удалить" (Disable/Remove).
- Используйте несуществующую рабочую группу. Нет никаких оснований вовлекать брандмауэр или DMZ-сервер в работу домена или рабочей группы.
- Убедитесь, что следующие службы запрещены:
- Alerter. Это служба оповещения, доставляющая пользователям сообщения о некоторых административных событиях.
- ClipBook. Эта служба позволяет видеть содержимое буфера обмена в удаленном буфере обмена.
- DHCP Client. Эта служба позволяет конфигурировать сетевые настройки удаленными средствами.
- Messenger. Эта служба отправляет и принимает сообщения, посланные администратором или службой оповещения.
- NetBIOS Interface. Эта служба подключает NetBIOS через TCP/IP.
- Net Logon. Эта служба отвечает за прямой вход (рабочая станция) или за вход через аутентификацию и синхронизацию базы данных безопасности домена (сервер) на другие машины в домене.
- Network DDE. Эта служба отвечает за обмен динамическими данными с удаленными машинами в сетевом окружении.
- Network DDE DSDM. Эта служба управляет общими сетевыми ресурсами обмена динамическими данными (Dynamic Data Exchange, DDE) посредством общей базы данных DDE-соединений.
- TCP/IP NetBIOS Helper. Эта служба представляет собой NetBIOS посредством TCP/IP, в которой осуществляется отображение имя IP-адрес.
Хотя это и удобно для удаленного администрирования сервера, лучше всего не добавлять дополнительные службы, включая службы удаленного управления, такие, как telnetd и FTP. Ни одна из них не осуществляет шифрования, таким образом учетные записи, пароли и другая информация запросто могут быть собраны прямо по сети. Если все же эти службы должны быть разрешены, системным администраторам следует принять иные меры предосторожности, такие, как доступ только через брандмауэр из внутренней сети и применение фильтров IP-безопасности к тем серверам, на которых эти службы работают.
- Включите фильтры IP-безопасности на серверах DMZ. У брандмауэров имеется своя собственная IP-фильтрация, и им не нужны или не требуются родные IP-фильтры Windows NT. Выберите Панель управления -> Сеть -> Протоколы -> Протокол TCP/IP -> Свойства -> Дополнительно (Control Panel -> Network -> Protocols -> TCP/IP Protocols -> Properties -> Advanced). Отметьте "Разрешить безопасность" (Enable Security) и затем выберите "Настроить" (Configure). Добавьте те порты, входящий трафик из которых должен приниматься.
- Уберите у пользователей права, которые разрешают им доступ к серверу по сети; доступ только через консоль.
- Определите индивидуальные административные учетные записи, если есть необходимость во множественных административных учетных записях. Они помогут процессу аудита.
- Переименуйте учетную запись "Администратор" (Administrator) во что-нибудь другое.
- Создайте фиктивную учетную запись "Администратор без привилегий". Если взломщики попытаются скомпрометировать данную учетную запись, это будет зафиксировано в журналах аудита.
- Сократите число групп, имеющих доступ к серверу, до того минимума, который необходим для работы и администрирования сервера. Возможно, следует свести все только к группам "Администраторы" и "Опытные пользователи".
- Разрешите большее количество системных политик безопасности. Для изменения "Учетных записей", "Пользовательских прав" и системных политик "Аудита" следует использовать "Диспетчер пользователей", а именно:
- Политики учетных записей контролируют пользовательские пароли и настройки блокировки. Срок действия паролей следует ограничивать согласно временным рамкам, установленным корпоративной политикой. Минимальную длину пароля следует установить по меньшей мере в восемь символов, в то время как 24 последних пароля следует запоминать. Блокировку учетной записи следует производить после трех неуспешных попыток регистрации. Счетчик попыток может быть сброшен спустя 30 минут.
- Изо всех "Прав пользователей" следует удалить группу "Все" (Everyone). Удалите все группы и всех пользователей из "Доступа к этому компьютеру по сети" (Access This Computer From the Network), а также ограничьте число пользователей и групп, которые могут регистрироваться локально. Обратите особое внимание на "Управление аудитом" и "Журнал безопасности".
- Включите отслеживание успешности и неуспешности по крайней мере для следующих событий: "Регистрация и выход"; "Изменение политики безопасности"; "Перезагрузка", "Выключение и система".
- Включите черный скринсейвер с низким периодом неактивности (порядка 5 минут). Разрешите в нем защиту паролем.
- Запустите утилиту SYSKEY для улучшения безопасности базы данных "Менеджера безопасности учетных записей" (Security Accounts Manager, SAM). Утилита SYSKEY стала доступной с выходом пакета обновлений 3; следовательно, после применения пакета обновлений 6a или более нового SYSKEY должна быть в наличии.
- Удалите подсистемы OS/2® и POSIX. Это можно сделать запуском утилиты C2SECURITY из "Набора ресурсов Windows NT" (Resource Kit) или непосредственным редактированием следующих ключей регистра.
Удалите данный ключ, а вместе с ним удалятся все нижележащие ключи, относящиеся к подсистеме OS/2 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OS/2 Subsystem for N.
Уберите значение Os2LibPath из ключа Environment:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\EnvironmentOs2LibPath.
Уберите ключи Optional, POSIX и OS/2 из ключа "Подсистемы менеджера сессии":
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\SubSystems.
После этих изменений в регистре необходимо вручную удалить директорию %WINNT%\system32\os2 вместе со всеми вложенными папками.
Это был действительно длинный список того, что фактически должно быть сделано, но на котором многие системные администраторы почему-то спотыкаются, поскольку не осознают всего того, что им следует делать при установке операционной системы.
Что не следует делать при установке
Теперь перейдем к тому, чего не следует делать. Это еще один немаленький список, хотя и не совсем такой длинный, как список того, что следует делать.
- Не устанавливайте никакого дополнительного ПО, если оно действительно не нужно. По умолчанию установка Windows NT включает в себя множество разных инструментов для повышения удобства использования ОС, аксессуаров, приложений и схем мультимедиа, приложения для коммуникации. Чем больше программного обеспечения установлено, тем выше вероятность быть взломанным. В безопасности лучше всего следовать пути Дао: простота начиная с самой установки.
- Не устанавливайте информационный сервер Интернета (Internet Information Server, IIS) v2.0, который входит в поставку Windows NT, даже если данная машина планируется как Web-сервер. Процесс обновления ранних версий IIS не удаляет старых неиспользуемых файлов, через которые тем не менее можно взломать уже новую установку IIS. До тех пор пока процессом обновления не удаляются старые файлы, зачастую лучше будет вообще деинсталлировать IIS и затем инсталлировать новую версию, а не обновлять заменой поверх.
- Не устанавливайте никаких других сетевых протоколов, кроме TCP/IP. Дополнительные протоколы порождают дополнительные проблемы. NetBEUI не используется вне рабочей группы, а IPX часто не обрабатывается должным образом брандмауэрами. Одна из наиболее больших и распространенных проблем безопасности – позволить IPX работать через NetBEUI. Это может позволить взломщикам обойти брандмауэр организации и получить доступ к настольным машинам.
- Не добавляйте дополнительных служб, если машина не назначается в качестве DNS-сервера. Web-серверам, почтовым серверам и брандмауэрам обычно не требуется запуск DNS. Единственная служба, которую вы, вероятно, захотите добавить, – простой протокол управления сетью (Simple Network Management Protocol, SNMP) для удаленного наблюдения за брандмауэром и службами DMZ. Удостоверьтесь, что ее порты блокированы для доступа извне и что "имена сообществ" (community) для чтения-записи изменены с их значений по умолчанию. SNMP может легко выдавать информации больше, чем следует, если эта служба доступна из Интернета.
- Не устанавливайте WINS. Если требуется разрешение имен NetBIOS без участия DNS, лучше использовать файл LMHOSTS.
- Не делайте DHCP-ретрансляцию (relay). В общем, для DMZ-серверов вообще не нужно никаких ретрансляций (кроме, конечно, случаев, перечисленных в лекции о прокси).
- Не разрешайте IP-переадресацию (IP Forwarding), если только данный сервер не будет брандмауэром. Брандмауэр никогда не сможет использовать весь свой потенциал, если не будет перенаправлять IP-трафик. Тем не менее обратитесь к лекции о разборе инфраструктуры за практическими советами относительно брандмауэров.
- Не устанавливайте обозреватели Интернета (Internet Explorer) 5 или 5.5: в них намного больше дополнительной функциональности, нежели может понадобиться среднестатистическому серверу. Стоит вспомнить, что любая дополнительная функциональность может быть взломана самыми неочевидными способами. Обозреватели Интернета 5 и 5.5 – это не одиночные программы, а целые коллекции предназначенных для многократного использования компонентов. А это, в свою очередь, означает, что любая программа, работающая под Windows NT 4.0, может воспользоваться этой функциональностью. Как правило, лучше не давать взломщикам дополнительных средств для атаки на сервер. Если для брандмауэра Windows NT 4.0 или для DMZ-сервера требуется обновление обозревателя Интернета, лучше установить обозреватель Интернета 4.01 с пакетом обновления 2 (Internet Explorer 4.01 Service Pack 2).
Замечание. Internet Explorer 4.01 SP1® идет в поставке Windows NT на компакт-диске с опциональными компонентами (Option Pack CD), а Internet Explorer 4.01 SP2® доступен для скачивания по сети.
Рекомендации по модификации реестра
Есть несколько функций и особенностей Windows NT, которыми можно управлять исключительно через настройки реестра. При правке реестра следует быть особо осторожным, поскольку это быстро и легко может покалечить всю систему. Нижеследующие изменения реестра однозначно сделают Windows NT более безопасной.
- Установите значение данного ключа в 1, чтобы из стартового диалога регистрации пользователя в системе убрать имя пользователя, последним прошедшего регистрацию:
HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\Windows NT\CurrentVersion\Winlogin DontDisplayLastUserName
- Установите значение данного ключа в 1, чтобы ограничить анонимным соединениям запрос списка имен учетных записей:
HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Control\Lsa RestrictAnonymous
- Создайте следующий ключ для ограничения доступа к реестру по сети, чтобы изменения реестра могли осуществляться только из локальной системы. (Для работы этой записи реестра должен быть установлен пакет обновлений 3 или выше.):
HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Control\SecurePipeServers\winreg
- Установите следующий ключ в 1, чтобы запретить на разделах с NTFS создание в целях совместимости имен формата 8.3. (Формат имен 8.3 обычно используется только приложениями Win16, так что о нем не стоит беспокоиться. Кроме того, это даст некоторый прирост производительности за счет уменьшения расходов на генерацию и запись имен формата 8.3.):
HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Control\FileSystem NtfsDisable8dot3NameCreation
- Установите данный ключ в 0, чтобы запретить автоматическое предоставление для открытого доступа административных разделяемых ресурсов ( ADMIN$, C$ и т. д.). (Убедитесь, что вы собственноручно удалили эти ресурсы из списка разделяемых (для общего доступа) запуском команды net share /d.):
HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Services\LanmanServer\Parameters AutoShareServer
- Установите в 1 относящиеся к данному журналу ключи "Приложения", "Безопасности" и "Системы" для предотвращения просмотра журналов событий из сессий "Гостя" и из нулевых сессий (сессии без имени пользователя и аутентификации паролем):
HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Services\Eventlog\Application \CurrentControlSet\Services\Eventlog\Security \CurrentControlSet\Services\Eventlog\System RestrictGuestAccess
- Установите данный ключ в 0 для предотвращения кеширования пользовательских мандатов (обычно системой Windows NT мандаты последних 10 пользователей, интерактивно входивших в систему, локально кешируются):
HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\Windows NT\CurrentVersion\Winlogon CachedLogonsCount
- Доступ к наиболее часто атакуемым ключам реестра следует ограничивать посредством списков управления доступом (Access Control Lists, ACLs). Следующие ключи реестра следует по меньшей мере защитить предоставлением "Всем" (Everyone) прав доступа только на чтение, а прав полного контроля (Full-Control) – только "Администраторам" (Administrators) и "Системе" (SYSTEM).
Создателя "Владельца" (Owner) следует наделить правами полного контроля владельца (Full-Owner control):
HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\Windows\CurrentVersion\Run HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\Windows\CurrentVersion\RunOnce HKEY_LOCAL_MACHINE\SOFTWAR \Microsoft\Windows\CurrentVersion\RunOnceEx HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\Windows NT\CurrentVersion\AeDebug HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\Windows NT\CurrentVersion\WinLogon