Co to jest tree-firewall?

Jest to taki maly skrypcik, ktory napisalem bo nie chcialo mi sie zglebiac
firewall-init. Skrypt *wymaga* znajomosci pelnej skladni ipchains/iptables
i w zaden sposob nie ogranicza ich mozliwosci. Ulatwia tworzenie i zarzadzanie
firewallem, przez zastosowanie "zestawow". Zestaw jest zbiorem dowolnych regul.


Dlaczego "tree"?

Idea tego narzedzia jest to aby bazowal na drzewie katalogow. Kazdy zestaw
regul to osobny katalog zawierajacy pliki (lub podkatalogi i pliki) o
nazwach lancuchow zawierajace opcje dla lancucha.

Zestaw regu zawiera:
przy ipchains: pliki z nazwami lancuchow, zawierajace opcje ipchains.
przy iptables: katalogi z nazwami tablic, w ktorych znajduja sie pliki
z nazwami lancuchow.

Przykladowo, umieszczenie
"-s 10.20.30.40 -j DROP"
w /etc/firewall/blacklist/filter/INPUT jest odpowiednikiem
"iptables -{A,D} INPUT -s 10.20.30.40 -j DROP".
Informacje o tym jak manipulowac zestawami znajdziesz ponizej.

W katalogu policy znajduja sie pliki z nazwami lancuchow (lub katalogi o
nazwach tabel i pliki) w korych wpisuje sie polityke domyslna.

W /etc/firewall moze znajdowac sie plik .sets z nazwami zestawow ktorych chcemy uzyc.

Polecenia:

firewall clean - usuwa wszystkie reguly
firewall policy - ustawia polityke domyslna
firewall add <zestaw-regul> - ustawia reguly z danego zestawu
firewall add all - ustawia reguly z wszystkich zestawow, lub tylko tych z pliku
.sets, jezeli takowy istnieje.
firewall del <zestaw> - analogicznie do add
firewall del all - dziala, ale lepiej clean
firewall tree - cos takiego (tu akurat bedzie moja testowa konfiguracja)

[root@ezoteryk tree-firewall]# ./firewall tree
*
|-- cups
|   `-- filter
|       `-- INPUT
|-- local-nat
|   |-- filter
|   |   `-- FORWARD
|   `-- nat
|       `-- POSTROUTING
|-- policy
|   `-- filter
|       `-- FORWARD
`-- samba
    `-- filter
        `-- INPUT


Zaleznosc od narzedzi:

To czy uzywamy ipchains czy iptables (oba wspomagane), okreslamy w opcji
USERSPACE_TOOL={iptables,ipchains} w /etc/sysconfig/firewall.

Reakcja na bledy:

Jezeli w ktoryms z zestawow pojawi sie blad, kojene zestawy
beda dalej przetwarzane.

Dodatkowo, jesli zmienna MODE ustawiona jest na "debug". Polecenie nie
wyswietli pieknych komunikatow, ale wypisze na standardowe wyjscie jakie
wykonuje polecenia, a na stderr bledy uruchamianych narzedzi.
To samo daje uzycie jako pierwszej opcji -v.

Hint:	Jesli chcesz dostac gotowy do uzycia skrypt ustawiajacy firewall,
	ktorego bedziesz mogl uzywac bez tree-firewall, wystarczy ze zrobisz:
	firewall -v restart > skrypt. :)

Jakiekolwiek komentarze/sugestie/bledy prosze slac na adres: wojrus@pld.org.pl
