Instalacja filtru treści
Ostatnia zmiana: 2015-01-05 22:55
Dansguardian jest filtrem treści, który można zastosować jako filtr rodzinny do ochrony przez dostępem do niechcianej zawartości: pornografią czy rasizmem. Więcej o projekcie można przeczytać na
Wikipedii,
polskiej stronie projektu oraz
oficjalnej stronie projektu. Najbardziej oczywiste zastosowanie tego programu to filtrowanie treści przed dziećmi.
Dansguardian wymaga do działania dużo pamięci ram. Nie działa na routerach z 32MB pamięci, wymaganie jest więc
dodanie pamięci swap (co najmniej 64MB ). Z powodu wielkości pakietów niezbędne może być także zrobienie
extroota.
Program do działania wymaga jakiegoś serwera proxy, zostanie wykorzystany do tego Tinyproxy. Jego konfiguracja została już
omówiona, więc szczegółowy opis zostanie tu pominięty i zaprezentowany w uproszonej wersji. Po szczegóły odsyłam do wspomnianego dokumentu. Zasada działania jest następująca: przeglądarka odwołuje się do demona dansguardian na określony port (domyślnie: 8080), on z kolei pobiera daną stronę przez proxy, a następnie filtruje treść.
Instalacja Tinyproxy
# opkg update
# opkg install tinyproxy
# uci set tinyproxy.@tinyproxy[0].enabled=1
# uci set tinyproxy.@tinyproxy[0].enable=1
# uci set tinyproxy.@tinyproxy[0].Allow="192.168.1.0/24"
# uci commit tinyproxy
# /etc/init.d/tinyproxy enable
# /etc/init.d/tinyproxy restart
Sprawdzenie działania
W przeglądarce internetowej ustawiamy proxy na
192.168.1.1 (adres routera), port
8888. Wczytujemy stronę np.
http://eko.one.pl , powinna się wyświetlić. Teraz wczytujemy stronę http://eko.onexxxx.pl, powinien wyświetlić komunikat typu:
Unable to connect
Tinyproxy was unable to connect to the remote web server.
Generated by tinyproxy version 1.8.2.
Jeżeli tak jest to proxy działa poprawnie. Należy więc go teraz zmienić, żeby nasłuchiwał tylko na pytania z routera a nie z całej sieci lan, więc:
# uci set tinyproxy.@tinyproxy[0].Allow="127.0.0.1"
# uci commit tinyproxy
# /etc/init.d/tinyproxy restart
Pamiętamy o wyłączeniu proxy w przeglądarce.
Instalacja Dansguardian
Problem z tym pakietem jest taki, że niektóre wersje nie działają i nie wczytują niektórych stron. Było to dyskutowane na
forum witryny, więc należy zainstalować go w określonej wersji:
# cd /tmp
# wget http://dl.eko.one.pl/old/backfire/ar71xx/packages/dansguardian_2.9.9.8-1cj_ar71xx.ipk
# opkg install /tmp/dansguardian_2.9.9.8-1cj_ar71xx.ipk
Konfiguracja
Plik konfiguracyjny to
/etc/dansguardian/dansguardian.conf. Do ustawienia jest tam kilka opcji:
language = 'polish'
filterport = 8080
proxyip = 127.0.0.1
proxyport = 8888
daemonuser = 'root'
daemongroup = 'root'
maxchildren = 40
maxcontentfilecachescansize = 2000
Należy odszukać odpowiednie opcje i ustawić je zgodnie z podanymi wartościami.
Uruchomienie
# mkdir -p /var/log/dansguardian
# dansguardian
W przeglądarce internetowej ustawiamy proxy na
192.168.1.1 (adres routera), port
8080. Wczytujemy http://google.pl i wyszukujemy słowo
eko. Powinno działać i normalnie wyświetlić wyniki wyszukiwania. Jeżeli wyszukamy słowo
sex powinna wyświetlić się strona z blokadą treści. Jeżeli tak działa to wszystko jest w porządku.
Jeżeli już na samym początku nie chce się wczytać żadna strona należy uruchomić polecenie
logread i poszukać informacji o dansguardian. Jeżeli wyświetlają się tam komunikaty typu:
dansguardian: Unable to fork() any more.
oznacza to tyle że brakuje mu pamięci i mamy za mało swap (lub nie mamy go w ogóle...).
Automatycznie uruchomienie
Te dwa polecenia:
mkdir -p /var/log/dansguardian
dansguardian
Należy umieścić w
/etc/rc.local jako pierwsze linie w tym pliku. Dansguardian uruchomi się automatycznie przy starcie routera.
Transparent proxy
Aby nie trzeba było wprowadzać adresu proxy za każdym razem w przeglądarce, aby cały ruch był kierowany przez proxy należy przekierować cały ruch na docelowy port 80 do naszego proxy. Wykonuje się to poleceniami:
# uci add firewall redirect
# uci set firewall.@redirect[-1]._name=dansguardian
# uci set firewall.@redirect[-1].src=lan
# uci set firewall.@redirect[-1].proto=tcp
# uci set firewall.@redirect[-1].dest_port=8080
# uci set firewall.@redirect[-1].src_dport=80
# uci set firewall.@redirect[-1].src_dip='! 192.168.1.1'
# uci set firewall.@redirect[-1].dest_ip=192.168.1.1
# uci commit firewall
# /etc/init.d/firewall restart
Należy pamiętać o usunięciu opcji proxy z przeglądarki! Jest ona już niepotrzebna, bo cały ruch jest automatycznie przekierowany.
Dalsza konfiguracja
Dansguardian jest bardzo zaawansowanym programem z mnóstwem opcji do ustawienia. O ile domyślne opcje wystarczą na początek, o tyle być może będzie potrzeba dalszej konfiguracji tego programu. Na
polskiej stronie można znaleźć kilka przydatnych informacji na temat dalszej konfiguracji tego programu. W szczególności polecam zapoznać się z opcją
naughtynesslimit, kategoriami do blokowania z pliku
/etc/dansguardian/lists/weightedphraselist czy ogólną konfiguracją demona. Jest tam także opisana metoda podmiany strony informacyjnej o blokadzie (można także zrobić swoją własną).