- •В.В. Бакланов
- •Защитные механизмы
- •Операционной системы
- •Екатеринбург
- •Оглавление
- •Введение
- •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»
- •Библиографический список
Контрольные вопросы
-
Достаточно ли трех базовых прав доступа к файлам для реализации в ОС Linux требуемой политики безопасности?
-
Какие изъяны вы усматриваете в использованных утилитах регистрации учетных записей пользователей?
-
Может ли пользователь закрыть для себя доступ к собственному файлу? Каким образом? Почему система не соотносит владельца файла ни с его группой, ни со всеми остальными?
-
Существуют ли способы ограничения доступа суперпользователя к некоторым конфиденциальным файлам?
-
Какие дополнительные права администратор может предоставить пользователям с помощью утилиты sudo и регистрационного файла /etc/sudoers?
Лабораторная работа № 5 «Исследование процессов в ос Linux» Подготовка к работе
-
Зарегистрируйтесь в первом текстовом терминале с учетной записью root.
-
Комбинацией клавиш Alt+F2 откройте второй текстовый терминал и зарегистрируйтесь как пользователь user1 с паролем 1234567890. В случае, если такой учетной записи нет, создайте ее по методике лабораторной работы 4.
-
Смонтируйте предоставленный преподавателем носитель к одному из подкаталогов каталога /mnt. Скопируйте с носителя один исполняемый файл с именем signorer в каталог /bin. Размонтируйте носитель и верните его преподавателю.
Наблюдение за файловой системой /proc
-
Все наблюдения за содержимым этой директории следует производить с правами администратора. Поскольку суперпользователь обладает правами на запись практически любого файла в таблице процессов, ему следует быть весьма осторожным в работе с ними.
-
Командой cd /proc перейдите в директорию /proc.
-
С помощью команды ls -l|more выведите на экран содержимое файловой системы /proc. Обратите внимание на то, что в строках листинга отображаются странные каталоги и файлы, имеющие нулевой размер. Большая часть каталогов вместо имен в последнем столбце содержит номера. Для каждого активного процесса в каталоге /proc существует подкаталог, имя которого совпадает с идентификатором этого процесса PID. При создании процесса каталог с его номером автоматически генерируется и удаляется при завершении процесса.
-
Командой ls -li|more выведите также информацию об индексных дескрипторах отображаемых файлов и каталогов. С помощью редактора extview убедитесь, что эти номера либо не существуют, либо принадлежат другим файлам. В дальнейшем для удобства просмотра информации можете использовать Midnight Commander.
-
Обратите внимание на время модификации псевдофайлов. Оно равно времени запуска соответствующей команды.
-
Откройте несколько нумерованных подкаталогов подряд. Обратите внимание на то, что все подкаталоги содержат одни и те же «файлы». С помощью команды ps –ef найдите PID командного интерпретатора, с которым администратор работает из первой консоли, и в дальнейшем наблюдайте за каталогом с этим номером.
-
Прочитайте информацию, относящуюся к одному из процессов (например, cat /proc/103/status). Чем может быть полезна такая информация для администратора и пользователя? Представляет ли эта информация интерес для информационного нарушителя?
-
Открывая файлы для просмотра, вы можете получить необходимую справочную информацию о системе. Именно отсюда ее берут многочисленные утилиты:
-
открывая командой cat файл version, прочитайте версию ядра ОС, которая сейчас запущена, а также сведения об его компиляции. Примерно такую же информацию предоставляет утилита uname –r,
-
командой ls –l kcore можно вывести информацию об объеме ОЗУ в байтах. Не следует читать файл kcore – это эквивалентно попытке чтения всей оперативной памяти. Если в этом чтении есть потребность, следует узнать конкретный адрес размещения интересующих данных и читать их из специального файла /dev/mem с помощью утилиты dd,
-
запустив команду cat cpuinfo, получите информацию о центральном процессоре (или процессорах),
-
открывая для чтения файл mounts, можно получить динамическую информацию о смонтированных устройствах. Сравните ее с содержимым каталога /etc/mtab,
-
файл devices содержит список старших номеров зафиксированных системой символьных и блочных устройств,
-
файл meminfo хранит сведения об использовании системной памяти. Получите аналогичную информацию с помощью команды free.
-
Зайдите в каталог, номер которого соответствует PID командного интерпретатора, который в данный момент обслуживает вашу консоль. Прочтите значения установленных переменных окружения оболочки из псевдофайла environ. Командой
HOME=$HOME:/tmp
временно измените свой домашний каталог. Пронаблюдайте соответствующие изменения в файле environ. Проверьте изменение переменной окружения командой echo $HOME. Введите эту команду еще раз. Какие изменения произошли?
Если сброс переменной при ее чтении не происходит, посмотрите, как она изменится после завершения процесса. Для оболочки – это команда exit и повторная регистрация в этой же консоли (проверьте, как меняется PID оболочки).