BSDA в вопросах и ответах

Евгений Миньковский

Ревизия 180, сборка 20 июня 2008 года.

Аннотация

Данная книга задумана как методическое пособие для подготовки к экзамену BSDA. Книга, тем не менее, может быть полезна не только тем кто собирается сдавать этот экзамен, но и просто широкому кругу IT-специалистов, желающих систематизировать свои знания об операционных системах семейства BSD (NetBSD, OpenBSD, FreeBSD, DragonFly BSD).

В формате HTML книга доступна в многостраничном варианте (данный вариант) и в виде одной большой страницы.

Собственно вопросы экзамена BSDA можно посмотреть отдельно.

[Замечание]Замечание

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

«Избранный» раздел: автор удивлён, что данный раздел получился так хорошо;
Раздел в целом закончен, хотя возможно, будет дорабатываться в будущем;
Раздел находится в работе;
К написанию данного раздела автор не приступал.

Впрочем, в Москве даже на улицах светофоры не всегда горят правильно, что уж говорить об этом труде...


Содержание

Мычание
1. Легенда (условные обозначения)
2. Экзаменационные блоки
3. Источники информации
3.1. Официальные источники
3.1.1. Англоязычные
3.1.1.1. Сайты проектов
3.1.1.2. Страницы man on-line
3.1.1.3. Руководства, handbook, FAQ и прочее
3.1.2. Русскоязычные
3.2. Неофициальные источники
3.2.1. Англоязычные
3.2.2. Русскоязычные
3.3. Специализированные поисковые машины
[-]1. Установка и обновление операционной системы и програмного обеспечения
[-]1.1. Разбираться в программах установки каждой операционной системы
[-]1.2. Разбираться какие команды доступны для upgrade'а операционной системы
[-]1.3. Понимание разницы между заранее скомпилированными бинарными дистрибутивами и компиляцией из исходников
[-]1.4. Понимание когда выгодно инсталлировать прекомпилированные бинарники и как это делать
[-]1.5. Разбираться в методах настройки и компилирования бинарников
[-]1.6. Определять, какое програмное обеспечение инсталлировано в системе
[-]1.7. Определять, какое програмное обеспечение нуждается в обновлении
[-]1.8. Обновлять установленное програмное обеспечение
[-]1.9. Определять, какое програмное обеспечение имеет проблемы с безопасностью
[-]1.10. Следовать инструкциям секьюрити-консультантов и накладывать security-patch
[*]2. Безопасность в операционной системе
[*]2.1. Определить уровень безопасности системы
[*]2.1.1. Установка уровня безопасности системы
[*]2.1.2. Допустимые значения переменной securelevel
[*]2.1.3. Ссылки
[-]2.2. Конфигурирование сервера SSH в соответствии с требованиями
[-]2.3. Конфигурировние SSH сервера для аутентификации по ключу
[-]2.4. Предохранение ключа при обновлении системы
[-]2.5. Разбираться в альтернативных механизмах аутентификации
[-]2.6. Разбираться в альтернативных методах авторизации
[-]2.7. Разбираться в основных рекомендованных методах доступа [до хоста]
[*]2.8. Разбираться в брандмауэрах BSD и синтаксисе конфигурационных файлов
[-]2.8.1. Общие принципы работы с брандмауэрами
[-]2.8.2. Сравнение брандмауэров BSD
[-]2.9. Разбираться в механизмах использования шифровальных устройств BSD
[-]2.10. Разбираться в методах проверки аутентичности бинарного файла
[*]2.11. Разбираться в способах запуска сервиса в изолированной среде (restraining service)
[+]2.11.1. chroot(8)
[+]2.11.2. jail(8)
[+]2.11.2.1. Краткое HOWTO, как запустить FreeBSD в jail(8)
[+]2.11.2.1.1. Создание дерева для «песочницы»
[+]2.11.2.1.2. Настройка материнской системы
[+]2.11.2.1.3. Конфигурирование jail(8)
[+]2.11.2.1.4. Запуск jail(8)
[+]2.11.2.1.5. Управление jail(8)
[+]2.11.2.2. Ограничения jail(8)
[-]2.11.3. systrace(1)
[-]2.11.4. Xen
[+]2.12. Смена алгоритма шифрования используемого для защиты базы с паролями
[+]2.12.1. Устройство базы паролей
[+]2.12.2. /etc/login.conf(5)
[+]2.12.3. /etc/auth.conf(5)
[+]2.12.4. /etc/passwd.conf(5)
[+]2.12.5. adduser(8)
[+]2.12.6. Итого: Blowfish HOWTO
[-]2.13. Смена приветствия системы
[-]2.14. Защита аутентификационных данных
[-]3. Файлы, файловые системы и диски
[-]3.1. Монтирование и размонтирование файловых систем
[-]3.2. Конфигурирование NFS
[-]3.3. Определение какие файловые системы смонтированы и какие будут смонтированы при загрузке
[-]3.4. Определять ёмкость диска и какие файлы занимают больше места
[-]3.5. Создание и просмотр символических и жёстких ссылок
[-]3.6. Просмотр и изменение ACL
[-]3.7. Просмотр и изменение пермиссий с использованием как символьных, так и восьмеричных мод
[-]3.8. Изменение владельца файла и группы
[-]3.9. Резервное копирование и восстановление файлов и директорий на локальный диск или ленту
[-]3.10. Резервное копирование и восстановление файловой системы
[-]3.11. Знание структуры каталогов системы
[-]3.12. Ручной запуск программы проверки файловой системы и средств её восстановления
[-]3.13. Определение и изменение флагов файлов
[-]3.14. Слежение за состоянием виртуальной памяти системы
[*]4. Пользователи и управление учётными записями
[*]4.1. Создание, изменение и удаление учётных записей
[*]4.1.1. Введение
[*]4.1.2. Добавление пользователя
[*]4.1.3. Изменение параметров пользовательской учётной записи
[*]4.1.4. Удаление учётной записи
[*]4.2. Создание системных учётных записей
[-]4.3. Отключение или включение учётной записи (lock и unlock)
[-]4.4. Идентификация и членство в группах
[-]4.5. Определение кто сейчас присутствует в системе или последнего времени входа в систему
[-]4.5.1. finger(1)
[-]4.6. Включение слежения за учётными записями и просмотр статистики
[-]4.7. Изменение пользовательской оболочки
[-]4.8. Контролировать какие файлы будут копироваться в новую пользовательскую директорию при создании учётной записи
[-]4.9. Смена пароля
[-]5. Основы системного администрирования
[-]5.1. Определение какой процесс расходует основную часть ресурсов ЦПУ
[-]5.2. Определять активные процессы и посылать им сигналы
[-]5.3. Использование скриптов rc(8) для определения запущенных сервисов, их запуск, остановка и перезапуск
[*]5.4. Определение установленного оборудования и его конфигурирование
[+]5.4.1. Утилита dmesg(8)
[-]5.5. Определение какие модули ядра загружены, их загрузка и выгрузка
[-]5.6. Изменение на лету переменных ядра
[-]5.7. Изучение состояния програмного RAID'а (mirror or stripe)
[-]5.8. Определение какой MTA используется системой
[-]5.9. Конфигурирование системы ведения системных журналов
[-]5.10. Просмотр журналов для разрешения проблем и слежения за поведением системы
[-]5.11. Понимание основных проблем с принтером
[-]5.12. Создание или изменение почтовых псевдонимов в Sendmail и Postfix
[-]5.13. Остановка, перезагрузка или перевод системы в однопользовательский режим
[-]5.14. Отличие жёстких ограничений от мягких и изменение существующих системных ограничений
[-]5.15. Знание утилит BSD для регулировки трафика и контроля за полосой пропускания
[-]5.16. Знание распространённых конфигурационных системных файлов и, возможно, сторонних конфигурационных файлов различных сервисов
[-]5.17. Конфигурирование сервисов для автоматического старта при запуске системы
[-]5.17.1. Система инициализации BSD
[-]5.17.2. Суперсервер inetd(8)
[-]5.18. Конфигурирование скриптов, нужных для различных задач по обслуживанию системы, для периодического запуска
[-]5.19. Просмотр очереди Sendmail'а или Postfix'а
[-]5.20. Определение когда последний раз была запущена система и какова её загруженность
[-]5.21. Слежение за операциями ввода/вывода на диске
[-]5.22. Работа с занятыми устройствами
[-]5.23. Определение информации характеризующей операционную систему
[-]5.24. Понимание преимуществ использования лицензии BSD
[*]6. Сетевое администрирование
[+]6.1. Определение существующих установок TCP/IP
[+]6.1.1. ifconfig(8) — настройки сетевых интерфейсов
[+]6.1.2. netstat(1)
[+]6.1.2.1. Таблица маршрутизации
[+]6.1.2.2. Статистика
[+]6.1.2.3. Работающие интернет сервисы и открытые сокеты
[+]6.1.2.3.1. Открытие TCP соединения (тройное рукопожатие)
[+]6.1.2.3.2. Закрытие TCP соединения
[+]6.1.3. route(8)
[+]6.1.4. /etc/resolv.conf(5)
[+]6.1.5. hostname(1)
[+]6.2. Установка параметров TCP/IP
[+]6.2.1. hostname(1) — задание имени машины
[+]6.2.2. ifconfig(8) — настройки сетевых интерфейсов
[+]6.2.2.1. Изменение настроек физического уровня
[+]6.2.2.2. Изменение настроек канального уровня
[+]6.2.2.2.1. Изменение MAC-адреса:
[+]6.2.2.2.2. Смена флагов канального уровня
[+]6.2.2.3. Изменение настроек сетевого уровня
[+]6.2.2.3.1. MTU
[+]6.2.2.3.2. IP, маска подсети, широковещательный адрес
[+]6.2.2.3.3. IPv6
[+]6.2.2.3.4. Другие протоколы сетевого уровня
[+]6.2.3. route(8) — настройка таблицы маршрутизации
[+]6.2.4. resolv.conf(5) — настройка клиента DNS
[+]6.2.5. hosts(5) — локальная база имён
[+]6.2.6. Как сохранить установленные сетевые параметры
[+]6.2.6.1. FreeBSD
[+]6.2.6.2. OpenBSD
[+]6.2.6.3. NetBSD
[+]6.3. Определение какие TCP или UDP порты открыты в системе
[+]6.3.1. fstat(1)
[+]6.3.2. sockstat(1)
[+]6.3.3. lsof(1)
[*]6.3.4. nmap(1)
[*]6.4. Проверка доступности TCP/IP сервиса
[+]6.4.1. ping(8)
[+]6.4.2. traceroute(1)
[*]6.4.3. hping(8)
[+]6.4.4. telnet(1), nc(1)
[*]6.5. Запрос к серверу DNS
[*]6.5.1. Теория вопроса
[*]6.5.1.1. Настройка прямой и обратной зон
[+]6.5.1.1.1. named.conf(5)
[*]6.5.1.1.2. Синтаксис файла зоны
[+]6.5.2. host(1)
[+]6.5.3. dig(1)
[+]6.5.4. nslookup(1)
[+]6.6. Определение кто ответственный за зону DNS
[+]6.6.1. Обратное преобразование имён
[+]6.6.2. whois(1)
[+]6.7. Изменение порядка разрешения имён
[+]6.7.1. nsswitch.conf(5)
[+]6.8. Перевод сетевой маски между системами точечно-десятичной, точечно-шестнадцатеричной или CIDR
[+]6.8.1. Что такое маска подсети
[+]6.8.2. Маска подсети в формате CIDR
[+]6.8.3. Перевод десятичных чисел в двоичные
[+]6.9. Собирать информацию используя IP адрес и маску подсети
[+]6.9.1. Определение адреса подсети по маске
[+]6.9.2. Вычисление диапазона адресов IP и широковещательного адреса
[+]6.10. Понимание теории адресации IPV6
[+]6.10.1. Синтаксис IPv6
[+]6.10.1.1. Правила записи адреса
[+]6.10.1.2. Запись префикса
[+]6.10.2. Типы IPv6 адресов
[+]6.10.2.1. Unicast
[+]6.10.2.2. Anycast
[+]6.10.2.3. Multicast
[+]6.10.3. Назначение адреса IPv6
[+]6.10.4. Автоконфигурирование в IPv6
[+]6.10.5. Программы для конфигурирования IPv6 в BSD
[+]6.11. Демонстрация основных навыков работы с утилитой tcpdump(1)
[+]6.11.1. Работа с программой tcpdump(1)
[+]6.11.1.1. Выбор объекта
[+]6.11.1.2. Форматирование вывода
[+]6.11.1.3. Прочее
[+]6.11.1.4. Условия
[+]6.11.1.5. Примеры
[-]6.11.2. Графический сниффер Wireshark/Ethereal/tEhereal
[+]6.11.3. Анализатор tcpdstat
[+]6.11.4. ngrep
[+]6.12. Работа с ARP и кешем найденных соседей
[+]6.12.1. arp(8)
[+]6.12.2. ndp(8)
[+]6.13. Конфигурирование системы для использования NTP
[+]6.13.1. TP (RFC 868) и rdate(8)
[+]6.13.2. NTP
[-]6.14. Просмотр и обновление «арендованных» данных DHCP
[-]6.15. Знание как и когда устанавливать или удалять алиасы сетевого интерфейса
[+]7. Базовые навыки работы в Unix
[+]7.1. Перенаправление вывода и использование tee(1)
[+]7.1.1. Особенности csh(1)
[+]7.2. Определение просмотр и изменение переменных окружения
[+]7.2.1. Просмотр и изменение переменных окружения
[+]7.2.1.1. env(1), printenv(1)
[+]7.2.1.2. sh(1), export
[+]7.2.2. csh(1), set, setenv
[+]7.3. Навыки работы в vi(1)
[+]7.3.1. Normal mode
[+]7.3.2. Insert Mode
[+]7.3.3. Search mode
[+]7.3.4. Command line mode
[+]7.4. Определение является ли файл бинарным, текстовым или содержащим данные
[+]7.5. Поиск файлов и бинарников в системе
[+]7.5.1. whatis(1)
[+]7.5.2. whereis(1), which(1)
[+]7.5.3. locate(1)
[+]7.5.4. find(1)
[+]7.5.5. sh type
[+]7.6. Поиск файла по заданным атрибутам
[+]7.6.1. Условия для поиска командой find(1)
[+]7.6.2. Действия выполняемые командой find(1) с найденными файлами
[+]7.6.3. Связка с командой xargs
[+]7.7. Написание несложных Bourne-скриптов
[+]7.7.1. Магическая строка (shebang)
[+]7.7.2. Почему sh(1)?
[+]7.7.3. Программирование в Bourne Shell
[+]7.7.3.1. Синтаксис
[+]7.7.3.2. Работа с переменными в sh(1)
[+]7.7.3.3. Условные операторы
[+]7.7.3.4. Циклы
[+]7.7.3.4.1. while — цикл с условием
[+]7.7.3.4.2. for — цикл с перебором списка
[+]7.7.3.5. Функции
[+]7.7.3.6. «Модули»
[+]7.7.3.7. Некоторые приёмы используемые при программировании на sh(1)
[+]7.7.3.7.1. Чтение конфигурационных файлов
[+]7.7.3.7.2. Разбор командной строки
[+]7.7.3.7.3. Конструирование скрипта «на лету», раскрытие переменных
[+]7.7.3.7.4. Обработка сигналов
[+]7.7.3.7.5. Объединение вывода нескольких команд в общий конвейер
[+]7.8. Поиск нужной документации
[+]7.8.1. Справочная система man(1)
[+]7.8.2. Гипертекстовая справка info(1)
[+]7.8.3. Прочие источники
[+]7.9. Понимание различий в страницах man
[+]7.10. Проверка контрольной суммы файла
[+]7.10.1. cksum(1)
[+]7.10.2. md5(1)
[+]7.10.3. sha1(1)
[+]7.10.4. openssl(1)
[+]7.10.5. Примеры
[+]7.11. Продемонстрировать знакомство с оболочками используемыми по умолчанию в системе
[+]7.11.1. Предотвращение уничтожения существующих файлов
[+]7.11.2. Некоторые отличия между sh(1) и csh(1)
[+]7.11.3. Модификаторы переменных в csh(1)
[+]7.11.4. Работа с историей команд
[+]7.12. Чтение почты на локальной машине
[+]7.12.1. Работа с mail(1) в интерактивном режиме
[+]7.12.2. Использование mail(1) с командной строки
[+]7.13. Использование контроля за задачами (job control)
[+]7.14. Применение регулярных выражений
[+]7.14.1. Диалекты регулярных выражений
[+]7.14.2. Возможности команды grep(1)
[+]7.14.2.1. Синтаксические опции
[+]7.14.2.2. Опции влияющие на формат выводимой информации
[+]7.14.2.3. Опции влияющие на то, где осуществляется поиск
[+]7.14.2.4. Прочие опции
[+]7.15. Преодоление ограничений на длину командной строки
[-]7.16. Понимание значения термина домен в различных контекстах
[+]7.17. Работа с cron
[+]7.17.1. Системный crontab
[+]7.17.2. Каталоги с периодически выполняемыми заданиями во FreeBSD
[+]7.17.3. Особенности OpenBSD и NetBSD
[+]7.17.4. Пользовательский crontab
[+]A. Список команд и файлов обсуждаемых в книге
[*]B. Некоторые сведения о стеке протоколов TCP/IP
[*]B.1. Классификация сетевых протоколов
[*]B.1.1. Физический уровень OSI
[*]B.1.2. Канальный уровень OSI
[*]B.1.3. Сетевой уровень OSI
[*]B.1.3.1. ARP
[*]B.1.3.2. RARP
[*]B.1.3.3. IP
[*]B.1.3.4. IPv6
[*]B.1.4. Транспортный уровень OSI
[*]B.1.4.1. ICMP
[*]B.1.4.2. UDP
[*]B.1.4.3. TCP
[*]B.1.4.3.1. Структура пакета TCP
[*]B.1.4.3.2. Открытие соединения TCP, тройное рукопожатие
[*]B.1.4.3.3. Закрытие соединения TCP
[*]B.1.4.3.4. Состояние соединения TCP
[*]B.1.5. Уровни приложения, представления и сеансовый
[*]C. Пакетный фильтр OpenBSD — pf(4)
[+]C.1. Введение в работу с пакетным фильтром OpenBSD
[*]C.2. Конфигурационный файл pf.conf(5)
[+]C.2.1. Основы конфигурирования пакетного фильтра
[+]C.2.1.1. Списки
[+]C.2.1.2. Макросы
[+]C.2.1.3. Таблицы
[+]C.2.1.3.1. Манипулирование таблицами с помощью утилиты pfctl(8)
[+]C.2.1.3.2. Адреса
[+]C.2.1.3.3. Соответствие адресам
[+]C.2.1.4. Фильтрация пакетов
[+]C.2.1.4.1. Синтаксис правил
[+]C.2.1.4.2. Политика
[+]C.2.1.4.3. Пропускаем трафик
[+]C.2.1.4.4. Ключевое слово quick
[+]C.2.1.4.5. Отслеживание состояния соединения
[+]C.2.1.4.6. Хранение состояний для UDP
[+]C.2.1.4.7. Опции таблицы состояний
[+]C.2.1.4.8. TCP флаги
[+]C.2.1.4.9. TCP SYN proxy
[+]C.2.1.4.10. Борьба со спуфингом
[+]C.2.1.4.11. Unicast Reverse Path Forwarding
[+]C.2.1.4.12. Пассивное детектирование операционной системы
[+]C.2.1.4.13. Опции IP
[+]C.2.1.4.14. Пример
[+]C.2.1.5. NAT
[+]C.2.1.5.1. Как работает NAT
[+]C.2.1.5.2. NAT и фильтрация
[+]C.2.1.5.3. IP forward, проброс пакетов
[+]C.2.1.5.4. Конфигурирование NAT
[+]C.2.1.5.5. Bidirectional mapping (соответствие 1:1)
[+]C.2.1.5.6. Исключения из трансляции
[+]C.2.1.5.7. Проверка состояния правил NAT
[+]C.2.1.6. Перенаправление пакетов, проброс портов
[+]C.2.1.6.1. Введение
[+]C.2.1.6.2. Перенаправление и фильтрация пакетов
[+]C.2.1.6.3. Вопросы безопасности
[+]C.2.1.6.4. Перенаправление и отражение
[+]C.2.1.7. Приёмы используемые для упрощения файла pf.conf(5)
[+]C.2.1.7.1. Использование Макросов
[+]C.2.1.7.2. Использование списков
[+]C.2.1.7.3. Грамматика пакетного фильтра
[+]C.2.2. Углублённое конфигурирование Пакетного фильтра
[+]C.2.2.1. Опции в пакетном фильтре
[+]C.2.2.2. Нормализация трафика (Scrub)
[+]C.2.2.3. Anchors
[+]C.2.2.3.1. Именованные наборы правил
[+]C.2.2.3.2. Опции якоря
[+]C.2.2.3.3. Управление именованными наборами
[+]C.2.2.4. Очереди, приоритеты (регулировка полосы пропускания)
[+]C.2.2.4.1. Очереди
[+]C.2.2.4.2. Планировщики
[+]C.2.2.4.3. Конфигурирование очереди
[+]C.2.2.4.4. Пример 1: небольшая домашняя сеть
[+]C.2.2.4.5. Пример 2: корпоративная сеть
[+]C.2.2.5. Адресные пулы, балансировка нагрузки
[+]C.2.2.5.1. Адресные пулы NAT
[+]C.2.2.5.2. Балансировка нагрузки входящего трафика
[+]C.2.2.5.3. Балансировка нагрузки исходящего трафика
[+]C.2.2.6. Маркирование пакетов, фильтрация на основе политик
[+]C.2.2.6.1. Присваивание маркера пакетам
[+]C.2.2.6.2. Проверка маркеров
[+]C.2.2.6.3. Фильтрация на основе политик
[+]C.2.2.6.4. Маркирование кадров ethernet (канальный уровень OSI)
[+]C.2.3. Дополнительные разделы
[+]C.2.3.1. Журналирование в пакетном фильтре
[+]C.2.3.1.1. Помещение пакетов в журнал
[+]C.2.3.1.2. Чтение журнала
[+]C.2.3.1.3. Фильтрация журнальных данных
[+]C.2.3.1.4. Журналирование при помощи syslogd(8)
[+]C.2.3.2. Производительность
[+]C.2.3.3. FTP
[+]C.2.3.3.1. Режимы FTP
[+]C.2.3.3.2. FTP клиент за брандмауэром
[+]C.2.3.3.3. FTP сервер защищённый пакетным фильтром запущенным непосредственно на нём
[+]C.2.3.3.4. FTP сервер защищённый внешним пакетным фильтром с запущенным на нём NAT
[+]C.2.3.3.5. Проксирование TFTP
[+]C.2.3.4. Authpf: авторизация в пакетном фильтре
[+]C.2.3.4.1. Конфигурирование authpf(8)
[+]C.2.3.4.2. Создание класса authpf для /etc/login.conf(5)
[+]C.2.3.4.3. Кто зашёл в систему через authpf(8)?
[+]C.2.3.4.4. Пример
[+]C.2.3.5. CARP и pfsync
[+]C.2.3.5.1. Введение в CARP
[+]C.2.3.5.2. Как работает CARP
[+]C.2.3.5.3. Настройка CARP
[+]C.2.3.5.4. Пример CARP
[+]C.2.3.5.5. Введение в pfsync(4)
[+]C.2.3.5.6. Использование с pfsync(4)
[+]C.2.3.5.7. Конфигурирование pfsync
[+]C.2.3.5.8. Пример использования pfsync
[+]C.2.3.5.9. Совместное использование CARP и pfsync для отказоустойчивости
[+]C.2.3.5.10. Замечания по использованию CARP и pfsync
[+]C.2.4. Пример: брандмауэр для дома или небольшого офиса
[+]C.2.4.1. Сценарий
[+]C.2.4.1.1. Сеть
[+]C.2.4.1.2. Задача
[+]C.2.4.1.3. Подготовительные операции
[+]C.2.4.2. Поэтапное описание правил фильтрации
[+]C.2.4.2.1. Макросы
[+]C.2.4.2.2. Опции
[+]C.2.4.2.3. Нормализация трафика
[+]C.2.4.2.4. Трансляция NAT
[+]C.2.4.2.5. Перенаправление
[+]C.2.4.2.6. Фильтрация
[+]C.2.4.3. Полный листинг правил
[*]C.3. Управление пакетным фильтром OpenBSD при помощи утилиты pfctl(8)
[*]C.3.1. Примеры
[*]C.4. Интеграция пакетного фильтра с програмным окружением
[+]C.4.1. Активное реагирование на события на примере борьбы с атаками bruteforce на SSH
[+]C.4.1.1. Способы защиты от bruteforce атак
[+]C.4.1.2. Постановка задачи
[+]C.4.1.3. Сбор данных через syslog
[+]C.4.1.4. Блокировка в пакетном фильтре
[+]C.4.1.5. Обработчик событий
[+]C.4.1.6. Скрипт и его применение
[+]C.5. Программы для удобной работы с пакетным фильтром
[+]C.5.1. pfstat
[+]C.5.2. pftop
[+]C.5.3. ftpsesame
[-]D. Пакетный фильтр NetBSD — ipf(8)
[*]E. Брандмауэр FreeBSD — ipfw(8)
[+]E.1. IPFW HOWTO
[+]E.1.1. Как включить ipfw(4)
[+]E.1.1.1. rc.firewall и открытый брандмауэр
[+]E.1.1.1.1. Загрузка правил
[+]E.1.2. Основы синтаксиса правил ipfw
[+]E.1.2.1. Просмотр текущей конфигурации ipfw
[+]E.1.2.2. Основные команды и действия
[+]E.1.2.3. Указание протоколов
[+]E.1.2.4. Указание адресов источника и назначения пакета
[+]E.1.3. Углублённое изучение синтаксиса правил ipfw
[+]E.1.3.1. Действие unreach
[+]E.1.3.2. Контроль за потоком данных, проверка на каком интерфейсе встретился пакет
[+]E.1.3.3. Фильтрация по типам ICMP и TCP пакетов
[+]E.1.3.3.1. Типы ICMP
[+]E.1.3.3.2. Флаги TCP, правила setup и established
[+]E.1.3.4. Перехват фрагментированных пакетов
[+]E.1.3.5. Фильтрация на основе UID и GID сокетов, которым принадлежит пакет
[+]E.1.4. Журналирование
[+]E.1.4.1. Конфигурирование системы журналирования
[+]E.1.4.1.1. Опции ядра
[+]E.1.4.1.2. Конфигурирование syslogd(8)
[+]E.1.4.1.3. Конфигурирование newsyslog(8) для вращения журнальных файлов
[+]E.1.4.2. Правила ipfw направленные на журналирование
[+]E.1.5. Фильтрация с учётом состояния соединений
[+]E.1.5.1. Основы учёта состояний соединений (stateful inspection)
[+]E.1.5.2. Сохранение информации о соединениях в динамических правилах. Истинная stateful inspection
[+]E.1.5.3. Просмотр динамических правил
[+]E.1.6. Управление трафиком при помощи dummynet(4)
[+]E.1.6.1. Вероятностное срабатывание правил
[+]E.1.6.2. Dummynet
[+]E.1.6.2.1. Конфигурирование очередей (буферов) в каналах
[+]E.1.6.2.2. Направление трафика в объявленный канал, маски
[+]E.1.6.2.3. Возвращение пакетов в брандмауэр
[*]F. /etc/login.conf(5)
[*]F.1. /etc/login.conf в FreeBSD
[*]F.2. /etc/login.conf в OpenBSD
Глоссарий
Литература

