Укрепление (hardening) сервера
9.2.2 Слабые места операционной системы Windows
Уже достаточно долгое время Microsoft Windows имеет репутацию системы с неадекватным уровнем безопасности, но многие эксперты в сфере безопасности полагают, что в действительности Windows отнюдь не слаба. Всю вину они возлагают непосредственно на плечи системных администраторов, которые отвечают за эти системы. Другими словами, при должном сопровождении и настройке вполне возможно сделать операционную систему Windows относительно безопасной.
Тем не менее есть несколько областей, в которых, как известно, Windows действительно уязвима, например в следующих:
- Размер/сложность. Microsoft запустил свою руку едва ли не в каждую дверь программного обеспечения (и даже в некоторые аппаратные двери). Хотя это и хорошо для общей интеграции, но для среднего системного администратора становится очень сложно держать себя на должном уровне в плане понимания:
1) Где это начинается и где заканчивается; и 2) Как надлежащим образом все это использовать и настраивать.
- Небезопасная установка. Одна из наиболее общих причин того, что сервера Windows становятся жертвами взломщиков, состоит в том, что их установили и забыли. К несчастью, Windows печально известна своей практически нулевой безопасностью при установке по умолчанию. Сюда входят и скрытые общие ресурсы, и пустые пароли, и отсутствие защиты от известных уязвимостей. Короче говоря, установки по умолчанию – это открытое приглашение для взломщиков и вообще для каждого, кому только не вздумается, даже для низкоквалифицированных "парнишек-скриптовиков".
- Плохой аудит. Всякий раз, когда люди думают о возможностях журналирования на сервере Windows, первое, что обычно приходит в голову, – это обозреватель событий (Event Viewer). Хотя эта встроенная часть Windows действительно дает некоторую полезную информацию, тем не менее сам по себе обозреватель событий уже давно рассматривается как менее чем адекватный инструмент журналирования со своими зашифрованными записями и пропадающей информацией.
- Ориентация системы на добавление новой функциональности. Windows всегда стремилась предоставить пользователям операционную систему, богатую своими возможностями, простую и легкую в использовании. При этом ранние версии вообще не особо утруждали себя вопросами безопасности. И так же, как и другие компании, разрабатывающие ПО, Microsoft всегда выискивала пути для добавления в свои продукты каких-то новых возможностей, новой функциональности для стимулирования своих клиентов к покупке новых версий. Кроме того, коммерческая природа компании требует обратной совместимости со старыми, менее защищенными версиями. А с добавлением каждой новой функциональной возможности, каждой новой услуги возникает целый набор новых проблем в плане безопасности.
- Необученные пользователи. Windows – операционная система для масс. Многие пользователи не знают либо просто не волнуются по поводу опасностей, связанных с неадекватной конфигурацией системы. Помимо этой достаточно обширной группы, многие бизнесмены назначают на должности системных администраторов по совместительству людей из числа своих собственных служащих только на основании того факта, что те много знают о компьютерах. К несчастью, такая стратегия часто приводит к катастрофам при первом же простукивании хакером дверей в поисках легкой цели.
Из этого краткого обзора вопросов безопасности Windows становится очевидным, что для обеспечения безопасности этой операционной системы требуется очень основательный системный администратор. Абсолютно все, от патчей до понимания соответствующих процедур установки для гарантии того, что системные файлы и службы попали в поле зрения, является ключом к обеспечению того, что сервер Windows находится в безопасности.
Невозможно, да это и не является целью настоящей лекции, подробно описать все уязвимые места Windows. Напротив, читателю предлагается обратиться к следующим сайтам за текущими обновлениями в этой области:
- отслеживание ошибок от SecurityFocus:
- отслеживание ошибок в NT:
- консультации CERT:
При помощи информации, содержащейся на этих сайтах, можно оперативно идентифицировать слабые и уязвимые места и применить соответствующие патчи. Справедливости ради надо сказать, что Windows не единственная операционная система со слабыми местами. В Linux также имеются некоторые "дырки", которые мы рассмотрим дальше.
9.2.3 Слабые места Linux
Многими Linux рассматривается как операционная система для компьютерных "фанатиков". Хотя когда-то подобное и было справедливо, сейчас операционные системы Linux для всех практических целей эволюционировали до той точки, когда они стали привлекательны и для обычного пользователя. От самых базовых машин Lindows и до выхода файлового сервера Red Hat-система, Linux делает значительные шаги в продвижении на основной рынок, приобретая также безусловную поддержку IBM. К сожалению, это означает, что растет также и число неопытных пользователей Linux.
Одно из самых распространенных утверждений относительно Linux – она более безопасна, чем Windows. К сожалению, такое утверждение само по себе не совсем корректно и заставило не одного ИТ-работника поверить в то, что ИТ-инфраструктура будет безопаснее, исходя только из самого того факта, что они используют Linux. Хотя это и действительно может быть правдой, что Linux может быть сделана более безопасной, чем другие операционные системы, в руках пользователей ей присущи многие из тех же самых проблем, что и для других ОС. Основные вопросы безопасности для Linux следующие:
- Учетная запись root. Одно из главнейших правил, которое регулярно игнорируется, – "не следует использовать учетную запись root без действительно абсолютной необходимости". Причина этого правила находится в той безграничной власти, которую предоставляет доступ под учетной записью root всякому, кто использует ее. Как и учетная запись Administrator в Windows NT®, root является учетной записью для интерактивного входа самого высокого уровня, какой только может существовать в Linux. Опасность кроется в том, что большинство вредоносных программ запускается с разрешениями того пользователя, который активировал данную программу. Другими словами, если для хождения по Интернету используется учетная запись root и если на Web-странице нечаянно запущен скрипт, этот скрипт будет иметь права доступа root и следовательно, сможет получить доступ к любому файлу и даже удалить целую файловую систему. Хуже того, некоторые дистрибутивы (такие, как Lindows) требуют использования учетной записи root при установке и работе.
- Сложность. Несомненно, что самое пугающее в Linux – это весь тот сложный набор команд, концепций и программ, который должен быть освоен для соответствующей реализации мер безопасности. Действительно, это легко можно увидеть всякий раз, когда начинающий системный администратор в первый раз пытается установить Linux. И хотя некоторые дистрибутивы (версии) Linux уже начали ориентироваться на предпочтения человека, устанавливающего их, тем не менее многие операционные системы Linux до сих пор либо требуют в программе-установщике выбирать из списка неким загадочным образом именованные программы, содержащиеся обычно в пакете и устанавливаемые вместе с rpm, либо просто устанавливают всю операционную систему целиком. К сожалению, подобный список в несколько сотен программ часто действует угнетающе. В результате человек завершает установку всей операционной системы, включая HTTP-демон, FTP-демон, почтовые демоны и т.д., установка которых не является безопасной по умолчанию.
- Сетевая ОС. Вот что утверждает максимальная безопасность для Linux (Maximum Linux Security): "Хотя Linux действительно хорошо приспособлена для персонального использования (даже в несетевых окружениях), по сути она все равно остается сетевой операционной системой. Ее установки по умолчанию запускают многие интернетовские службы, и, если не предпринимать должных мер предосторожности, взломщики могут удаленно начать на эти службы атаку во время вашей онлайн-сессии". Этим все сказано.
- Обновления по принципу открытого исходного кода (open source). Большое количество программного обеспечения под Linux пишется студентами, исследовательскими группами или теми разрабатывающими ПО компаниями, которые пытаются найти способ сделать программное обеспечение под Linux выгодным. В сочетании с тем фактом, что Linux – открытая система, это означает, что все ПО также является открытым для изучения всему миру, и, следовательно, отсюда вытекает огромная потенциальная "головная боль" для безопасности всей системы. Но на самом деле проблема не в том, что открытое ПО является менее безопасным, нежели коммерческое. Действительно, известно, что распространители Linux выкладывают обновления и патчи в течение нескольких часов с момента обнаружения уязвимых мест в системе безопасности их продуктов. Нет, проблема в том, что информация об этих обновлениях просто не доходит до системных администраторов. Например, Red Hat выпускает ни много ни мало пять бюллетеней безопасности в день, которые системным администраторам надо просматривать, чтобы видеть, нужно ли их применять. Хотя большинство этих сигналов тревоги могут к делу и не относиться, тем не менее достаточно пропустить всего лишь одно предупреждение, чтобы оставить свою систему открытой для атак.
Системным администраторам Linux-систем следует регулярно заходить на Web-сайты используемых ими дистрибутивов (например, Caldera, Red Hat, SUSE, Turbolinux) за консультациями по уязвимым местам и соответствующими патчами, а также в раздел UNIX сайта SecurityFocus (http://www.securityfocus.com/unix), тоже за консультациями по вопросам безопасности, за инструментами и техниками для борьбы с уязвимостями.
В итоговом разделе мы попытались представить ясный и сбалансированный обзор потенциальных вопросов безопасности в Linux и Windows. Это сделано для того, чтобы показать, что в обоих семействах операционных систем есть слабые места и что сознательному в плане безопасности системному администратору не следует расслабляться в чувстве комфорта от того, что он использует одну систему в противовес другой.
В следующих разделах мы рассмотрим специфику укрепления Windows и Linux, а заодно Solaris и AIX, так как все это такие операционные системы, на которых работает и поддерживается Domino.
Domino также работает и на таких ОС, как zOS (OS/390®) и OS/400® (которые предназначены для мейнфреймов zSeries™ и мини-компьютеров iSeries). Но поскольку для администрирования этих систем требуются очень специализированные знания, в пределах этого курса они рассматриваться не будут.
9.3 Укрепление систем Windows (на ядре NT)
В этом разделе мы рассмотрим процесс укрепления систем Windows (на базе Win32). Это те системы, которые включены в линейку NT-продуктов Windows, а именно:
- Windows NT 4.0,
- Windows 2000 Server,
- Windows XP Professional.
Сюда мы включили и Windows XP Professional, так как Windows применяется большинством пользователей в качестве настольной системы (Linux в этой области медленно догоняет ее и все более и более привлекает к себе внимание), и, таким образом, как нам кажется, руководство по укреплению рабочих станций было бы хорошей идеей.
Хотя укрепление сервера Windows является несколько утомительным процессом, реализовать его относительно легко, и для него, как правило, не требуются от организации какие-либо расходы на дополнительное программное или аппаратное обеспечение. Как упоминалось ранее в этой лекции, процесс достаточно прямолинеен: 1) укрепить базу операционной системы и 2) предпринять аналогичные меры к любым службам, которые планируется запускать на данной ИТ-системе. В конечном итоге это не поможет укрепить базу операционной системы и оставит зияющие "дыры" в Web-сервере и сервере баз данных. Стоит еще раз повторить, что с каждым установленным в операционную систему продуктом возрастает вероятность, что взломщики получат доступ к ИТ-системе.
9.3.1 Укрепление Windows NT 4.0
За долгие годы Windows NT 4.0 стала для Microsoft основной рабочей лошадкой. И хотя в настоящее время доступны более богатые своими возможностями замены ей, тем не менее до сих пор есть достаточно много причин, почему может быть развернута именно Windows NT 4.0. Тот факт, что большинство клиентов уже создали под нее стабильную и надежную основу, является, пожалуй, наиболее общераспространенным. Поэтому схема укрепления старого флагманского продукта будет рассмотрена в первую очередь. Многое из того, что будет здесь рассмотрено, применимо и к более новым версиям Windows, поэтому прочтение данного раздела очень рекомендуется.
Основные рекомендации по установке
При установке Windows NT 4.0 Server лучше всего следовать приведенным здесь рекомендациям настолько точно, насколько только возможно. Отдельные отклонения от нижеизложенного могут привести к тому, что будет удалена необходимая функциональность, требующаяся для приложения. Если подобное произойдет, мы встанем перед трудным выбором. В частности, если данная функциональность должна быть сохранена, от системных администраторов потребуется намного больше работы для защиты сервера, возможно даже придется использовать некоторые дополнительные инструменты и техники, упоминавшиеся ранее в этой лекции.