Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » FreeBSD + ipfw rules

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9

Открыть новую тему     Написать ответ в эту тему

Pukite



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет, коллеги!
 
Имеем сервер с ип адресом a.b.c.сервер и компьютер-клиент с ип адресом a.b.c.клиент - необходимо, чтобы к 21-му порту мог подключаться только компьютер клиент.
 
ipfw add 400 reset tcp from any to a.b.c.сервер 21 in via rl0
ipfw add 410 allow tcp from a.b.c.клиент to a.b.c.сервер 21 in via rl0
 
К сожалению, не работает - что делаю не так?
 
 


 
ipfw - файервол FreeBSD
(постим полезную информацию)

Сравнение 3 Пакетных фильтров FreeBSD 5.3 (IPFW, PF, IPFILTER)
Настройка FireWall (ipfw) в FreeBSD
Пара готовых примеров
Подробный пример с коментами
http://www.bsdportal.ru/kb.php?mode=article&k=76 - Настройка ipfw для шлюза под управлением FreeBSD
http://www.asmodeus.com.ua/library/os/freebsd/ipfw.htm man ipfw на русском
 
 
Отдельно обсуждается:
FreeBSD + ipfw + port mapping
IPFW + Squid + перенаправление трафика
ipfw rules не сохраняются после reboot-a
PING - как корректно запретить (FreeBSD+ipfw)
FreeBSD 4.8 + DNS + ipfw + named.conf = режем  
трафик

FreeBSD + bridge + pppoe + ipfw

Всего записей: 1731 | Зарегистр. 21-09-2002 | Отправлено: 16:25 30-06-2003 | Исправлено: allein, 16:40 21-01-2009
PomidorOFF



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
axelk
А не пробовали запретить все кроме необходимых портов? Обычно помогает, их на самом деле немного.

Всего записей: 261 | Зарегистр. 20-08-2003 | Отправлено: 15:00 07-06-2004
wchik



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
axelk
то что  ты показал для линуха пока в бетах, еще что-то подобное  
http://www.lowth.com/p2pwall/ftwall/ в альфах.
я бы не ставил такие модули на рабочий фаер,
лучше правда сделать политикой по умолчанию запрещено то, что не разрешено,
и разрешить основные порты типа 25 80 110, ну и еще что там у тея разрешено
 
Я кстати столкнулся в этой связи с траблой надо пускать из внутренней сети Cisco VPN
может кто знает как разрешить прохождение пакетов ESP AH и GRE (протоколы НЕ ПОРТЫ типа 50 51 и 47)
 
Добавлено
Народ прошу прощения стормозил ужо, под конец рабочего дня,  
просто в правиле указываешь название протокола как в /etc/protocols
и но проблем

Всего записей: 518 | Зарегистр. 05-03-2002 | Отправлено: 17:07 07-06-2004 | Исправлено: wchik, 17:14 07-06-2004
axelk



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Проблема в том, что многие устанавливают для p2p сервисов 80, 110 и прочие порты, по этому здесь простой связки ip address + port уже недостаточно, конечно именно такой вариант я сконфигурировал на данный момент, но хочется потестить другие варианты.

Всего записей: 498 | Зарегистр. 29-10-2001 | Отправлено: 17:49 08-06-2004
wchik



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
axelk
а если ограничить количество одновременных коннектов по одному порту с машины?
то-есть если ты юзаешь сквид то там не ограничивать а на всех остальных портах 1 коннект и не больше
пиринговые клиенты обычно несколько потоков создают (много потоков )
это сделает пользование таким софтом почти невозможным а почту проверять пожалуйста (в 1 поток )

Всего записей: 518 | Зарегистр. 05-03-2002 | Отправлено: 10:34 09-06-2004
wchik



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
тут такой вопросик возник, что-то я неправильно делаю
 
есть правила:

Цитата:
allow ip from any to any dst-port 3128
allow ip from x.x.x.x to any dst-port 20,21,80,81,8080 out via rl0
allow ip from any 20,21,80,81,8080 to x.x.x.x in via rl0
 
