www# ipfw show
00100 18129 1907310 allow udp from any to any 53 keep-state
00200 1729 124370 allow icmp from any to any
00300 213092 23669061 allow tcp from any to any 80
00400 254340 188721010 allow tcp from any 80 to any
00500 14 732 allow tcp from any to any 20
00600 19 5857 allow tcp from any 20 to any
00700 809 72955 allow tcp from any 21 to any
00800 802 41855 allow tcp from any to any 21
00900 0 0 allow tcp from IP_1 22 to IP_2
01000 0 0 allow tcp from IP_2 22 to IP_1 22
01100 14436 9076776 allow tcp from any to any 25
01200 14139 696352 allow tcp from any 25 to any
01300 1923 81399 allow tcp from any to any 110
01400 1951 825080 allow tcp from any 110 to any
01500 1 44 allow tcp from any 3306 to any
01600 1393630 154374977 allow tcp from any to any 1024-65535
01700 7832 404215 allow tcp from any 1024-65535 to any
01800 0 0 allow tcp from any to any 1024-65535
01900 954 58408 allow udp from any 1024-65535 to any
65535 57918 7843714 deny ip from any to any
www#
собсно вот... НО ssh пускает с люого IP ... где то он (ipfw) перед этим правилом пропускает пакет для ssh ...
>www# ipfw show
>00100 18129 1907310 allow udp from any to
>any 53 keep-state
>00200 1729 124370 allow icmp from
>any to any
>00300 213092 23669061 allow tcp from any to any 80
>
>00400 254340 188721010 allow tcp from any 80 to any
>00500 14
> 732 allow tcp from any to any 20
>00600 19
>5857 allow tcp from any 20 to any
>00700 809 72955 allow
>tcp from any 21 to any
>00800 802 41855 allow
>tcp from any to any 21
>00900 0
> 0 allow tcp from IP_1 22 to
>IP_2
>01000 0
> 0 allow tcp from IP_2 22 to
>IP_1 22
>01100 14436 9076776 allow tcp from any to
>any 25
>01200 14139 696352 allow tcp from any
>25 to any
>01300 1923 81399 allow tcp
>from any to any 110
>01400 1951 825080 allow tcp from
>any 110 to any
>01500 1
> 44 allow tcp from any 3306 to any
>
>01600 1393630 154374977 allow tcp from any to any 1024-65535
>01700 7832 404215 allow tcp from
>any 1024-65535 to any
>01800 0
> 0 allow tcp from any to any
>1024-65535
>01900 954 58408 allow
>udp from any 1024-65535 to any
>65535 57918 7843714 deny ip from any to
>any
>www#
>собсно вот... НО ssh пускает с люого IP ... где то он
>(ipfw) перед этим правилом пропускает пакет для ssh ...не должен пропускать...
и опечатался наверное:
ipfw add pass tcp from IP_1 to IP_2 22
ipfw add pass tcp from IP_2 22 to IP_1
>>www# ipfw show
>>00100 18129 1907310 allow udp from any to
>>any 53 keep-state
>>00200 1729 124370 allow icmp from
>>any to any
>>00300 213092 23669061 allow tcp from any to any 80
>>
>>00400 254340 188721010 allow tcp from any 80 to any
>>00500 14
>> 732 allow tcp from any to any 20
>>00600 19
>>5857 allow tcp from any 20 to any
>>00700 809 72955 allow
>>tcp from any 21 to any
>>00800 802 41855 allow
>>tcp from any to any 21
>>00900 0
>> 0 allow tcp from IP_1 22 to
>>IP_2
>>01000 0
>> 0 allow tcp from IP_2 22 to
>>IP_1 22
>>01100 14436 9076776 allow tcp from any to
>>any 25
>>01200 14139 696352 allow tcp from any
>>25 to any
>>01300 1923 81399 allow tcp
>>from any to any 110
>>01400 1951 825080 allow tcp from
>>any 110 to any
>>01500 1
>> 44 allow tcp from any 3306 to any
>>
>>01600 1393630 154374977 allow tcp from any to any 1024-65535
>>01700 7832 404215 allow tcp from
>>any 1024-65535 to any
>>01800 0
>> 0 allow tcp from any to any
>>1024-65535
>>01900 954 58408 allow
>>udp from any 1024-65535 to any
>>65535 57918 7843714 deny ip from any to
>>any
>>www#
>>собсно вот... НО ssh пускает с люого IP ... где то он
>>(ipfw) перед этим правилом пропускает пакет для ssh ...
>
>не должен пропускать...
>и опечатался наверное:
>ipfw add pass tcp from IP_1 to IP_2 22
>ipfw add pass tcp from IP_2 22 to IP_1Вот
01700 7832 404215 allow tcp from any 1024-65535 to any
>>>www# ipfw show
>>>00100 18129 1907310 allow udp from any to
>>>any 53 keep-state
>>>00200 1729 124370 allow icmp from
>>>any to any
>>>00300 213092 23669061 allow tcp from any to any 80
>>>
>>>00400 254340 188721010 allow tcp from any 80 to any
>>>00500 14
>>> 732 allow tcp from any to any 20
>>>00600 19
>>>5857 allow tcp from any 20 to any
>>>00700 809 72955 allow
>>>tcp from any 21 to any
>>>00800 802 41855 allow
>>>tcp from any to any 21
>>>00900 0
>>> 0 allow tcp from IP_1 22 to
>>>IP_2
>>>01000 0
>>> 0 allow tcp from IP_2 22 to
>>>IP_1 22
>>>01100 14436 9076776 allow tcp from any to
>>>any 25
>>>01200 14139 696352 allow tcp from any
>>>25 to any
>>>01300 1923 81399 allow tcp
>>>from any to any 110
>>>01400 1951 825080 allow tcp from
>>>any 110 to any
>>>01500 1
>>> 44 allow tcp from any 3306 to any
>>>
>>>01600 1393630 154374977 allow tcp from any to any 1024-65535
>>>01700 7832 404215 allow tcp from
>>>any 1024-65535 to any
>>>01800 0
>>> 0 allow tcp from any to any
>>>1024-65535
>>>01900 954 58408 allow
>>>udp from any 1024-65535 to any
>>>65535 57918 7843714 deny ip from any to
>>>any
>>>www#
>>>собсно вот... НО ssh пускает с люого IP ... где то он
>>>(ipfw) перед этим правилом пропускает пакет для ssh ...
>>
>>не должен пропускать...
>>и опечатался наверное:
>>ipfw add pass tcp from IP_1 to IP_2 22
>>ipfw add pass tcp from IP_2 22 to IP_1
>
>Вот
>
>01700 7832 404215 allow tcp from
>any 1024-65535 to anyну так указано вроде как порты от 1024 - 65535 можно юзать...а причём тут 22?
как тогда нада сделать?
>>www# ipfw show
>>00100 18129 1907310 allow udp from any to
>>any 53 keep-state
>>00200 1729 124370 allow icmp from
>>any to any
>>00300 213092 23669061 allow tcp from any to any 80
>>
>>00400 254340 188721010 allow tcp from any 80 to any
>>00500 14
>> 732 allow tcp from any to any 20
>>00600 19
>>5857 allow tcp from any 20 to any
>>00700 809 72955 allow
>>tcp from any 21 to any
>>00800 802 41855 allow
>>tcp from any to any 21
>>00900 0
>> 0 allow tcp from IP_1 22 to
>>IP_2
>>01000 0
>> 0 allow tcp from IP_2 22 to
>>IP_1 22
>>01100 14436 9076776 allow tcp from any to
>>any 25
>>01200 14139 696352 allow tcp from any
>>25 to any
>>01300 1923 81399 allow tcp
>>from any to any 110
>>01400 1951 825080 allow tcp from
>>any 110 to any
>>01500 1
>> 44 allow tcp from any 3306 to any
>>
>>01600 1393630 154374977 allow tcp from any to any 1024-65535
>>01700 7832 404215 allow tcp from
>>any 1024-65535 to any
>>01800 0
>> 0 allow tcp from any to any
>>1024-65535
>>01900 954 58408 allow
>>udp from any 1024-65535 to any
>>65535 57918 7843714 deny ip from any to
>>any
>>www#
>>собсно вот... НО ssh пускает с люого IP ... где то он
>>(ipfw) перед этим правилом пропускает пакет для ssh ...
>
>не должен пропускать...
>и опечатался наверное:
>ipfw add pass tcp from IP_1 to IP_2 22
>ipfw add pass tcp from IP_2 22 to IP_1да, опечатался...
но ведь всё же не ворк...со всех IP пускает...
>www# ipfw show
>00100 18129 1907310 allow udp from any to
>any 53 keep-state
>00200 1729 124370 allow icmp from
>any to any
>00300 213092 23669061 allow tcp from any to any 80
>
>00400 254340 188721010 allow tcp from any 80 to any
>00500 14
> 732 allow tcp from any to any 20
>00600 19
>5857 allow tcp from any 20 to any
>00700 809 72955 allow
>tcp from any 21 to any
>00800 802 41855 allow
>tcp from any to any 21
>00900 0
> 0 allow tcp from IP_1 22 to
>IP_2
>01000 0
> 0 allow tcp from IP_2 22 to
>IP_1 22
>01100 14436 9076776 allow tcp from any to
>any 25
>01200 14139 696352 allow tcp from any
>25 to any
>01300 1923 81399 allow tcp
>from any to any 110
>01400 1951 825080 allow tcp from
>any 110 to any
>01500 1
> 44 allow tcp from any 3306 to any
>
>01600 1393630 154374977 allow tcp from any to any 1024-65535
>01700 7832 404215 allow tcp from
>any 1024-65535 to any
>01800 0
> 0 allow tcp from any to any
>1024-65535
>01900 954 58408 allow
>udp from any 1024-65535 to any
>65535 57918 7843714 deny ip from any to
>any
>www#
>собсно вот... НО ssh пускает с люого IP ... где то он
>(ipfw) перед этим правилом пропускает пакет для ssh ...не должен пропускать...
и опечатался наверное:
ipfw add pass tcp from IP_1 to IP_2 22
ipfw add pass tcp from IP_2 22 to IP_1
>>www# ipfw show
>>00100 18129 1907310 allow udp from any to
>>any 53 keep-state
>>00200 1729 124370 allow icmp from
>>any to any
>>00300 213092 23669061 allow tcp from any to any 80
>>
>>00400 254340 188721010 allow tcp from any 80 to any
>>00500 14
>> 732 allow tcp from any to any 20
>>00600 19
>>5857 allow tcp from any 20 to any
>>00700 809 72955 allow
>>tcp from any 21 to any
>>00800 802 41855 allow
>>tcp from any to any 21
>>00900 0
>> 0 allow tcp from IP_1 22 to
>>IP_2
>>01000 0
>> 0 allow tcp from IP_2 22 to
>>IP_1 22
>>01100 14436 9076776 allow tcp from any to
>>any 25
>>01200 14139 696352 allow tcp from any
>>25 to any
>>01300 1923 81399 allow tcp
>>from any to any 110
>>01400 1951 825080 allow tcp from
>>any 110 to any
>>01500 1
>> 44 allow tcp from any 3306 to any
>>
>>01600 1393630 154374977 allow tcp from any to any 1024-65535
>>01700 7832 404215 allow tcp from
>>any 1024-65535 to any
>>01800 0
>> 0 allow tcp from any to any
>>1024-65535
>>01900 954 58408 allow
>>udp from any 1024-65535 to any
>>65535 57918 7843714 deny ip from any to
>>any
>>www#
>>собсно вот... НО ssh пускает с люого IP ... где то он
>>(ipfw) перед этим правилом пропускает пакет для ssh ...
>
>не должен пропускать...
>и опечатался наверное:
>ipfw add pass tcp from IP_1 to IP_2 22
>ipfw add pass tcp from IP_2 22 to IP_1блин выше не считается :)
короче, тебе уже написали - действительно пропускаетлучше так:
ipfw add 1600 pass tcp from any 1024-65535 to any 1024-65535или еще лучше так:
ipfw add 1600 pass tcp from any 1024-65535 to any 1024-65535 out via $ext_iface setup
ipfw add 1650 pass tcp from any 1024-65535 to any 1024-65535 in via $ext_iface establishedкак-нибудь так
>>>www# ipfw show
>>>00100 18129 1907310 allow udp from any to
>>>any 53 keep-state
>>>00200 1729 124370 allow icmp from
>>>any to any
>>>00300 213092 23669061 allow tcp from any to any 80
>>>
>>>00400 254340 188721010 allow tcp from any 80 to any
>>>00500 14
>>> 732 allow tcp from any to any 20
>>>00600 19
>>>5857 allow tcp from any 20 to any
>>>00700 809 72955 allow
>>>tcp from any 21 to any
>>>00800 802 41855 allow
>>>tcp from any to any 21
>>>00900 0
>>> 0 allow tcp from IP_1 22 to
>>>IP_2
>>>01000 0
>>> 0 allow tcp from IP_2 22 to
>>>IP_1 22
>>>01100 14436 9076776 allow tcp from any to
>>>any 25
>>>01200 14139 696352 allow tcp from any
>>>25 to any
>>>01300 1923 81399 allow tcp
>>>from any to any 110
>>>01400 1951 825080 allow tcp from
>>>any 110 to any
>>>01500 1
>>> 44 allow tcp from any 3306 to any
>>>
>>>01600 1393630 154374977 allow tcp from any to any 1024-65535
>>>01700 7832 404215 allow tcp from
>>>any 1024-65535 to any
>>>01800 0
>>> 0 allow tcp from any to any
>>>1024-65535
>>>01900 954 58408 allow
>>>udp from any 1024-65535 to any
>>>65535 57918 7843714 deny ip from any to
>>>any
>>>www#
>>>собсно вот... НО ssh пускает с люого IP ... где то он
>>>(ipfw) перед этим правилом пропускает пакет для ssh ...
>>
>>не должен пропускать...
>>и опечатался наверное:
>>ipfw add pass tcp from IP_1 to IP_2 22
>>ipfw add pass tcp from IP_2 22 to IP_1
>
>блин выше не считается :)
>короче, тебе уже написали - действительно пропускает
>
>лучше так:
>ipfw add 1600 pass tcp from any 1024-65535 to any 1024-65535
>
>или еще лучше так:
>ipfw add 1600 pass tcp from any 1024-65535 to any 1024-65535 out
>via $ext_iface setup
>ipfw add 1650 pass tcp from any 1024-65535 to any 1024-65535 in
>via $ext_iface established
>
>как-нибудь так
ок, понял...можно кратко рассказать о, setup и established? (в ман не бросать ...)
на машине нет манов...
>ок, понял...можно кратко рассказать о, setup и established? (в ман не бросать
>...)
>на машине нет манов...о горе, что случилось с Интернетом? ни одна поисковая машина не работает, сайты freebsd.org, freebsd.org.ru и остальные не отвечают, все пропало....
так???
и думать к тому же лень.... но я спасу тебя, о храброславленный герой:
setup Matches TCP packets that have the SYN bit set but no ACK bit.
This is the short form of ``tcpflags syn,!ack''.established Matches TCP packets that have the RST or ACK bits set.
>>>>www# ipfw show
>>>>00100 18129 1907310 allow udp from any to
>>>>any 53 keep-state
>>>>00200 1729 124370 allow icmp from
>>>>any to any
>>>>00300 213092 23669061 allow tcp from any to any 80
>>>>
>>>>00400 254340 188721010 allow tcp from any 80 to any
>>>>00500 14
>>>> 732 allow tcp from any to any 20
>>>>00600 19
>>>>5857 allow tcp from any 20 to any
>>>>00700 809 72955 allow
>>>>tcp from any 21 to any
>>>>00800 802 41855 allow
>>>>tcp from any to any 21
>>>>00900 0
>>>> 0 allow tcp from IP_1 22 to
>>>>IP_2
>>>>01000 0
>>>> 0 allow tcp from IP_2 22 to
>>>>IP_1 22
>>>>01100 14436 9076776 allow tcp from any to
>>>>any 25
>>>>01200 14139 696352 allow tcp from any
>>>>25 to any
>>>>01300 1923 81399 allow tcp
>>>>from any to any 110
>>>>01400 1951 825080 allow tcp from
>>>>any 110 to any
>>>>01500 1
>>>> 44 allow tcp from any 3306 to any
>>>>
>>>>01600 1393630 154374977 allow tcp from any to any 1024-65535
>>>>01700 7832 404215 allow tcp from
>>>>any 1024-65535 to any
>>>>01800 0
>>>> 0 allow tcp from any to any
>>>>1024-65535
>>>>01900 954 58408 allow
>>>>udp from any 1024-65535 to any
>>>>65535 57918 7843714 deny ip from any to
>>>>any
>>>>www#
>>>>собсно вот... НО ssh пускает с люого IP ... где то он
>>>>(ipfw) перед этим правилом пропускает пакет для ssh ...
>>>
>>>не должен пропускать...
>>>и опечатался наверное:
>>>ipfw add pass tcp from IP_1 to IP_2 22
>>>ipfw add pass tcp from IP_2 22 to IP_1
>>
>>блин выше не считается :)
>>короче, тебе уже написали - действительно пропускает
>>
>>лучше так:
>>ipfw add 1600 pass tcp from any 1024-65535 to any 1024-65535
>>
>>или еще лучше так:
>>ipfw add 1600 pass tcp from any 1024-65535 to any 1024-65535 out
>>via $ext_iface setup
>>ipfw add 1650 pass tcp from any 1024-65535 to any 1024-65535 in
>>via $ext_iface established
>>
>>как-нибудь так
>
>
>ок, понял...можно кратко рассказать о, setup и established? (в ман не бросать
>...)
>на машине нет манов...кратко:
setup - те пакеты, которые инициируют соединение TCP (SYN флаг)
established - пакеты, которые имеют ACK флаг (и еще какие нибудь или только его)
так вот
соединение TCP устанавливается так:
клиент серверу шлет SYN пакет (который мы разрешили правилом setup)
сервер отвечает клиенту пакетом с флагами SYN,ACK (который мы разрешили правилом established)
клиент шлет серверу пакет ACK (который мы разрешили) и с этого момента соединение установлено
все пакеты далее в обе стороны будут иметь флаг ACK (и возможно другие)суть тех двух правил в том, что разрешается устанавливать соединения наружу, но запрещается изнутри
надеюсь, стало понятнее :)
BEWARE: stateful rules can be subject to denial-of-service attacks by a
SYN-flood which opens a huge number of dynamic rules. The effects of
such attacks can be partially limited by acting on a set of sysctl(8)
variables which control the operation of the firewall.Точно понимание абзаца? и насколько в таком случае оправдано использовение динамических правил в отличии от статических.
> BEWARE: stateful rules can be subject to denial-of-service attacks by a
>
> SYN-flood which opens a huge number of
>dynamic rules. The effects of
> such attacks can be partially limited by
>acting on a set of sysctl(8)
> variables which control the operation of the
>firewall.
>
>Точно понимание абзаца? и насколько в таком случае оправдано использовение динамических правил
>в отличии от статических.точное понимание в следующем:
динамические правила могут стать жертвой атак отказа в обслуживании, например атаки SYN-flood, которая открывает кучу соединение посылкой кучи SYN пакетов. Последствия таких атак могут быть уменьшены через переменные sysctl
конкретно переменные я так понимаю следующие:
net.inet.ip.fw.dyn_buckets
net.inet.ip.fw.dyn_keepalive
net.inet.ip.fw.dyn_max
net.inet.ip.fw.dyn_{ack|syn|fin|rst|udp|short}_lifetimeэто из мана
насчет оправдано:
я не использую динамических правил.
могу сказать только, что создавать динамические правила на ВСЕ соединения - точно неоправдано (ресурсы+могут запинать)
ну иногда правила limit бывают полезны...а вообще - пара setup/established вполне работают... :)
Обратите внимание на ссылку http://www.opennet.me/openforum//vsluhforumID1/24532.html, посвященную "пользе" от правила "allow icmp from any to any"...
>Обратите внимание на ссылку http://www.opennet.me/openforum//vsluhforumID1/24532.html, посвященную "пользе" от правила "allow icmp from
>any to any"...обратили :)
так никто и не спорит вообще-то...
весь вопрос в том, какие icmp типы разрешать, а какие запрещать... (?)
>Обратите внимание на ссылку http://www.opennet.me/openforum//vsluhforumID1/24532.html, посвященную "пользе" от правила "allow icmp from
>any to any"...
всем спасиба за помощь...тем кто разъяснил всё ... а насчёт icmp фильтрации...как посоветуете правильно делать?
>>Обратите внимание на ссылку http://www.opennet.me/openforum//vsluhforumID1/24532.html, посвященную "пользе" от правила "allow icmp from
>>any to any"...
>
>
>всем спасиба за помощь...тем кто разъяснил всё ... а насчёт icmp фильтрации...как
>посоветуете правильно делать?может так?
${fwcmd} add xxx allow icmp from any to any icmptypes 0,3,8,11хотя все конечно зависит от конкретных потребностей...
>>>Обратите внимание на ссылку http://www.opennet.me/openforum//vsluhforumID1/24532.html, посвященную "пользе" от правила "allow icmp from
>>>any to any"...
>>
>>
>>всем спасиба за помощь...тем кто разъяснил всё ... а насчёт icmp фильтрации...как
>>посоветуете правильно делать?
>
>может так?
>${fwcmd} add xxx allow icmp from any to any icmptypes 0,3,8,11
>
>хотя все конечно зависит от конкретных потребностей...на сервере крутится apache php perl mysql dns irc ftp nntp
>>>>Обратите внимание на ссылку http://www.opennet.me/openforum//vsluhforumID1/24532.html, посвященную "пользе" от правила "allow icmp from
>>>>any to any"...
>>>
>>>
>>>всем спасиба за помощь...тем кто разъяснил всё ... а насчёт icmp фильтрации...как
>>>посоветуете правильно делать?
>>
>>может так?
>>${fwcmd} add xxx allow icmp from any to any icmptypes 0,3,8,11
>>
>>хотя все конечно зависит от конкретных потребностей...
>
>на сервере крутится apache php perl mysql dns irc ftp nntp
дело же не в этом...
echo reply (0), destination unreachable (3), source quench (4), redirect (5), echo request (8), router advertisement (9), router solicitation (10), time-to-live exceeded (11), IP header bad (12), timestamp request (13), timestamp reply (14), information request (15), information reply (16), address mask request (17) and address mask reply (18).
если тебе нужен обычный пинг - разрешаешь 0 и 8, если ты хочешь получать сведения о доступности - 3, 11. А может тебе нужно кому-то по icmp отдавать маску...
Опять же, согласно известному принципу - нужно запретить все, разрешить только то, что необходимо. Вот исходя из этого, в предыдущем посте я и привел пример. Нужно будет что-то еще - откроешь, а так зачем?
>>>>>Обратите внимание на ссылку http://www.opennet.me/openforum//vsluhforumID1/24532.html, посвященную "пользе" от правила "allow icmp from
>>>>>any to any"...
>>>>
>>>>
>>>>всем спасиба за помощь...тем кто разъяснил всё ... а насчёт icmp фильтрации...как
>>>>посоветуете правильно делать?
>>>
>>>может так?
>>>${fwcmd} add xxx allow icmp from any to any icmptypes 0,3,8,11
>>>
>>>хотя все конечно зависит от конкретных потребностей...
>>
>>на сервере крутится apache php perl mysql dns irc ftp nntp
>
>
>дело же не в этом...
>echo reply (0), destination unreachable (3), source quench (4), redirect (5), echo
>request (8), router advertisement (9), router solicitation (10), time-to-live exceeded (11),
>IP header bad (12), timestamp request (13), timestamp reply (14), information
>request (15), information reply (16), address mask request (17) and address
>mask reply (18).
>если тебе нужен обычный пинг - разрешаешь 0 и 8, если ты
>хочешь получать сведения о доступности - 3, 11. А может тебе
>нужно кому-то по icmp отдавать маску...
>Опять же, согласно известному принципу - нужно запретить все, разрешить только то,
>что необходимо. Вот исходя из этого, в предыдущем посте я и
>привел пример. Нужно будет что-то еще - откроешь, а так зачем?
>всё ясно, большое спасиба за боле менее подробное объяснения...