TCP/IP v4.1 Security - First Step


Vit Timchishin

Английская версия

Итак, в TCPIP 4.1 для ОS/2 (а именно в MPTN 5.3) фирма IBM включила файрвол, к которому забыла положить документацию. К счастью нашлись люди, которые нашли этот файрвол и разобрались как им пользоваться.

Затем фирмой IBM был выбущен редбук с описанием.

Этот файрвол включает:

Тунели: Динамические и ручной настройки
Типы SA: Тунель, транспорт.
Протоколы IPSec: Все (AH и ESP)
Типы заголовков: RFC 18xx
Защита: Все (авторизация, шифрование, шифрование/авторизация, авторизация/шифрование)
Трансформации AH: MD5 с ключами
Трансформации ESP: CDMF
Соединения: ЛВС и Модемные
Другие функции: Фильтрование и логи

Примечание: Эта версия описания не включает тунелирования.

Собрав всю информацию можно получить шаги для установки файрвола:

1. Проверить наличие в config.sys строк

DEVICE=C:\MPTN\PROTOCOL\IPSEC.SYS
DEVICE=C:\MPTN\PROTOCOL\FWIP.SYS
DEVICE=C:\MPTN\PROTOCOL\CDMF.SYS
DEVICE=C:\MPTN\PROTOCOL\MD5.SYS
Если их нет, то добавить

2.Создать файлы конфигурации

%ETC%\fwsecad.cnf - список secure интерфейсов (Файрвол для ОС/2 различает два типа сетевых интерфейсов: secure(защищенный) и non-secure(незащищенный))
В каждой строке файла указываем один ip адрес. Адреса, которых нет в списке считаются non-secure.
%ETC%\security\fwfiltrs.cnf - список правил для фильтра
Пример:
deny 0.0.0.0 0.0.0.0 0 0 icmp any 0 any 0 both both inbound
Эта строка запрещает обработку входящих icmp пакетов
%ETC%\fwlog.cnf - уровень логов
  • 10: Debug
  • 20: Информационный
  • 30: Предупреждения
  • 40: Ошибки
  • 50: Тревоги
Пример файла:
level=30
Будут записаны все сообщения уровней 30 и выше.

Сообщения записываются в файлы вида FW<Дата>, где <Дата> - текущая дата, например файл FW0529. Они будут располагатся в каталоге, указаном переменной среды FWLOGS

Все ошибки, связаные с ведением логов будут записаны в файл %ETC%\FWERROR.ERR

3. Для включения файрвола запустить

detach fssd
cfgfilt -u -i -d
Эти строки лучше добавить в \MPTN\BIN\SETUP.CMD, так как они должны запускаться при старте компьютера.

4. Описание утилит

cfgfilt Используется для загрузки или проверки настрек фильтра
использование: C:\MPTN\BIN\cfgfilt.exe [-c] [-u [-i]] [-f [file]] [-d [{start|stop}]] [-m [#]] [-p [port#]]
если опции не заданы, действие по умолчанию - запись дампа

Опции:

  • -u обновление правил для фильтра используя файл %ETC%\security\fwfiltrs.cnf
  • -i Инициализация фильтра. Должна использоваться вместе с -u
  • -f Проверить набор правил
  • -c Отключить набор правил и перейти к набору по-умолчанию (всё запрещено)
  • -m Максимальное количество одновременных соединений Real Audio
  • -p Порт Real Audio
  • -d Включить (start) или выключить (stop) ведение логов. По умолчанию включить
fwlslog Используется для включения (inetcfg -s firewall 1) или выключения (inetcfg -s firewall 0) всего файрвола.
cfgfilt при запуске автоматически включает файрвол.
Демон fssd Демон ведения логов.
fwlslog Используется для просмотра файла логов.

5.Описание файла fwfiltrs.cnf

Файл fwfiltrs.cnf состоит из строк, каждая из которых является правилом. Файрвол при получении пакета проверяет файл сверху-вниз до:

a) Нахождения запрещающего правила - пакет не обрабатывается
b) Нахождения разрешающего правила - пакет обрабатывается
c) Конца списка правил. При этом пакет не обрабатывается
Строка правила состоит из полей, разделенных пробелами:
1) Тип правила
deny: запрещающее
permit: разрешающее
2,3) Адрес отправления пакета
Два поля: адрес и маска. Могут задаваться в двух нотациях: Десятичной вида x.y.z.u и шестнадцатиричной вида 0xFFFFFFFF
4,5) Адрес получателя пакета
См. 2,3
6) Протокол. Тип протокола IP пакета
any - любой пакет
icmp - только запросы ICMP
udp - только пакеты UDP
tcp - только пакеты TCP
tcp/ack - только пакеты TCP с установленным битом "acknowledgment"
ipsp - только IPSP (протокол, используемый IBM при тунелировании)
7,8) Порт отправления/Тип ICMP
Первое поле определяет операцию сравнения, второе номер порта (для ICMP это тип ICMP). Возможные варианты операций сравнения: any(любой), eq(=), neq(<>), lt(<), gt (>), le(<=), ge (>=).
9,10) Порт назначения/Код ICMP
Используются также, как и предыдущие. Для ICMP пакетов это поле Код ICMP
11) Адаптер. Тип адаптера.
secure - защищенный
non-secure - не защищенный
both - оба
12) Маршрутизирование

Обозначает тип пакета по отношению к данному компьютеру. Возможные варианты:

local - отправителем или назначением пакета является данный компьютер
route - пакет проходит через данный компьютер
both - оба варианта
13) Направление

Определяет входящие/исходящие пакеты

inbound - входящий
outbound - исходящий
both - оба варианта
Внимание! Необязательные поля задаются в форме имя=значение. Пример:

deny 0.0.0.0 0.0.0.0 0 0 icmp eq 8 any 8 both both inbound l=yes f=only t=0

14) Контроль протоколирования. Имя поля "l" (необязательное)

Определяет протоколировать ли прохождение пакета, подпадающего под даное правило.

yes - протоколировать (значение по-умолчанию для запрещенных пакетов)
no - не протоколировать (значение по-умолчанию для разрешенных пакетов)
15) Контроль фрагментации. Имя поля "f" (необязательное)
yes - проверять заголовки, фрагменты и нефрагментированые пакеты
no - проверять только нефрагментированые пакеты
only - проверять только заголовки и фрагменты
16) ИД тунелирования. Имя поля "t"(необязательное)

Определяет тунель, через который посылать пакет. Значение 0 обозначает не применять тунели.

Если у кого нибудь есть, что добавить: tvv@pharma.viaduk.net


Интересные ссылки:
Комментариев к странице: 0 | Добавить комментарий
Домой | Проект ядро Core/2 | Проект OS/4 Download | Новости | Гостевая книга | Подробно обо всем | Нужные программы | Проекты | OS/2 FAQ | Всячина | За и Против | Металлолом | #OS2Russian | RDM/2 | Весёлые картинки | Наша галерея | Доска объявлений | Карта сайта | ПОИСК | ФОРУМ