- •В.В. Бакланов
- •Защитные механизмы
- •Операционной системы
- •Екатеринбург
- •Оглавление
- •Введение
- •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»
- •Библиографический список
Работа с каналами
-
Создайте неименованный канал (конвейер). Для этого можно использовать команду
od /dev/zero | tr ‘\0’ ’1’| more
Перейдя в другую консоль, с помощью команды top убедитесь, что были созданы 3 процесса: программы восьмеричного дампа od, программы перекодировки и транслитерации tr, заменяющей нули на единицы, и программы поэкранного вывода more. Все процессы запускаются и действуют одновременно. Различаются ли приорететы запущенных процессов?
-
Остановите запущенный процесс комбинацией клавиш <Ctrl-C>.
-
Изучите порядок создания и функционирования именованного канала. Для этого:
-
правами user1 создайте в каталоге хранения временных файлов именованный канал mkfifo /tmp/fifo,
-
убедитесь в его создании и наличии прав на чтение из канала и запись в него ls -l /tmp/fifo,
-
переключитесь во вторую консоль и введите команду чтения из канала со стандартного вывода (экрана) cat < /tmp/fifo,
-
переключитесь в первую консоль и введите команду записи в канал со стандартного ввода (клавиатуры) cat > /tmp/fifo,
-
наберите в первой консоли произвольный текст и нажмите <Enter> (буферизованный ввод),
-
переключитесь во вторую консоль и прочитайте введенный текст. Повторите процедуру несколько раз,
-
из первой консоли (где производится ввод в канал) комбинацией клавиш <Ctrl+D> введите команду на закрытие канала FIFO,
-
удалите именованный канал командой rm /tmp/fifo .
Исследование опасных команд
-
Правами пользователя создайте в каталоге /tmp файл неограниченного размера, замаскированный под имя временного файла:
yes 12345 > /tmp/file2AF5DS & ,
где после префикса file в имени файла должна стоять шестибайтная случайная последовательность символов. Дождитесь сообщения системы о нехватке памяти и с помощью команды ls -l выведите информацию о размере созданного файла. С помощью утилиты cat посмотрите содержание созданного файла и убедитесь, что он заполнен строками из цифр 12345.
-
С помощью утилиты df оцените расход дискового пространства.
-
Перейдите в консоль другого пользователя и командой
echo privet! > /tmp/a
попробуйте создать небольшой текстовый файл. Чем завершилась попытка?
-
Попытайтесь создать такой же файл /tmp/a с правами администратора. Сделайте выводы об опасности подобных атак. Командой rm удалите созданный файл /tmp/file2AF5DS.
-
С помощью команды ulimit –f 100 из консоли пользователя установите лимит на размер создаваемых файлов (в блоках).
-
Повторно правами пользователя попытайтесь создать в каталоге /tmp файл неограниченного размера:
yes 12345 > /tmp/file2 &
-
Дождитесь сообщения о создании файла и командой ls –l /tmp проверьте его объем. Ограничения на иные системные ресурсы устанавливаются аналогично.
-
Произведите атаку на истощение доступного ресурса индексных дескрипторов. Для этого от имени пользователя создайте в каталоге /tmp командный файл abcd со следующим содержанием:
cat >abcd
#! /bin/bash
while :
do
mkdir 1
cd 1
touch 2
done
Ctrl+d
-
Командой chmod присвойте владельцу указанного файла права на чтение и исполнение. Запустите файл из командной строки. Перейдите в каталог администратора (или другого пользователя) и ожидайте результат. Объясните его. Удалите созданный командный файл.
-
Произведите атаку путем запуска большого числа процессов. Для этого от имени пользователя создайте в каталоге /tmp командный файл abcd следующего содержания:
cat >abcd
#! /bin/bash
export RUN=$((RUN+1))
echo $RUN…
$0
Ctrl+d
Командой chmod присвойте владельцу указанного файла права на чтение и исполнение.
-
Перейдите в консоль администратора и введите команду ps -ef (но пока не запускайте ее!).
-
Вернитесь в консоль пользователя и запустите созданный командный файл. Вновь перейдите в консоль администратора. Запустите команду ps -ef и наблюдайте пользовательские процессы. Попробуйте остановить этот процесс правами администратора.
-
Система должна остановить этот процесс и вывести в консоль пользователя сообщение о большом числе созданных файлов.
-
Сделайте выводы о степени опасности перечисленных атак.