Перед тем как начать
Кроме машины, которую вы используете для чтения данного руководства, вам необходима старая инсталляция Linux, которую вам не жалко сломать, желательно с диском для восстановления системы на случай, если что-то пойдет не так. Если на этой машине у вас есть какие-то ценные для вас данные (даже если вы, следуя данному руководству, экспериментируете с другим разделом или отдельным накопителем, используя мультизагрузку), прежде чем пробовать какой-нибудь из описанных здесь методов, сделайте полную резервную копию этих данных и проверьте ее.
С точки зрения менеджера, отвечающего за инсталляцию или поддержку, возможность модификации — основной источник проблем Linux; всякий, кто отвечал за любую систему среднего или большого размера, не понаслышке знает об этой опасности. Дополнительные приложения, настройки и инсталляции неизвестного программного обеспечения могут серьезно модифицировать любую машину. Этот цикл статей предназначен для тех, кто всегда хотел иметь возможность безболезненно устанавливать обширную Linux-среду, охватывающую целое предприятие, и управлять ею.
В этом руководстве используется фундамент, заложенный в Части 1, в которой было приведено несколько хороших доводов в пользу контролируемой настройки Linux и предлагалось несколько разумных действий, направленных на ограничение стандартного дистрибутива Linux с целью предотвращения нежелательных пользовательских изменений базовой инсталляции. В части 2 процесс защиты завершается построением ядра, вынуждающего использовать только подписанный двоичный код, который предоставляется контролируемым образом каждой поддерживаемой машине.
Из этого руководства вы узнаете о проблемах управления и о процессах, которые необходимо создать для поддержки разветвленной сети Linux машин, на которых будет запущено модифицированное ядро, выполняющее только авторизованные исполняемые файлы, причем каждая из этих машин должна быть сконфигурирована с использованием фундаментальных механизмов защиты, изложенных в Части 1. Вы узнаете, как управлять криптографическими данными, необходимыми для защиты такой системы и в конечном счете предотвращающими выполнение неконтролируемых исполняемых файлов в вашей защищенной среде. К моменту завершения знакомства с этим циклом вы сможете сконфигурировать защищенный дистрибутив Linux промышленного уровня, в который невозможно добавить какие-либо приложения без вашей персональной проверки и разрешения.
Это руководство написано для администраторов Linux, чьи навыки и опыт находятся на уровне от среднего до высокого. Вы должны быть хорошо знакомы с принципами инфраструктуры открытых ключей (Public Key Infrastructure, PKI), и, в частности, с GNU Privacy Guard (GPG), уверенно управляться с командной строкой и обладать практическими знаниями языка программирования C.
Конечно, вам также необходимо прочесть и понять
первую часть
этого цикла статей.
Чтобы пройти все ступени этого пособия, на Linux-машине вам необходимо иметь права доступа пользователя root
с возможностью принудительной перезагрузки и уничтожения всех данных, хранящихся на этой машине. У вас должен быть установлен компилятор и должна быть возможность достать исходники и заголовки ядра вашего дистрибутива Linux, а также исходники из
Части 1.
Во время разработки этого руководства я использовал Ubuntu Linux V6.10, установленный с инсталляционного CD, хотя, за исключением мелочей, подойдет любой дистрибутив Linux, который вам удобен. Если у вас есть доступ к VMware и вы не собираетесь изучать разделы об оборудовании и встроенном ПО, утилита snapshot от VMware облегчит ваши эксперименты, так как вы всегда сможете вернуть систему назад к последнему хорошему состоянию, на какой бы стадии ни прервалась загрузка Linux, не используя диск восстановления для диагностики и устранения проблемы.