divert 8668 ip from any to any via rl0
allow ip from any to any

где x.x.x.x - внешний ИП роутера, rl0 - внешний интерфейс
 
первые 3 правила для сквида, до ната подняты для того чтобы нагрузку уменьшить
 
так вот вроде как по этим правилам из сетки нат должен работать,  
но работает на всех портах кроме тех, что перечислены во 2-м и 3-м правилах
что в них не так?

Всего записей: 518 | Зарегистр. 05-03-2002 | Отправлено: 18:47 14-07-2004 | Исправлено: wchik, 18:49 14-07-2004
Ambal



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
то что после того как обработается правило allow дальше правила непросматриваются.
обратний пакетик обработается третьим правилом и в диверт не попадет.
 
Добавлено
а чтоб уменьшить нагрузку на нат я бы рекомендовал примерно такую конструкцию:
 
divert natd ip from 192.168.0.0/24 to any              
divert natd ip from any to xxx.xxx.xxx.xxx in recv fxp1
 
192.168.0.0/24 - внутренняя сеть
xxx.xxx.xxx.xxx - внешний адрес
fxp1 - внешний интерфейс.

Всего записей: 229 | Зарегистр. 01-06-2004 | Отправлено: 18:29 15-07-2004
wchik



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ambal

Цитата:
братний пакетик обработается третьим правилом и в диверт не попадет

так ведь обратный пакетик адресован не моему внешнему интерфейсу, а какому-то IP в нете!
почему он попадает под это правило?

Всего записей: 518 | Зарегистр. 05-03-2002 | Отправлено: 11:52 19-07-2004
xy



ХУдератор
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
--- mad %)

----------
Счастливые мысли приводят к счастливой клеточной биохимии

Всего записей: 10530 | Зарегистр. 28-05-2003 | Отправлено: 16:11 13-09-2004 | Исправлено: xy, 16:25 13-09-2004
xy



ХУдератор
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
есть ли где-то фак (или может самим сделать?), по разрешению/запрещению в ipfw разных сервисов?
 
например моя табличка выглядит так: (еще не прикручивал принудительный прокси)
 
00100 divert 8668 ip from any to any via xl0
00200 deny icmp from any to any frag
00300 allow icmp from any to any
00400 allow tcp from any to any dst-port 25
00500 allow tcp from any 25 to any
00600 allow tcp from any to any dst-port 80
00700 allow tcp from any 80 to any
00800 allow tcp from any to any dst-port 443
00900 allow tcp from any 443 to any
01000 allow udp from any to any dst-port 53
01100 allow udp from any 53 to any
01200 allow udp from any to any dst-port 995
01300 allow udp from any 995 to any
01400 allow tcp from any to any dst-port 21
01500 allow tcp from any 21 to any
01600 allow tcp from any to any dst-port 20
01700 allow tcp from any 20 to any
01800 allow tcp from any to any dst-port 22
01900 allow tcp from any 22 to any
02000 allow ip from any to any via xl0
02100 allow ip from any to any via lo0
65535 deny ip from any to any
 
это бетка-альфа таблички - тут на секурити упора нет, но есть намерение на работоспособность сети для начала, потом буду укреплять.. так вот при такой табличке: работает ssh, но для клиентов не работает инет.. пинги не идут (вообще как пинг работает, что это за тип пакетов и как ими управлять) - nslookup на клиенте работает
 
кто, что скажет?


----------
Счастливые мысли приводят к счастливой клеточной биохимии

Всего записей: 10530 | Зарегистр. 28-05-2003 | Отправлено: 12:21 14-09-2004 | Исправлено: xy, 13:19 14-09-2004
stb38



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
FreeBSD 4.7+ipfw2
Пишу команду:
 
ipfw add pass all from any to 192.168.50.3/24{4,5,6}
 
ipfw мне отвечает:
 
ipfw: bad width ``244''
 
Что я не так делаю?

Всего записей: 38 | Зарегистр. 15-07-2003 | Отправлено: 13:43 14-09-2004
Zmey



