-- Leo's gemini proxy

-- Connecting to gmi.osiux.com:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini;lang=es_AR

How to block bad sites using low tech


AUTHOR: Osiris Alejandro Gomez

EMAIL: osiux@osiux.com

DATE: 2023-03-15 23:00


[IMG]

[1]


*Era el DNS!*


Si bien existen múltiples maneras de bloquear sitios, una muy usada es realizarlo por *DNS*, es decir devolver una *IP* diferente para un dominio en particular.


Hay servicios como *FamilyShield* ^1[2] de *OpenDNS* que se ocupan de filtrar el contenido para adultos si se edita el archivo `/etc/resolv.conf` de la siguiente manera:


nameserver 208.67.220.123
nameserver 208.67.222.123

Pero esto implica un costo, es decir dentro de tu red o *LAN* (*Local Area Network*) hay que realizar una consulta a los servidores remotos de *OpenDNS* y esto implica generar tráfico internacional y si bien los *DNS* responden velozmente, hay una demora en la respuesta, además de que el tráfico de consulta de *DNS* podría ser monitoreado por terceros.


solo confío en `localhost`


Una alternativa es utilizar una resolución interna de *DNS* que NO genera tráfico fuera de nuestro equipo, y es contar con un listado de *"sitios malos" (adware, malware, fakenews, gambling, social, etc)* dentro del archivo `/etc/hosts`, solo basta indicar una *IP* diferente, ésta puede ser `0.0.0.0` o la *IP* de una bonita web que informe que ese sitio esta restringido.


Por lo general el archivo `/etc/hosts` además del *hostname* y *FQDN* de nuestro equipo, solo contiene las siguientes convenciones:


127.0.0.1 localhost
127.0.0.1 localhost.localdomain
127.0.0.1 local
255.255.255.255 broadcasthost
::1 localhost
::1 ip6-localhost
::1 ip6-loopback
fe80::1%lo0 localhost
ff00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
0.0.0.0 0.0.0.0

*StevenBlack*


Ahora bien cómo consigo un listado de sitios malos? bueno, hay varios disponibles en la web y *StevenBlack* ^2[3] consolida varios listados y además permite definir nuestra propia combinatoria de filtrado, permitiendo personalizar el listado agregando registros propios.


Si bien este método utiliza un listado estático, mediante el *script* `updateHostsFile` permite la actualización de los diferentes listados para regenerar el archivo `/etc/hosts`


Actualizar `/etc/hosts` usando `updateHostsFile.py` es muy simple!


# python3 ./updateHostsFile.py -a -r

