URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 59761
[ Назад ]

Исходное сообщение
"Помогите разобраться с IPFW"

Отправлено Levchik , 05-Сен-05 08:24 
FreeBSD 4.9 Stable.
Помогите плс разобраться с IPFW.
------ config ipfw----------

#!/bin/sh
    /sbin/ipfw/-f flush

# Set this to your ip address.
#ip="1.2.3.4"

# Allow communications through loopback interface and deny 127.0.0.1/8
# from any other interfaces
    setup_loopback
    ipfw add 100 pass all from any to any via lo0
    ipfw add 101 deny all from any to 127.0.0.0/8
    ipfw add 103 deny ip from 127.0.0.0/8 to any

# Allow anything outbound from this address.
    ipfw add 104 allow all from 1.2.3.4 to any out

# Deny anything outbound from other addresses.
    ipfw add 105 deny log all from any to any out

# Allow TCP through if setup succeeded.
    ipfw add 110 allow tcp from any to any established

# Allow IP fragments to pass through.
    ipfw add 115 allow all from any to any frag

# Allow inbound ftp, email, tcp-dns, http, https, pop3, pop3s, ssh
    ipfw add 120 allow tcp from any to 1.2.3.4 20 setup
    ipfw add 125 allow tcp from any to 1.2.3.4 21 setup
#ipfw add 130 allow tcp from any to 1.2.3.4 22 setup
    ipfw add 135 allow tcp from any to 1.2.3.4 25 setup
    ipfw add 140 allow tcp from any to 1.2.3.4 53 setup
    ipfw add 145 allow tcp from any to 1.2.3.4 80 setup
    ipfw add 150 allow tcp from any to 1.2.3.4 443 setup
    ipfw add 155 allow tcp from any to 1.2.3.4 110 setup
    ipfw add 160 allow tcp from any to 1.2.3.4 995 setup
    ipfw add 165 allow tcp from any to 1.2.3.4 24816 setup

# Deny inbound auth, netbios, ldap, and Microsoft's DB protocol
# without logging.
    ipfw add 170 deny tcp from any to 1.2.3.4 113 setup
    ipfw add 175 deny tcp from any to 1.2.3.4 135-139 setup
    ipfw add 180 deny tcp from any to 1.2.3.4 389 setup
    ipfw add 185 deny tcp from any to 1.2.3.4 445 setup
    ipfw add 185 deny tcp from any to 1.2.3.4 1433-1434 setup

# Deny some chatty UDP broadcast protocols without logging.
    ipfw add 190 deny udp from any 137 to any
    ipfw add 195 deny udp from any to any 137
    ipfw add 200 deny udp from any 138 to any
    ipfw add 205 deny udp from any 513 to any
    ipfw add 208 deny udp from any 525 to any

# Pravilo protiv Spuffinga, FIN_scan, X_scan,N_scan,
#    ipfw add 210 deny ip from any to any not verrevpath in
#    ipfw add 211 reject tcp from any to any not established tcpflags fin
#    ipfw add 212 reject tcp from any to any tcpflags fin, syn, rst, psh, ack, urg
#    ipfw add 213 reject tcp from any to any tcpflags !fin, !syn, !rst, !psh, !ack, !urg

# Allow inbound DNS and NTP replies.  This is somewhat of a hole,
# since we're looking at the incoming port number, which can be
# faked, but that's just the way DNS, NNTP and NTP work.
    ipfw add 214 allow udp from any 53 to 1.2.3.4
    ipfw add 215 allow udp from any 119 to 1.2.3.4
    ipfw add 220 allow udp from any 123 to 1.2.3.4

# Allow inbound DNS queries.
    ipfw add 225 allow udp from any to 1.2.3.4 53

# Deny inbound NTP queries without logging.
    ipfw add 230 deny udp from any to 1.2.3.4 123

# Allow traceroute to function, but not to get in.
    ipfw add 235 unreach port udp from any to 1.2.3.4 33435-33524

# Allow some inbound icmps - echo reply, dest unreach, source quench,
# echo, ttl exceeded, IP header bad
    ipfw add 240 allow icmp from any to any icmptypes 0,3,4,8,11,12

# Everything else is denied and logged.
#    ipfw add 245 reject log tcp from any to any tcpflags fin, syn, rst, psh, ack, urg
#    ipfw add 250 reject log tcp from any to any tcpflags !fin, !syn, !rst, !psh, !ack, !urg
#    ipfw add 255 reject log tcp from any to any not established tcpflags fin
#    ipfw add 260 deny log ip from any to any not verrevpath in
    ipfw add 265 deny log all from any to any
--------------- end config IPFW ---------------------------------------------------------

В логах очень много сообщений такого вида:
   > Connection attempt to UDP 127.0.0.1:512 from 127.0.0.1:4895
   > Connection attempt to UDP 127.0.0.1:512 from 127.0.0.1:1147
   > Connection attempt to UDP 127.0.0.1:512 from 127.0.0.1:4895
   > Connection attempt to UDP 127.0.0.1:512 from 127.0.0.1:1147
   > Connection attempt to UDP 127.0.0.1:512 from 127.0.0.1:4895
   > Connection attempt to UDP 127.0.0.1:512 from 127.0.0.1:1147
которые  забивают лог фаервола.Вроде как правила с № 100 по № 103 правильные.

Также в логах, почему то IPFW ругается на ДНС провайдера:
  > Connection attempt to UDP 1.2.3.4:1722 from ip.dns.pro.vaidera:53
  > Connection attempt to UDP 1.2.3.4:1738 from ip.dns.pro.vaidera:53
На мой взгляд в правилах № 140, 214, 225 ощибок нет

При загрузке правил с № 210-213 и с № 245 - 260 ругается на неправильные tcpflags:

/kernel: unknown or out of order argument ``syn,''
/kernel: unknown argument ``not''
/kernel: unknown or out of order argument ``!syn,''
Читал в манах, вроде как флаги правильные, в чем моя ошибка?


Содержание

Сообщения в этом обсуждении
"Помогите разобраться с IPFW"
Отправлено antoshkin , 05-Сен-05 12:34 
setup_loopback - убрать - это осталось из rc.firewall

Connection atempt - это попытка законнектиться на неиспользуемый порт.
У меня такое было с 127.0.0.1 когда неправильно было настроено "via lo0"
Сделай ipfw show - и смотри внимательно - наверняка либо с номерами правил ошибка, либо лишние правила есть.


"Помогите разобраться с IPFW"
Отправлено antoshkin , 05-Сен-05 16:55 
>setup_loopback - убрать - это осталось из rc.firewall
>
>Connection atempt - это попытка законнектиться на неиспользуемый порт.
>У меня такое было с 127.0.0.1 когда неправильно было настроено "via lo0"
>
>Сделай ipfw show - и смотри внимательно - наверняка либо с номерами
>правил ошибка, либо лишние правила есть.

Наврал. У меня было так:
Sep  5 08:17:22 srv kernel: ipfw: 100 Deny UDP 127.0.0.1:32784 127.0.0.1:1026 in via lo0

А тот Connection Attempt - это когда файрвол пропускает, но порт никем не слушается - ядро выдает такой мессадж.
Чтоб отключить - надо крутить sysctl.
Цитата: "...net.inet.tcp.log_in_vain, net.inet.udp.log_in_vain - если 1, отражаем в логе попытки соединения к портам, для которых нет активных сервисов..."
Отсюда: http://www.opennet.me/opennews/art.shtml?num=5424
Я у себя отключил - часто были такие мессаги когда ходишь по сайтам.
Connection attempt to my.ip.ad.rr port 34453 from адрес.сайта. port 80.


"Помогите разобраться с IPFW"
Отправлено Elbrus , 05-Сен-05 14:56 
>ipfw add 101 deny all from any to 127.0.0.0/8
>ipfw add 103 deny ip from 127.0.0.0/8 to any

вот от сюда скорее всего отказ от UDP внутри машины

а на счет флагов хез
слишком уж у тебя все перезаморочено
просто удали их раз ему не нравятся :)