Rejestr Domen Służących do Oferowania Gier Hazardowych Niezgodnie z Ustawą
Ostatnia zmiana: 2017-07-15 07:10

Z dniem 1 lipca 2017r weszła w życie ustawa hazardowa nakazująca operatorom blokowanie dostępu do domen oferujących "nielegalne" gry hazardowe. Spis takich domen można znaleźć na stronie rządowej Rejestr Domen Służących do Oferowania Gier Hazardowych Niezgodnie z Ustawą. Jeżeli ktoś jest operatorem to ma obowiązek blokowania stron wymienionych w rejestrze; jeżeli używa zaś OpenWrt/LEDE/Gargoyle to do tego celu można wykorzystać znany mechanizm do blokowania reklam.

Instalacja niezbędnych narzędzi

Jeżeli używamy LEDE wystarczy do systemu doinstalować odpowiednią bibliotekę, aby wbudowany wget (a właściwie uclient-fetch) potrafił obsługiwać szyfrowane połączenia https:


    # opkg update
    # opkg install libustream-mbedtls

Jeżeli używamy wcześniejszych wydań OpenWrt lub Gargoyle należy zainstalować pełną wersję wget:


    # opkg update
    # opkg install wget

Konfiguracja DNS

Zakładając że używamy dnsmasq, należy odpowiednio zmodyfikować konfigurację dodając plik z listą zakazanych hostów:


    # uci add_list dhcp.@dnsmasq[0].addnhosts=/etc/ustawahazardowa.txt
    # uci commit dhcp

Lista domen będzie przechowywana w pliku /etc/ustawahazardowa.txt.

Pobranie aktualnej listy z rejestru

Zgodnie z wytycznymi ustawy można pobrać plik w formacie XML zawierający listę zakazanych domen. Plik taki można obrobić później dowolnymi narzędziami (np. perlem), jednakże jego budowa jest na tyle prosta że można posłużyć się odpowiednim skryptem. Przygotowałem skrypt wykorzystujący awk, choć oczywiście nic nie stoi na przeszkodzie żeby go napisać samodzielnie.


    # wget https://dl.eko.one.pl/projekty/ustawahazardowa/ustawahazardowa.sx -O /usr/bin/ustawahazardowa.sh
    # chmod 755 /usr/bin/ustawahazardowa.sh

Sprawdzamy czy skrypt działa:


    # ustawahazardowa.sh

Po kilku sekundach powinien pojawić się zaktualizowany plik /etc/ustawahazardowa.txt oraz nastąpi restart dnsmasq.

Automatyzacja pobierania

Lista zakazanych stron jest systematycznie aktualizowana a ustawa narzuca na operatorów wymóg dość szybkiej aktualizacji danych. Należy więc do crona dodać cykliczne uruchomienie skryptu:


    # echo "* */12 * * * /usr/bin/ustawahazardowa.sh" >> /etc/crontabs/root
    # /etc/init.d/cron restart

Spowoduje to aktualizowanie listy domen co 12 godzin.

Zakończenie

Aby sprawdzić działanie należy po prostu wpisać w przeglądarce jedną ze stron wymienionych w rejestrze. Powinno nastąpić przekierowanie na stronę rządową Ministerstwa Finansów z informacją o powodzie zablokowania.
Oczywiście w/w mechanizm zadziała tylko wtedy jeżeli klient używa jako serwera DNS naszego routera. Jeżeli klient samodzielnie zmieni DNS np. na Google lub OpenDNS to nadal będzie miał dostęp do stron.