Купить
 
 
Жанр: Учеба

SCO: Пособие администратора системы Unix

страница №12

ри замещении файлов. Подправьте сценарий установки,
чтобы сбросить соответствующие режимы.
Имея данную возможность, вы можете вводить sticky-бит в
пользовательские программы, не опасаясь, что пользователь может
переключить программы в одном и том же файле. Это тот случай,
- 5-49 -

когда дополнительная секретность позволяет вам выполнить функцию,
которую система может отслеживать, вместо того, чтобы просто
запретить эту возможность.
Биты SUID, SGID и sticky в каталогах не очищаются. Биты
SUID и SGID не имеют смыслового значения для каталогов, а значение
sticky-бита для каталогов требует как раз его постоянства.
Это описывается ниже.

Sticky-бит и каталоги

Еще одно важное усовершенствование касается использования
sticky-бита в каталогах. Каталог с установленным sticky-битом
означает, что удалить файл из этого каталога может только владелец
файла или супер-пользователь. Другие пользователи лишаются
права удалять файлы. Установить sticky-бит в каталоге может
только супер-пользователь. Sticky-бит каталога, в отличие от
sticky-бита файла, остается в каталоге до тех пор, пока владелец
каталога или супер-пользователь не удалит каталог явно или не
применит к нему chmod(C) или chmod(S). Заметьте, что владелец
может удалить sticky-бит, но не может его установить.
Вы можете с помощью этой возможности добиться максимальной
секретности, поместив sticky-бит во все общие каталоги. В эти
каталоги может писать любой пользователь, отличный от администратора.
Пользователям надо объяснить, что sticky-бит, вместе с
маской umask, равной 077 (значение, принимаемое по умолчанию),
дают решение многих проблем в менее секретных системах. Вместе
эти две возможности не дают пользователям изменять или замещать
файлы общего каталога. Единственная информация, которую они могут
получить из файла, - это его имя и атрибуты.
В следующем примере демонстрируется эффект данного средства.

$ id
uid=76(blf) gid=11(guru)
$ ls -al /tmp
total 64
drwxrwxrwt 2 bin bin 1088 Mar 18 21:10 .
dr-xr-xr-x 19 bin bin 608 Mar 18 11:50 ..
-rw------- 1 blf guru 19456 Mar 18 21:18 Ex16566
-rw------- 1 blf guru 10240 Mar 18 21:18 Rx16566
-rwxr-xr-x 1 blf guru 19587 Mar 17 19:41 mine
-rw------- 1 blf guru 279 Mar 17 19:41 mytemp
-rw-rw-rw- 1 root sys 35 Mar 16 12:27 openfile
-rw------- 1 root root 32 Mar 10 10:26 protfile
$ rm /tmp/Ex16566
rm: /tmp/Ex16566 not removed. Permission denied
(Файл ... не удален. Разрешение отвергнуто)
$ rm /tmp/protfile
rm: /tmp/protfile not removed. Permission denied
$ cat /tmp/openfile
Ha! Ha!
You can't remove me. (Ха-ха! Вы не можете меня удалить)
$ rm /tmp/openfile
- 5-50 -

rm: /tmp/openfile not removed. Permission denied
$ rm -f /tmp/openfile
$ rm /tmp/mine mytemp
$ ls -l /tmp
drwxrwxrwt 2 bin bin 1088 Mar 18 21:19 .
dr-xr-xr-x 19 bin bin 608 Mar 18 11:50 ..
-rw------- 1 blf guru 19456 Mar 18 21:18 Ex16566
-rw------- 1 blf guru 10240 Mar 18 21:18 Rx16566
-rw-rw-rw- 1 root sys 35 Mar 16 12:27 openfile
-rw------- 1 root root 32 Mar 10 10:26 protfile
$ cp /dev/null /tmp/openfile
$ cat /tmp/openfile
$ cp /dev/null /tmp/protfile
cp: cannot create /tmp/protfile (cp не может создать файл)
$ ls -l /tmp
drwxrwxrwt 2 bin bin 1088 Mar 18 21:19 .

dr-xr-xr-x 19 bin bin 608 Mar 18 11:50 ..
-rw------- 1 blf guru 19456 Mar 18 21:18 Ex16566
-rw------- 1 blf guru 10240 Mar 18 21:18 Rx16566
-rw-rw-rw- 1 root sys 0 Mar 18 21:19 openfile
-rw------- 1 root root 32 Mar 10 10:26 protfile
$

