Ссылки
• www.osp.ru/os/2001/02/073.htm (http://www.osp.ru/os/2001/02/073.htm) – и. Облаков. Восход солнца вручную.
• /usr/src/Linux-2.4.3/Documentation/ – много информации, так или иначе связанной с ядром операционной системы, драйверами, файловыми системами и т. п.
• Справочные страницы man – init, inittab, teiinit, initscript.
• Соответствующие HOWTO (см. гл. 13):
– Ethernet-HOWTO – различные тонкости настройки сетевых адаптеров;
– The Linux BootPromt HOWTO – справочник по аргументам начальной загрузки, передаваемым ядру Linux во время загрузки системы;
– The Linux Bootdisk HOWTO – создание загрузочной дискеты.
Глава 7
Безопасная работа в Linux
В этой главе мы в концептуальном плане, особо не вдаваясь в подробности, рассмотрим вопросы увеличения безопасности операционной системы Linux. Подробности вы всегда найдете в соответствующей литературе и главах, описывающих конкретное программное обеспечение.
Основные положения
Зачем вам безопасность?
Безопасность компьютеров и компьютерных сетей сейчас, в связи с повсеместным распространением Интернета и электронной коммерции, все больше выходит на первый план. В любой серьезной организации при приеме на работу системного администратора одним из основных требований к нему является умение организовать безопасность системы и сетей.
Даже если вы устанавливаете один-единственный сервер, не исключена возможность, что кто-то попробует взломать его просто от скуки. Поэтому особо нельзя надеяться, что на ваш сервер или Web-страницу никто не покусится.
Надежность защиты системы
Следует помнить: «все, что один человек построил, другой всегда сможет поломать». Надежность защиты, в идеале, должна соответствовать следующему правилу: затраты взломщика на преодоление защиты должны существенно превышать стоимость поврежденных или украденных данных. Это, конечно, не означает, что домашнюю систему, на которой ничего важного нет, защищать не надо. Просто необходимо соразмерять затраченные усилия – для домашнего пользователя их надо потратить гораздо меньше, чем для банковской сети.
У защиты есть одна особенность – чем более безопасна система, тем больше усилий необходимо затрачивать на поддержание ее в рабочем состоянии, и тем более навязчивой становится сама система безопасности. Всегда необходимо соблюдать золотую середину между безопасностью системы и неудобствами пользователей, связанными с режимом безопасности.
Защита не бывает идеальной. Вы должны представлять, сколько времени и усилий необходимо потратить на восстановление или воссоздание данных при их потере.
Определение приоритетов защиты
До того, как начать настраивать безопасность системы, необходимо определить, от чего и как будет защищена ваша система, какие службы должны быть защищены в первую очередь и особо. Следует четко представлять, какая информация или какое оборудование наиболее ценно, что ни при каких обстоятельствах не должно пропасть или попасть к постороннему человеку, а что имеет минимальную ценность (было бы нелепо выстроить супермощную систему для защиты сочинений вашего ребенка и установить минимальную безопасность для банковских документов, стоящих миллионы).
Кроме того, всегда следует помнить – никаких поблажек для пользователей вне зависимости, насколько высокое положение они занимают. Пользователь, который имеет привилегии, неизбежно является брешью в безопасности.
Политика безопасности
Если ваша задача – администрирование средней или большой сети, необходимо разработать документ, который называется «Политика безопасности» и определяет права и обязанности пользователей, меры по защите системы и действия, применяемые в случае нарушения безопасности системы.
Этот документ должен быть утвержден руководством фирмы, и с ним следует ознакомить каждого сотрудника, причем желательно под расписку. Чем проще и понятнее составлен документ, тем больше вероятность, что его поймут и будут им руководствоваться. Главное правило, которое должно быть четко зафиксировано: "То, что не разрешено – запрещено".
Основные направления защиты
Прежде чем что-то защищать, необходимо знать, что, от кого и от чего.
• Физическая защита:
– защита от физического проникновения в компьютер;
– защита от аппаратных сбоев.
• Защита рабочей станции (локальная безопасность).
• Защита сервера:
– защита от пользователей;
– защита от внешнего мира.
• Защита сети:
– защита от проникновения извне;
– защита от взломов изнутри.
Физическая безопасность
Первое, что следует сделать, это позаботиться о физической безопасности системы. Нет никакого прока от программной защиты, если из сервера можно просто изъять жесткий диск и переписать данные. Необходимо выяснить, кто имеет прямой физический доступ к системе, а также можно (и нужно ли) защитить систему от их потенциально вредного воздействия.
Степень физической безопасности напрямую зависит от ситуации и финансовых возможностей. Домашнему пользователю, скорее всего, не нужна сильная физическая защита. Офисный компьютер может понадобиться обезопасить на время отсутствия пользователя. А если это сервер, то его физическая защищенность должна быть максимальна, в идеальном случае он должен находиться в бронированной комнате без окон, с сейфовым замком на стальной двери.
Замки
Практически любой серверный корпус имеет специальный замок или отверстия для установки навесного замка. Как правило, наружные отсеки для винчестеров тоже имеют замки.
Для корпуса обычного компьютера дело обстоит похуже. Сейчас редко встретишь компьютерный корпус, у которого есть замок блокировки клавиатуры, хотя еще лет пять назад он был обязательным элементом любого компьютерного корпуса. Но даже при наличии такого замка эта защита является крайне слабой – как правило, к замку подходит любой ключ от аналогичных корпусов, а с помощью обыкновенной канцелярской скрепки можно открыть его за несколько секунд. Тем не менее, для неопытного взломщика замок является непреодолимой преградой.
Хуже дело обстоит с ноутбуками – его можно просто взять со стола. Но любой современный ноутбук имеет специальное отверстие, куда крепится замок, похожий на велосипедный.
Охрана жесткого диска
Если на жестком диске хранится информация, которая ни в коем случае не должна попасть в чужие руки, и лучше ее уничтожить, чем допустить пропажу, то для этого необходимо предпринять дополнительные меры. Если у вас небольшой сервер или рабочая станция, имеет смысл жесткий диск, на котором хранится информация, установить в специальную съемную корзину, так называемый Rack Mount. Это позволит по окончании работы извлекать жесткий диск из компьютера и прятать в сейф. Для больших серверов такое сделать несколько затруднительно, но иногда имеет смысл. В случае, если к вам заявляются гости, которым «невозможно отказать», можно практически моментально извлечь жесткий диск и уничтожить его, разбив об пол. (Автору известна фирма, возле сервера которой стоит охранник, в случае попытки прорыва в серверную обязанный выстрелом из пистолета уничтожить жесткие дискию.)
BIOS
BIOS является самым первым звеном, от которого зависят настройки компьютера, и попытка проникновения в BIOS будет произведена взломщиком в 99 % случаев. Практически любая BIOS имеет возможность установить два типа паролей – на вход в систему и на вход в BIOS. Это не дает стопроцентной защиты (установки BIOS могут быть обнулены, если кто-то имеет доступ вовнутрь корпуса), но может быть хорошим сдерживающим фактором. Однако следует помнить, что в случае установки загрузочного пароля на сервере система не сможет загрузиться без вмешательства администратора. (Очень неприятно, когда в три часа ночи вас выдергивают из постели для того, чтобы вы ввели пароль в сервер.)
Загрузочные устройства
Если не установлен пароль в BIOS, велика вероятность, что взломщик попытается загрузить систему с помощью системной дискеты, CD-ROM-диска, Zip-дисковода и тому подобных съемных устройств. Это дает ему полный доступ к жестким дискам компьютера. Поэтому, помимо установки пароля на вход в BIOS, необходимо запретить в BIOS загрузку со всех устройств, кроме жесткого диска. Так же рекомендуется либо отключить в BIOS сервера дисководы съемных устройств, либо (при наличии такой возможности) физически отключить флоппи-, Zip– и тому подобные дисководы и CD-ROM, а иногда даже вообще не устанавливать их в сервер.