МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Исследование уровня безопасности операционной системы Linux

    пользователям не нужна рабочая оболочка, хорошим решением, с точки зрения

    безопасности, будет установка поля оболочки в /sbin/nologin. Еще одним

    распространенным решением в таких ситуациях является установка этого поля в

    значение /bin/false. Как известно, в Linux, да и в большинстве других

    операционных систем, успешное завершение программы определяется типом

    возвращаемого значения. Если возвращается нулевое значение, выполнение

    программы прошло успешно, если ненулевое – в процессе выполнения программы

    возникли ошибки. На основе возвращаемого значения система аутентификации

    делает вывод о том, пройдена ли аутентификация успешно или она

    «провалилась». false – программа, которая независимо от внешних факторов

    всегда возвращает значение, отличное от нуля, что в данном случае означает

    возникновение ошибок при запуске оболочки, и управление снова возвращается

    системе аутентификации.

    При входе в систему программа, предоставляющая доступ, производит

    чтение информации о пользователях как раз из файла passwd. Право на запись

    в этот файл имеет только привилегированный пользователь root, читать же его

    могут все пользователи системы (права доступа описываются в разделе

    «Особенности файловой системы Linux»).

    Этот файл никогда не редактируется вручную, хотя, в принципе, это

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

    специальные программы: useradd, usermod и userdel.

    Программа добавления useradd позволяет добавить нового пользователя в

    систему. Для управления процессом создания пользователя эта программа может

    принимать различные параметры в командной строке. Например, параметр –s

    задает используемый пользователем shell, а параметр –g – группу, к которой

    принадлежит создаваемый пользователь. Помимо добавления записи о

    пользователе в файл /etc/passwd, программа useradd создает домашний каталог

    пользователя, который по умолчанию должен размещаться в директории /home.

    Путь к пользовательскому каталогу может быть определен с помощью параметра

    –d, за которым следует полный путь от корневого каталога до каталога

    пользователя.

    Программа usermod позволяет изменять такие параметры, как рабочая

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

    и так далее.

    Нетрудно догадаться, что выполняет программа userdel. Она удаляет

    пользователя из системы. Подробная информация об этих программах содержится

    в соответствующих man-руководствах.

    Имя пользователя не является секретной информацией, и его могут без

    проблем узнать другие пользователи системы. Но в таком случае должна

    существовать опасность входа одного пользователя под именем другого. Однако

    этого не происходит. Используется такое понятие, как аутентификация.

    Аутентификация – это установление подлинности пользователя, то есть

    установление факта того, что пользователь с таким именем является именно

    тем, за кого себя выдает.

    Для аутентификации в ОС Linux используется уже давно проверенное и

    доказавшее свою надежность средство – пароль.

    Пароль – это набор символов (секретное слово), известный только его

    владельцу и используемый для удостоверения его подлинности.

    Каждый пользователь в системе имеет свой собственный пароль. Наличие

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

    Linux. Пароль является как бы пропуском пользователя в систему. Без пароля,

    зная только имя пользователя, проникнуть в систему невозможно.

    Пароли хранятся в отдельном файле /etc/shadow. В ранних версиях Linux

    имена и пароли пользователей хранились в одном файле /etc/passwd. Но

    практика показала, что для обеспечения более надежной защиты паролей

    необходимо создание отдельного файла для их хранения. Таким образом,

    технология выделения отдельного файла shadow для хранения паролей получила

    название технологии «теневых паролей».

    Пример файла и его структура приведены ниже.

    root:$1$pOy8fNrf$uOh/dQlI03BMIdEAhWrE.0:12369:0:99999:7:::

    bin:*:12245:0:99999:7:::

    daemon:*:12245:0:99999:7:::

    sync:*:12245:0:99999:7:::

    Файл shadow, как и файл passwd, разделен на несколько частей

    двоеточиями:

    1. Имя пользователя. Это поле просто дублируется из файла passwd.

    2. Хэш пароля. Пароль в Linux никогда не хранится в открытом виде, в

    отличие от имени пользователя. При установке пароля до сохранения его в

    файле он шифруется по специальному алгоритму. По умолчанию таким алгоритмом

    является алгоритм одностороннего шифрования DES (Data Encryption Standard).

    Использование одностороннего алгоритма шифрования исключает возможность

    расшифровки пароля.

    Остальные поля содержат различную служебную информацию.

    Файл паролей имеет права только на чтение и только для

    суперпользователя (права доступа описываются в разделе «Особенности

    файловой системы Linux»). Его содержимое является недоступным для рядовых

    пользователей, таким образом, исключается возможность раскрытия

    зашифрованного пароля.

    Для изменения пароля в Linux изначально включена специальная программа

    passwd. В качестве параметра в командной строке она получает имя

    пользователя и при запуске требует ввода пароля для этого пользователя. При

    вводе в целях безопасности пароль не отображается на экране монитора,

    существует очень высокая вероятность допустить ошибку, особенно когда

    пароль состоит из цифр и символов различного регистра. Поэтому ввод пароля

    осуществляется 2 раза для проверки правильности ввода. После подтверждения

    пароль шифруется и сохраняется в файле /etc/shadow.

    При входе в систему процедурой получения имени и пароля пользователя

    управляет программа mingetty. mingetty – это программа, выдающая

    приглашение для ввода имени пользователя и пароля на виртуальную консоль.

    После ее запуска на экране монитора появляется строка-приглашение ко вводу

    имени и пароля пользователя. После ввода имени и пароля программа передает

    управление программе login. login – это программа-посредник, которая

    осуществляет проверку существования, корректности и соответствия имени

    пользователя и его пароля в системе. Пароль с помощью механизмов

    аутентификации шифруется и сравнивается с хэшем из файла. После успешного

    завершения процедуры аутентификации программа login запускает системную

    оболочку для взаимодействия пользователя с операционной системой, так

    называемый shell (от англ. shell – «оболочка»). Путь к исполняемому файлу

    shell указывается в последнем седьмом поле записи файла passwd. Обычно по

    умолчанию используется bash (Bourne Shell). Выдается приглашение ко вводу

    команд с символом # или $ в конце (по умолчанию символ # используется в

    приглашении суперпользователя, а символ $ - в приглашении обычного

    пользователя). С этого момента система готова принимать от пользователя

    команды на выполнение.

    Для более удобного управления доступом к ресурсам в Linux все

    пользователи объединяются в группы. В данном случае группа – это множество

    пользователей, объединенных по каким-либо критериям.

    К какой группе принадлежит пользователь, говорит 4 поле регистрационной

    записи в файле passwd. Наличие групп позволяет создать гибкую политику

    безопасности, основанную на разделении доступа к ресурсам. Значение групп

    для разделения доступа более подробно описывается в разделе «Особенности

    файловой системы Linux».

    Практическое применение рассмотренной информации приводится в

    приложении в примере 1.

    2.2. Особенности файловой системы Linux

    Для организации и постоянного хранения информации на различных ее

    носителях ОС использует так называемую файловую систему.

    Файловая система – это методы и структуры данных, которые используются

    ОС для хранения файлов на диске или в его разделе.

    У каждой ОС имеется своя файловая система, отличная от всех других. От

    надежности, эффективности и безопасности работы файловой системы во многом

    зависит качество функционирования ОС в целом.

    В настоящее время во всех дистрибутивах ОС Linux для хранения

    информации активно используется файловая система ext2 (The Second Extended

    File System). Ext2 является файловой системой с богатыми функциональными

    возможностями, а тот факт, что ext2 была разработана специально для Linux,

    уже говорит о необходимости присутствия в ней средств контроля и

    безопасности.

    Основные характеристики файловой системы ext2: максимальный объем

    файловой системы – 4 Тбайт; максимальная длина файла – 2 Гбайт;

    максимальная длина имени файла – 255 символов; присутствует поддержка трех

    ячеек времени изменения файла; также имеется возможность расширения

    файловой системы; присутствуют механизмы защиты информации и возможность

    изменять размер блока.

    2.2.1. Права доступа

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

    документов использует свой домашний каталог. Информация, хранящаяся в

    документах, является строго конфиденциальной, а по сему никто, кроме ее

    владельца, не должен получить к ней доступ. Пользователь В просто из

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

    содержимое этих документов. Результатом попытки явилась ошибка с описанием

    ‘permission denied’ (‘доступ запрещен’). Появлением ошибки послужило

    отсутствие у пользователя B прав на чтение документов, принадлежащих

    пользователю А. Из приведенного примера можно сделать вывод, что права

    доступа позволяют ограничить доступ к определенной информации, или, проще

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

    Концепция файловой политики безопасности Linux строится на том, что

    любой файл системы имеет 3 категории владельцев: собственно владельца файла

    или, проще говоря, его создателя, какую-либо группу пользователей, в

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

    привилегированный пользователь или владелец файла, поскольку только он

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

    безопасности, определяя права отдельно для владельца файла, для группы

    пользователей и для всех остальных пользователей системы.

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

    цифрами, самая левая из которых – права доступа владельца, средняя – права

    группы, правая – права доступа для всех остальных. Каждая из этих

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

    отвечают за право на чтение, запись и исполнение файла или каталога. Если

    бит установлен в 1 – операция разрешена, если в 0 – запрещена.

    Для различных типов файлов значения прав доступа немного отличаются.

    Право на чтение файла позволяет пользователю читать содержимое файла.

    Для каталога установка права на чтение позволяет читать файлы, находящиеся

    в этом каталоге.

    Право на запись файла позволяет пользователю изменять его содержимое.

    Для каталога - создавать файлы внутри каталога.

    Право на выполнение для файла позволяет запускать файл на выполнение в

    качестве программы. Для каталога установка этого права дает возможность

    пользователю входить в каталог и просматривать его содержимое.

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

    в терминале команду ls с ключом –l:

    [root@app tmpdir]# ls –l

    lrwxrwxrwx 1 root users 86 Фев 7 19:49 linkfile -> myfile

    drwxr-xr-x 1 root users 4096 Фев 7 19:49 lnk

    -rwxr----- 1 anotheruser users 97 Фев 7 19:48 myfile1

    -rw-rw-r-- 1 root users 84 Фев 7 19:45 myfile2

    В первой колонке представлены права доступа к файлу. Эта колонка

    содержит 10 символов. Первый из них слева говорит о том, к какому типу

    принадлежит файл, то есть является ли он файлом, каталогом, ссылкой и так

    далее. Далее слева направо представлены права доступа соответственно для

    владельца, для группы, и в конце – для всех остальных. Вторая колонка

    отображает количество жестких ссылок для этого файла. Третья указывает на

    имя владельца файла, четвертая – на имя группы-владельца, пятая колонка –

    размер файла, шестая – дата создания файла, седьмая - имя файла.

    Как видно из примера, linkfile является символической ссылкой на файл

    myfile. Об этом говорит буква l в самой левой части колонки прав доступа.

    Для символических ссылок задание прав доступа возможно, но вряд ли имеет

    смысл. Дело в том, что символическая ссылка указывает на файл, который

    имеет свои права доступа, поэтому при доступе по символической ссылке

    проверяются права конечного файла. Файл lnk является каталогом, о чем

    говорит буква d в поле прав доступа. Поле владельца говорит о том, что

    владельцем каталога является пользователь root, а группа-владелец – users.

    Владелец имеет право на чтение файлов в каталоге, запись файлов и чтение

    содержимого каталога. Буква r (от слова Read) говорит о возможности для

    данного пользователя выполнять операции чтения файлов каталога, буква w (от

    слова Write) – о возможности записи файлов в каталог, последняя буква x (от

    слова eXecute) дает право на просмотр содержимого каталога. Пользователи,

    входящие в группу users, имеют право только на чтение файлов этого каталога

    и на получение его содержимого (буквы r и x), право на запись файлов в этот

    каталог у них отсутствует. Все остальные пользователи имеют те же права

    доступа, что и группа-владелец. Последние два файла myfile1 и myfile2

    являются обычными файлами. Файл myfile2 имеет права чтения и записи для

    владельца (пользователя root) и группы users, все остальные имеют право

    только читать файл. Файл myfile1 имеет права на чтение, запись и выполнение

    для владельца, коим в данном случае является пользователь anotheruser.

    Группа users имеет право только на чтение этого файла, а все остальные

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

    Изменение прав доступа к файлу осуществляется при помощи стандартной

    системной команды chmod. Права доступа при вызове команды могут задаваться

    как битовой маской в десятичном представлении, так и при помощи символов.

    Подробно использование этой команды описано на соответствующей man-

    странице.

    Помимо прав доступа существуют так называемые модификаторы доступа. К

    модификаторам доступа относятся Sticky bit, SUID и SGID.

    Sticky bit (S). Для файлов установка этого модификатора в современных

    дистрибутивах потеряла свое значение. Установка Sticky bit для каталога

    позволяет пользователю записывать файлы в этот каталог, но удалять из этого

    каталога он может только те файлы, владельцем которых он является, или в

    том случае, если ему явно заданы права записи.

    SUID (s). Если файлу установлен модификатор доступа SUID и файл

    исполняемый, то файл при запуске на выполнение получает не права

    пользователя, запустившего его, а права владельца файла. Такие приемы

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

    системными файлами, владельцем которых является привилегированный

    пользователь. К примеру, для того, чтобы пользователь мог самостоятельно

    изменить свой пароль при помощи программы passwd, у этой программы,

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

    SUID, поскольку она работает с файлом shadow, модификацию которого имеет

    право производить только пользователь root.

    SGID (s). Если файл имеет модификатор доступа SGID, то это аналогично

    установке бита SUID, только вместо владельца файла используется группа,

    которой принадлежит файл. В случае установки SGID для каталога файлы,

    содержащиеся в этом каталоге, будут иметь установки группы такие же, как у

    каталога.

    [root@app mydir]# ls –l

    -rwsr--r-x 1 anotheruser users 97 Фев 7 19:48 myfile1

    В приведенном примере видно, что файл myfile1 имеет установленный бит

    SUID. При запуске файла любым пользователем системы (права на выполнение

    установлены для всех) файл будет выполнять действия от имени его владельца,

    в данном случае от имени пользователя anotheruser.

    Модификаторы доступа при правильном использовании представляют очень

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

    с использованием этих модификаторов может свести все действия по

    обеспечению безопасности к нулю. Особенно опасной представляется ситуация,

    когда тот же SUID установлен на исполняемый файл, принадлежащий

    привилегированному пользователю. При выполнении файла запустивший его

    пользователь получает право выполнять операции, доступные только

    пользователю root. Если даже файл не выполняет никаких системных операций и

    не работает с системными файлами, неправильное его использование может

    привести к очень неприятным последствиям.

    Практическое применение рассмотренной информации приводится в

    приложении в примере 2.

    2.2.2. Атрибуты файлов

    В файловой структуре операционной системы всегда есть файлы, которые не

    должны изменяться в процессе функционирования системы, например,

    исполняемые файлы или файлы, которые должны быть откорректированы только

    однажды при настройке системы и не должны изменяться впоследствии, примером

    могут служить конфигурационные файлы. Есть и такие, которые могут быть

    дополнены, но не могут быть удалены или перезаписаны. Наличие средств,

    гарантирующих выполнение перечисленных условий, позволяет очень сильно

    повысить безопасность файловой системы, сохранив первоначальную целостность

    Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.