Единственные удаленные файлы - это файлы, принадлежащие
пользователю blf, так как удаление проводил именно этот пользователь.
Он не смог удалить никакой другой файл, даже доступный
файл /tmp/openfile. Однако значение режима самого файла позволяло
blf разрушить его содержимое; именно поэтому значение umask
необходимо для защиты данных. И наоборот, режим файла
/tmp/protfile вместе со sticky-битом каталога /tmp делает файл
/tmp/protfile недоступным.
Во всех общих каталогах следует установить sticky-бит. Это
относится к следующим каталогам (но не только к ним):
* /tmp
* /usr/tmp
* /usr/spool/uucppublic
Если у вас есть сомнения, гораздо лучше установить
sticky-бит в каталоге, чем оставить его нулевым. Вы можете установить
sticky-бит каталога следующей командой (здесь directory -
имя каталога):

chmod u+t directory
- 5-51 -

Промены

Промен - это термин, обозначающий защищенный домен
(Protected Domain), где активизатор программы SUID получает некоторую
защиту из программы. Для программы SUID при ее работе с
частью дерева файлов, выбранной активизатором, обеспечивается
действительность проверки на доступ, как для владельца программы
SUID, так и для активизатора. Подробное описание этой модели с
примерами применения приведено в разделе promain(M) "Справочника
пользователя" (User's Reference). Промены также обсуждаются в
разделах auths(C) и setauths(S).
Промены - это инструмент, предназначенный для исследования
программ SUID4; они не имеют общезначимого смысла. Вы должны
иметь о них представление, чтобы помочь пользователям отлаживаться
в их среде.

Импортирование данных

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

Файлы

Нельзя принимать на веру разрешения для чужого файла. В
каждой системе не только файлы /etc/passwd и /etc/group отличны
от аналогичных файлов других систем, но и стратегии в разных
системах диктуют установку разных режимов. Эти соображения особенно
важно учитывать, когда импортируемые файлы являются системными
файлами.
Чтобы свести к минимуму свое вмешательство и подчистку после
импортирования файлов, нужно приучить всех пользователей
системы пользоваться опциями архивных программ, которые не отменяют
принадлежность файлов. Некоторые версии tar(C) поддерживают
опцию -o, которая не аннулирует принадлежность файла владельцу и
группе. Владельцем файла является импортировавший его пользователь.
Программа cpio(C) только меняет владельца файла, если ее
вызывает супер-пользователь. В общем случае архивные программы
сбрасывают режимы файлов, устанавливая их такими, как описано на
архивном носителе. Помимо того, что файл может получить режимы с
большими разрешениями, чем это необходимо, для него могут оказаться
установленными биты SUID, SGID или sticky. Все эти ситуации
чреваты проблемами с секретностью.
Чтобы свести к минимуму эффект архивных разрешений, используйте
те архивные опции, которые только проверяют содержание,
ничего не извлекая. Например, опция -tv функции tar и опция -tv
функции cpio позволяют увидеть режимы файлов на ленте и подготовиться
к неблагоприятным эффектам при извлечении файлов. При
поступлении незнакомых каталогов сначала следует импортировать
- 5-52 -

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

Файловые системы

При монтировании файловых систем, созданных или обрабатывавшихся
в другом месте, могут возникнуть те же проблемы, что и
указанные выше для импортирования файлов. Для файловых систем
имеются и две дополнительные проблемы. Первая: файловая система
может быть запорчена. Вторая: разрешения для файла в файловой
системе могут быть неприемлемы для вашей системы.
Файловая система, перенесенная из другого места, может оказаться
запорченной. Данные могут быть некорректны или предназначаться
для другого типа системы. В обоих случаях монтирование
дефектной файловой системы может вызвать в системе фатальный
сбой, дальнейшую порчу данных импортированной файловой системы
или повреждение других файловых систем из-за побочных эффектов.
Именно поэтому команда mount(ADM) зарезервирована для суперпользователя.
Программу fsck(ADM) следует выполнять во всех файловых
системах до их монтирования. Если файловая система содержит
системные данные, следует также выполнить программу System-"
Software-"Permissions.
Импортированные файловые системы могут содержать файлы с
разрешениями, не соответствующими вашей системе. Может оказаться,
что супер-пользователь импортированной файловой системы установил
имена владельцев, sticky-биты, специальные файлы, биты
SUID/SGID и композиции дерева файлов, несовместимые со стратегией
вашей системы. Специальные файлы могут иметь владельцев и режимы,
которые вы не можете разрешить. Программы с битами SUID,
SGID или sticky, установленными в другом месте, будучи смонтированы,
так и работают в вашей системе и могут вызвать проблемы с
секретностью.
Вы можете воспользоваться опцией -s команды ncheck(ADM),
чтобы выявить некоторые проблемные файлы до монтирования. Файловые
системы, как и файлы, перед монтированием следует просмотреть.
Когда файловая система впервые монтируется под вашим управлением,
лучше смонтировать ее в личном каталоге, чтобы вы
могли вручную просмотреть файловую систему перед ее монтированием
в надлежащем месте. Проверьте организацию файлов, владельцев
и режимы файлов и ожидаемое использование файловой системы.
- 5-53 -

