Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Umask XXX




Umask 0ХХХ

или

с указанием нужного восьмеричного числа ХХХ (ноль в старшем разряде можно не указывать, так как эффективные права доступа при создании файлов не наследуются) либо записать приведённую выше команду в файл .bash_profile в своём домашнем каталоге. Администратор может изменить этот порядок, для чего ему потребуется сделать недоступной для пользователей утилиту umask, а также не допустить возможности редактирования пользователями конфигурационных файлов .bash_profile, присваивая им дополнительные атрибуты.

Создавая новый каталог, можно явно определить права доступа к нему. Это производится с помощью утилиты mkdir и опции -m, например

mkdir –m 750 /home/petrov/mail

В отношении каталогов права доступа интерпретируются несколько иначе, чем для обычных файлов. Право на чтение в каталоге дает возможность искать в нем имена файлов. Однако если права на каталог ограничены только чтением, ничего кроме одних имен пользователь в нем не увидит (при условии, что файлы в нем есть). Чтобы посмотреть, как это будет выглядеть, достаточно выполнить команду ls /.

По отношению к каталогу право на исполнение – это возможность открыть каталог в целях поиска файлов или пройти сквозь него, если он является промежуточным объектом в полном пути к искомому файлу. Для вывода информации об атрибутах файлов с помощью команды ls –l также необходимо право исполнения каталога, поскольку для этого придется искать метаданные файлов. Большинство каталогов в файловой системе предоставляют всем зарегистрированным пользователям права на чтение и исполнение.

Право записи в сочетании с правом входа в каталог означает возможность создавать в нем новые файлы, удалять из него, а также копировать или перемещать в него существующие файлы. Каталог с правами записи и исполнения, но без права чтения, часто называют «темным», так как увидеть записанные в него объекты невозможно. Из «темного» каталога можно также копировать, перемещать или удалять файлы, но только в том случае, если известны их имена. Отдельно взятое право на запись в каталог никаких реальных возможностей не означает.

Примером «темного» каталога может являться каталог на ftp-сервере, который служит приемником в системе файлообмена. Любой посетитель сервера может скопировать свои файлы в этот каталог, но воспользоваться лежащими там файлами других пользователей он не сможет, т. к. каталог выглядит пустым. Эта мера вполне разумна, поскольку владелец сервера, если он не желает стать распространителем вредоносных программ и иной опасной информации, должен вначале проверить содержание поступивших файлов.

Право входа в каталог не эквивалентно праву выхода из него. Если пользователь каким-то чудесным способом сумел войти в недоступный для него каталог (например, администратор в своем каталоге /root с помощью команды

su <user_name>

«превращается» в обычного пользователя), то выйти обратно он сумеет беспрепятственно. В то же время каталог можно попытаться превратить в «тюрьму» для потенциально опасного пользователя. Простейшая «тюрьма» состоит из двух каталогов – внешнего и внутреннего. Внешний каталог недоступен пользователю на исполнение. По идее, если каким-то путем «поместить» пользователя внутрь, то наружу он выйти не сумеет.

Проверим это предположение простым экспериментом. При наличии в системе авторизованных пользователей, находящихся в своих домашних каталогах, от имени администратора командой

chmod 700 /home

временно «закроем» для пользователей внешнюю границу «домашнего» каталога. Переключившись в консоль любого пользователя, убедимся, что пользователи при запуске команд ничем, кроме обычных прав доступа, не ограничены. Пользователи не могут преодолеть воздвигнутый барьер с помощью команды cd.., но «перепрыгнуть» через него в любой доступный каталог (например, командами cd / или cd /tmp) вполне в состоянии. Но вернуться в свои каталоги пользователи уже не смогут. Как видно, создание «тюрьмы» для внутренних пользователей перспектив не имеет.

Однако свобода перемещения внешних пользователей по дереву каталогов должна быть ограничена. Например, клиенты Web-сервера или FTP-сервера ни в коем случае не должны получать доступ за пределы «гостевых» каталогов.

Этот подход предусматривает запуск специальной утилиты, которая называется chroot (change root – изменить корневой каталог). С ее помощью некоторый системный сервис, обслуживающий сетевых клиентов, «запирают» в специально созданной «ветке» дерева каталогов, объявляя точку монтирования «корнем» дерева. Делается это с помощью команды

chroot <dir> <command>

Пользователь, попавший в это пространство, может перемещаться в пределах этой «ветки», не угрожая основной части файловой системы. Подняться выше директории, которая объявлена корневой, пользователь не может, поскольку родительским каталогом для «корня» он сам и является. Для правдоподобия подкаталоги этой резервации называют по аналогии с основными каталогами файловой системы и копируют в них все необходимые для работы и камуфляжа файлы.

