Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

Исследование уровня безопасности операционной системы Linux

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

                  2. Локальная и сетевая безопасность Linux

    Linux является  сетевой  ОС,  поэтому  провести  четкую  границу  между
локальной и сетевой безопасностью очень сложно. Но, поскольку компьютер,  на
котором   установлена   ОС   Linux,   может   выступать   как   в   качестве
пользовательского компьютера, так и в качестве сервера,  подключение  его  к
сети не гарантируется. При отсутствии  сети  неуместно  говорить  о  сетевой
безопасности,  потому  что  сетевой  угрозы  в   принципе   не   существует.
Следовательно, разделение общей безопасности  системы  на  две  составляющие
вполне целесообразно.
    Учитывая все это,  можно  сделать  вывод,  что  локальная  безопасность
является обязательной  практически  в  любом  случае,  кроме  тех,  когда  к
компьютеру имеет доступ только один  человек  –  его  владелец.  Сетевая  же
безопасность является актуальной только в  том  случае,  когда  компьютер  с
установленной  на  нем  Linux  имеет  выход  в  сеть.  Сетевая  безопасность
является  дополняющим  звеном   локальной   безопасности,   которые   вместе
определяют  общую  безопасность  системы  в  целом.  В  принципе,  локальную
безопасность можно считать последним барьером в общей безопасности системы.
    Локальная безопасность – это правила, меры и  усилия,  направленные  на
защиту системы изнутри, от локальных пользователей.
    ОС Linux является полноценной многопользовательской системой с  простой
и распределенной архитектурой. Архитектура ОС  Linux  приведена  на  рисунке
2.1.

               Рис. 2.1. Структура операционной системы Linux

    Linux является  многопользовательской  системой,  и  тот  факт,  что  в
систему  могут  иметь  одновременный  доступ  огромное  число   людей,   как
доверенных, так и нет, представляется более чем очевидным.
    Зачем же необходимо обезопасить систему от локальных пользователей?
    Для ответа  на  этот  вопрос  сначала  рассмотрим,  что  представляется
возможным пользователю, который имеет доступ в систему.
     - После входа в систему  пользователю  выделяется  определенная  часть
машинных   ресурсов    (дискового    пространства,    оперативной    памяти,
процессорного времени и так далее). Хорошо, если ОС изначально настроена  на
правильное разделение ресурсов. А если нет? Достаточно  одному  пользователю
запустить пару-тройку «тяжелых» программ,  как  время  ожидания  для  других
программ даже на мощной машине может выйти за грань допустимого.
       -   Существуют   программы,   которые   должен   запускать    только
суперпользователь  (пользователь  root).  Обычно  с  помощью  этих  программ
осуществляется  настройка   системных   параметров   операционной   системы,
неправильная  конфигурация  которых  может  отрицательно  отразиться  на  ее
работоспособности. Случайный запуск такой  программы  обычным  пользователем
может привести к фатальным последствиям для всей системы в целом.
     - «Гуляя» по дереву каталогов на  жестком  диске,  пользователь  может
попасть в ту часть, в которой ему быть не  положено  (например,  в  каталог,
где хранятся файлы других пользователей). Личные файлы каждого  пользователя
должны быть доступны ему и только  ему,  если,  конечно,  он  сам  не  решит
иначе.
    Перечисленные примеры – это лишь малая часть. Иногда, даже сам этого не
осознавая, неопытный пользователь может представлять  потенциальную  угрозу,
если ему предоставить неограниченные права.  К  тому  же  сама  порядочность
пользователя – это роскошь, которую в современном мире может себе  позволить
не каждый.
    Теперь рассмотрим, какие же средства предоставляет  система  Linux  для
обеспечения локальной безопасности.

                         2.1. Пользователи и пароли

    Пользователь – это человек,  пользующийся  ресурсами  и  возможностями,
которые ему предоставляет тот или иной сервис. Пользователь не обязан  знать
все аспекты функционирования этих сервисов, все, что ему необходимо знать  –
это как пользоваться ими.
    В  Linux   каждый   пользователь   имеет   свой   уникальный   числовой
идентификатор,  по   которому   он   идентифицируется   в   системе.   Этому
идентификатору для более  удобной  работы  соответствует  имя  пользователя.
Например, для привилегированного пользователя  root  зарезервирован  нулевой
идентификатор.
    Все имена  пользователей  Linux  и  соответствующие  им  идентификаторы