Шифрование данных

Предусмотрена дополнительная защита в виде программного
обеспечения шифрования данных - команды crypt(C). Это средство
описано в главе "Использование надежной системы" в "Руководстве
пользователя" (User's Guide).

Замечание
Программное обеспечение шифрования данных не включено в
дистрибуцию, но доступно по запросу только в пределах США. Вы
можете запросить это программное обеспечение у своего агента или
поставщика.

Установка бита GID каталога

По умолчанию идентификатор группы (GID) только что созданного
файла устанавливается равным GID создавшего процесса/пользователя.
Это правило можно изменить, установив бит GID в каталоге.
Установка GID в каталоге приведет к тому, что новый файл
будет иметь GID этого каталога. Чтобы установить бит GID в каталоге,
введите следующую команду (здесь directory - имя каталога):

chmod g+s directory
- 5-54 -

ПРОВЕРКА ЦЕЛОСТНОСТИ СИСТЕМЫ

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


/etc/fsck

Файловые системы, содержащие чувствительные файлы, сами
должны рассматриваться как чувствительные объекты. Так, целостность
файловой системы, обеспечиваемая программой fsck, повышает
общую безопасность системы.
Программу fsck следует выполнять после фатального сбоя системы
или аварийного прекращения. Как обычно, перед выполнением
fsck убедитесь, что файловая система "заморожена" (quiescent).
При фатальном сбое системы некоторые пользовательские, системные
или контрольные файлы могли находиться в процессе построения.
Хотя эти данные могут быть утеряны, программа fsck может восстановить
некоторые из этих файлов в каталоге Ъ1lost+foundЪ3 файловой
системы и, по крайней мере, устранить основные проблемы с файловой
системой.
Для выполнения fsck сделайте следующий выбор в sysadmsh:

Filesystems-"Check

и задайте файловую систему, которую нужно проверить.

Контрольный журнал

Не забудьте о контрольном журнале. Это важный источник информации
при отслеживании системных проблем. Большое значение
имеют не только зарегистрированные в нем события защищенной подсистемы,
администратора системы и базы данных аутентификации, но
и те основные системные события, которые могут быть отслежены
вплоть до последующих общесистемных проблем.
- 5-55 -

Порядок проверок после фатального сбоя системы

Основное правило состоит в том, чтобы выполнять эту работу,
начиная с самых базовых компонентов файловой системы. В противном
случае исправления, вносимые на более высоких уровнях, могут
быть уничтожены программами, исправляющими нижние уровни. С учетом
этого следует использовать программы, описанные в данном
разделе, после фатального сбоя системы или какой-либо аномалии в
следующем порядке:
1. Выполнение проверки файловой системы.
2. Составление контрольного отчета.
3. Проверка совместимости базы данных аутентификации.
4. Проверка разрешений для системных файлов.
Эти программы следует выполнять, когда система "заморожена".
Для этого нужно работать в однопользовательском уровне
(уровень выполнения Single-user, или S), как описано в init(M).

Защищенные базы данных

Некоторые базы данных хранят характеристики самой системы,
ее пользователей, администраторов и подсистем, так что вычислительная
установка может контролировать свои параметры секретности.
Эти базы данных размещены в системе и ведутся администратором.
Формат этих файлов описан в разделе authcap(F) "Справочника
пользователя" (User's Reference).

Замечание
Защищенные базы данных никогда не следует редактировать самому.
Надежные системные утилиты и выборы sysadmsh(ADM) сопровождают
и выводят информацию, содержащуюся в базах данных. Не
следует пытаться модифицировать их каким-либо другим способом.

База данных контроля и база данных распределения устройств
являются независимыми базами данных. Остальные базы данных, описанные
ниже (база данных защищенных паролей, база данных управления
терминалами, база данных подсистем и база данных управления
файлами) имеют общее название база данных аутентификации.
Она находится в ведении Администратора аутентификации, имеющего
авторизацию auth. Далее следует краткое описание каждой из этих
баз данных.
- 5-56 -

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

