Diladele Web Safety - możliwości programu i przygotowanie do instalacji
#1
Wstęp.
Nowoczesne oprogramowanie zapewniające filtrowanie ruchu sieciowego pod kątem blokowania reklam, domen sklasyfikowanych jako niebezpieczne (ang. malware domains) oraz skryptów śledzących można podzielić na:
a. popularne aplikacje działające w formie dodatku do przeglądarki (np. Adblock, Adguard)
b. rozbudowane, niezależne programy w formie klienta skanującego ruch sieciowy (AdFender, AdMuncher)
c. dedykowane oprogramowanie uruchamiane na serwerze w sieci lokalnej (Diladele Web Safety).

W temacie dotyczącym m.in.

[Aby zobaczyć linki, zarejestruj się tutaj]

po krótce opisane zostało działanie, zalety oraz wady w/w oprogramowania w formie dodatków blokujących reklamy i szkodliwe treści. W niniejszej wpisie chcę zaprezentować Wam oprogramowanie dedykowane filtrowaniu kodu stron www w celu przyśpieszenia ładowania witryn internetowych, zmniejszenia ilości żądań odbieranych z serwerów oraz zabezpieczenia prywatnych danych użytkowników.

Diladele B.V., producent oprogramowania Diladele Web Safety, udostępnił niegdyś

[Aby zobaczyć linki, zarejestruj się tutaj]

dla użytkowników końcowych korzystających z systemów Windows 7 oraz Windows 8. Projekt ten w chwili obecnej nie jest rozwijany, ponieważ twórcy oprogramowania skupili się na serwerowym rozwiązaniu (korzystającym ze Squid/qlproxy), które z powodzeniem może znaleźć swoje zastosowanie w sieciach zarówno prywatnych, jak i nieskomplikowanych sieciach firmowych (w zależności od ilości użytkowników:

[Aby zobaczyć linki, zarejestruj się tutaj]

).

Koncepcja Diladele Web Safety w wersji serwerowej polega na filtrowaniu ruchu sieciowego (głównie kodu html oraz skryptów JavaScript) w celu uniknięcia przypadkowego lub celowego pobrania złośliwego oprogramowania na dysk komputera oraz usunięcia uciążliwych reklam i animacji umieszczonych na stronach internetowych. Dodatkowo aplikacja umożliwia ograniczenie dostępu do zawartości o określonej kategorii i umożliwia filtrowanie zaszyfrowanego ruchu sieciowego, blokowanie stron pornograficznych, a także uniemożliwia pobieranie plików o określonym rozszerzeniu w oparciu o zasady zdefiniowanych grup.

Filtrowanie szyfrowanego ruchu sieciowego.
Diladele WS działa jako serwer ICAP sparowany ze Squid Web Proxy. Rozwiązanie to pozwala na rozszerzenie skanowania i głęboką inspekcję szyfrowanego ruchu sieciowego. Odpowiednia konfiguracja oprogramowania Squid oraz zastosowanie klienckich certyfikatów aktywnych w przeglądarce internetowej podczas przeglądania sieci za pomocą protokołu HTTPS umożliwia ograniczenie lub całkowite zablokowanie elementów kodu strony, tak samo jak w przypadku połączenia nieszyfrowanego (HTTP). Jest to innowacja, której nie posiadają inne otwartoźródłowerozwiązania, takie jak Dansguardian, czy SquidGuard. Instalacja Diladele Web Safety nie uwzględnia filtrowania ruchu HTTPS w domyślnej konfiguracji. Filtrowanie to warto jednak włączyć w przypadku, gdy ściśle monitoruje się ruch w określonej sieci lokalnej, na przykład podczas tworzenia reguł korzystania z Internetu dla poszczególnych grup użytkowników.