хранятся в специальном файле passwd.  Этот  файл  располагается  в  каталоге
etc, который, в свою очередь, находится в корневом каталоге системы /.  Файл
имеет обычную текстовую форму.
    Пример файла пользовательских имен passwd.
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

    Каждая запись в этом файле разделена двоеточиями на 7 частей:
    1.  Имя  пользователя.  Это  поле  содержит   имя   пользователя.   Для
операционной  системы  не  важно,  какое  имя  имеет  пользователь,  система
ориентируется   на   идентификатор,   а   имя   играет,   пожалуй,    только
информационное значение для человека, работающего в системе.
    2. Поле пароля. Это поле в ранних версиях Linux содержало зашифрованный
пароль, а теперь, когда была введена  технология  теневых  паролей,  в  этом
поле просто ставится x. Практического применения это поле не имеет.
    3.  Идентификатор  пользователя   (UID).   В   системе   Linux   каждый
пользователь имеет уникальный идентификационный  номер,  который  однозначно
определяет его  в  системе.  Этот  номер  используется  в  различных  целях,
например,  при  установке  прав  доступа  на  файлы.  Права  доступа   будут
рассмотрены в следующем разделе.
    4. Идентификатор группы, к которой принадлежит этот пользователь (GID).
Концепция групп будет рассмотрена в следующих разделах.
    5. Поле комментария. В этом поле может храниться  любая  дополнительная
информация о пользователе, например, его полное имя.
    6. Полный путь к  домашнему  каталогу  пользователя.  В  ОС  Linux  для
каждого пользователя создается его домашний  каталог,  в  котором  он  может
хранить свои документы.  Обычно  эти  каталоги  располагаются  в  директории
/home корневого каталога и по умолчанию имеют имена владельцев.
    7. Путь к командной оболочке. Последнее поле  содержит  полный  путь  к
рабочей оболочке пользователя (по умолчанию такой оболочкой является  bash).
Эта   оболочка   запускается,   когда   пользователь   проходит    процедуру
аутентификации. В целях безопасности  для  системных  пользователей  в  этом
поле очень часто ставится /sbin/nologin. В приведенном примере  пользователь
bin имеет как раз такое значение в поле командного интерпретатора.  Сама  по
себе программа nologin не является оболочкой, единственное ее  назначение  –
не  допустить  вход  в  систему.  Поэтому  при  попытке  входа  под   именем
пользователя,  у  которого   в   качестве   рабочей   оболочки   установлена
/sbin/nologin, ничего не происходит. Обычно такой  подход  используется  при
создании пользователей,  которые  являются  системными,  то  есть  от  имени
которых выполняются какие-то действия  внутри  системы.  А  поскольку  таким
пользователям не нужна рабочая оболочка, хорошим решением,  с  точки  зрения
безопасности, будет установка  поля  оболочки  в  /sbin/nologin.  Еще  одним
распространенным решением в таких ситуациях является установка этого поля  в
значение /bin/false. Как известно,  в  Linux,  да  и  в  большинстве  других
операционных  систем,  успешное  завершение  программы  определяется   типом
возвращаемого  значения.  Если  возвращается  нулевое  значение,  выполнение
программы прошло успешно, если ненулевое – в процессе  выполнения  программы
возникли ошибки. На основе  возвращаемого  значения  система  аутентификации
делает  вывод  о  том,  пройдена   ли   аутентификация   успешно   или   она
«провалилась». false – программа, которая  независимо  от  внешних  факторов
всегда возвращает значение, отличное от нуля, что в данном  случае  означает
возникновение ошибок при запуске оболочки, и управление  снова  возвращается
системе аутентификации.
    При входе  в  систему  программа,  предоставляющая  доступ,  производит
чтение информации о пользователях как раз из файла passwd. Право  на  запись
в этот файл имеет только привилегированный пользователь root, читать же  его
могут  все  пользователи  системы  (права  доступа  описываются  в   разделе
«Особенности файловой системы Linux»).
    Этот файл никогда не  редактируется  вручную,  хотя,  в  принципе,  это
вполне допустимо. Обычно для редактирования файла  пользователей  используют
специальные программы: useradd, usermod и userdel.
    Программа добавления useradd позволяет добави
12345След.
скачать работу

Исследование уровня безопасности операционной системы Linux

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