Распределение База данных распределения устройств хранит имена
устройств путей, соответствующих одним и тем же физическим
устройствам. Например, /dev/ttya и /dev/ttyA мо-
гут обозначать один и тот же серийный порт, со-
ответственно с отключенным и включенным управле-
нием модемами. Эту базу данных используют
init(M) и getty(M), чтобы воспрепятствовать од-
ной из форм обмана при входе в систему, как опи-
сано ниже.
Защищенные База данных защищенных паролей хранит информацию
пароли по секретности о каждом пользователе. В пользо-
вательской строке содержится зашифрованный па-
роль (который больше не фигурирует в регулярной
базе данных паролей /etc/passwd) и изменение па-
роля, авторизация пользователя и пользователь-
ские параметры контроля. При правильном формиро-
вании этой базы данных Администратор аутентифи-
кации контролирует, как пользователи идентифици-
руются и аутентифицируются в системе, какие до-
пустимы типы привилегированных пользователей, и
в каком объеме пользовательские действия регист-
рируются в контрольном журнале. База данных сис-
темных параметров, принятых по умолчанию (она
содержит общесистемные параметры секретности,
принимаемые по умолчанию) рассматривается как
часть базы данных защищенных паролей.
Терминалы Доступ в систему через терминалы контролируется
базой данных управления терминалами. Эта база
данных регистрирует входы в систему через каждый
подсоединенный терминал (последний пользователь,
вошедший в систему или вышедший из нее, времен-
ные отметки и т.д.). База данных управления тер-
миналами позволяет Администратору аутентификации
устанавливать разную стратегию для разных терми-
налов, в зависимости от физических и администра-
тивных потребностей вычислительной установки.
Подсистемы База данных подсистем хранит список пользовате-
лей, которым даны специальные привилегии на вы-
полнение либо функций администратора подсистемы,
- 5-57 -

либо специальных функций в защищенной подсисте-
ме. Эта база данных - еще один элемент базы дан-
ных аутентификации. Она улучшает учитываемость
административных действий, позволяя только опре-
деленным пользователям выполнять программы соп-
ровождения внутренних подсистем. Безопасность
повышается за счет контроля, кто имеет разреше-
ние на выполнение программ сопровождения подсис-
тем, и учета реальных пользователей, наделенных
административными ролями.
Управление База данных управления файлами помогает поддер-
файлами живать целостность Надежной вычислительной базы
(TCB). Для этого она ведет запись о содержимом и
атрибутах защиты файлов, важных для работы TCB.
Эта база данных является эффективным средством
обнаружения модификаций активной копии TCB.
Программа администратора системы integrity(ADM)
проверяет разрешения файлов TCB относительно
этой базы данных.

Проверка базы данных аутентификации

Для проверки совместимости базы данных аутентификации используется
программа authck(ADM). Она имеет несколько опций, ограничивающих
диапазон проверки. Для полной проверки можно использовать
флаг -a - возможно, при выполнении программы authck
из crontab или at. Более полная информация приведена в описании
authck(ADM).

Проверка целостности системы

Программа integrity(ADM) сравнивает элементы базы данных
управления файлами с актуальными разрешениями файлов в системе.
(Доступ к этой программе контролируется авторизацией подсистемы
sysadmin, но проще всего выполнять ее супер-пользователю.) Фиксируются
файлы, имеющие больше разрешений, чем указано в базе
данных управления файлами. При обнаружении ошибки проверьте
файл, чтобы определить:
каковы имя владельца/группа/режимы актуального файла?

какие определены разрешения для файла? (Воспользуйтесь опцией
-e для integrity.)
- 5-58 -

когда была произведена последняя модификация и последний
доступ к файлу?
кто присутствовал в системе в эти моменты?
что содержится в контрольном журнале по этим моментам?
Найдя причину расхождения, установите правильные разрешения
для файла как часть процедуры очистки. Сделав это для всех файлов,
упомянутых в отчете, снова выполните программу integrity,
чтобы установить достоверность разрешений.
Опция -e программы integrity дает точное объяснение причины
(причин) ошибки. Опция -m включает в отчет только файлы, содержащиеся
в базе данных, но не в системе. Иногда при фатальном
сбое системы или проникновении через защиту теряются важные системные
файлы. Программа integrity служит для их определения. Заметим,
что в некоторых дистрибуциях отдельные файлы обычно отсутствуют.
Чтобы понять, какова ваша система, используйте команду


integrity -m