Файловые «тюрьмы» не являются местами лишения свободы. Они должны содержать внутри себя все необходимое для добросовестного пользователя – подкаталоги, программы, библиотечные, конфигурационные и справочные файлы.

Права на доступ к уже существующему файлу или каталогу можно изменять. Администратор может изменить права доступа к любому файлу, пользователь – только к своим файлам. Производится это с помощью утилиты chmod (change mode – изменить режим). У этой команды несколько форм записи, с которыми можно познакомиться с помощью краткого справочника в этой книге либо с помощью электронных руководств man или info. Ее наиболее компактная форма

chmod XXXX <file_name>,

где XXXX – 4 восьмеричных цифры, означающих права доступа к файлу: эффективные права, права владельца, его группы и всех остальных пользователей.

Обычно владельцу файла предоставляются полные права, а членам его группы и всем остальным пользователям – только самые необходимые. Но владелец файла вполне может ограничить себя в правах. Например, задав режим доступа к файлу в виде

chmod 077 <file_name>,

он предоставляет полные права на файл своей группе и всем зарегистрированным пользователям, обделяя себя. С такой же легкостью он может восстановить справедливость, поскольку является владельцем файла. Иногда к таким трюкам вынужден прибегнуть администратор, когда задача разграничения доступа обычным способом не решается.

С каждым процессом в системе связан идентификатор пользователя UID, от имени которого процесс запущен. Алгоритм, реализованный системной функцией, сравнивает UID процесса и UID файла и, обнаружив, что к файлу обращается его владелец, проверяет только его права доступа. Если у владельца нет нужных прав, – ему будет отказано в доступе. Его права как члена своей основной группы или иного пользователя даже не будут проверяться. Но пользователь, ограничивший себя в правах, может легко исправить положение, переназначив права доступа в свою пользу, – ведь он остается владельцем этого файла и имеет право применить к нему команду chmod.

Система не оценивает целесообразность присвоения обычным файлам и каталогам тех или иных прав доступа. Администратор или владелец файла может указать любые, даже самые нелепые права доступа к файлу, и они будут без возражений установлены.

Передача прав владения файлами в системе также предусмотрена. Она производится с помощью утилиты chown (change owner – сменить владельца) командой

chown <user_name> <file_name>

Обычным пользователям не разрешается передавать свои файлы другим пользователям, включая администратора, поскольку с позиций компьютерной безопасности такое действие рассматривается не как акт доброты, а как возможная информационная атака. Во-первых, передавая свои файлы администратору, пользователь может создать предпосылку для случайного запуска вредоносной программы с правами суперпользователя. Во-вторых, создав файл неограниченного объема и передав права на него другому пользователю (например, из числа своих недругов), пользователь может переполнить дисковую квоту атакуемого и вызвать отказ системы в его обслуживании. Поэтому в ОС Linux передавать права на объекты файловой системы может только администратор.

Права на удаление файла не предусмотрено, и любой пользователь может удалить любой файл, находящийся в доступном для него на запись и исполнение каталоге. Никаких прав доступа на удаляемый файл при этом не требуется. Для защиты файлов, находящихся в общедоступных каталогах, от несанкционированного удаления создателям системы когда-то пришлось предусмотреть дополнительный атрибут, именуемый s t icky («липкий») бит (это название давно утратило свое первоначальное назначение). Наличие этого атрибута в дополнение к первичным правам на запись и исполнение в каталоге разрешает удалять из него файлы только их владельцам. Само собой разумеется, что администратора подобный запрет не касается. Отображается этот дополнительный атрибут символом t вместо символа x для всех пользователей, например drwxrwxrwt. Если этот атрибут был определен, а права на исполнение каталога для группы пользователей «другие» не предусмотрено, символ T будет отображаться заглавным. Однако на самом деле дополнительный атрибут t является дополнением к праву на запись, и, если оно не установлено, то и s t icky –бит никакого смысла не имеет.

Ранее уже обращалось внимание на существование особых команд, которые могут запускаться обычным пользователем, а выполняются с правами администратора. Такой командой, в частности, является passwd, поскольку ей приходится записывать новые данные в теневой файл /etc/shadow, чтение и запись которого разрешены только пользователю root. Такие исполняемые файлы имеют так называемый эффективный идентификатор SUID (Superuser UID).

Наряду с идентификатором SUID, но гораздо реже, используется эффективное право для группы владельца SGID. Команда ls –l отображает эффективные права символом s вместо символа x для владельца файла или его группы, например rwsr-s--x. Если при назначении прав этот атрибут был определен, а прав на исполнение файла для владельца не предусмотрено, символ S будет отображаться заглавным.