Strangled by Lynx
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
stb38
А ты бы сначала написал что ты хочешь сделать.
Я думаю что его смущает {4,5,6}

Всего записей: 303 | Зарегистр. 07-12-2001 | Отправлено: 20:32 14-09-2004
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xy

Цитата:
(вообще как пинг работает, что это за тип пакетов и как ими управлять

 
Это ICMP-пакеты.
 
# Allow ICMP inside net разрешить пигни на внутренний интерфейс и с него
        ${fwcmd} add allow icmp from ${iip} to any via ${iif}
        ${fwcmd} add allow icmp from any to ${iip} via ${iif}
 
Где, до этого задается:
 
        iif="ed1"
        inet="192.168.1.0"
        imask="255.255.255.0"
        iip="192.168.1.6"
 
Точно также и наружу.
 
Можно написать всем:
 
${fwcmd} add allow icmp from any to any
 

Цитата:
есть ли где-то фак (или может самим сделать?), по разрешению/запрещению в ipfw разных сервисов?

 
Нету.
 
Вот:
http://www.asmodeus.com.ua/library/os/freebsd/ipfw.htm  
http://ln.com.ua/~openxs/projects/man/solaris8/ifconfig.html

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 21:13 14-09-2004
stb38



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Zmey
Если верить мануалу, то команда
 
 ipfw add pass all from any to 192.168.50.3/24{4,5,6}  
 
должна пропускать пакеты от ANY до 192.168.50.3, ..., 192.168.50.6

Всего записей: 38 | Зарегистр. 15-07-2003 | Отправлено: 09:58 15-09-2004
xy



ХУдератор
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lynx

Цитата:
Это ICMP-пакеты.

это я как бы догадался:), но есть у меня такое:

Цитата:
00300 allow icmp from any to any

а толку? а толку нет? вот и спрашиваю - почему?

----------
Счастливые мысли приводят к счастливой клеточной биохимии

Всего записей: 10530 | Зарегистр. 28-05-2003 | Отправлено: 10:51 15-09-2004
Zmey



Strangled by Lynx
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
stb38
Да, но вероятно для этого должен работать ipfw2 а не ipfw.
Хотя я могу и ошибаться.
 
lynx

Цитата:
Это ICMP-пакеты.  
 
# Allow ICMP inside net разрешить пигни на внутренний интерфейс и с него  
        ${fwcmd} add allow icmp from ${iip} to any via ${iif}  
        ${fwcmd} add allow icmp from any to ${iip} via ${iif}

 
Немножечко ошибочное мнение!
Этими правилами ты разрешаешь все типы icmp пакетов, в т.ч. и те которые не желательно пропускать внутрь сети
Типы icmp пакетов и как правильно зафильтровать icmp пакеты с помощью ipfw довольно неплохо расписаны на opennet.ru, вот здесь.
 
 
Добавлено
xy
 
Не могли бы вы описать более подробно через какие интерфейсы ходят клиенты в инет, за какими они сами сидят?? И чего бы вы хотели добиться от этих правил?

Всего записей: 303 | Зарегистр. 07-12-2001 | Отправлено: 11:58 15-09-2004
xy



ХУдератор
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zmey
спасибо за помощь.. не мог бы ты объяснить, почему по моей табличке (нынешней):
 
00100 divert 8668 ip from any to any via xl0  
00200 deny icmp from any to any frag  
00300 allow icmp from any to any  
00400 allow tcp from any to any dst-port 25  
00500 allow tcp from any 25 to any  
00600 allow tcp from any to any dst-port 80  
00700 allow tcp from any 80 to any  
00800 allow tcp from any to any dst-port 443  
00900 allow tcp from any 443 to any  
01000 allow udp from any to any dst-port 53  
01100 allow udp from any 53 to any  
01200 allow udp from any to any dst-port 995  
01300 allow udp from any 995 to any  
01400 allow tcp from any to any dst-port 21  
01500 allow tcp from any 21 to any  
01600 allow tcp from any to any dst-port 20  
01700 allow tcp from any 20 to any  
01800 allow tcp from any to any dst-port 22  
01900 allow tcp from any 22 to any  
02000 allow ip from any to any via xl0  
02100 allow ip from any to any via lo0  
65535 deny ip from any to any
 
