The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Конфиг PF помогите проверить!"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Firewall, Фильтрация пакетов / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"Конфиг PF помогите проверить!"  +/
Сообщение от human88 (ok) on 12-Сен-11, 11:06 
Написал свой первый конфиг для PF хотелось бы узнать насколько он надёжен и где допустил упущения, что можно изменить ?

#1Макросы: Определяемые пользователем переменные, которые могут\
       содержать адреса IP, имена интерфейсов, и т.д.
ext_if="xl0" # внешний интерфейс
int_if="em0" # внутренний (локальный) интерфейс
int_net="{192.168.137.1/24}" # внутренняя сеть
ext_net="{10.0.0.1/21}" #внутренняя сеть Калева
me="192.168.137.1"
lan_to_int="{ftp,ftp-data,www,https,ssh,smtp,pop3,nntp,8080,ntp,411,5190}"

#2. Таблицы: Применяются для хранения списков IP адресов
#3. Опции: Параметры, влияющие на работу pf
#4Scrub: Подготовка пакета к нормализации и дефрагментации
#Нормалиация входящего трафика
scrub in all
#5. Очереди: Обеспечивает управление полосой пропускания и\
       установку приоритетов пакета.
#6. Трансляции: Контроль NAT и перенаправлением пакета
# разрешаем натить всё, что должно быть снаружи
nat on $ext_if from $int_net to any -> ($ext_if)
rdr on xl0 proto tcp from any to any port 5808 -> 192.168.137.1
#Проброс порта для торента
rdr pass on $ext_if proto tcp to $ext_net  port 38825 -> 192.168.137.1 port 38825
#Натим порты
nat on $ext_if inet from $int_net to any port $lan_to_int -> $ext_if

#7. Правила фильтрации: Осуществляют выборочную фильтрацию пакетов\
       на интерфейсах

#Исходящие соединенения на внешний интерфейс in packs on ext_if
# Блокируем все исходящие соединения
block in on $ext_if from any to any
# Разрешаем пинги
pass in on $ext_if inet proto icmp from any to $ext_if icmp-type 8 keep state
# Разрешаем соединяться с ssh-сервером из внешки
pass in log on $ext_if inet proto tcp from any to $ext_if port 22 keep state
# исходящий доступ через внешний интерфейс в сеть Калева
pass in on $ext_if from any to $int_net keep state
#Пропускаем порты из сети Для меня
pass in on $int_if inet proto tcp from $me to any port $lan_to_int

# Доступ к WWW
file "/etc/pf.conf", 94 lines
pass in on $ext_if inet proto tcp from any to $ext_if port www keep state

# Входящие соединенения на внешний интерфейсout packs on ext_if
# Блокируем все входящие соединения
block out on $ext_if from $ext_if to any
# Разрешаем пинги от нас
pass out on $ext_if inet proto icmp from $ext_if to any icmp-type 8 keep state
# входящий доступ через внешний интерфейс в сеть Калева
pass out on $ext_if from any to $ext_net keep state
#Пропускаем входящие порты для меня
pass out on $ext_if inet proto tcp from $me to any port $lan_to_int
#пропускаем входящие порты в гейт
pass out on $ext_if inet proto tcp from $ext_if to any port $lan_to_int

# Разрешаем обращаться на Web
pass out on $ext_if inet proto tcp from $ext_if to any port www keep state

#Исходящее соединения из внутреннего интерфейса in packs on int_if
# Блокируем все входящие соединения
block in on $int_if from $int_net to $me
pass in on $int_if inet proto tcp from $int_net to $me port 22 keep state

# Входящее соединения на внутреннеий интерфейс out packs on $int_if
# Разрешаем пинги от нас
pass out on $int_if inet proto icmp from $me to $int_net icmp-type 8 keep state

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Конфиг PF помогите проверить!"  +/
Сообщение от Aquarius (ok) on 13-Сен-11, 05:22 
>[оверквотинг удален]
> www keep state
> #Исходящее соединения из внутреннего интерфейса in packs on int_if
> # Блокируем все входящие соединения
> block in on $int_if from $int_net to $me
> pass in on $int_if inet proto tcp from $int_net to $me port
> 22 keep state
> # Входящее соединения на внутреннеий интерфейс out packs on $int_if
> # Разрешаем пинги от нас
> pass out on $int_if inet proto icmp from $me to $int_net icmp-type
> 8 keep state

"ничего не понятно" (с)
1. что такое
> file "/etc/pf.conf", 94 lines

2. что было до
> file "/etc/pf.conf", 94 lines

3. комментарии непонятны, противоречивы, неполны, бессмысленны:
3.1 большинство комментариев непонятны потому, что опущены существенные детали
3.2 комментарии противоречат правилам, которые комментируют
3.3 отдельные комментарии противоречат сами себе

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Конфиг PF помогите проверить!"  +/
Сообщение от human88 (ok) on 13-Сен-11, 07:55 
Что посоветуешь ? как переписывать правильно всё это дело ?
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Конфиг PF помогите проверить!"  +/
Сообщение от artemrts (ok) on 13-Сен-11, 10:53 
> Что посоветуешь ? как переписывать правильно всё это дело ?

Читать до просветления...
ftp://ftp3.usa.openbsd.org/pub/OpenBSD/doc/pf-faq.txt
http://www.openbsd.org/cgi-bin/man.cgi?query=pf.conf&apropos...

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Конфиг PF помогите проверить!"  +/
Сообщение от bga83 (ok) on 14-Сен-11, 14:24 
> Что посоветуешь ? как переписывать правильно всё это дело ?

кроме чтения документации есть еще и примеры идущие вместе с pf. И я бы посоветовал для начала не городить такой зачастую, бессмысленный набор правил, а начать с block all и постепенно открывать по одному сервису. По ходу дела разберешься сам где накосячил, а комментарии убили, уж лучше бы их совсем не было чем такие

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Конфиг PF помогите проверить!"  +/
Сообщение от human88 (ok) on 14-Сен-11, 15:47 
Да разобраться я уж постараюсь, просто коменты писал для себя, как я понимаю правила, что бы не запутаться, может если где то неверно написал, можете отписать как правильно ?Да наверное вы правы, закрою всё и начну заново ...
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Конфиг PF помогите проверить!"  +/
Сообщение от Aquarius (ok) on 15-Сен-11, 01:13 
> Да разобраться я уж постараюсь, просто коменты писал для себя, как я
> понимаю правила, что бы не запутаться, может если где то неверно
> написал, можете отписать как правильно ?Да наверное вы правы, закрою всё
> и начну заново ...

как правильно? не называть теплое холодным и наоборот, хотя бы

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру