0 / 0 / 0
Регистрация: 03.08.2011
Сообщений: 8
1

Ipfw и ssh

09.09.2014, 14:03. Показов 5193. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. У меня возникла проблема с настройкой файервола ipfw. Я хочу закрыть все соединения кроме ssh во внутренней сети, в файле с правилами пишу:
Bash
1
2
3
4
5
6
7
8
9
add pass all from any to any via lo0
add deny ip from any to 127.0.0.0/8
add deny ip from 127.0.0.0/8 to any
 
add allow all from any to any via lan    #lan - внутренний сетевой интерфейс (ip 192.168.10.201)
 
add allow tcp from any to any 22 keep-state 
 
add deny log all from any to any
SSH 192.168.10.201:22 не работает, при этом в логах
Bash
1
ipfw: 900 Deny TCP 192.168.10.201:22 192.168.10.183:49976 out via wan. #(wan - внешний сетевой интерфейс ip 192.168.10.105)
Почему происходит обмен пакетами через wan, почему не работает правило add allow tcp from any to any 22 keep-state и как правильно настроить эти правила?
И еще, может есть статьи хорошие, чтобы разобраться подробнее в этих вопросах. А то в инете простые мануалы, что куда писать, хотелось бы подробнее как оно работает. Спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.09.2014, 14:03
Ответы с готовыми решениями:

Команды в ipfw
Всем привет. Помогите плз с командами настройки ipfw Вот я например добавляю айпи в таблицу...

ipfw+ppp_nat
Доброго всем дня! Ковыряю этот вопрос очень долго, нигде не могу найти мануалов на тему ppp_nat....

Правила IPFW
Здравствуйте, Никак не могу понять в чём причина запрета всего трафика. В правилах нет ни одной...

Логи ipfw
В лабе задание: запротоколировать траффик при помощи ipfw. Только вот про журналы этой утилиты в...

16
14 / 14 / 5
Регистрация: 10.08.2014
Сообщений: 95
09.09.2014, 18:32 2
Как у Вас 192.168.10.201 и 192.168.10.105 разные сетевые интерфейсы? С 25 маской что ли?
ifconfig, будьте добры.

Цитата Сообщение от borkhalenko Посмотреть сообщение
хотелось бы подробнее как оно работает
Более подробного материала о принципах работы ipfw ещё не встречал, поэтому советую:
1) Схема прохождения пакета через ядро и ipfw во FreeBSD
2) IPFW(8) - FreeBSD Man Pages
3) IPFW - FreeBSD Handbook
1
Заблокирован
09.09.2014, 19:15 3
Учить ipfw, keep state не создает правила, только states.
1
10 / 10 / 2
Регистрация: 11.01.2013
Сообщений: 153
09.09.2014, 19:53 4
Если не ошибаюсь - требуется ещё наличие setup.
И в начале нужно check-state.
1
Заблокирован
09.09.2014, 21:22 5
Короче говоря я бы пошёл к pf. А то stateful ipfw геморный. Им как раз удобно stateless резать быстро. По поводу же почему не работает - всё расписано на опеннете, не вижу никакой причины повторяться.
0
10 / 10 / 2
Регистрация: 11.01.2013
Сообщений: 153
09.09.2014, 21:27 6
Ну лично у меня шлюз и мне стейтфул нафиг не нужен
0
0 / 0 / 0
Регистрация: 03.08.2011
Сообщений: 8
09.09.2014, 21:32  [ТС] 7
Цитата Сообщение от outl4w Посмотреть сообщение
Как у Вас 192.168.10.201 и 192.168.10.105 разные сетевые интерфейсы? С 25 маской что ли?
ifconfig, будьте добры.


Более подробного материала о принципах работы ipfw ещё не встречал, поэтому советую:
1) Схема прохождения пакета через ядро и ipfw во FreeBSD
2) IPFW(8) - FreeBSD Man Pages
3) IPFW - FreeBSD Handbook
Да, извините, не предоставил инфу с интерфейсами:

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
wan: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC>
        ether 00:0e:0c:3e:52:4d
        inet 192.168.10.105 netmask 0xffffff00 broadcast 192.168.10.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
lan: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=82808<VLAN_MTU,WOL_UCAST,WOL_MAGIC,LINKSTATE>
        ether 00:19:5b:31:f0:2b
        inet 192.168.10.201 netmask 0xffffff00 broadcast 192.168.10.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
adm: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=82008<VLAN_MTU,WOL_MAGIC,LINKSTATE>
        ether 10:bf:48:e7:85:09
        inet 192.168.10.202 netmask 0xffffff00 broadcast 192.168.10.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
ipfw0: flags=8801<UP,SIMPLEX,MULTICAST> metric 0 mtu 65536
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
        inet 127.0.0.1 netmask 0xff000000
Вроде с проблемой разобрался, правда не до конца уверен, что правильно. Прошу специалистов прокоментировать (полный конфиг с правилами):

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
-q -f flush
 
add check-state
 
#Allow all via lo and deny ip between lo->other and other->lo
add pass all from any to any via lo0
add deny ip from any to 127.0.0.0/8
add deny ip from 127.0.0.0/8 to any
 
add allow all from any 22 to any out keep-state
add allow all from any to any 22 in keep-state  
 
 #For using TimeViewer, http and https
add allow all from any to any 5938 out keep-state
add allow all from any to any 443 out keep-state
add allow all from any to any 80 out keep-state
 
#Allow all via lan
add allow all from any to any via lan
 
#Allow all via adm
add allow all from any to any via adm
 
