				TYMCZASOWA DOKUEMTACJA tree-firewall
------------------------------------------------------------------------------
JESLI UZYWALES WCZESNIEJ tree-firewall PRZECZYTAJ TO!
------------------------------------------------------------------------------
Zmiany 0.1 -> 0.2pre1

ISTOTNE ZMIANY W DZIALANIU:
* struktura katalogow:
	- zestawy przeniesione do /etc/firewall/sets
	- polityka w /etc/firewall/policies
	- same katalogi (z zestawami badz z polityka) wygladaja tak samo jak w 0.1
* polityka:
	- w /etc/firewall/policies powinny znajdowac sie dwa zestawy:
		* default - polityka ustawiana przy starcie firewalla
		* clean - polityka ustawiana przy wylaczaniu firewalla

USPRAWNIENIA: 
* czyszczenie regul:
	- mozna usunac zestaw po modyfikacji (przy dodawaniu zapisywana jest
	  kopia)
	- polecenie clean zostalo zmienione - zamiast czyscic przez "-F"
	  wywolywane jest "del all". Efekt: reguly dodane "z palca" pozostana
	  nietkniete.
	- zestaw nie zostanie dodany jezeli juz jest, nie zostanie usuniety jezeli
	  go nie ma. zamiast tego zostana wyswietlone ostrzezenia

NOWE MOZLIOWSCI:
* polecenia:
	- "addfirst" - dodanie zestawu na poczatek firewalla (a nie na koniec jak
	  add)
	- "status" - pokazanie ktore zestawy sa dodane do firewalla
* przelaczniki
	- "-d" - katalog root firewalla (domyslnie /etc/firewall)

------------------------------------------------------------------------------
WPROWADZENIE (lekko nieaktualne, dotyczy 0.1)
------------------------------------------------------------------------------
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

# vi:tw=78
