- •В.В. Бакланов
- •Защитные механизмы
- •Операционной системы
- •Екатеринбург
- •Оглавление
- •Введение
- •1. Пользователи и их права
- •Учетные записи пользователей и работа с ними
- •Video::18:
- •Ivanov:X:1002:101::/home/ivanov:/bin/bash
- •1.2. Процедура регистрации и ее безопасность
- •VI /etc/passwd
- •Initrd /boot/initrd.Img–2.6.18–5–686
- •Права доступа к файлам
- •Комбинированные права доступа
- •1.5. Решение практических задач на разграничение доступа
- •Использование механизма sudo
- •2. Безопасное управление процессами
- •2.1. Общие сведения о процессах
- •Virtual memory (kbytes, -V) unlimited
- •2.2. Средства наблюдения за процессами
- •2.3. Переменные окружения
- •2.4. Способы автоматического запуска и остановки программ
- •Id:3:initdefault:
- •Id:3:initdefault:
- •2.5. Периодически запускаемые процессы
- •2.6. Запуск и остановка программ в интерактивном и фоновом режимах
- •2.7. Средства взаимодействия между процессами
- •2.8. Перенаправление ввода/вывода
- •2.9. Файловая система /proc как «зеркало» процессов
- •2.10. Терминальный режим и консольные атаки
- •16:10:12 Up 15 min, 4 users, load average: 0,00, 0,00, 0,01
- •Ivanov tty2 - 16:07 3:08 0.01s 0.01s -sh
- •Ivanov tty2 2008-11-05 16:07
- •2.11. Сокрытие процессов
- •2.12. Аудит событий и его безопасность
- •3. Работа с объектами файловой системы
- •3.1. Действия над обычными файлами
- •3.2. Работа со специальными файлами устройств
- •255 Heads, 63 sectors/track, 19457 cylinders, total 312581808 sectors
- •255 Heads, 63 sectors/track, 91201 cylinders, total 1465149168 sectors
- •255 Heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
- •16 Heads, 32 sectors/track, 988 cylinders, total 505856 sectors
- •3.3. Монтирование файловых систем
- •3.4. Копирование и запись данных
- •2,0,0 200) 'Ata ' 'wdc wd3200bevt-2' '11.0' Disk
- •1000,0,0 100000) 'Hl-dt-st' 'dvdram gma-4082n' 'pt06' Removable cd-rom
- •3.5. Использование «жестких» и символических ссылок
- •4. Безопасность файловых систем ext*fs
- •4.1. Архитектура файловых систем ext*fs
- •Inode count: 438048
- •Inodes per group: 8112
- •Inode blocks per group: 507
- •Inode: 131329 (0x00020101)
- •Indirect block:
- •131329 Drwxr-xr-X 2 root root 4096 Мар 18 17:42
- •Inode: 527744 (0x00080d80)
- •Indirect block:
- •0X024f9040 73 79 6e 63 0a 00 00 00 : 00 00 00 00 00 00 00 00 sync............
- •4.2. Временные отметки файлов
- •4.3. Алгоритмы логического удаления и восстановления файлов
- •Сетевые возможности операционных систем linux
- •5.1. Контроль и настройка сетевых интерфейсов
- •Inet addr:192.168.0.4 Bcast:192.168.0.255 Mask:255.255.255.0
- •Interrupt:5 Base address:0x4000
- •Inet addr:127.0.0.1 Mask:255.0.0.0
- •Ifconfig eth0 -arp
- •Inet addr:192.168.0.4 Bcast:192.168.0.255 Mask:255.255.255.0
- •Interrupt:5 Base address:0x4000
- •Ifconfig eth0 promisc -arp
- •Iwconfig ath0 mode adhoc channel 1 essid “abcd”
- •5.2. Разведка сети
- •5.3. Перехват и анализ сетевого трафика
- •Лабораторный практикум
- •Общие требования
- •Памятка обучаемым
- •Выполнение работы
- •Лабораторная работа № 2 «Исследование архитектуры файловых систем ext*fs»
- •Контрольные вопросы
- •Контрольные вопросы
- •Лабораторная работа № 4 «Реализация политики разграничения доступа средствами ос Linux»
- •Временная нейтрализация парольной защиты
- •Контрольные вопросы
- •Лабораторная работа № 5 «Исследование процессов в ос Linux» Подготовка к работе
- •Наблюдение за файловой системой /proc
- •Просмотр и анализ информации о процессах
- •Управление процессами
- •Работа с консолями
- •Работа с каналами
- •Исследование опасных команд
- •Контрольные вопросы
- •ЛаборАторная работа № 6 «Исследование сетевых возможностей ос Linux»
- •Ifconfig eth0 –arp
- •Контрольные вопросы
- •Лабораторная работа № 7 «Исследование беспроводной сети WiFi под управлением ос Linux»
- •Interrupt:19
- •Inet addr:127.0.0.1 Mask:255.0.0.0
- •Iwconfig ath0 channel 1 essid "abcd"
- •Iwlist ath1 scan
- •Iwconfig ath0 key off
- •Iwconfig ath0 key 0123-4567-89ab-cdef
- •Контрольные вопросы
- •Лабораторная работа № 8 «Наблюдение и аудит в ос Linux»
- •Библиографический список
1. Пользователи и их права
Компьютерные системы предназначены для обслуживания людей. Человек, реально управляющий компьютером либо считающий себя таковым, называется его пользователем. Различие между обычными пользователями, администраторами и программистами заключается не только в решаемых задачах, но и в степени их полномочий и компетентности. Так, администратор компьютерной системы одновременно является и пользователем системы защиты, и программистом командных сценариев. Большинство программистов, по сути дела, давно превратились в пользователей интегрированной среды программирования.
Плохо, если управление ответственными вычислительными процессами доверяется некомпетентным пользователям, но гораздо хуже передать его чужому человеку, который может оказаться злоумышленником. Решить библейскую задачу отделения «агнцев от козлищ» должна встроенная в ОС система управления доступом. Защищенная операционная система обслуживает только своих пользователей, которых она должна уметь правильно распознавать.
Человеку свойственно иметь имя. Впрочем, операционную систему не интересуют подлинные имена и фамилии людей, ей необходимо знать лишь учетные имена, по которым каждого из пользователей можно идентифицировать, т. е. отличать от других. Пользователь в системе имеет два идентификатора: символьный и числовой. Символьный идентификатор, именуемый учетным именем пользователя, используется в качестве идентификатора для входа в систему. Он предназначен собственно для самого пользователя и не должен начинаться с цифры, содержать заглавных и русских букв, а также символов типа * # % ^. Когда пользователь докажет системе, что он действительно тот, за кого себя выдает, система теряет интерес и к его учетному имени. После успешной аутентификации система помнит пользователя за каждым терминалом только по номеру и помечает этим номером каждый запущенный пользовательский процесс и созданный файл.
Система при регистрации присваивает каждому пользователю уникальный числовой идентификатор (UID – User ID). Этих номеров намного больше, чем требуется для подсчета пользователей системы. Первоначально для их нумерации в метаданных файлов было зарезервировано два байта, что было достаточно для создания 216 = 65536 учетных записей. Впоследствии это число почему-то сочли недостаточным, и соответствующие поля индексного дескриптора в совокупности были увеличены до 4 байтов, что позволяет довести число пользователей одной операционной системы до невообразимой величины, равной 4294967296 (свыше 4 млрд. чел.).
Пользователь с UID = 0 по умолчанию имеет учетное имя root и является для системы администратором (суперпользователем). Система не позволяет регистрировать более одного суперпользователя, но это можно сделать «в обход», путем непосредственного редактирования файла с учетными записями. Подобным образом, как будет показано ниже, можно создать произвольное число учетных записей с нулевым идентификатором, и каждый из таких зарегистрированных пользователей будет обладать правами администратора.
Как говорят, root – это не право, а возможность не считаться ни с какими правами. Команды, которые операционная система откажется выполнять от имени суперпользователя, можно в буквальном смысле сосчитать на пальцах одной руки. В этом усматривается определенная угроза компьютерной безопасности, связанная с человеческим фактором. Достаточно много ответственных действий в системе можно выполнить только от имени администратора. Но привычка постоянно работать в системе с полными правами является опасной как для администратора, так и для защищаемой им компьютерной информации. Администратор тоже человек, и ему свойственно ошибаться. Иногда незначительная ошибка при вводе команды может привести к фатальным последствиям, поскольку Linux не отличается нудностью и без необходимости не спрашивает пользователя: «Вы уверены в том, что хотите удалить этот каталог?». Можно привести такой пример:
rm –rf /home/john/
Этой командой администратор хотел удалить всего один пользовательский каталог
rm –rf /home /john/ ,
но в командной строке был ошибочно введен лишний пробел, в результате чего уничтожается вся «домашняя» директория с главной ценностью автоматизированной информационной системы – файлами пользователей. В прежних версиях ОС из-за подобной невнимательности можно было удалить целиком корневой каталог.
Обычно первая сотня (или несколько сотен) номеров резервируется системой для так называемых псевдопользователей – неперсонифицированных регистрационных имен: daemon, bin, sys, nobody и др., от имени которых выступают компоненты операционной системы. Некоторые из псевдопользователей обладают опасными привилегиями, и, чтобы обычные пользователи не могли их употребить во зло, учетные записи псевдопользователей не содержат паролей и не предусматривают сеанса с командным интерпретатором.
Программы, включенные в состав операционной системы для ее администрирования, являются одновременно и наиболее опасными. Для администраторов, которым часто приходится исполнять рутинные действия над большим количеством файлов, процессов и учетных записей, программисты предусмотрели атрибуты, которые избавляют администратора от надоедливых напоминаний операционной системы о потенциальной опасности команды. Это обстоятельство дополнительно повышает цену возможной ошибки администратора.
Права всемогущего суперпользователя традиционно являются объектом противоправных посягательств. Информационный нарушитель может спровоцировать администратора на неосторожное действие. Можно специально подготовить опасную программу и создать условия, чтобы ее запустил именно администратор. Постоянное присутствие суперпользователя в системе не является необходимым, и, если это возможно, администратор должен работать в системе с правами обычного пользователя, приобретая права суперпользователя только на время выполнения необходимых операций. Администратор, работающий в системе под учетной записью суперпользователя, может трансформироваться в любого зарегистрированного пользователя, но при определенных обстоятельствах наличие пользователей-двойников может оказаться нежелательным. Поэтому администратор должен создать и использовать собственную учетную запись с правами обычного пользователя.