Работа в FreeBSD и ipfw
Настройки VirtualBox
Внешний интерфейс: «VirtualBox NAT» ⇒ 10.0.2.15/24
- Внутренний интерфейс 10.30.50.1/24
- Доступ по ssh localhost:2212
FreeBSD
Особенности FreeBSD
Базовая дистрибуция + пакеты (пакетный диспетчер pkg)
Установка пакетов в /usr/local (в т. ч. /usr/local/etc, /usr/local/man и т. п.)
Пользователь toor (tcsh в качестве оболочки для root)
- Оболочка: sh или установить bash/zsh
Просмотр сокетов (в т. ч. TCP): sockstat
Достаточно полная и связная система man-страниц; /usr/share/doc и /usr/share/examples
Подсистема запуска служб RC
История развития rc:
/etc/rc → … + /etc/rc.conf→ … + /etc/defaults/rc.conf
… + /etc/rc.d/; service (start, stop, restart, rcvar, onestart и т.п.)
- Зависимости служб,
Включение cлужбы в /etc/rc.conf: служба_enabled="YES"
IPFW
Основная статья: IPFW в FreeBSD handbook (несколько устаревший русский перевод
Архитектура
Список правил вида: действие ← фильтр
полный вид:RULE_NUMBER set SET_NUMBER ACTION log LOG_AMOUNT PROTO from SRC SRC_PORT to DST DST_PORT OPTIONS
например, 420 allow tcp from any to me 80 in via em0 setup
Финальные действия (вида «побеждает первый»): allow, deny и т. п.
Проходные действия: log, count, skipto и т. п.
Последнее правило: 65535 deny ip from any to any (net.inet.ip.fw.default_to_accept="1" ⇒ 65535 allow …)
Утилита ipfw: работа со списком правил
add, delete, swap и т. п.
flush и что будет, если выполнить только ipfw flush
- автоматическая нумерация (шаг 100)
list, show и zero
Запуск: service ipfw и /etc/rc.firewall
- Виды профилей МЭ по умолчанию (open, simple, silent и т. п.)
- Кастомный профиль: имя shell-сценария
Задача удалённого редактирования правил:
- Отредактировать сценарий или настройки
- Перезагрузить ipfw
- В течение тайм-аута ждать подтверждение
- Если подтверждения нет, вернуться к исходному набору правил
Проблемы: невозможность ввода и SIGHUP
Примерная реализация:
- /usr/share/examples/ipfw/change_rules.sh
Д/З
Скачать и заставить работать стендовую виртуальную машину (два файла с именем FW_что-то там).
Поменять на simple значение firewall_type в /etc/rc.conf (МЭ перезапускается с помощью service ipfw restart) . Почему при этом нельзя подключиться к машине по SSH? Как исправить?