Различия между версиями 4 и 5
Версия 4 от 2014-02-28 23:13:17
Размер: 1684
Редактор: FrBrGeorge
Комментарий:
Версия 5 от 2014-03-01 00:53:04
Размер: 3941
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 16: Строка 16:
 * Приверженность legacy (nvi, ifconfig, netstat, route, sh)
 * Пользователь `toor` (`tcsh` в качестве оболочки для `root`)
 * Редактор: `vi`, `ee` или установить `vim` (`pkg install vim`)
 * Приверженность legacy ([[BSDman:nvi]], [[BSDman:ifconfig]], [[BSDman:netstat]], [[BSDman:route]], sh)
 * Пользователь `toor` ([[BSDman:tcsh]] в качестве оболочки для `root`)
 * Редактор: [[BSDman:vi]], [[BSDman:ee]] или установить `vim` (`pkg install vim`)
Строка 20: Строка 20:
 * Просмотр сокетов (в т. ч. TCP): `sockstat`  * Просмотр сокетов (в т. ч. TCP): [[BSDman:sockstat]]
Строка 24: Строка 24:
/etc/rc
/etc/rc.d /etc/rc.d/netif service
rcvar
/etc/rc.conf
/etc/rc.default/
История развития [[BSDman:rc]]:
 * `/etc/rc` → … + `/etc/rc.conf`→ … + `/etc/defaults/rc.conf`
 * … + `/etc/rc.d/`; [[BSDman:service]] (start, stop, restart, rcvar, onestart и т.п.)
  * Зависимости служб,
 * Включение cлужбы в `/etc/rc.conf`: `служба_enabled="YES"`
Строка 30: Строка 30:
== ipfw == == IPFW ==
Строка 32: Строка 32:
/etc/rc.firewall
 * open
 * simple
 * client
 * UNKNOWN
 * /file/name
Основная статья: [[http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/firewalls-ipfw.html|IPFW]] в FreeBSD handbook ([[http://www.freebsd.org/doc/ru/books/handbook/firewalls-ipfw.html|несколько устаревший русский перевод]]
Строка 39: Строка 34:
ipfw '''Архитектура'''
 * Список правил вида: `действие ← фильтр`
  * полный вид:`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 …`)
Строка 41: Строка 42:
  list show flush add delete swap '''Утилита [[BSDman:ipfw]]''': работа со списком правил
 * `add`, `delete`, `swap` и т. п.
 * `flush` и что будет, если выполнить только `ipfw flush`
 * автоматическая нумерация (шаг 100)
 * `list`, `show` и `zero`
Строка 43: Строка 48:
  set enable disable Запуск: `service ipfw` и `/etc/rc.firewall`
 * Виды профилей МЭ по умолчанию (open, simple, silent и т. п.)
 * Кастомный профиль: имя shell-сценария
Строка 45: Строка 52:
  any | me Задача удалённого редактирования правил (возможен обрыв канала):
 * Отредактировать сценарий или настройки
 * Перезагрузить ipfw
 * В течение тайм-аута ждать подтверждение
 * Если подтверждения нет, вернуться к исходному набору правил
Строка 47: Строка 58:
  …

Р
едактирование настроек сети по сети и премия Дарвина

/usr/share/examples/ipfw/change_rules.sh
Примерная реализация:
/usr/share/examples/ipfw/change_rules.sh
Строка 55: Строка 63:
Почему не работает rc.firewall simple? Как это исправить? Сказать и заставить работать [[https://cloud.mail.ru/public/742a237de7f6/FW/|стендовую виртуальную машину]] (два файла с именем `FW`_что-то там).

Поменять на `simple` значение `firewall_type` в `/etc/rc.conf`. Почему не работает? Как это исправить?

Работа в FreeBSD и ipfw

Настройки VirtualBox

  • Внешний интерфейс: «VirtualBox NAT» ⇒ 10.0.2.15/24

  • Внутренний интерфейс 10.30.50.1/24
  • Доступ по ssh localhost:2212

/!\ TODO Ссылка на образ ВМ

FreeBSD

=== Особенности FreeBSD ====

  • Базовая дистрибуция + пакеты (пакетный диспетчер pkg)

  • Установка пакетов в /usr/local (в т. ч. /usr/local/etc, /usr/local/man и т. п.)

  • Приверженность legacy (nvi, ifconfig, netstat, route, sh)

  • Пользователь toor (tcsh в качестве оболочки для root)

  • Редактор: vi, ee или установить vim (pkg install vim)

  • Оболочка: 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
  • В течение тайм-аута ждать подтверждение
  • Если подтверждения нет, вернуться к исходному набору правил

Примерная реализация:

  • /usr/share/examples/ipfw/change_rules.sh

Д/З

Сказать и заставить работать стендовую виртуальную машину (два файла с именем FW_что-то там).

Поменять на simple значение firewall_type в /etc/rc.conf. Почему не работает? Как это исправить?

LecturesCMC/UnixFirewalls2014/02_FreeBSDIntro (последним исправлял пользователь FrBrGeorge 2014-03-07 09:45:25)