клиент не может выйти просто в инет и не работает фтп (по цепочкам фтп-дата нулевая статистика :-/ )
 
ЗЫ. 0- внутренний интерфейс, 1- внешний, ло0- локалхостъ ессно

----------
Счастливые мысли приводят к счастливой клеточной биохимии

Всего записей: 10530 | Зарегистр. 28-05-2003 | Отправлено: 12:11 15-09-2004
Zmey



Strangled by Lynx
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
ЗЫ. 0- внутренний интерфейс, 1- внешний, ло0- локалхостъ ессно

 
1 - это значит xl1 ??
Если да то теоритически у тебя нат должен быть прописан не так немного
00100 divert 8668 ip from any to any via xl1
 
И natd должен висеть на xl1 интерфейсе.
 
И для начала я бы оставил просто две строки
00100 divert 8668 ip from any to any via xl1
00200 allow all from any to any
 
И посмотрел бы работает или не работает, а потом бы уже написал в этот топик:
Хочу что бы все клиенты могли принимать и отправлять почту смотреть веб и юзать ssh. При этом все клиенты сидят за натом, внутренний интерфейс xl0 внешний xl1. Подскажите как это сделать
 
ps. И если уж ты используешь natd то было бы неплохо также в вопросе привести конфиг или параметры с которыми у тебя запускается natd

Всего записей: 303 | Зарегистр. 07-12-2001 | Отправлено: 13:22 15-09-2004
xy



ХУдератор
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zmey

Цитата:
 natd  

ой, спасибо, а то я с натдом знаком весьма и весьма посредственно - видать в нём грабли
 
Добавлено

Цитата:
И посмотрел бы работает или не работает, а потом бы уже написал в этот топик

ну ясное дело, что так не работало, потому и написал:)
 
Добавлено
Давайте по порядку:
xl1- external interface
xl0 - internal
 
1. natd:
add divert natd all from any to any via xl1
 
2. ICMP
add allow icmp from any to any in via xl1 icmptype 0, 3, 4, 11, 12
add allow icmp from any to any out via xl1 icmptype 3, 8, 12
add allow icmp from any to any out via xl1 frag
add deny log icmp from any to any in via xl1
 
3. SMTP
add allow tcp from any to any smtp
add allow tcp from any smtp to any
я хочу, чтобы смтп могли отправлять авторизованные пользователи извне, плюс моя внутренняя сеть также не ограничивалась местным смтп, хотя возможно правила стоит ужесточить?
 
4. HTTP
add allow tcp from any to any http
add allow tcp from any http to any
 
5. HTTPS
add allow tcp from any to any https
add allow tcp from any https to any
стоит ли в 4 и 5 ограничивать in/out трафик, если да, то как правильно изменить правила?
 
6. DNS
add allow udp from any to any domain
add allow udp from any domain to any
аналогичный вопрос
 
7. ПОП3ССЛь
add allow udp from any to any pop3s
add allow udp from any pop3s to any
позиция такая же как в 3, хотя просто поп3 для внешних серверов наверное нужно разрешить, стоит ли?
 
8. ФТП
add allow tcp from any to any ftp
add allow tcp from any ftp to any
add allow tcp from any to any 20
add allow tcp from any 20 to any
алиас ftp-data оно не отрабатывает, видимо из-за "-", но не суть
аналогично 4-5-6 вопрос
 
9. ШШ
add allow tcp from any to any ssh
add allow tcp from any ssh to any
тут позиция как в 3
 
 
последние правила:
# Разрешаем трафик только в пределах локальной сети
add allow all from any to any via xl0
 
# Разрешаем трафик по local интерфейсу
add allow all from any to any via lo0
 
нужно ли это менять? например как-то глушить трафик по внутреннему интерфейсу (хотя толку от этого ИМХО не будет, ведь не всё через сервер внутри сети ходит)
 
 
еще надо бы аську открыть.. стандартный порт или обычно как-то иначе открывают? если открыть только для login.icq.com, могут ли быть проблемы
 