Blokowanie treści pornograficznych/zawartości przeznaczonych dla osób dorosłych.
Rozwiązanie Diladele blokuje mnóstwo znanych jako „tylko dla dorosłych” stron i domen. Poza filtrowaniem adresów sieciowych, aplikacja jest zdolna do inspekcji kodu wszystkich wyświetlanych stron internetowych w celu zablokowania jakichkolwiek elementów charakteryzujących się tematyką pornograficzną. Filtrowane są nawet wyniki wyszukiwania dostarczane przez Bing, Google, Yahoo oraz Youtube – jeśli Diladele wykryje niedozwolone treści, zostaną one zablokowane. Do skanowania zewnętrznych adresów URL, produkt wykorzystuje zaawansowaną heurystykę sieciową, by zablokować wszystkie elementy mogące mieć wpływ na bezpieczeństwo użytkownika.

[Aby zobaczyć linki, zarejestruj się tutaj]

Komunikat informujący o zablokowaniu połączenia z witryną zawierającą treści pornograficzne

Blokowanie pobierania plików o określonych parametrach.
Diladele Web Safety dla serwera Squid pozwala kontrolować pliki pobierane przez wszystkie nowoczesne przeglądarki (Internet Explorer, Firefox, Chrome, Opera, Safari). Administrator systemu ma dostęp do panelu uniemożliwiającego pobranie wszystkich rodzajów plików, które mogą zagrozić bezpieczeństwu systemów operacyjnych na komputerach klienckich (pliki wykonywalne, biblioteki.dll, pliki spakowane, itp.). Dodatkowym atutem filtrowania plików pod kątem ich rozszerzenia, jest możliwość zablokowania pobierania plików multimedialnych, a tym samym ograniczenie łamania praw autorskich. Panel dodawania reguł dotyczących pobierania plików prezentuje się następująco:

[Aby zobaczyć linki, zarejestruj się tutaj]

Graficzna konfiguracja blokady pobierania plików

Korzystając z zasad filtrowania na poziomie pobieranych plików, można bardzo dokładnie zdefiniować rodzaje plików (wszystkie znane rozszerzenia), a nawet ciągi znaków (strings) zawarte w nazwie plików, których pobierania ma zostać zablokowane.

Jeśli użytkownik połączy się z dowolnym serwerem w celu pobrania pliku, którego nazwa pokryje się ze słowem kluczowym ustawionym w panelu zarządzania pobieranymi plikami, na ekranie przeglądarki pojawi się następujący komunikat:

[Aby zobaczyć linki, zarejestruj się tutaj]

Odpowiedź serwera przy próbie pobrania pliku .torrent

Sekcja Scanned By informuje użytkownika o module, który zablokował połączenie z serwerem. W przedstawionym przypadku jest to blokada wg nazwy pliku:

Cytat:Scanned By content_file_name
Czas odpowiedzi serwera to 0 milisekund.

Filtrowanie zawartości przeglądanych stron oparte na zasadach grupy.

Diladele pozwala administratorowi sieci zorganizować użytkowników serwera proxy przypisując ich do odpowiedniej grupy użytkowników. By zapewnić najwyższy poziom bezpieczeństwa i jednocześnie nie ograniczać użyteczności Internetu, każda grupa posiada inny stopień dokładności skanowania witryn internetowych. Dodawanie członka do określonych grup odbywa się za pomocą zdefiniowania nazwy lub adresu IP komputera, który ma znajdować się w grupie. W przypadku konieczności dodania większej ilość członków, można skorzystać zzakresu adresów dla grupy, bądź określenia maski IP. Dla zwiększenia komfortu pracy i konfiguracji serwera, wszystkie grupy mogą zawierać swoje niezależne wyjątki i restrykcje. Domyślne ustawienia oferują administratorowi predefiniowane grupy o różnorodnych ograniczeniach. Poniżej został przedstawiony panel dodawania nowego członka do danej polityki filtrowania:

[Aby zobaczyć linki, zarejestruj się tutaj]

Dodawanie członka do grupy użytkowników.

Panel zarządzania serwerem Diladele Web Safety przy każdej grupie użytkowników umożliwia zdefiniowanie wyjątków – domen, stron, adresów, itp., które będą dozwolone dla partycypujących w grupie osób.