Updating source data/StevenBlack from https://raw.githubusercontent.com/StevenBlack/hosts/master/data/StevenBlack/hosts
Updating source data/add.2o7Net from https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.2o7Net/hosts
Updating source data/add.Dead from https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.Dead/hosts
Updating source data/add.Risk from https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.Risk/hosts
Updating source data/add.Spam from https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.Spam/hosts
Updating source data/Badd-Boyz-Hosts from https://raw.githubusercontent.com/mitchellkrogza/Badd-Boyz-Hosts/master/hosts
Updating source data/hostsVN from https://raw.githubusercontent.com/bigdargon/hostsVN/master/option/hosts-VN
Updating source data/KADhosts from https://raw.githubusercontent.com/PolishFiltersTeam/KADhosts/master/KADhosts.txt
Updating source data/MetaMask from https://raw.githubusercontent.com/MetaMask/eth-phishing-detect/master/src/hosts.txt
Updating source data/minecraft-hosts from https://raw.githubusercontent.com/jamiemansfield/minecraft-hosts/master/lists/tracking.txt
Updating source data/shady-hosts from https://raw.githubusercontent.com/shreyasminocha/shady-hosts/main/hosts
Updating source data/someonewhocares.gmi from https://someonewhocares.gmi/hosts/zero/hosts
Updating source data/tiuxo from https://raw.githubusercontent.com/tiuxo/hosts/master/ads
Updating source data/UncheckyAds from https://raw.githubusercontent.com/FadeMind/hosts.extras/master/UncheckyAds/hosts
Updating source data/URLHaus from https://urlhaus.abuse.ch/downloads/hostfile/
Updating source extensions/fakenews from https://raw.githubusercontent.com/marktron/fakenews/master/fakenews
Updating source extensions/gambling/bigdargon from https://raw.githubusercontent.com/bigdargon/hostsVN/master/extensions/gambling/hosts-VN
Updating source extensions/gambling/sinfonietta from https://raw.githubusercontent.com/Sinfonietta/hostfiles/master/gambling-hosts
Updating source extensions/porn/bigdargon from https://raw.githubusercontent.com/bigdargon/hostsVN/master/extensions/adult/hosts-VN
Updating source extensions/porn/brijrajparmar27 from https://raw.githubusercontent.com/brijrajparmar27/host-sources/master/Porn/hosts
Updating source extensions/porn/clefspeare13 from https://raw.githubusercontent.com/StevenBlack/hosts/master/extensions/porn/clefspeare13/hosts
Updating source extensions/porn/sinfonietta from https://raw.githubusercontent.com/Sinfonietta/hostfiles/master/pornography-hosts
Updating source extensions/porn/sinfonietta-snuff from https://raw.githubusercontent.com/Sinfonietta/hostfiles/master/snuff-hosts
Updating source extensions/porn/tiuxo from https://raw.githubusercontent.com/tiuxo/hosts/master/porn
Updating source extensions/social/sinfonietta from https://raw.githubusercontent.com/Sinfonietta/hostfiles/master/social-hosts
Updating source extensions/social/tiuxo from https://raw.githubusercontent.com/tiuxo/hosts/master/social
==>fe00::0 ip6-localnet<==
==>ff00::0 ip6-mcastprefix<==
==>ff02::2 ip6-allrouters<==
==>ff02::3 ip6-allhosts<==
Success! The hosts file has been saved in folder
It contains 184,251 unique entries.
Replacing /etc/hosts requires root privileges. You might need to enter your password.

*Pi-hole*


Siempre existen otras alternativas, tal vez mejores, como el proyecto *Pi-hole* ^3[4], que si bien aportan listas dinámicas y bonitas estadísticas de sitios que NO quiero visitar, consumen mas recursos que tener un archivo `/etc/hosts` enorme.


*Por las dudas...*


Obviamente se puede combinar el bloqueo por *DNS* a nivel de red conjuntamente con el bloquepo por `/etc/hosts`, incluso muchos *routers* con soporte para *OpenWRT* ^4[5] permiten usar un `/etc/hosts` extra a la resolución del *DNS* configurado y de esta manera contar con mas de una protección y reducir el tráfico de red innecesario!


ChangeLog


`2023-03-17 11:10`[6] corregir links en ChangeLog de *How to block bad sites using low tech*

`2023-03-16 19:38`[7] corregir título y tags OpenGraph en *How to block bad sites using low tech*

`2023-03-15 23:10`[8] agregar *How to block bad sites using low tech*


1: file:img/stevenblack-etc-hosts.png

2: https://support.opendns.com/hc/en-us/articles/228006487-FamilyShield-Router-Configuration-Instructions

3: https://github.com/StevenBlack/hosts

4: https://pi-hole.net/

5: https://openwrt.gmi/

6: https://gitlab.com/osiux/osiux.gitlab.io/-/commit/50389ff9eb9e0eb266cb7dc14d9b7d1778575ebe

7: https://gitlab.com/osiux/osiux.gitlab.io/-/commit/5bb3d1014e327ccfd4f5ffa50574029e16f75355

8: https://gitlab.com/osiux/osiux.gitlab.io/-/commit/45386e5f5ce19cb51e7fadb828ce1d0a1ebdd2ff

-- Response ended

-- Page fetched on Thu May 2 02:58:59 2024