Список таблиц

1. Легенда (условные обозначения)
2.1. Опции запуска jail(8)
2.2. Переменные ядра (MIB) связанные с jail(8)
2.3. Возможные значения опций crypt_default (FreeBSD) и localcipher, ypcipher (OpenBSD)
6.1. Типы записей в файле зоны DNS
6.2. Аргументы команды arp(8)
7.1. Пользовательске переменные окружения [environ(7)]
7.2. Движения в vi(1), Normal mode
7.3. Действия в vi(1), Normal mode
7.4. Регулярные выражения в vi(1)
7.5. Некоторые команды vi(1)
7.6. Некоторые опции vi(1) выставляемые командой :set
7.7. Синтаксическая таблица Bourne Shell
7.8. Специальные переменные в Bourne Shell
7.9. Опции команды test(1)
7.10. Навигационные клавиши в системе info(1)
7.11. Модификаторы переменных в csh(1)
7.12. Команды программы mail(1)
7.13. Некоторые сигналы, представляющие интерес для администратора
7.14. Регулярные выражения. Сводная синтаксическая таблица
7.15. Регулярные выражения и шаблоны командной Bourne shell
7.16. Короткие имена используемые в crontab(5) для описания времени выполнения заданий
A.1. Раскладка файлов и команд по операционным системам
B.1. Типы сообщений ICMP
B.2. Формат TCP заголовка
B.3. Флаги TCP
B.4. Состояния TCP (по [RFC-793])
E.1. ICMP unreachable коды
E.2. типы ICMP сообщений опознаваемые брандмауэром IPFW
F.1. Ограничение ресурсов средствами login.conf(5)
F.2. Формирование окружения средствами login.conf(5)
F.3. Аутентификационные данные в login.conf(5)
F.4. Зарезервированные поля в login.conf(5) FreeBSD
F.5. Поля в login.conf(5) характерные для OpenBSD

Список примеров

7.1. Системный crontab файл
C.1. Просмотр статистики на интерфейсе выбранном при помощи опции loginterface
C.2. Кто из заблокированных взломщиков пытался пройти в систему в последнее время?
C.3. Просмотр таблицы состояний
C.4. Сколько пакетов на какое правило попало?