Instalacja tandemu DansGuardian + Squid na Mac OS X Server 10.4 (Tiger)

Tło dziejowe

Art. 4a znowelizowanej ustawy o systemie oświaty (Dz. U. z 1991 r. Nr 95, poz. 425 z późn. zm.) nakłada na szkoły i placówki zapewniające uczniom dostęp do Internetu między innymi obowiązek instalowania i aktualizowania oprogramowania zabezpieczającego przed dostępem do treści, które mogą stanowić zagrożenie dla ich prawidłowego rozwoju.

Problem można rozwiązać na wiele sposobów w zależności od platformy sprzętowej oraz programowej, którą w pracowni szkolnej dysponujemy.

Założenia projektowe

Zapewnienie filtrowania stron WWW jak najniższym kosztem dla bliżej nieokreślonej liczby komputerów (będących własnością uczniów) wpiętych do sieci, nad którymi nie mam kontroli administracyjnej.

Wybrane elementy realizacyjne

Dysponowałem praktycznie niewykorzystywanym Power Makiem G5 z zainstalowanym systemem Mac OS X Server 10.4 (Tiger).

Pierwszym krokiem było skonfigurowanie tego serwera jako bramę internetową. Tak, żeby cały ruch do sieci i z sieci Internet odbywał się przez niego. Zadanie można wykonać wykorzystując kreatora: Gateway Setup Assistant, znajdującego się w folderze /Applications/Server/.

Ponieważ jest to system należący do rodziny Unix (czerpał wzorce z FreeBSD oraz Net BSD) dlatego, aż się prosi, aby skorzystać z MacPorts i zainstalować znakomity tandem DansGuardian + Squid, a potem skonfigurować przy pomocy ipfw transparentne proxy przekierowujące wywołania z sieci wewnętrznej na porcie 80 na port 8080 na serwerze, na którym z kolei nasłuchuje DansGuardian. Dzięki czemu użytkownicy nie będą musieli ustawiać proxy w swoich przeglądarkach, co mogłoby spowodować drastyczny wzrost pytań do administratora sieci, czyli mnie 😉

Realizacja

A zatem do dzieła.

  1. Ze strony connect.apple.com (wymagane jest zalogowanie przy użyciu konta, które możemy sobie gratisowo założyć) pobrać Xcode 2.5 Developer Tools (jest dostępny w sekcji Downloads, podsekcji Developer Tools, gdzieś tak w połowie strony). Uwaga! Jest to wersja Xcode, która jeszcze wspiera system Mac OS X 10.4 (Tiger). Nowsze wersje już nie mają wsparcia dla tego systemu.
  2. Instalujemy pakiet zwyczajową metodą.
  3. Ze strony macports.org pobieramy paczkę Macports 1.8.2 przeznaczoną dla Tigera.
  4. Instalujemy pakiet zwyczajową metodą.
  5. Opalamy Terminal i wpisujemy komendę sudo port install squid3 +ipfw_transparent. Ta komenda zainstaluje nam Squida 3 z obsługą transparentnego proxy.
  6. Modyfikujemy plik konfiguracyjny za pomocą komendy sudo nano /opt/local/etc/squid/squid.conf
  7. W edytorze odnajdujemy linię: http_port 3128 i zmieniamy ją do postaci http_port 3128 transparent i zapisujemy zmiany.
  8. Wpisujemy komendę sudo launchctl load -w /Library/LaunchDaemons/org.macports.Squid.plist, która spowoduje, że po każdym restarcie serwera Squid będzie automatycznie uruchamiany.
  9. Czas na DansGuardiana. Komenda sudo port install dansguardian załatwia sprawę.
  10. Po zainstalowaniu możemy wyedytować plik konfiguracyjny DansGuardiana za pomocą komendy: sudo nano /opt/local/etc/dansguardian/dansguardian.conf ustawiając opcję language = ‚polish’, dzięki czemu informacja o zablokowaniu strony będzie wyświetlać się w języku polskim. Więcej informacji o modyfikacji pliku konfiguracyjnego i w ogóle o DansGuardianie na polskiej stronie www.dansguardian.pl.
  11. Komenda sudo launchctl load -w /Library/LaunchDaemons/org.macports.dansguardian.plist spowoduje automatyczne uruchamianie DansGuardiana po każdym restarcie serwera.
  12. W tym momencie po ustawieniu w przeglądarce proxy serwera ze wskazaniem na port 8080, możemy przetestować działanie DansGuardiana, próbując np. poszukać pikantnych obrazków w sieci.
  13. Ostatnie zadanie to konfiguracja przekierowania portu 80, tak żeby dało się korzystać z DansGuardiana bez potrzeby konfiguracji przeglądarki.
  14. Edytujemy plik: sudo nano /etc/ipfilter/ipfw.conf
  15. Dopisujemy na dole pliku: add 11000 fwd 127.0.0.1,8080 tcp from any to any dst-port 80 in recv en1 Uwaga! Musicie sprawdzić, czy interfejs sieciowy, do którego przyłączona jest sieć wewnętrzna to en1. Jeśli jest to en0 to musicie zamienić en1 na en0 w ww. linii.
  16. Sprawdzamy, czy przekierowanie jest aktywne: sudo ipfw list, jeśli nie to komenda sudo ipfw -q add 11000 fwd 127.0.0.1,8080 tcp from any to any 80 in recv en1 załatwi sprawę. Uwaga! Proszę zwrócić uwagę na interfejs sieciowy: en1 lub en0.
  17. Możemy już sprawdzić, czy działa. W tym celu na jednym z komputerów klienckich podpiętych do sieci wewnętrznej uruchamiamy przeglądarkę i próbujemy wyszukać brzydkie strony 😉

2 przemyślenia nt. „Instalacja tandemu DansGuardian + Squid na Mac OS X Server 10.4 (Tiger)

  1. fajnie, tylko obowiazek wynikajacy ze wspomnianego artykulu nieszczesnej ustawy nie definiuje, czy samo wykonanie jakichkolwiek czynnosci zabezpieczajacych dostep do nieodpowiednich tresci jest wystarczajace i zwalnia dostawce uslugi z dalszej odpowiedzialnosci

    konkretnie: co bedzie jezeli uczen ustawi sobie proxy http lub skorzysta z innego rodzaju tunelu czy polaczenia vpn, dzieki ktorym to jednak ominie w/w zabezpieczenia? oczywiscie przy zalozeniu, ze taki dostep w tej sieci jest dozwolony ( inny ruch niz http )

  2. Przepis mówi, że: „Szkoły i placówki zapewniające uczniom dostęp do Internetu są obowiązane podejmować działania zabezpieczające uczniów przed dostępem do treści, które mogą stanowić zagrożenie dla ich prawidłowego rozwoju, w szczególności zainstalować i aktualizować oprogramowanie zabezpieczające.”

    Na całokształt tych działań, nie składa się tylko i wyłącznie instalacja programów zabezpieczających, ale również inne działania, jak przykładowo nadzór nad uczniem podczas zajęć szkolnych przy komputerze.

    Poza tym nie jest tam napisane, że szkoła ma obowiązek zabezpieczyć, ale ma obowiązek "podejmować działania zabezpieczające". Wiemy przecież, że w praktyce nie jest możliwe stuprocentowe zabezpieczenie ucznia przed dostępem do treści niepożądanych, choćby z uwagi na niedoskonałość programów filtrujących treści.

Dodaj komentarz