BSD3. Вопросы безопасности в FreeBSD
Курс "Вопросы безопасности в FreeBSD" направлен на получение информации об уязвимых местах операционной системы FreeBSD, и методологии её защиты от локальных и сетевых атак. В курсе рассматриваются вопросы защиты сетевого трафика, построение безопасных систем VPN, шифрования критичных данных, работа брандмауэров.
Курс предполагает выполнение большого количества лабораторных работ на реальном оборудовании. При желании слушателя курс может быть прочитан на основе OpenBSD или NetBSD (такую возможность надо обговорить заранее).
Аудитория курса
Курс предназначен для системных администраторов, которые используют или планируют использовать в своей работе операционные системы семейства BSD: FreeBSD, а так же OpenBSD, NetBSD, Dragonfly BSD.
Необходимые знания и навыки
Курс является продолжением курса "Системное администрирование FreeBSD". Ожидается, что учащиеся знают устройство UNIX'а в объёме упомянутого курса. А так же уметь пересобирать ядро операционной системы.
Чему вы научитесь
- Знать слабые места в системе безопасности сервера под управлением UNIX-подобных операционных систем
- Пользоваться системой PAM в FreeBSD
- Защищать консоли суперпользователя
- Повышать безопасность системы при помощи "уровней безопасности" (securelevel)
- Использовать программы su, sudo в системах с присутствием недобросовестных судоеров
- Использовать систему журналирования в сети, настраивать журнальный сервер предприятия
- Понимать слабые места в работе стека протоколов TCP/IP.
- Работать с различными брандмауерами BSD
- Понимать принципы работы различных систем шифрования данных, их сильные и слабые стороны
- Устройство инфраструктуры публичных ключей PKI
- Использовать SSH для безопасного удалённого администрирования системы, передачи данных по сети, организации шифрованных туннелей и проброса через них различного трафика
- Генерировать подписанные сертификаты для работы различных систем поддерживающих аутентификацию по ключам
- Поднимать и обслуживать сети VPN
Программа курса
1. Классификация атак
2. Физическая уязвимость сервера
2.1. Защита паролем BIOS'а, утилита cmospwd
2.2. Изменение системного пароля в однопользовательском режиме
3. Пароли в BSD
3.1. Устройство парольных баз BSD: /etc/passwd, /etc/master.passwd
3.2. Бинарные базы /etc/pwd.db, /etc/spwd.db; утилита pwd_mkdb
3.3. Стойкость паролей UNIX; утилиты crack, john
3.4. Альтернативные методы шифрования базы паролей, Blowfish
4. Подключаемые модули аутентификации: PAM
4.1. pam_nologin
4.2. pam_securetty
4.3. pam_nologin
4.4. pam_opie
4.5. pam_unix
4.6. pam_chroot
4.7. pam_ssh
4.8. pam_exec
5. Безопасность в консоли
5.1. logout потаймауту
5.2. vlock
5.3. screen
6. Уровни безопасности в BSD (securelevel)
7. Запуск приложений в ограниченной среде
7.1. chroot
7.2. jail
7.3. организация shell-хостинга
8. Получение прав суперпользователя
8.1. su
8.2. sudo
9. Защита системы журналирования
10. Протокол ARP с точки зрения безопасности; VLAN
11. Брандмауеры BSD:
11.1. ipfw
11.2. ipf
11.3. pf
11.4. NAT, обработка FTP трафика
11.5. учёт трафика
11.6. регулировка полосы пропускания
11.7. Борьба с атаками brutforce
12. Повышение надёжности сервисов при помощи отказоустойчивых кластеров
12.1. VRRP, CARP
13. Теоретические вопросы шифрования
13.1. Стеганография
13.2. Симметричное шифрование
12.2.1 Алгоритмы шифрования и методы их применения
13.3. Ассиметричное шифрование
13.4. Инфраструктура PKI
14. SSH
14.1. Удалённый shell
14.2. Удалённое выпотнение команд
14.3. backup по сети
14.4. Проброс портов через шифрованный туннель
14.5. Беспарольная аутентификация
14.6. Настройка ssh сервера и клиента
15. OpenSSL
15.1. Подсчёт hash-сумм, проблема коллизий
15.2. Симметричное шифрование
15.2.1. Различие в ECB и CBC алгоритмах на практике
15.3. Генерирование самоподписаных сертификатов
16. VPN
16.1. PPTP
16.2. IPSec