вскоре после того, как ваша система установлена и работоспособна.
После этого только дополнительные файлы, о которых сообщается
при нормальной работе, будут представлять интерес.
Опция -v программы integrity вызывает распечатку некоторой
дополнительной информации, включая отчеты о файлах, прошедших
проверку целостности. Эта опция дает очень большой вывод.
Все ошибки, обнаруженные при проверке целостности, оформляются
в виде контрольных записей, соответствующих событию базы
данных в контрольном журнале.
- 5-59 -

СООБЩЕНИЯ ОБ ОШИБКАХ, СВЯЗАННЫХ С СЕКРЕТНОСТЬЮ

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

Сообщения об ошибках регистрации в системе

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

Login incorrect. (Некорректная регистрация)
Пользователь неправильно ввел свое регистрационное имя или
пароль. Если это сообщение повторяется, вам, возможно, при-
дется изменить пароль, чтобы дать пользователю возможность
зарегистрироваться снова.

Account is disabled - see Authentification Administrator.
(Бюджет отключен - обратитесь к Администратору аутентификации)
Бюджет заблокирован по одной из следующих трех причин.
1. Вы заблокировали бюджет в результате выбора Accounts-"
User-"Examine:Logins в sysadmsh. Если вы хотите восста-
новить бюджет, используйте тот же выбор, чтобы разблоки-
ровать бюджет.
2. Завершился жизненный цикл пароля этого бюджета. Пароль
бюджета не изменялся до истечения его жизненного цикла.
Чтобы восстановить работоспособность бюджета, назначьте
новый пароль для сброса жизненного цикла. Порекомендуйте
пользователю изменять пароль до завершения жизненного
цикла.
3. Было предпринято несколько неудачных попыток доступа к
бюджету, число которых превысило пороговое значение, ус-
тановленное вами для блокировки. Эти попытки могут де-
латься с разных терминалов. Перед восстановлением бюдже-
та рекомендуется определить причину блокировки. Она
может заключаться в том, что пользователь неумело рабо-
тает с клавиатурой, или кто-то хотел таким способом заб-
локировать бюджет, или это действительно была попытка
проникновения в бюджет. Вы, возможно, пожелаете умень-
шить или увеличить пороговое значение, в зависимости от
самих пользователей системы, от ценности данных и от
доступности системы для посторонних.

- 5-60 -

Terminal is disabled - see Authentification Administrator.
(Терминал отключен - обратитесь к Администратору аутентификации)
Терминал заблокирован для всех пользователей. Как и при
блокировке бюджета, это либо Администратор аутентификации
заблокировал бюджет с помощью sysadmsh, либо число некор-
ректных попыток регистрации (в одном или нескольких бюдже-
тах) превысило пороговое значение, установленное для данно-
го терминала. В обоих случаях следует выяснить, что случи-
лось, а затем с помощью sysadmsh снять блокировку.

Account is disabled but console login is allowed.
или
Terminal is disabled but root login is allowed.
(Бюджет отключен, но разрешена регистрация в консоли; или
Терминал отключен, но разрешена регистрация в root)
Эти сообщения связаны с попытками супер-пользователя заре-
гистрироваться в консоли. Предполагая, что устройство кон-
соли (в том числе серийной консоли) является специальным
устройством, и считая физический ресурс заслуживающим защи-
ты, предусмотрено, что блокировка бюджета супер-пользовате-
ля не мешает ему зарегистрироваться в консоли. В этом сос-
тоит способ входа в систему, когда все остальные бюджеты
или терминалы заблокированы. Перед тем, как продолжить ра-
боту, найдите причину блокировки, используя контрольный
журнал. Блокировка, вызванная неудачными попытками регист-
рации в системной консоли, снимается автоматически, но бло-
кировки, вызванные другими причинами, действуют. В сущнос-
ти, консоль никогда не блокируется для супер-пользователя.

Условия ошибок контроля

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

Audit: file system is getting full
(Контроль: файловая система почти заполнена)
Подсистема контроля может иногда выдать такое предупрежде-
ние, когда объем файловой системы контроля достигает неко-
торого порогового значения. Данное сообщение указывает, что
на устройстве осталось мало места. Если для подсистемы были
определены дополнительные каталоги, она автоматически пе-
реключается на них, когда в файловой системе достигнуто по-
роговое значение для оставшегося свободного пространства. В
противном случае вы (администратор) должны вмешаться и уве-
личить объем доступного пространства. Иначе контроль при
достижении порогового значения прекращается. По той же при-
чине может прекратиться программа демона контроля auditd.
- 5-61 -

Она прекращается, если не может записать уплотненный файл
из-за нехватки мест

Список страниц

Закладка в соц.сетях

Купить

☏ Заказ рекламы: +380504468872

© Ассоциация электронных библиотек Украины

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