2006 12 Sko Proxy

Moje proxy na SKO versja v12

200612_sko_prj2_v12_mail_and_deny_content.zip

Serwer proxy jest zgodny z HTTP/1.1 .
Dokonuje edycji nagłówków rządań i odpowiedzi (dla przykładu aby umożliwić filtrowanie zawartości odpowiednio edytuje nagłówki żądań i odpowiedzi wymuszając kodowanie bez kompresji).
Pamiętałem również o obsłużeniu przesyłania plików za pomocą metody POST.
Mail do Admina jest przesyłan za pomocą programu sendmail (powinien być zinastlowany w systemie i skonfigurowany).
Domyślnie zakłada się złe jego skonfigurowanie w systemie, więc dla pokazania iż funkcjonalność jest zaimplementowana wszystkie pliki z którymi byłby uruchamiany sendmail są dopisywane na koniec pliku z logiem.
W praktyce jest to realizowane przez komende ./proxy_send_mail.sh. Wystaczy w nim zmienić przekierowanie z pliku na sendmail -t by wysyłał pocztę, zresztą o tym w pliku HowTo.txt.

Obsługiwane filtry:

ALLOW MAXSIZE
Maksymalny dopuszczalny rozmiar pliku.
DENY CONTENT
Zabroniona zawartość.
ALLOW HOSTNAME
Dozwolony serwer.
ALLOW DOMAIN
Dozwolona domena.

(P.S. Jeżeli dozwolony serwer nie jest w żadnej z dozwolonych doment to z logiki wynika że zostanie i tak i tak zablokowana)
Zasada działania jest następująca: dozwolone są domyślnie wszystkie domeny, ale w momęcie zdefiniowania jakiejkolwiek dozwolonej , zaczynąją być dozwolone tylko te z listy. (Analogicznie w innych filtrach)

Z pliku HowTo.txt

//Grzegorz Wierzowiecki 2006-12

By skompilowac:
make
W zaleznosci czy sa zdefiniowane makra DEB i SMALLDEB otrzymujemy wiecej lub mniej informacji w trakcie dzialania programu.

By zobaczyc opis parametrow programu:
./proxy.bin —help
co daje:
Usage:
./proxy.bin [ port_num [ config_file ] ]
parametry w nawiasach kwadratowych sa opcjonalne.
port_num numer portu pod ktory sie ma podpiac proxy
config_file - nazwa pliku konfiguracyjego. (Jezeli nie ma to proxy przepusci wszystko)

Plik konfiguracyjny:
ALLOW DOMAIN domena
dopuszcza to co jest pod domena np. ala.domena
ALLOW HOSTNAME host
dopuszcza danych host
ALLOW MAXSIZE bytes
ustala limit na maksymalny rozmiar pliku na bajtów "bytes".
SET LOGFILE filename
ustala plik z logami na filename
SET ADMINMAIL email
ustala mail admina na email
DENY CONTENT word
ustala zeby blokowac strony ze slowem word

Mail:
Program wykorzystuje skrypt pomocniczy "./proxy_send_mail.sh" .
Domyślnie jest on ustawiony na tworzenie plikow tekstowych z mailami, gdyż nie w każdym systemie jest dostępny działający program "sendmail".
Wystarczy odkomentować przedostatnia linie ") | $sendmailcmd"
i zakomentować ostatnią aby program zaczął wysyłać maile przy pomocy programu sendmail.

Przykładowy plik konfiguracyjny:

ALLOW DOMAIN pl
ALLOW DOMAIN com
ALLOW DOMAIN eu
DENY CONTENT sex
DENY CONTENT java
ALLOW MAXSIZE 90000
SET LOGFILE myproxylog.txt
ALLOW HOSTNAME www.google.com
ALLOW HOSTNAME www.google.pl
ALLOW HOSTNAME lajt.onet.pl
ALLOW HOSTNAME www.google.eu
ALLOW HOSTNAME maps.google.com

By uruchomic proxy ma porcie 8080:
./proxy.bin 8080
lub ./exmaple1.sh
By uruchomic proxy z przykladowymi filtrami:
./proxy.bin 8080 proxy.cfg
lub po prostu ./exmaple2.sh

O ile nie zaznaczono inaczej, treść tej strony objęta jest licencją Creative Commons Attribution-ShareAlike 3.0 License