[Aby zobaczyć linki, zarejestruj się tutaj]

Wyjątki dla danej grupy użytkowników - adresy dozwolone mimo zasad filtrowania.

Kontrola wykorzystania łącza zgodnie ze zdefiniowanymi kategoriami.
Diladele potrafi ograniczać lub blokować dostęp do stron, których zawartość jest sprzeczna z regułami aktywnie wykorzystywanej polityki. Administrator systemu ma do swojej dyspozycji ponad 50 kategorii, które może ze sobą łączyć, aby uzyskać spójność możliwości i optymalny efekt wykorzystania łącza sieciowego. Pliki zawierające generyczne definicje rozszerzających się w sieci materiałów są regularnie aktualizowane. Zapewnia to ciągle aktualne regulacje i nie pozwala nadużywać/łamać nałożonych przed administratora ograniczeń.

Usuwanie reklam podczas przeglądania sieci i ochrona prywatności online.

Produkt przystosowany jest do usuwania natrętnych reklam i banerów flash z każdej wyświetlanej strony i bez potrzeby korzystania z zewnętrznego oprogramowania, takiego jak dodatki do przeglądarek. Diladele jednocześnie nie blokuje pożądanego marketingu internetowego i umożliwia administratorowi/użytkownikowi dodanie do wykluczeń dowolnej strony, na której reklamy mają być wyświetlane bez jakiejkolwiek ingerencji filtrów. Producent oprogramowania Diladele zapewnia, że produkt doskonale radzi sobie z blokowaniem sieci śledzących i skryptów ujawniających poczynania użytkowników sieci Internet, a tym samym zwraca Internautom kontrolę nad ich sieciowymi profilami. We wcześniejszej części pracy zostały umówione terminy takie jak ROS oraz ROC, czyli modele pojawiania się reklam na danych stronach internetowych. System DWS potrafi filtrować reklamy i banery w sposób dynamiczny – nie ocenia tematyki witryny www, a zawartość wyświetlanych na niej reklam. Mimo tego, że strona Wirtualna Polska nie znajduje się na liście blokowanych witryn, to filtry wykryły reklamy, które są nieadekwatne do polityki, w jakiej umieszczony został klient.

[Aby zobaczyć linki, zarejestruj się tutaj]

Dynamiczne blokowanie dostępu do zawartości strony (wp.pl)

Przygotowanie systemu operacyjnego Fedora 20 Heisenbug do uruchomienia Diladele Web Safety.
Oprogramowanie Diladele (określane też w dalszej części tekstu skrótem DWS) może zostać uruchomione na dystrybucjach takich jak m.in. Ubuntu, CentOS, RedHat, czy Fedora. Systemem wybranym na potrzeby niniejszej pracy jest Fedora 20 (x64). Przed instalacją DWS należy wyłączyć Security-Enhanced Linux (SELinux – zestaw modyfikacji jądra Linux oraz sposobu przydzielania zasobów dla aplikacji , ). W tym celu konieczne jest zmodyfikowanie pliku /etc/selinux/config tak, aby wyglądał on następująco (zamiana SELINUX=enforcing na SELINUX=desabled):

Cytat:# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
Do poprawnego działania modułu monitoringu sieciowego, raportowania aktywności przeglądania stron internetowych oraz webowego panelu administracyjnego, wymagane są biblioteki Python oraz serwer Apache.

Cytat:# yum install python-setuptools
# easy_install django==1.5
# yum install httpd mod_wsgi
# chkconfig httpd on
# echo „WSGISocketPrefix /var/run/wsgi” >> /etc/httpd/conf.d/wsgi.conf
Kolejnym krokiem jest pobranie i instalacja Diladele Web Safety za pomocą narzędzi cURL oraz yum:

Cytat:# curl

[Aby zobaczyć linki, zarejestruj się tutaj]

> qlproxy-3.1.0-2992.x86_64.rpm
# yum --nogpgcheck localinstall qlproxy-3.1.0-2992.x86_64.rpm
Instalacja oprogramowania Squid Proxy Server ogranicza się do komend:

Cytat:# yum install squid
# chkconfig squid on
Następnie do pliku konfiguracyjnego /etc/squid/squid.conf należy dodać następujące linie:

Cytat:icap_enable on
icap_preview_enable on
icap_preview_size 4096
icap_persistent_connections on
icap_send_client_ip on
icap_send_client_username on
icap_client_username_header X-Client-Username
icap_service qlproxy1 reqmod_precache bypass=0

[Aby zobaczyć linki, zarejestruj się tutaj]

icap_service qlproxy2 respmod_precache bypass=0

[Aby zobaczyć linki, zarejestruj się tutaj]

acl qlproxy_icap_edomains dstdomain "/etc/opt/quintolabs/qlproxy/squid/icap_exclusions_domains.conf"
acl qlproxy_icap_etypes rep_mime_type "/etc/opt/quintolabs/qlproxy/squid/icap_exclusions_contenttypes.conf"
adaptation_access qlproxy1 deny qlproxy_icap_edomains
adaptation_access qlproxy2 deny qlproxy_icap_edomains
adaptation_access qlproxy2 deny qlproxy_icap_etypes
adaptation_access qlproxy1 allow all
adaptation_access qlproxy2 allow all
Nadanie webowej konsoli zarządzania DWS praw tylko do odczytu (read-only access) pliku konfiguracyjnego Squid: # chmod o+r /etc/squid/squid.conf; zrestartowanie Squid:
# service squid restart.

Jako, iż dwudzieste wydanie dystrybucji Fedora obsługuje httpd (Apache) w wersji 2.4.x , a domyślna konfiguracja serwera qlproxy dostosowana jest do Apache 2.2, należy zmodyfikować plik /etc/httpd/conf.d/qlproxy.conf, w sposób, który umożliwi poprawne działanie z httpd 2.4.x. Kolejne dwa listingi przedstawiają różnice (kolor czerwony – plik oryginalny, kolor niebieski – plik zmodyfikowany) w konfiguracji:

[Aby zobaczyć linki, zarejestruj się tutaj]

Oryginalna zawartość pliku konfiguracyjnego qlproxy.conf

[Aby zobaczyć linki, zarejestruj się tutaj]

Zmodyfikowana zawartość pliku konfiguracyjnego qlproxy.conf

Po modyfikacji powyższego pliku wymagane jest ponowne uruchomienie serwera Apache, które można wywołać za pomocą komendy: # service httpd restart. Dodatkowo, aby mieć możliwość wykonania poprawnego restartowania i przeładowania serwera ICAP, należy utworzyć dowiązanie symboliczne do pliku squid. Po domyślnej instalacji, skrypty operacji na serwerze ICAP uruchamiane z poziomu webowego panelu konfiguracyjnego DWS odwołują się do pliku /usr/sbin/squid3. Nazwa pliku po instalacji w systemie Fedora 20 nie zawiera w sobie numeru wersji oprogramowania squid. W celu stworzenia dowiązania symbolicznego należy posłużyć się odpowiednim zestawem komend:

Cytat:# cd /usr/sbin/
# ln –s squid squid3
Dzięki temu każde odwołanie do nieistniejącego pliku /usr/sbin/squid3 zostanie powiązane z plikiem /usr/sbin/squid. Ponadto wymagana jest również modyfikacja pliku /var/opt/quintolabs/qlproxy/console/config/service.py. Poprawna konfiguracja, poza systemami RedHat oraz CentOS musi uwzględniać system Fedora. Nie ma sensu wklejanie całej zawartości pliku servece.py, ale mniej więcej o co chodzi:

Cytat:# ["/etc/init.d/qlproxy", "reload"],
# ["/etc/init.d/qlproxy", "restart"]
["sudo", "/etc/init.d/qlproxy", "reload"],
["sudo", "/etc/init.d/qlproxy", "restart"]
Cytat:# if distrib in [''redhat'', ''centos'']:
if distrib in [''redhat'', ''centos'', ''fedora'']:
Celowo nie usuwałem konfiguracji domyślnej i oznaczyłem ją znakiem #.

Aktualizacja oprogramowania Diladele.
Automatyczna aktualizacja oprogramowania Diladele Web Safety oraz pliku definicji blokowania reklam i prywatności online jest dokonywana co godzinę przy wykorzystaniu zadania cron.hourly w systemach Linux oraz codziennie przy wykorzystaniu zadania periodic w FreeBSD. Proces aktualizacji przebiega w tle, bez potrzeby ingerencji administratora systemu. Informacje dotyczące nowych wersji oraz log aktualizacji definicji są umieszczone w sieciowej konsoli administracyjnej Web UI:

[Aby zobaczyć linki, zarejestruj się tutaj]

Podsumowanie procesu aktualizacji definicji reklam, prywatności oraz kategorii reguł stron www

Dlaczego warto wybrać oprogramowanie Diladele?
Deweloper z fundacji Mozilla, Nicholas Nethercote, przyznaje, że korzystanie z zasobów Internetu za pomocą przeglądarki bez zainstalowanych dodatków blokujących wyświetlanie reklam, stało się wręcz przerażające. Co więcej, dodatki takie wyraźnie zwiększają zużycie pamięci przez procesy przeglądarki , a to z kolei wpływa na wydajność oraz wygodę pracy przy komputerze i szybkość odnajdywania oczekiwanych informacji w sieci.

Filtrowanie treści stron internetowych z wykorzystaniem serwera proxy znacznie obniża zapotrzebowanie na pamięć operacyjną, której ilość dla każdego klienta w sieci lokalnej może być fizycznie ograniczona. Większa część skanowania zawartości witryn jest dokonywana w pamięci operacyjnej serwera, co zapewnia wysoką wydajność przy zredukowanej ilości zapisów i odczytów (ang. Input/Output, I/O) na dysku twardym. Wykorzystanie procesora i pamięci operacyjnej serwera (mimo podłączonych do proxy klientów) jest niskie i bardzo stacjonarne:

[Aby zobaczyć linki, zarejestruj się tutaj]

Monitor Procesów systemu Fedora - historia procesora oraz pamięci operacyjnej z przestrzenią wymiany

Innym atutem filtrowania stron internetowych na poziomie serwera Squid jest wysoka kompatybilność z urządzeniami mobilnymi innymi niż laptopy/notebooki. Mobilne wersje filtrów reklam dla przeglądarek systemów operacyjnych takich jak Android, czy iOS, nie są tak skuteczne jak serwerowa wersja filtrów Diladele, która filtruje ruch niezależnie od zastosowanego w urządzeniu systemu – musi on jednak umożliwiać użytkownikowi określenie portu i przekierowanie ruchu na adres IP bramy proxy, która będzie współpracowała ze wszystkimi dostępnymi na rynku przeglądarkami internetowymi. Instalacja i zarządzanie serwerem są bardzo łatwe, ponieważ producent udostępnia na swojej stronie prekompilowane binaria dla większości popularnych dystrybucji Linuksa.

Przedstawiony w pracy model filtrowania ruchu sieciowego na poziomie serwera wykorzystującego dedykowane oprogramowanie charakteryzuje się bardzo wysoką wydajnością działania przy braku jakiegokolwiek zapotrzebowania na zasoby sprzętowe komputerów klienckich. Łączy on w sobie wszystkie korzyści wynikające z zastosowania dodatków takich jak Adblock, czy Ghostery, przy wyeliminowaniu wad, jakimi w/w dodatki są lub mogą być obarczone.

Diladele - Informacje techniczne:
Nazwa produktu: Diladele Web Safety for Squid Proxy
Zainstalowania wersja: 3.1.0.2992
Ostatnia stabilna wersja: 3.4.0.9307 [29.09.2014] (na dzień 02.10.2014)
Folder konfiguracji: /etc/opt/quintolabs/qlproxy, całkowita wielkość: 105.0 kB
Folder danych: /var/opt/quintolabs/qlproxy, całkowita wielkość: 183.0 MB
Folder plików bin: /opt/quintolabs/qlproxy/bin, całkowita wielkość: 11.0 kB
Folder plików sbin: /opt/quintolabs/qlproxy/sbin, całkowita wielkość :10.0 MB
Serwer i system:
Nazwa hosta: new-host.home
System: Linux, version 3.13.5-202.fc20.x86_64, #1 SMP Mon Mar 3 19:08:00 UTC 2014
Alias: Linux-3.13.5-202.fc20.x86_64-x86_64-with-fedora-20-Heisenbug
Architektura: 64bit, ELF
Python: 2.7.5 (default, Feb 19 2014, 13:47:28) [GCC 4.8.2 20131212 (Red Hat 4.8.2-7)]

Żaden fragment tekstu publikacji nie może być powielany oraz rozpowszechniany w żadnej formie i w żaden sposób bez uprzedniego zezwolenia autora.

Źródła:
1. What is Diladele Web Safety and How Does It Work? [

[Aby zobaczyć linki, zarejestruj się tutaj]

]
2. Diladele Web Safety - Install on CentOS or RedHat 6 [

[Aby zobaczyć linki, zarejestruj się tutaj]

]
3. Rafael Akchurin -[ttps://github.com/ra-at-diladele-com/qlproxy_external/wiki/Automatic-Updates]
4. Nicholas Nethercote Blog: AdBlock Plus’s effect on Firefox’s memory usage
SpyShelter Firewall
Odpowiedz
#2
@nikita

bardzo dobry artykuł, świetnie wszystko jest opisane i przedstawione. Więcej takich artykułów są potrzebne i bardzo przydatne.


Pozdrawiam

Jacenty
Odpowiedz
#3
Marnujesz się Mateuszu - powinieneś być prelegentem na jakiś konferencjach, bo tak to wiedza się marnuje.
Odpowiedz
#4
No proszę jaka korzystna recenzja...anonsowaliśmy na forum wersję dla pojedynczej maszyny i chyba nie za bardzo przekonała do siebie użytkowników. Twój opis wskazuje wyraźnie, że to dobry produkt...a jak w tej chwili wygląda sprawa ewentualnych aktualizacji na nierozwijaną wersję?...orientujesz się?
"Bezpieczeństwo jest podróżą, a nie celem samym w sobie - to nie jest problem, który można rozwiązać raz na zawsze"
"Zaufanie nie stanowi kontroli, a nadzieja nie jest strategią"
Odpowiedz
#5
ichito napisał(a):anonsowaliśmy na forum wersję dla pojedynczej maszyny i chyba nie za bardzo przekonała do siebie użytkowników
Tak, tak, jest podlinkowana we wstępie. Sam nie wiem dlaczego to nie wypaliło, program się spisywał. Miał drobne problemy z GUI (czasami znikało), ale korzystałem z niego i byłem zadowolony.

ichito napisał(a):a jak w tej chwili wygląda sprawa ewentualnych aktualizacji na nierozwijaną wersję?...orientujesz się?
Gdzieś ja odkopałem na starym dysku z systemem i ostatnia aktualizacja miała miejsce jakoś w 2013 roku. "Status: Idle"

EDIT: wraz z końcem listopada kończy się również bezpłatny okres testowy serwerowego oprogramowania Diladele Web Safety. Miałem okazję poznawać system od lutego i zdążyłem zrobić wszystko, co potrzebowałem Smile
SpyShelter Firewall
Odpowiedz
#6
Jeśli kogoś nie przekonują surowe zrzuty ekranu, to zapraszam do zapoznania się z krótkim filmikiem przedstawiającym webowy panel zarządzania Diladele Web Safety:

[Aby zobaczyć linki, zarejestruj się tutaj]

SpyShelter Firewall
Odpowiedz
#7
Wielkie dzięki za kolejny świetny tekst! Beer
Odpowiedz
#8
Dobry, interesujący artykuł. Dzięki! Wypróbuję.
Odpowiedz


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości