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ą).