Десять линий обороны: ТОП-10 ошибок администрирования Windows Server 2003/2008
Легкость установки и управления серверными версиями Windows создает иллюзию,
что администрировать подобные системы проще простого. Почему же тогда виндовые
серваки так часто ломают?! Составив ТОП-10 ошибок управления Win2k3/Win2k8
и подробно прокомментировав каждую из них, мы надеемся помочь как начинающим,
так и матерым администраторам.
Легкость установки и управления серверными версиями Windows создает иллюзию,
что администрировать подобные системы проще простого. Почему же тогда виндовые
серваки так часто ломают?! Составив ТОП-10 ошибок управления Win2k3/Win2k8
и подробно прокомментировав каждую из них, мы надеемся помочь как начинающим,
так и матерым администраторам.
#1 – Заплатки и обновления
Многие администраторы вообще не устанавливают никаких заплаток, считая, что
никто их атаковать не будет. Это - всего лишь распространенное заблуждение.
Основная угроза исходит от червей, сканирующих IP-адреса и выявляющих
незалатанные машины, даже если это домашний сервер, на котором нет никакой
конфиденциальной информации.
Обновляться все-таки надо, причем обновлять следует не только операционную
систему, но и все используемые приложения, где также обнаруживаются критические
ошибки, естественно, не устраняемые обновлениями от Microsoft. В идеале, нужно
составить список используемого программного обеспечения и регулярно посещать
сайты производителей на предмет поиска обновлений.
Кстати говоря, заплатки от Microsoft содержат одну очень неприятную
особенность, граничащую с ошибкой, а именно – не проверяют номера версий
замещаемых исполняемых файлов/динамических библиотек.
Допустим, у нас есть две заплатки A и B, исправляющие ошибки в kernel32.dll.
Поскольку установщик не отслеживает последовательность обновлений, то, установив
заплатки в обратном порядке (инсталлятор при этом даже не пикнет!), мы закроем
дырку A, но откроем дырку B – ведь kernel32.dll (как и любая другая динамическая
библиотека) всегда замещается целиком, а не частями!
При автоматическом обновлении никаких проблем не возникает, так как заплатки
ставятся в том порядке, в котором они выпускаются. Но если мы качаем их вручную,
то необходимо в свойствах каждого файла найти внутреннюю версию и дату создания,
а затем составить «план» последовательности установки заплаток. Впрочем, тут не
обходится без подводных камней. Иногда Microsoft выпускает одни и те же заплатки
по несколько раз. Допустим, сначала выходит A, исправляющая ошибки E1, E2, E3,
после чего выходит B, исправляющая E4, E5, E6, а затем… выходит обновленная
заплатка A', исправляющая все те же E1, E2, E3, а обновленной заплатки B — нет.
Установка A' поверх уже установленной B открывает дыры E4, E5, E6. Так что с
заплатками нужно быть очень внимательным и всегда читать бюллетени безопасности,
чего практически никто делать не собирается.
В целях экономии трафика ряд интернет-провайдеров устанавливает свои
собственные сервера обновлений, предлагая клиентам прописать их адреса в
настройках Windows Update. Соблазн очень велик, но угроза быть атакованным – еще
выше! Microsoft прилагает огромные усилия для защиты своих серверов, вкладывая в
безопасность немалые деньги. Что же касается провайдеров, то… атаковать их
порядка на три проще (и их взламывают, а затем подсовывают троянизированные
обновления).
Выход: скачивай заплатки только у самих поставщиков, при этом, чтобы
избежать вероятности «подмятия» доменного имени с перенаправлением на другой
узел, не используй DNS-сервер провайдера. Установи свой собственный DNS,
напрямую обращающийся к корневым доменным серверам по TCP-протоколу, и
заблокируй порт 53/UDP на брандмауэре для отсечения подложных DNS-ответов.
#2 – Баги в процессорах
Ругая Windows (и отчасти Linux) за то, что программное обеспечение наших дней
дыряво, как ведро без дна, мы почему-то забываем об аппаратной оснастке, считая
«железо» совершенно непогрешимым. Увы, процессоры не лишены недостатков.
Самый громкий баг в Pentium был обнаружен в 1995 году и продемонстрирован на
следующем примере: x - (x/y)*y, результат которого (если только y != 0) должен
быть равен нулю, однако при определенных значениях x и y (x = 4195835, y =
3145727) процессор выдавал… 256! Потрясающая точность, не правда ли? Журналисты
подхватили сенсацию и вынудили Intel пойти на замену процессоров, чего она
изначально делать не хотела, доказывая, что людям, далеким от математики, точные
вычисления не нужны, а вероятность проявления ошибки на произвольном (а не
умышленно подготовленном) наборе данных близка к нулю.
С тех пор сообщений об ошибках в ЦП как будто бы не отмечалось. И потому
заявление Theo de Raadt'а
(ведущего разработчика OpenBSD), что Core2Duo содержит огромное количество
ошибок, многие из которых допускают удаленный захват управления, стало
очередной сенсацией года.
Часть ошибок может быть исправлена программным путем (и
Читать далее...