еще будет необходимость для некоторых серверов открывать некоторые порты (всякие хитрожопые хостсервис по хитрожопым портам доступа) - их надо вставлять вначале сразу после натд? как лучше открывать для обмена, чтобы не писать allow all from any hzport to any hzport.. + почему пишут пары правил, а не просто типа:
allow tcp from any http to any http?

----------
Счастливые мысли приводят к счастливой клеточной биохимии

Всего записей: 10530 | Зарегистр. 28-05-2003 | Отправлено: 13:37 15-09-2004
Zmey



Strangled by Lynx
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
ой, спасибо, а то я с натдом знаком весьма и весьма посредственно - видать в нём грабли

В таком случае, необходимо убедится что в rc.conf есть строчки:
natd_enable="YES"
natd_interface="xl1"
 
либо если natd запускается из другого места, то должен запускаться с параметром /sbin/natd -n xl1
 
Далее идут правила для локального интерфейса lo0 которые можно подсмотреть в /etc/rc.firewall
 
00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
00400 add divert natd all from any to any via xl1
 
А дальше мы пойдем другим путем
 
# Разрешаем прохождение траффика если он попадает под правило с keep-state
00500 check-state
 
#Разрешаем весь локальный траффик
00600 allow all from any to any via xl0 keep-state
 
#Разрешаем нашим пользователям ходить по www
00700 allow tcp from any to any 80 out via xl1 setup keep-state
#Разрешаем нашим пользователям ходить по защищенному www
00750 allow tcp from any to any 443 out via xl1 setup keep-state
 
#Разрешаем доступ наших пользователей к ДНСу нашего провайдера
00800 allow tcp from any to $provdns 53 out via xl1 setup keep-state
00900 allow udp from any to $provdns 53 out via xl1 setup keep-state
 
#Разрешаем прием и отправку почты нашими пользователями
01000 allow tcp from any to any 25 out via xl1 setup keep-state
01100 allow tcp from any to any 110 out via xl1 setup keep-state
 
#Разрешаем исходящий PING
01200 allow icmp from any to any out via xl1 keep-state
 
#Разрешаем исходящий SSH
01300 allow tcp from any to any 22 out via xl1 setup keep-state
 
 
 
Как бы собственно вот
Можно все это продолжать и продолжать... в итоге все это может заканчиваться двумя вариантами:
 
1. Если настроено ведение журнальных файлов с ipfw то можно написать так
Если мы дружелюбны к своим пользователям
allow log all from any to any via xl1
deny all from any to any via xl1
Если мы не очень любим своих пользователей
deny log all from any to any via xl1
И потом смотрим в логах где и чего мы забыли разрешить или запретить.
 
2. Вариант менее удачный
deny all from any to any via xl1
 
Может быть где-то чего то забыл написать, звыняйте на эту тему можно книги писать

Всего записей: 303 | Зарегистр. 07-12-2001 | Отправлено: 15:09 15-09-2004
xy



ХУдератор
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zmey
можно еще раз уточнить про пары правил?
 

Цитата:
Можно все это продолжать и продолжать...

ну у тебя тут жесткие требования слишком.. и сам сервер-шлюз не имеет на себе служб ввв/почты и т.д., что не есть гуд для моей ситуации
 
с кипстэтом надо бы разобраться, а так понятно
 
Добавлено
Zmey

Цитата:
setup
 
Только для TCP-пакетов. Соответствует пакетам, которые имеют битовую установку SYN, но не имеют установки ACK.

можно по-русски объяснить зачем оно надо?
 
и еще при прохождении keep-state с адресатом устанавливается allow all правило или какое?

----------
Счастливые мысли приводят к счастливой клеточной биохимии

Всего записей: 10530 | Зарегистр. 28-05-2003 | Отправлено: 15:18 15-09-2004 | Исправлено: xy, 15:22 15-09-2004
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » FreeBSD + ipfw rules


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru