The OpenNET Project / Index page

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

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

"pf + active_ftp"  +/
Сообщение от Gleb on 26-Авг-13, 11:53 
Привет знатокам PF!

Пытаюсь глубже понять механику работы pf
Как будет работать следующее правило?

anchor active_ftp out on $ext_if proto tcp to port ftp
anchor "active_ftp" {
    pass in on $ext_if proto tcp from any port ftp-data to any port > 1024
}

Интересует, если во время сеанса ftp открывается доступ ко всем портам > 1024 со всех хостов с 20 порта или только с того с кем установлен сеанс ftp?
т.е. будет-ли уязвима машина с любого хоста 20 порта во время сеанса ftp?

Спасибо.

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

Оглавление

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


1. "pf + active_ftp"  +/
Сообщение от reader (ok) on 26-Авг-13, 13:04 
>[оверквотинг удален]
> anchor "active_ftp" {
>     pass in on $ext_if proto tcp from any
> port ftp-data to any port > 1024
> }
> Интересует, если во время сеанса ftp открывается доступ ко всем портам >
> 1024 со всех хостов с 20 порта или только с того
> с кем установлен сеанс ftp?
> т.е. будет-ли уязвима машина с любого хоста 20 порта во время сеанса
> ftp?
> Спасибо.

по моему правила в якоре никогда не сработает, потому что в фильтре одни условия а в anchor "active_ftp" другие

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

2. "pf + active_ftp"  +/
Сообщение от Gleb on 26-Авг-13, 16:59 
> по моему правила в якоре никогда не сработает, потому что в фильтре
> одни условия а в anchor "active_ftp" другие

Как раз в этом и фокус.
Правило в якоре должно сработать лишь когда идет соединение на порт 21
И, похоже оно срабатывает
Вот лог:
~# pfctl -ss |grep 193.162.146.4
all tcp XXX.XXX.XXX.XXX:20858 -> 193.162.146.4:21       ESTABLISHED:ESTABLISHED
all tcp XXX.XXX.XXX.XXX:34157 <- 193.162.146.4:20       FIN_WAIT_2:FIN_WAIT_2
all tcp XXX.XXX.XXX.XXX:62719 <- 193.162.146.4:20       FIN_WAIT_2:FIN_WAIT_2
all tcp XXX.XXX.XXX.XXX:50760 <- 193.162.146.4:20       FIN_WAIT_2:FIN_WAIT_2
all tcp XXX.XXX.XXX.XXX:46470 <- 193.162.146.4:20       FIN_WAIT_2:FIN_WAIT_2
all tcp XXX.XXX.XXX.XXX:56813 <- 193.162.146.4:20       FIN_WAIT_2:FIN_WAIT_2
all tcp XXX.XXX.XXX.XXX:47993 <- 193.162.146.4:20       FIN_WAIT_2:FIN_WAIT_2

без якоря ftp не работает, в логах только:
# pfctl -ss |grep 193.162.146.4
all tcp XXX.XXX.XXX.XXX:20858 -> 193.162.146.4:21       TIME_WAIT:TIME_WAIT

Беспокоит другое.
Может кто-либо посторонний проникнуть на хост во время сеанса ftp если порт источника: 20?

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

3. "pf + active_ftp"  +/
Сообщение от Miha (??) on 26-Авг-13, 19:21 
>[оверквотинг удален]
> Правило в якоре должно сработать лишь когда идет соединение на порт 21
> И, похоже оно срабатывает
> Вот лог:
> ~# pfctl -ss |grep 193.162.146.4
> all tcp XXX.XXX.XXX.XXX:20858 -> 193.162.146.4:21       ESTABLISHED:ESTABLISHED
> all tcp XXX.XXX.XXX.XXX:34157 <- 193.162.146.4:20       FIN_WAIT_2:FIN_WAIT_2
> all tcp XXX.XXX.XXX.XXX:62719 <- 193.162.146.4:20       FIN_WAIT_2:FIN_WAIT_2
> all tcp XXX.XXX.XXX.XXX:50760 <- 193.162.146.4:20       FIN_WAIT_2:FIN_WAIT_2
> all tcp XXX.XXX.XXX.XXX:46470 <- 193.162.146.4:20       FIN_WAIT_2:FIN_WAIT_2
> all tcp XXX.XXX.XXX.XXX:56813 <- 193.162.146.4:20       FIN_WAIT_2:FIN_WAIT_2

Нет.
> all tcp XXX.XXX.XXX.XXX:47993 <- 193.162.146.4:20       FIN_WAIT_2:FIN_WAIT_2
> без якоря ftp не работает, в логах только:
> # pfctl -ss |grep 193.162.146.4
> all tcp XXX.XXX.XXX.XXX:20858 -> 193.162.146.4:21       TIME_WAIT:TIME_WAIT
> Беспокоит другое.
> Может кто-либо посторонний проникнуть на хост во время сеанса ftp если порт
> источника: 20?

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

4. "pf + active_ftp"  +/
Сообщение от Gleb on 26-Авг-13, 19:43 
>[оверквотинг удален]
>> all tcp XXX.XXX.XXX.XXX:46470 <- 193.162.146.4:20       FIN_WAIT_2:FIN_WAIT_2
>> all tcp XXX.XXX.XXX.XXX:56813 <- 193.162.146.4:20       FIN_WAIT_2:FIN_WAIT_2
> Нет.
>> all tcp XXX.XXX.XXX.XXX:47993 <- 193.162.146.4:20       FIN_WAIT_2:FIN_WAIT_2
>> без якоря ftp не работает, в логах только:
>> # pfctl -ss |grep 193.162.146.4
>> all tcp XXX.XXX.XXX.XXX:20858 -> 193.162.146.4:21       TIME_WAIT:TIME_WAIT
>> Беспокоит другое.
>> Может кто-либо посторонний проникнуть на хост во время сеанса ftp если порт
>> источника: 20?

Понял,
Спасибо.

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

5. "pf + active_ftp"  +/
Сообщение от reader (ok) on 27-Авг-13, 16:12 
что-то вы не допаказываете, вот счетчики после короткого сеанса по ftp

root@freebsd84_100:/etc # pfctl -ss -v
No ALTQ support in kernel
ALTQ related functions disabled
all tcp 10.10.0.49:46622 -> 10.10.0.254:21       FIN_WAIT_2:FIN_WAIT_2
   [2859643363 + 5792] wscale 3  [2420072735 + 66144] wscale 5
   age 00:02:04, expires in 00:01:23, 32:31 pkts, 1818:3181 bytes, anchor 2, rule 2
all tcp 10.10.0.49:23822 -> 10.10.0.254:35126       FIN_WAIT_2:FIN_WAIT_2
   [2018321773 + 5792] wscale 3  [2408701215 + 66144] wscale 5
   age 00:00:56, expires in 00:00:34, 4:4 pkts, 216:1589 bytes, anchor 3, rule 3
all tcp 10.10.0.49:63133 -> 10.10.0.254:46086       FIN_WAIT_2:FIN_WAIT_2
   [4144546923 + 5792] wscale 3  [2394323450 + 66144] wscale 5
   age 00:00:11, expires in 00:01:19, 9:12 pkts, 476:13933 bytes, anchor 3, rule 3


root@freebsd84_100:/etc # pfctl -sr -v
No ALTQ support in kernel
ALTQ related functions disabled
pass in quick on net0 inet proto tcp from any to any port = ssh flags S/SA keep state
  [ Evaluations: 10        Packets: 0         Bytes: 0           States: 0     ]
  [ Inserted: uid 0 pid 1394 ]
pass out quick on net0 inet proto tcp from any port = ssh to any flags S/SA keep state
  [ Evaluations: 4         Packets: 0         Bytes: 0           States: 0     ]
  [ Inserted: uid 0 pid 1394 ]
anchor "active_ftp" out quick on net0 proto tcp from any to any port = ftp
  [ Evaluations: 4         Packets: 63        Bytes: 4999        States: 1     ]
  [ Inserted: uid 0 pid 1394 ]
anchor "active_ftp" all
  [ Evaluations: 9         Packets: 37        Bytes: 16897       States: 2     ]
  [ Inserted: uid 0 pid 1394 ]
pass out quick on net0 proto tcp from any to any port > 1024 flags S/SA keep state
  [ Evaluations: 6         Packets: 0         Bytes: 0           States: 0     ]
  [ Inserted: uid 0 pid 1394 ]
pass in quick on net0 proto tcp from any port = ftp-data to any port > 1024 flags S/SA keep state
  [ Evaluations: 6         Packets: 0         Bytes: 0           States: 0     ]
  [ Inserted: uid 0 pid 1394 ]
pass in quick on net0 proto tcp from any to any port > 1024 flags S/SA keep state
  [ Evaluations: 0         Packets: 0         Bytes: 0           States: 0     ]
  [ Inserted: uid 0 pid 1394 ]
pass in quick on net0 proto tcp all flags S/SA keep state
  [ Evaluations: 0         Packets: 0         Bytes: 0           States: 0     ]
  [ Inserted: uid 0 pid 1394 ]
block drop log all
  [ Evaluations: 6         Packets: 6         Bytes: 949         States: 0     ]
  [ Inserted: uid 0 pid 1394 ]
root@freebsd84_100:/etc #


root@freebsd84_100:/etc # pfctl -a "active_ftp" -sr -v
No ALTQ support in kernel
ALTQ related functions disabled
pass in quick on net0 proto tcp from any port = ftp-data to any port > 1024 flags S/SA keep state
  [ Evaluations: 10        Packets: 0         Bytes: 0           States: 0     ]
  [ Inserted: uid 0 pid 1394 ]
pass in quick on net0 proto tcp from any to any port > 1024 flags S/SA keep state
  [ Evaluations: 0         Packets: 0         Bytes: 0           States: 0     ]
  [ Inserted: uid 0 pid 1394 ]
pass out quick on net0 proto tcp from any to any port = ftp flags S/SA keep state
  [ Evaluations: 4         Packets: 63        Bytes: 4999        States: 1     ]
  [ Inserted: uid 0 pid 1394 ]
pass out quick on net0 proto tcp from any to any port > 1024 flags S/SA keep state
  [ Evaluations: 3         Packets: 37        Bytes: 16897       States: 2     ]
  [ Inserted: uid 0 pid 1394 ]
root@freebsd84_100:/etc #

правила в якоре у которых отличается направления от фильтра не срабатывают.
поэтому вопрос ниже не корректен.


> Беспокоит другое.
> Может кто-либо посторонний проникнуть на хост во время сеанса ftp если порт
> источника: 20?

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

6. "pf + active_ftp"  +/
Сообщение от Gleb on 27-Авг-13, 23:51 
> что-то вы не допаказываете, вот счетчики после короткого сеанса по ftp

Спрашивайте, допакажу.

>[оверквотинг удален]
> all tcp 10.10.0.49:23822 -> 10.10.0.254:35126       FIN_WAIT_2:FIN_WAIT_2
>    [2018321773 + 5792] wscale 3  [2408701215 + 66144]
> wscale 5
>    age 00:00:56, expires in 00:00:34, 4:4 pkts, 216:1589 bytes,
> anchor 3, rule 3
> all tcp 10.10.0.49:63133 -> 10.10.0.254:46086       FIN_WAIT_2:FIN_WAIT_2
>    [4144546923 + 5792] wscale 3  [2394323450 + 66144]
> wscale 5
>    age 00:00:11, expires in 00:01:19, 9:12 pkts, 476:13933 bytes,
> anchor 3, rule 3

Очень похоже что у Вас пассивное соединение

> ...
> правила в якоре у которых отличается направления от фильтра не срабатывают.
> поэтому вопрос ниже не корректен.

Почему?
Ведь ftp работал, а без якоря - нет.
Можно подробнее.
Я совсем запутался...

>> Беспокоит другое.
>> Может кто-либо посторонний проникнуть на хост во время сеанса ftp если порт
>> источника: 20?

С PF только начинаю ознакамливаться.

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

7. "pf + active_ftp"  +/
Сообщение от reader (ok) on 28-Авг-13, 10:50 
>[оверквотинг удален]
>>    [2018321773 + 5792] wscale 3  [2408701215 + 66144]
>> wscale 5
>>    age 00:00:56, expires in 00:00:34, 4:4 pkts, 216:1589 bytes,
>> anchor 3, rule 3
>> all tcp 10.10.0.49:63133 -> 10.10.0.254:46086       FIN_WAIT_2:FIN_WAIT_2
>>    [4144546923 + 5792] wscale 3  [2394323450 + 66144]
>> wscale 5
>>    age 00:00:11, expires in 00:01:19, 9:12 pkts, 476:13933 bytes,
>> anchor 3, rule 3
> Очень похоже что у Вас пассивное соединение

да, но помоему pf не просматривает пакеты как iptables, поэтому это не особо важно, но есть keep state, что может внести не ясность как прошло соединение

>> ...
>> правила в якоре у которых отличается направления от фильтра не срабатывают.
>> поэтому вопрос ниже не корректен.
> Почему?
> Ведь ftp работал, а без якоря - нет.
> Можно подробнее.
> Я совсем запутался...

если действительно хотите понять , то перед ftp сессией pfctl -f /etc/pf.conf , это сбросит счетчики ( правда по все еще активному соединению счетчики могут и не реагировать ), а после сессии смотрите счетчики на правилах pfctl -sr -v  , pfctl -a "active_ftp" -sr -v , во время сессии и после смотрите pfctl -ss -v  

>>> Беспокоит другое.
>>> Может кто-либо посторонний проникнуть на хост во время сеанса ftp если порт
>>> источника: 20?
> С PF только начинаю ознакамливаться.

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

8. "pf + active_ftp"  +/
Сообщение от Gleb on 28-Авг-13, 22:01 
>[оверквотинг удален]
>>> anchor 3, rule 3
>>> all tcp 10.10.0.49:63133 -> 10.10.0.254:46086       FIN_WAIT_2:FIN_WAIT_2
>>>    [4144546923 + 5792] wscale 3  [2394323450 + 66144]
>>> wscale 5
>>>    age 00:00:11, expires in 00:01:19, 9:12 pkts, 476:13933 bytes,
>>> anchor 3, rule 3
>> Очень похоже что у Вас пассивное соединение
> да, но помоему pf не просматривает пакеты как iptables, поэтому это не
> особо важно, но есть keep state, что может внести не ясность
> как прошло соединение

Не совсем понятно :(

>[оверквотинг удален]
>>> поэтому вопрос ниже не корректен.
>> Почему?
>> Ведь ftp работал, а без якоря - нет.
>> Можно подробнее.
>> Я совсем запутался...
> если действительно хотите понять , то перед ftp сессией pfctl -f /etc/pf.conf
> , это сбросит счетчики ( правда по все еще активному соединению
> счетчики могут и не реагировать ), а после сессии смотрите счетчики
> на правилах pfctl -sr -v  , pfctl -a "active_ftp" -sr
> -v , во время сессии и после смотрите pfctl -ss -v

Вот логи (перед ftp сессией pfctl -f /etc/pf.conf):
~# pfctl -vsr
scrub in all fragment reassemble
  [ Evaluations: 57935     Packets: 29022     Bytes: 9584460     States: 0     ]
  [ Inserted: uid 0 pid 22120 State Creations: 0     ]
block return all
  [ Evaluations: 788       Packets: 64        Bytes: 21428       States: 0     ]
  [ Inserted: uid 0 pid 22120 State Creations: 0     ]
pass out all flags S/SA keep state
  [ Evaluations: 788       Packets: 11157     Bytes: 7928657     States: 166   ]
  [ Inserted: uid 0 pid 22120 State Creations: 355   ]
pass on re0 all flags S/SA keep state
  [ Evaluations: 788       Packets: 11058     Bytes: 7913019     States: 157   ]
  [ Inserted: uid 0 pid 22120 State Creations: 342   ]
pass in quick on rl0 inet from <good_hosts> to any flags S/SA keep state
  [ Evaluations: 788       Packets: 0         Bytes: 0           States: 0     ]
  [ Inserted: uid 0 pid 22120 State Creations: 0     ]
block return in quick on rl0 inet from <bad_hosts> to any
  [ Evaluations: 91        Packets: 0         Bytes: 0           States: 0     ]
  [ Inserted: uid 0 pid 22120 State Creations: 0     ]
pass in on rl0 inet proto icmp all icmp-type echoreq keep state
  [ Evaluations: 91        Packets: 0         Bytes: 0           States: 0     ]
  [ Inserted: uid 0 pid 22120 State Creations: 0     ]
pass in on rl0 inet proto icmp all icmp-type unreach keep state
  [ Evaluations: 0         Packets: 0         Bytes: 0           States: 0     ]
  [ Inserted: uid 0 pid 22120 State Creations: 0     ]
pass in on rl0 proto tcp from any to any port = smtp flags S/SA keep state (source-track rule, max-src-conn-rate 2/3, overload <bad_hosts> flush, src.track 3)
  [ Evaluations: 91        Packets: 44        Bytes: 1976        States: 2     ]
  [ Inserted: uid 0 pid 22120 State Creations: 22    ]
pass in on rl0 proto tcp from any to any port = http flags S/SA keep state (source-track rule, max-src-conn-rate 2/3, overload <bad_hosts> flush, src.track 3)
  [ Evaluations: 27        Packets: 0         Bytes: 0           States: 0     ]
  [ Inserted: uid 0 pid 22120 State Creations: 0     ]
anchor "active_ftp" out on rl0 proto tcp from any to any port = ftp
  [ Evaluations: 382       Packets: 0         Bytes: 0           States: 0     ]
  [ Inserted: uid 0 pid 22120 State Creations: 0     ]
anchor "active_ftp" all
  [ Evaluations: 788       Packets: 108       Bytes: 61758       States: 5     ]
  [ Inserted: uid 0 pid 22120 State Creations: 5     ]


~# pfctl -a active_ftp -vsr
pass in on rl0 proto tcp from any port = ftp-data to any port > 1024 flags S/SA keep state
  [ Evaluations: 832       Packets: 108       Bytes: 61758       States: 5     ]
  [ Inserted: uid 0 pid 22120 State Creations: 5     ]


~# pfctl -vss
all tcp XXX.XXX.XXX.XXX:24349 -> 193.162.146.4:21       ESTABLISHED:ESTABLISHED
   [607427003 + 66560] wscale 6  [3834345963 + 66560] wscale 6
   age 00:00:07, expires in 23:59:58, 29:29 pkts, 1874:2540 bytes, rule 1
all tcp XXX.XXX.XXX.XXX:39761 <- 193.162.146.4:20       FIN_WAIT_2:FIN_WAIT_2
   [3678589424 + 66560] wscale 6  [1016305140 + 66560] wscale 6
   age 00:00:06, expires in 00:01:24, 5:3 pkts, 2292:164 bytes, anchor 10, rule 0
all tcp XXX.XXX.XXX.XXX:17229 <- 193.162.146.4:20       FIN_WAIT_2:FIN_WAIT_2
   [1643637105 + 66560] wscale 6  [2057588700 + 66560] wscale 6
   age 00:00:06, expires in 00:01:24, 5:3 pkts, 2076:164 bytes, anchor 10, rule 0
all tcp XXX.XXX.XXX.XXX:29822 <- 193.162.146.4:20       FIN_WAIT_2:FIN_WAIT_2
   [2520433775 + 66560] wscale 6  [4002562068 + 66560] wscale 6
   age 00:00:06, expires in 00:01:24, 4:3 pkts, 470:164 bytes, anchor 10, rule 0
all tcp XXX.XXX.XXX.XXX:48445 <- 193.162.146.4:20       FIN_WAIT_2:FIN_WAIT_2
   [1197791854 + 66560] wscale 6  [3552489798 + 65472] wscale 6
   age 00:00:03, expires in 00:01:28, 37:24 pkts, 50851:1256 bytes, anchor 10, rule 0
all tcp XXX.XXX.XXX.XXX:44650 <- 193.162.146.4:20       FIN_WAIT_2:FIN_WAIT_2
   [2344339440 + 66560] wscale 6  [779037930 + 66560] wscale 6
   age 00:00:02, expires in 00:01:28, 5:3 pkts, 2292:164 bytes, anchor 10, rule 0
all tcp XXX.XXX.XXX.XXX:26710 <- 193.162.146.4:20       FIN_WAIT_2:FIN_WAIT_2
   [3325706474 + 66560] wscale 6  [1793406437 + 66560] wscale 6
   age 00:00:02, expires in 00:01:28, 5:3 pkts, 2076:164 bytes, anchor 10, rule 0

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

9. "pf + active_ftp"  +/
Сообщение от reader (ok) on 29-Авг-13, 10:48 
через этот якорь ничего не прошло
anchor "active_ftp" out on rl0 proto tcp from any to any port = ftp
  [ Evaluations: 382       Packets: 0         Bytes: 0           States: 0     ]
  [ Inserted: uid 0 pid 22120 State Creations: 0     ]


XXX.XXX.XXX.XXX:* <- 193.162.146.4:20 пошли через этот якорь
anchor "active_ftp" all
  [ Evaluations: 788       Packets: 108       Bytes: 61758       States: 5     ]
  [ Inserted: uid 0 pid 22120 State Creations: 5     ]


> ~# pfctl -vss
> all tcp XXX.XXX.XXX.XXX:24349 -> 193.162.146.4:21       ESTABLISHED:ESTABLISHED
>    [607427003 + 66560] wscale 6  [3834345963 + 66560]
> wscale 6
>    age 00:00:07, expires in 23:59:58, 29:29 pkts, 1874:2540 bytes,
> rule 1

при соединении с 21 портом использовалось rule 1 ваших правил

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

10. "pf + active_ftp"  +/
Сообщение от Gleb on 29-Авг-13, 15:42 
>[оверквотинг удален]
>     States: 5     ]
>   [ Inserted: uid 0 pid 22120 State Creations: 5  
>    ]
>> ~# pfctl -vss
>> all tcp XXX.XXX.XXX.XXX:24349 -> 193.162.146.4:21       ESTABLISHED:ESTABLISHED
>>    [607427003 + 66560] wscale 6  [3834345963 + 66560]
>> wscale 6
>>    age 00:00:07, expires in 23:59:58, 29:29 pkts, 1874:2540 bytes,
>> rule 1
> при соединении с 21 портом использовалось rule 1 ваших правил

что за rule 1?
почему тогда без якоря ftp не работает а с якорем работает?

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

11. "pf + active_ftp"  +/
Сообщение от reader (ok) on 29-Авг-13, 16:11 
>[оверквотинг удален]
>>   [ Inserted: uid 0 pid 22120 State Creations: 5
>>    ]
>>> ~# pfctl -vss
>>> all tcp XXX.XXX.XXX.XXX:24349 -> 193.162.146.4:21       ESTABLISHED:ESTABLISHED
>>>    [607427003 + 66560] wscale 6  [3834345963 + 66560]
>>> wscale 6
>>>    age 00:00:07, expires in 23:59:58, 29:29 pkts, 1874:2540 bytes,
>>> rule 1
>> при соединении с 21 портом использовалось rule 1 ваших правил
> что за rule 1?

номер вашего правила в pfctl -vsr
pass out all flags S/SA keep state

> почему тогда без якоря ftp не работает а с якорем работает?

без какого? первый не срабатывает и так , а срабатывает только на втором , если оба не грузите то с 20 порта пакеты и не будут пропущены

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

12. "pf + active_ftp"  +/
Сообщение от Gleb on 29-Авг-13, 17:36 
>[оверквотинг удален]
>>>> ~# pfctl -vss
>>>> all tcp XXX.XXX.XXX.XXX:24349 -> 193.162.146.4:21       ESTABLISHED:ESTABLISHED
>>>>    [607427003 + 66560] wscale 6  [3834345963 + 66560]
>>>> wscale 6
>>>>    age 00:00:07, expires in 23:59:58, 29:29 pkts, 1874:2540 bytes,
>>>> rule 1
>>> при соединении с 21 портом использовалось rule 1 ваших правил
>> что за rule 1?
> номер вашего правила в pfctl -vsr
> pass out all flags S/SA keep state

Как Вы определили правило, ведь выводе pfctl -vsr нет никакого упоминания о rule 1?


>> почему тогда без якоря ftp не работает а с якорем работает?
> без какого? первый не срабатывает и так , а срабатывает только на
> втором , если оба не грузите то с 20 порта пакеты
> и не будут пропущены

Скажу как я понял якоря (вот дока http://www.g0l.ru/blog/htmls/BSDA-course/apcs02.html)
# эта строка должна выступать как шаблон
anchor active_ftp out on $ext_if proto tcp to port ftp
# если есть совпадение, тогда добавляется следующее правило в pf
anchor "active_ftp" {
    pass in on $ext_if proto tcp from any port ftp-data to any port > 1024
}

Похоже я так и не разобрался с якорями.
Помогите понять их, плиз.

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

13. "pf + active_ftp"  +/
Сообщение от reader (ok) on 29-Авг-13, 17:55 
>[оверквотинг удален]
>>>>>    [607427003 + 66560] wscale 6  [3834345963 + 66560]
>>>>> wscale 6
>>>>>    age 00:00:07, expires in 23:59:58, 29:29 pkts, 1874:2540 bytes,
>>>>> rule 1
>>>> при соединении с 21 портом использовалось rule 1 ваших правил
>>> что за rule 1?
>> номер вашего правила в pfctl -vsr
>> pass out all flags S/SA keep state
> Как Вы определили правило, ведь выводе pfctl -vsr нет никакого упоминания о
> rule 1?

а посчитать начиная с 0, так же смотрите pftop

>[оверквотинг удален]
> Скажу как я понял якоря (вот дока http://www.g0l.ru/blog/htmls/BSDA-course/apcs02.html)
> # эта строка должна выступать как шаблон
> anchor active_ftp out on $ext_if proto tcp to port ftp
> # если есть совпадение, тогда добавляется следующее правило в pf
> anchor "active_ftp" {
>     pass in on $ext_if proto tcp from any
> port ftp-data to any port > 1024
> }
> Похоже я так и не разобрался с якорями.
> Помогите понять их, плиз.

у вас один набор правил active_ftp вызывается из двух мест


anchor active_ftp out on $ext_if proto tcp to port ftp
если пакет добрался до этой строки и подпадает под фильтр (out on $ext_if proto tcp to port ftp), то этот пакет пропустить по правилам в active_ftp

anchor "active_ftp"
если пакет добрался до этой строки и подпадает под фильтр ( нет фильтра значит all - то есть все  )то этот пакет пропустить по правилам в active_ftp.

отдельно и не зависимо от фильтра загружаем правила для active_ftp
{
    pass in on $ext_if proto tcp from any
port ftp-data to any port > 1024
}

то есть все что идет с 20 порта на > 1024 будет разрешено и не важно есть у вас соединение по ftp или нет

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

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

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




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

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