On 22 Feb 2001 10:23:18 +0200, Cristian Grigoriu wrote:
> 
> Pe ce iti bazezi afirmatiile de mai sus? Redau mai jos un fragment
> din 'IP Filter Based Firewalls HOWTO'. Chiar daca documentul este
> vechi, *principiile* sunt identice. Cel putin asa spune Rusty Russell
> si cine suntem noi sa-l contrazicem?

Pentru nimic in lume nu l-as contrazice pe Russell, nu doar pentru ca
este un tip foarte doxat, ci si pentru ca este unul din cei mai
talentati scriitori de documentatie din lumea Unix (da, iti trebuie
talent si pentru asa ceva).

Atita doar ca afirmatia ta reuseste sa puna impreuna vreo trei
neadevaruri flagrante in acelasi paragraf, desi o simpla verificare a
referintelor ar fi putut evita situatia asta.

IP Filter Based Firewalls Howto NU ESTE scris de Paul Russell. Dupa cum
se poate vedea la adresa asta
http://www.obfuscation.org/ipf/ipf-howto.txt autorii sint Brendan
Conoboy si Erik Fichtner.

IPF Based Firewalls Howto NU ARE CUM sa se refere la filtre de pachete
pentru Linux, cita vreme IPF (firewall-ul la care se refera) este
folosit pe FreeBSD, OpenBSD si NetBSD (si poate si pe altele).
Pe Linux se folosesc ipfwadm, ipchains si iptables (care intr-adevar
sint create si documentate de Rusty Russell).

Stilul "the  last  matching  rule  always  takes precedence" ESTE
intr-adevar caracteristic pentru IPF, si asta il distinge de alte filtre
de pachete (poate ca mai sint si altele cu acelasi stil, dar nu le stiu
eu), dar NU ESTE caracteristic pentru packet-filter-ele de pe Linux
(ipfwadm, ipchains si iptables).

Iata ce zice un document pe care-l am la indemina (un tutorial de
firewall-uri cu aplicatie la ipchains):

"The rules are checked starting with the first rule (rule 1). If the
rule characteristics match the data packet, the associated rule
instruction is carried out. If they don't match, the next rule is
checked. The rules are sequentially checked, and if the end of the chain
is reached, the default policy for the chain is returned."

Adresa este: http://www.fastflow.it/~paolop/linux/tips/netfirewall.html

"Carried out" inseamna "este aplicata" sau "este luata in considerare".
Asadar, dupa cum se poate vedea, in filtrele de pachete Linux (ipfwadm,
ipchains si iptables) se merge pe principiul "prima regula care se
potriveste, se si aplica pe loc".

Uite un mesaj de pe o lista de discutii care zice acelasi lucru:

1. A packet comes in on an interface (input) or is going out on an
interface
(output).
2. First firewall (IPCHAINS) rule is checked.
2a. If the rule applies (if the rule checks against IP packet's sender
and
receiver IP address and/or the protocol and/or the interface and/or
whatever
else you want to qualify) the rule is actioned (DENY, ACCEPT, REJECT,
REDIRECT..) No other rules are checked!! (unless part of the actioning
process --> see user defined rules)
2b. If the rule does not match, the next rule is checked if it applies.
3a. If it applies it is actioned and no other rules will be checked
(unless
part of the actioning process --> see user defined  rules)
3b. If the rule does not match, the next rule is checked if it applies.
This
continues until all rules have been checked.
4. If a packet header does not match any rule the default policy (DENY,
ACCEPT, REJECT, REDIRECT..) is applied.

Mesajul poate fi consultat aici:

http://www.slug.org.au/lists/archives/slug/2000/March/msg00213.html

Uite un document de pe site-ul faqts.com, care se refera la ipchains:

An incoming packet is first tested against each rule in the input 
chain.  If it matches a rule it is assigned the action listed for that 
rule (accept, deny or reject) and it exits the input chain. If it does 
not  match a rule in the input chain it is assigned the default action 
for the input chain (in this case, deny).

Adresa este asta:

http://www.faqts.com/knowledge_base/view.phtml/aid/2894

Nu pot gasi acuma dovada explicita in documentele lui Russell (si sint
si obosit si trebuie sa ma duc acasa), dar cred ca bucatile astea de
informatie sint suficiente ca sa arate ca filtrele de pachete de pe
Linux merg pe principiul "primul gasit, primul aplicat".

Era simplu sa verifici treaba asta - din cite stiu, iptables (si cred ca
si ipchains, dar nu garantez) are un tester de reguli: creezi un lant de
reguli, dupa care poti simula trecerea unui pachet prin lant. Testerul
iti spune care e soarta pachetului. E o scula foarte faina.

Este bine sa citesti documentatie alternativa (adica documentatie care
nu se refera exact la subiect, ci la unele asemanatoare), pentru ca iti
largeste perspectiva. Dar atentie mare la micile diferente. In cazul
tau, ai luat de buna, in mod nejustificat, o afirmatie care se aplica la
alte tipuri de firewall-uri.

Daca cumva iti faci filtrele de pachete in Linux conform stilului IPF,
parerea mea este ca trebuie sa le revezi cit de curind. Nu de alta, dar
sa nu ai surprize...

Toate cele bune,

-- 
Florin Andrei


---
Send e-mail to '[EMAIL PROTECTED]' with 'unsubscribe rlug' to 
unsubscribe from this list.

Raspunde prin e-mail lui