Всего в операционной системе насчитывается несколько десятков утилит, выполняемых с правами администратора или его группы. Их полный список может быть получен при запуске поисковой команды

find / -perm +6000,

где аргумент -perm является сокращением от permission – разрешение, а «плюс» перед числом указывает на объединение признаков SUID + SGID.

Назначение программ, имеющих установленные биты SUID и SGID, как правило, хорошо известно, а использование дополнительных прав обосновано. Если программа, содержащая бит эффективных прав SUID или SGID, не содержит ошибок и недокументированных возможностей, то ее запуск опасности не представляет. Тем не менее администратор должен по возможности сократить число таких программ (путем снятия опасных атрибутов) и периодически контролировать файловую систему на предмет


появления новых файлов с подобными свойствами. Наибольшую опасность представляют попытки внедрения таких программ на сменных машинных носителях. Для исключения такой опасности монтирование сменных носителей необходимо производить с указанием опции nosuid, что означает сброс опасных меток при монтировании.

На систему также возлагается функция «нераспространения» потенциально опасных свойств. Все операции, связанные с копированием, перемещением и переименованием файлов с установленными битами SUID и SGID, завершаются сбросом опасных атрибутов для преобразованных файлов.

В файловых системах ext*fs предусмотрены дополнительные свойства файловых объектов, обеспечиваемые файловой системой. В настоящее время поддерживаются следующие из них:

i – защита от любых изменений файла, включая изменение временных отметок и создание жестких ссылок;

а – запрет любых операций, кроме добавления данных;

S – синхронные обновления файла, при установке которых новые данные немедленно записываются на диск;

А – неизменяемость временной отметки последнего доступа к файлу;

d – игноририрование файла при операциях резервного копирования, выполняемого командой dump, что позволяет не расходовать дисковое или ленточное пространство на сохранение не очень нужных файлов.

Некоторые зарезервированные свойства, такие как создание и сохранение копии файла при его удалении, автоматическое сжатие и декомпрессия при записи/чтении файла, гарантированное стирание блоков данных при удалении файла, – безусловно полезны, однако поддерживаются не всеми версиями файловых систем Linux. Всего в метаданных файла предусмотрено 16 дополнительных свойств, 13 из них на момент написания книги документировано.

Установка дополнительных свойств файла производится с помощью команды

chattr +(-)(=) option <file_name>,

где знаки означают:

«+» – установление атрибутов,

«-» –­ удаление атрибутов,

«=» – установление только атрибута, указанного после знака равенства.

Следует обратить внимание на то, что дополнительные свойства файлов в действительности не являются дополнениями к базовым правам и вполне автономны.

Например, дополнительный атрибут а позволяет производить только дописывание информации в конец файла и вовсе не является дополнением к базовому праву записи в файл. Установка этого атрибута может производиться на файл, к которому ни одному из пользователей нет права записи. После установки администратором атрибута а на файл любого из пользо-


вателей он становится защищенным от любых изменений, включая запись, удаление файла или изменение права доступа. Этот запрет распространяется и на самого администратора. И никто, кроме него, не имеет права что–либо дописывать в такой файл.

Такой атрибут может быть временно установлен на некоторые файлы журналов, чтобы демон syslogd мог записывать в них заданные события, а злоумышленник не имел возможности удалять из них уличающие его записи. Конечно, при обновлении журнала (т. е. при удалении самого «старого» файла) этот атрибут потребуется снять. Для того чтобы злоумышленник, проникший в систему с правами суперпользователя, не смог быстро снять этот атрибут, настоящий администратор должен «спрятать» или переименовать утилиту chattr.

Установив дополнительный атрибут i, администратор не сможет случайно удалить файл, записать что-либо в него, изменить права доступа, ни даже создать или удалить жесткую ссылку. Соответственно этого не сможет сделать и никто иной. Этим весьма полезным свойством необходимо пользоваться в отношении наиболее ответственных исполняемых и конфигурационных файлов. Установка подобного атрибута ни в коей мере не является защитой файла от преднамеренных действий администратора, поскольку ее просто установить и не менее просто отменить. И не следует забывать, что защита на уровне файловой системы преодолевается путем доступа напрямую к дисковой памяти с помощью шестнадцатеричных редакторов.

Дополнительные атрибуты файла командой ls не отображаются, и для их чтения необходимо воспользоваться командой

lsattr <file_name>

Команда выводит 16 битовых флагов с указанием дефисов на месте отсутствующих свойств и характерных символов на месте установленных. Аналогичная команда без имени файла выведет дополнительные атрибуты файлов из текущего каталога.

 




Поделиться с друзьями:


Дата добавления: 2015-03-31; Просмотров: 485; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.032 сек.