#Allow ICMP (ping, tracert)
#add allow ICMP from any to any
add allow icmp from any to any icmptypes 0,8,11
 
add deny log all from any to any
Заработало, когда указал порт 22 возле from.

Dr_Quake
Насколько я понимаю, keep_state нужен для того, чтобы по исходящему правилу создать динамическое входящее правило для соединения(чтобы, скажем, не разрешать все входящие пакеты, можно разрешить исходящие, а аналог. им входящие будут создаваться динамически на время). Сам в этом только разбираюсь, могу ошибаться)))
0
Заблокирован
09.09.2014, 21:51 8
Нет, только соединение в таком виде. В последнем по идее от версии зависит, в старом established ещё надо, в новом это автоматом check-state/setup.
1
10 / 10 / 2
Регистрация: 11.01.2013
Сообщений: 153
09.09.2014, 23:21 9
Мне вот только одно не понятно.
3 интерфейса живут в 1 сети \24 с разными адресами. Это разве нормально?
1
Заблокирован
09.09.2014, 23:34 10
Так давно можно(в том смысле что не отвалится), но имена какие-то левые. Смысл? Проще алиасы.
1
0 / 0 / 0
Регистрация: 03.08.2011
Сообщений: 8
09.09.2014, 23:49  [ТС] 11
L1ght13aby
Dr_Quake
Это еще тестовая версия, нужно же разобраться, прежде чем внедрять. В принципе у нас на входе WAN стоит роутер с примитивным файерволом, но хотелось бы чего-то получше + прокси + возможно, почта. Поэтому пока подумал прям в сети организовать, протестить, потом уже ввести отдельную подсеть роутер-сервак, а далее две подсети уже в локалке. Норм. вариант?
Имена левые, чтобы удобнее было:
Bash
1
2
3
4
#/etc/rc.conf
ifconfig_em0_name="wan"
ifconfig_vr0_name="lan"
ifconfig_ste0_name="adm"
0
10 / 10 / 2
Регистрация: 11.01.2013
Сообщений: 153
10.09.2014, 02:05 12
Используйте всего 2 сетевые - зачем по несколько адресов из одной сети да и на разных интерфейсах?
Сами ж потом запутаетесь, а если не запутаетесь - то всё равно выглядит адово.
0
0 / 0 / 0
Регистрация: 03.08.2011
Сообщений: 8
10.09.2014, 03:08  [ТС] 13
Самому кажется адово))) Но пока для разделения админ. части и пользователей во внутренней сети приходит на ум настроить отдельные интерфейсы, вроде так легче, да и сетевуха есть (при большом потоке инф-и от пользователей лучше иметь отдельный интерфейс для администрирования).
0
14 / 14 / 5
Регистрация: 10.08.2014
Сообщений: 95
11.09.2014, 07:43 14
Лучший ответ Сообщение было отмечено borkhalenko как решение

Решение

Цитата Сообщение от borkhalenko Посмотреть сообщение
10 add allow all from any 22 to any out keep-state
Это правило зачем?
Разве этого
Цитата Сообщение от borkhalenko Посмотреть сообщение
11 add allow all from any to any 22 in keep-state
недостаточно?
in и out редко используют сами по себе, обычно в связке с recv и xmit соответственно.

check-state в принципе необязательно, т.к. если его нет, то состояние динамического правила проверяется первым по списку keep-state или limit. Но, тем не менее, желательно.

Цитата Сообщение от L1ght13aby Посмотреть сообщение
Если не ошибаюсь - требуется ещё наличие setup.
И в начале нужно check-state.
Цитата Сообщение от Dr_Quake Посмотреть сообщение
В последнем по идее от версии зависит, в старом established ещё надо, в новом это автоматом check-state/setup.
Зачем вы путаете человека? setup и established используются только для протоколов TCP, т.к. проверяют наличие SYN-флага и ACK-флага соответственно.
Параметры check-state,keep-state и limit вообще из другой "оперы", они относятся к stateful функциям ipfw и могут быть использованы как при проверке передачи данных с установлением логического соединения, так и датограмной передаче. При попадении пакета под правило с keep-state или limit, ipfw создаёт динамическое правило с ограниченным временем жизни на основе протокола, адресов источника и получателя и/или портов источника и получателя, чтобы пакет мог вернуться. Каждый раз, когда пакет снова попадает под динамическое правило, время жизни обновляется.
1
Заблокирован
11.09.2014, 12:33 15
outl4w, кого это я путаю? Что, ssh научился по udp работать?
0
14 / 14 / 5
Регистрация: 10.08.2014
Сообщений: 95
11.09.2014, 12:54 16
Dr_Quake, конечно, нет.
Я к тому, что в контексте вопроса о стейтфул функции keep-state, зашла речь о параметрах setup и established, которые к этому не имеют никакого отношения.
0
Заблокирован
11.09.2014, 13:03 17
Раньше имело. К.О.
0
11.09.2014, 13:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.09.2014, 13:03
Помогаю со студенческими работами здесь

Freebsd NATD IPFW
Подскажите, кто может, как настроить доступ в интернет LAN сети через роутер FreeBsd 8.0 Такой...

IPFW перенаправление DNS
Как составить конфигурация ipfw, чтобы все запросы DNS из локальной сети перенаправлялись только в...

Что не так с ipfw
Добрый день помогите плиз с одной задачкой: Для начала опишу пациента, стоит freebsd 8.2,...

ipfw не работает правило
Вот что у меня в правилах ipfw -f flush ipfw add deny ip from &quot;table(1)&quot; to me ipfw add allow...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru