Файл: Образовательное учреждение высшего образования братский государственный университет.docx
Добавлен: 25.10.2023
Просмотров: 53
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Корпоративный сервер является частью общей IT инфраструктуры организации, такой же частью, как и вычислительная сеть организации. Именно ЛВС предприятия осуществляет передачу информации внутри организации.
В следующем разделе более подробно описывается для чего, и как обеспечить надежность доступа.
-
ПРАВА ДОСТУПА К ФАЙЛАМ И ПАПКАМ
Файлы представляют собой абстрактные объекты. Их задача – хранить информацию, скрывая от пользователя детали работы с устройствами. Когда процесс создаёт файл, он даёт ему имя. После завершения процесса файл продолжает существовать и через своё имя может быть доступен другим процессам.
Файлы идентифицируются именами. Пользователи дают файлам символьные имена, при этом учитываются ограничения ОС как на используемые символы, так и на длину имени.
Файлы бывают разных типов: обычные файлы, специальные файлы, файлы-каталоги.
Обычные файлы в свою очередь подразделяются на текстовые и двоичные. Текстовые файлы состоят из строк символов, представленных в ASCII-коде.
Специальные файлы - это файлы, ассоциированные с устройствами ввода-вывода, которые позволяют пользователю выполнять операции ввода-вывода, используя обычные команды записи в файл или чтения из файла.
Каталог - это, с одной стороны, группа файлов, объединенных пользователем исходя из некоторых соображений, а с другой стороны - это файл, содержащий системную информацию о группе файлов, его составляющих.
Права доступа определяют, кто может получить доступ для чтения, записи или изменения файлов и папок на сервере.
Если у файлов на сервере не установлены соответствующие права, то злоумышленник может получить доступ к файлам и сайту.
В этой статье вы узнаете о правах доступа, и как их использовать для увеличения безопасности сайта.
Установка достаточных прав не поможет спастись от всех атак, но сделает сайт гораздо более защищенным. Используйте этот способ защиты сайта вместе с другими способами.
3.1 Категории прав доступа
Права доступа состоят из двух категорий — Действия и Группы пользователей.
Действия:
-
Чтение — разрешен доступ к файлу только для его просмотра, -
Запись — разрешено изменение файла, -
Исполнение — разрешен доступ к файлу для запуска программ или скриптов, записанных в этом файле.
Группы пользователей:
-
Пользователь — владелец сайта, -
Группа — другие пользователи сайта, у которых есть доступ к файлам, которые выбрал Пользователь. -
Мир — любой другой пользователь, у которого есть доступ к Интернету.
Права доступа состоят из 3-х цифр:
-
Первая цифра — доступ Пользователя к действиям над файлом, -
Вторая цифра — доступ Группы к действиям с файлом, -
Третья цифра — доступ Мира к файлу.
Каждой цифре соответствует действие или несколько действий:
-
0 — нет доступа, -
1 — исполнение, -
2 — запись, -
3 — запись и исполнение, -
4 — чтение, -
5 — чтение и исполнение, -
6 — чтение и запись, -
7 — чтение, запись и исполнение.
Например, право доступа 644 означает, что у Пользователя есть право читать и записывать в файл информацию, у Группы есть право просматривать файл, и у Мира есть право просматривать файл.
-
Определение прав доступа к файлу
Определить права доступа к файлу - значит определить для каждого пользователя набор операций, которые он может применить к данному файлу.
В разных файловых системах может быть определен свой список дифференцируемых операций доступа. Этот список может включать следующие операции: создание файла, уничтожение файла, открытие файла, закрытие файла, чтение файла, запись в файл, дополнение файла, поиск в файле, получение атрибутов файла, установление новых значений атрибутов, переименование, выполнение файла, чтение каталог.
В самом общем случае права доступа могут быть описаны матрицей прав доступа, в которой столбцы соответствуют всем файлам системы, строки - всем пользователям, а на пересечении строк и столбцов указываются разрешенные операции.
В некоторых системах пользователи могут быть разделены на отдельные категории. Для всех пользователей одной категории определяются единые права доступа. Например, в системе UNIX все пользователи подразделяются на три категории: владельца файла, членов его группы и всех остальных.
Различают два основных подхода к определению прав доступа:
-
избирательный доступ, когда для каждого файла и каждого пользователя сам владелец может определить допустимые операции; -
мандатный подход, когда система наделяет пользователя определенными правами по отношению к каждому разделяемому ресурсу (в данном случае файлу) в зависимости от того, к какой группе пользователь отнесен.
Функционирование любой файловой системы можно представить многоуровневой моделью, в которой каждый уровень предоставляет некоторый интерфейс вышележащему уровню, а сам, в свою очередь, для выполнения своей работы использует интерфейс нижележащего уровня.
Задачей символьного уровня является определение по символьному имени файла его уникального имени. В файловых системах, в которых каждый файл может иметь только одно символьное имя, этот уровень отсутствует, так как символьное имя, присвоенное файлу пользователем, является одновременно уникальным и может быть использовано операционной системой. В других файловых системах, в которых один и тот же файл может иметь несколько символьных имен, на данном уровне просматривается цепочка каталогов для определения уникального имени файла.
На базовом уровне по уникальному имени файла определяются его характеристики: права доступа, адрес, размер и другие. При открытии файла его характеристики перемещаются с диска в оперативную память, чтобы уменьшить среднее время доступа к файлу.
Проверка прав доступа к файлу. Для этого сравниваются полномочия пользователя или процесса, выдавших запрос, со списком разрешенных видов доступа к данному файлу. Если запрашиваемый вид доступа разрешен, то выполнение запроса продолжается, если нет, то выдается сообщение о нарушении прав доступа.
На логическом уровне определяются координаты запрашиваемой логической записи в файле, то есть требуется определить, на каком расстоянии (в байтах) от начала файла находится требуемая логическая запись.
На физическом уровне файловая система определяет номер физического блока, который содержит требуемую логическую запись, и смещение логической записи в физическом блоке.
По сравнению с доступом к памяти, традиционный доступ к файлам выглядит запутанным и неудобным.
Отображение файлов лучше всего работает в системе, которая поддерживает сегментацию. В такой системе каждый файл может быть отображен в свой собственный сегмент, так что k-ый байт в файле является k-ым байтом сегмента.
Проблема проявляется (потенциально), если один процесс отображает файл, а другой процесс открывает его для обычного файлового доступа. Если первый процесс изменяет страницу, то это изменение не будет отражено в файле на диске до тех пор, пока страница не будет вытеснена на диск.
Вторая проблема состоит в том, что файл может быть больше, чем сегмент, и даже больше, чем все виртуальное адресное пространство. Единственный способ ее решения состоит в реализации вызова MAP таким образом, чтобы он мог отображать не весь файл, а его часть.
Разработчики новых операционных систем стремятся обеспечить пользователя возможностью работать сразу с несколькими файловыми системами.
Новая файловая система имеет многоуровневую структуру, на верхнем уровне которой располагается так называемый переключатель файловых систем.
Он обеспечивает интерфейс между запросами приложения и конкретной файловой системой, к которой обращается это приложение. Переключатель файловых систем преобразует запросы в формат, воспринимаемый следующим уровнем - уровнем файловых систем.
Каждый компонент уровня файловых систем выполнен в виде драйвера соответствующей файловой системы и поддерживает определенную организацию файловой системы.
Для выполнения своих функций драйверы файловых систем обращаются к подсистеме ввода-вывода, образующей следующий слой файловой системы новой архитектуры.
Подсистема ввода вывода - это составная часть файловой системы, которая отвечает за загрузку, инициализацию и управление всеми модулями низших уровней файловой системы.
-
НАСТРОЙКА ПРАВ ДОСТУПА
Права доступа — это установленные разрешения для определенных групп пользователей на запуск, чтение, изменение файлов и папок.
Права доступа всегда необходимо назначать и разграничивать – это крайне важный момент обеспечения безопасности вашей Linux-системы. В случае, когда хакеру удастся получить доступ к одному из ваших пользователей, грамотно настроенные права доступа к файлам и каталогам не дадут ему возможности сделать много неприятностей. Иными словами, настройка прав доступа даст вам возможность максимально ограничить ваши данные от попадания в чужие руки.
4.1 Отображение информации
Перед тем, как перейти к самому процессу изменения прав, нужно понять, как смотреть уже имеющиеся права у файлов и каталогов. Делать это можно при помощи команды ls и ключа –l.
# ls –l
После ввода этой команды вы увидите содержимое текущего каталога, а также информацию о владельце и правах доступа.
Пример отобразившейся информации:
total 32
drwxr-xr-- 2 root root 4096 May 7 2016 bin
drwxr-xr-- 2 root root 4096 May 7 2016 etc
drwxr-xr-- 2 root root 4096 Aug 11 2016 games
drwxr-xr-- 2 user1 users May 5 12:00 Images
drwxr-xr-- 2 root root 4096 Mar 23 2016 sbin
-rw-r–-r-- 1 root root May 6 20:28 file1.txt
-rw-r–-r-- 1 root root May 6 09:58 kdm.log
Итак, что означают эти строки.
Первая буква в выводе обозначает тип файла. Самые популярные обозначения, которые вы будете встречать чаще всего, это:
-
- — обычный файл; -
d – каталог.
Помимо них есть и другие обозначения:
-
b — файл блочного устройства; -
c — файл символьного устройства; -
s — доменное гнездо (socket); -
p — именованный канал (pipe); -
l — символическая ссылка (link).
Три следующие буквы, которые идут после первой, означают те права доступа, которые имеет пользователь-владелец этого файла или каталога.
Расшифровываются они следующим образом:
-
r – read – право на чтение; -
w – write – право на запись (изменение, в том числе и удаление); -
x – execute – право на выполнение этого файла (если речь о каталоге, то просмотр оглавления и поиск в нем); -
- (прочерк) вместо одной из букв говорит о том, что соответствующего права у вас нет.
Поэтому по записи
-rw-r–-r-- 1 root root May 6 20:28 file1.txt
можно сказать о том, что это обычный файл, владельцем которого является пользователь root, и он может читать и изменять этот файл.
Следующие три буквы, которые идут после определения прав для владельца файла или каталога, означают права доступа для группы, которая владеет этим файлом.
В рассматриваемом нами примере выше у группы root будут права только на чтение файла.
Наконец, последние три буквы – это права доступа для всех остальных пользователей и групп, в том числе для абсолютно посторонних людей (если доступ в каталоги и файлы открыт на других ресурсах).
4.2 Изменение прав доступа
Для назначения и изменения прав доступа используется команда chmod. Она вводится в командную строку по следующей логике:
chmod кто=права файл/каталог
Вместо «кто» нужно подставить обозначение того, для кого будет назначены права доступа. Существуют следующие обозначения:
-
u – user – владелец файла; -
g – group – группа, которой принадлежит файл; -
o – other – остальные пользователи; -
a – all – все (вместо сочетания ugo).
Далее вместо «права» нужно ввести обозначение права, которое будет дано этому пользователю или группе.
Вместо «файл/каталог» нужно написать в команде название файла или каталога, права к которому нужно изменить.
Пример
Допустим, необходимо чтобы файл logs все сторонние (остальные) пользователи могли только читать. Для этого нужно ввести вот такую команду:
chmod o=r logs
Даже если до этого у пользователей было больше прав (например, они могли еще и изменять файл), то теперь у них останется только право на чтение: