Подсистема безопасности ОС Linux 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Подсистема безопасности ОС Linux



Большинство Unix (и Linux не исключение) в основном используют односторонний алгоритм шифрования, называемый DES (стандарт шифрования данных /Data Encription Standard/), для шифрования ваших паролей. Эти зашифрованные пароли затем сохраняются (обычно) в файле /etc/passwd или (реже) в /etc/shadow. Когда вы пытаетесь зарегистрироваться, все, что вы набираете, снова шифруется и сравнивается с содержимым файла, в котором хранятся ваши пароли. Если они совпадают, должно быть это одинаковые пароли, и вам разрешают доступ. Хотя DES является двухсторонним (вы можете закодировать, а затем раскодировать сообщение, давая верный ключ), большинство Unix используют односторонний вариант. Это значит, что невозможно на основании содержания файла /etc/passwd (или /etc/shadow) провести расшифровку для получения паролей.

Система системного журналирования (syslog) является одной из самых восхитительных вещей в UNIX. В отличие от некоторых операционных систем, которые заставляют вас использовать лишь тот ограниченный диапазон журналов, которые они соизволят вам предоставить, UNIX позволяет вам регистрировать почти все что угодно с практически любым уровнем детализации. Так как стандартные системные средства журналирования предусмотрены для большинства средств системы UNIX, администратор может выбрать конфигурацию журналирования удовлетворяющую его требованиям. Моя сеть обычно имеет один журналирующий узел, который поддерживает журналирование не только для FreeBSD-узлов, но и для маршрутизаторов Cisco, коммутаторов и любых других систем поддерживающих syslog. Журналирующая система устроена достаточно просто. Программы шлют записи, предназначенные для журналирования к системному демону syslogd. Syslogd сравнивает каждую пришедшую запись с правилами, которые находятся в файле /etc/syslog.conf. Когда обнаруживается соответствие, syslogd обрабатывает запись описанным в syslog.conf способом. Файл /etc/syslog.conf состоит из двух столбцов. В первом указывается правило отбора записей для журнала. Во втором содержится описание действий, которые будут предприняты для обработки подошедшей записи. Большинство затруднений вызывает полное понимание того, как точно указать правило отбора журналируемых записей.

Источник журналируемых записей описывается указанием категории (facility) и уровня (level). Категория это или источник записей, или программа, которая шлет сообщения демону syslogd. Существуют следующие категории:
auth - Все что связано с авторизацией пользователей, вроде login и su. authpriv - Тоже самое что и auth, однако пишет журнал в файл, который могут читать лишь некоторые пользователи (очевидно, автор имел в виду тот факт, что сообщения, собираемые в этой категории, могут содержать открытые пароли пользователей, которые не должны попадать на глаза посторонним людям, и, следовательно, файлы журналов должны иметь соответствующие права доступа).

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

-cron - Сообщения от системного планировщика.

-daemon - Ловушка для сообщений от всех остальных системных демонов, которые не имеют явно описанных категорий.

-ftp - При помощи этой категории вы сможете сконфигурировать ваш FTP сервер, что бы он записывал свои действия. Смотрите /etc/inetd.conf.

-kern - Сообщения от ядра.

-lpr - Сообщения от системы печати.

-mail - Сообщения от почтовой системы.

-mark - Эта категория используется для того, что бы помещать в журнал сообщение каждые 20 минут. Она может быть полезна в комбинации с некоторыми другими журналами (например вы сможете узнать с 20-ти минутной точностью, когда же завис ваш сервер - прим. переводчика).

-news - Сообщения от сервера новостей.

-ntp - Сообщения от сервера точного времени.

-security - Сообщения от различных служб безопасности, таких как ipfw или ipf.

-syslog - Система журналирования может журналировать сообщения от самой себя. Только не пишите в журнал сообщение о том, что вы пишете в журнал сообщение от системы журналирования, иначе у вас закружится голова

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

-uucp - Собирает сообщения от UNIX-to-UNIX Copy Protocol. Это часть истории UNIX и вероятнее всего она вам никогда не понадобится (хотя до сих пор определенная часть почтовых сообщений доставляется через UUCP - прим. переводчика).

-local0 - local7 - Зарезервированные категории для использования администратором системы. Многие программы дают возможность указать категорию журналирования, если ваша программа это позволяет, выбирайте одну из них.

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

FreeBSD предоставляет восемь уровней важности сообщений. С их помощью, вы можете сообщить syslog, что записывать в журнал, а что отбросить. Вот эти уровни, в порядке уменьшения важности:

-emerg - Система в панике. Сообщения немедленно выводятся на все активные терминалы. Система обычно накрывается медным тазом, или остается чрезвычайно, чрезвычайно нестабильной. Продолжение работы невозможно.

-alert - Это плохо, но не настолько плохо как уровень emerg. Система может продолжить работу, но эту ошибку следует устранить немедленно.

-crit - Это критические ошибки, такие как проблемы с аппаратным обеспечением или серьезные нарушения работы программного обеспечения. Если ваш жесткий диск содержит плохие блоки, они проявятся в виде критических ошибок. Если вы очень смелый, попробуйте продолжить работу.

-err - Разнообразные ошибки. Это скверно, такие ошибки должны быть устранены, но они не разрушат вашу систему.

-warning - Разнообразные предупреждения.

-notice - Общая информация, которая должна быть записана, если она вам нужна, но вероятно она не потребует вашей реакции.

-info - Различная системная информация.

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

-none - Это специальный уровень означающий - 'ничего не записывать в данной категории'. Он обычно применяется для исключения информации из групповых записей.

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

Права доступа к файлам

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

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

Быстрое объяснение прав доступа в unix:

Собственность - Какой пользователь(ли) и группа(ы) удерживает контроль установок прав вершины (node) и родителя вершины.

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

Чтение:

-Возможность просмотра содержимого файла.

-Возможность чтения каталога.

Запись:

-Возможность добавить или изменить файл.

-Возможность удалять или перемещать файлы в каталоге.

Выполнение:

-Возможность запуска программы или скрипта оболочки (shell script).

-Возможность поиска в каталоге, в комбинации с правом чтения.

Save Text Attribute: (Для каталогов).

sticky бит также имеет отличное значение применимо к каталогам. Если sticky бит установлен для каталога, то пользователь может удалять только те файлы, владельцем которых он является, или к которым ему явно заданы права записи, несмотря на то, что ему разрешена запись в этот каталог. Это сделано для каталогов подобных /tmp, в которые разрешена запись всем, но в которых нежелательно разрешать любому пользователю удалять файлы от нечего делать. sticky бит видно как 't' в полном режиме отображения содержимого каталога. (long listing).

SUID Attribute: (Для файлов)

Описывает set-user-id права на файл. Если права доступа set-user-id установлены во "владелец" и файл исполняемый, то процесс, который запускает его, получает доступ к системным ресурсам основываясь на правах пользователя, который создал этот процесс. Во многих случаях это является причиной возникновения 'buffer overflow'.

SGID Attribute: (Для файлов)

Если установлен в правах доступа "группы", этот бит контролирует "set group id" статус файла. При этом он работает также как и SUID, только задействована при этом группа, а не отдельный пользователь.

SGID Attribute: (Для каталогов)

Если вы установите SGID бит для каталога (командой "chmod g+s directory"), то файлы, содержащиеся в этом каталоге будут иметь установки группы такие, как у каталога.

Вы - Владелец файла

Группа - Группа, к которой вы принадлежите

Остальные - Любой в системе, кто не является владельцем либо членом группы.

Пример файла:

-rw-r--r-- 1 kevin users 114 Aug 28 1997.zlogin 1й бит - каталог? (нет) 2й бит - чтение владельцем? (да, для kevin) 3й бит - запись владельцем? (да, для kevin) 4й бит - выполнение владельцем? (нет) 5й бит - чтение группой? (да, для users) 6й бит - запись группой? (нет) 7й бит - выполнение группой? (нет) 8й бит - чтение остальными? (да, для остальных) 9й бит - запись остальными? (нет) 10й бит - выполнение остальными? (нет)

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

-r-------- Разрешают чтение файла владельцем.--w------- Разрешают владельцу изменение или удаление файла.---x------ Владелец может выполнять эту программу, но не скрипты командного интерпретатора, которые еще нуждаются в правах на чтение.---s------ Будет выполняться с эффективным пользовательским ID = владелец.-------s-- Будет выполняться с эффективным пользовательским ID = группа.-rw------T Не обновлять "последнего времени изменения". Обычно используется для swap файлов. ---t------ Не действует (прежде sticky бит).

Пример каталога:

drwxr-xr-x 3 kevin users 512 Sep 19 13:47.public_html/ 1й бит - каталог (да, содержит много файлов) 2й бит - чтение владельцем (да, для kevin) 3й бит - запись владельцем (да, для kevin) 4й бит - выполнение владельцем (да, для kevin) 5й бит - чтение группой (да, для users) 6й бит - запись группой (нет) 7й бит - выполнение группой (да, для users) 8й бит - чтение остальными (да, для остальных) 9й бит - запись остальными (нет) 10й бит - выполнение остальными (да, для остальных)

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

dr-------- Можно просмотреть содержание, но нельзя прочесть атрибуты файла.d--x------ Можно войти в каталог, а также использовать его в полной записи файла (т.е. с путем к нему).dr-x------ Владелец может теперь просмотреть атрибуты файла.d-wx------ Файлы теперь можно создавать/удалять, даже если каталог не текущий.d------x-t Предотвращает файлы от удаления остальными с правами записи. Используется для /tmp.d---s--s-- Никаких действий.

Системные конфигурационные файлы (обычно в /etc) имеют обычно режим 640 (что означает -rw-r-----) и являются собственностью администратора. В зависимости от требований безопасности в вашей системе, вы можете изменить эти установки. Никогда не предоставляйте возможности записи в системные файлы для "группы" или "остальных". Некоторые конфигурационные файлы, включая /etc/shadow, должны разрешать чтение только администратору, а каталоги в /etc должны, по крайней мере, быть недоступны другим.

 

МЕТОДЫ И СРЕДСТВА ЗИ В СИСТЕМАХ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ (СУБД)



Поделиться:


Последнее изменение этой страницы: 2016-04-26; просмотров: 311; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.252.140 (0.021 с.)