Bloqueie sites indesejados com o arquivo /etc/hosts

Para quem não sabe, o /etc/hosts é um arquivo de texto simples, presente em sistemas operacionais Linux e Unix-like, que mapeia nomes de host (como www.exemplo.com) para endereços IP (como 192.168.0.1).

Ele funciona como um pequeno DNS local, consultado antes de buscar informações nos servidores DNS da internet.

Sua função é definir nomes personalizados para endereços IP, facilitando a memorização e o acesso a sites ou serviços internos.

É muito utilizado para configurar hosts virtuais e testar sites localmente, sem precisar acessar a internet.

Ao adicionar um site malicioso ao arquivo hosts, você impede o acesso a ele, existindo sites que geram listas completas de IP’s maliciosos.

Como funciona?

Cada linha do arquivo contém um endereço IP seguido de um ou mais nomes de host. Ao digitar um nome de host no navegador, o sistema consulta primeiro o arquivo /etc/hosts.

Encontrando correspondência, o navegador se conecta ao endereço IP indicado. Caso contrário, a consulta é encaminhada para os servidores DNS. Exemplo:

127.0.0.1 localhost
192.168.0.1 meusite.local

Bloqueando sites

Ao adicionar uma entrada no arquivo hosts, você pode direcionar um domínio para um endereço IP inválido, como o de loopback (127.0.0.1).

Dessa forma, quando você tentar acessar esse site, o seu computador não encontrará o endereço IP e você receberá uma mensagem de erro.

Para realizar o bloqueio, adicione a seguinte linha no final do /etc/hosts:

0.0.0.0 diolinux.com.br

ou

127.0.0.1 diolinux.com.br

No primeiro, o IP 0.0.0.0 escuta em todas as interfaces de rede, sendo útil para servidores DNS locais ou roteadores.

No segundo, o IP 127.0.0.1 escuta no loopback (lo) e serve para seu computador. Você pode usar os dois.

Há muitas listas disponíveis, de endereços nocivos, para download que você pode adicionar ao seu arquivo hosts.

A mais delas é a lista de Steven Black, sempre atualizada a intervalos regulares.

Para usá-la, faça download do arquivo hosts, acrescente os endereços personalizados de seu /etc/hosts e coloque-o no lugar do hosts original, fazendo becape antes:

$ sudo cp /etc/hosts /etc/hosts_old

Veja o cabeçalho padrão do arquivo baixado:


Foto do autor

Veja alguns domínios a serem bloqueados:


Foto do autor

E agora mostramos o endereço da lista:


Foto do autor

Nos sites indicados do mantenedor do projeto, você encontra vários “hosts” que bloquriam vários conteúdos. Basta selecionar e baixar.

Esse recurso pode ser usado no Linux, Mac e Windows, sendo que nos concentramos no primeiro. Pro outros, você encontra tutoriais na internet.

5 curtidas

O Hblock e ótimo pra automatizar um block em ads/malwares e outros indesejáveis na rede kkkk

3 curtidas

ainda bem que temos muitos recursos à disposição. :wink:

1 curtida

Pegar todo o conteúdo dos arquivos e jogar no hosts será que vai deixar o sistema lento ou travado?

hosts
hosts_adblock.txt
hosts_dnsmasq.conf
hosts_domains.txt
hosts_rpz_wildcards.txt
hosts_rpz.txt
hosts_unbound.conf
hosts_windows.ps1
most_abused_suffixes.txt
most_abused_tlds.txt

No caso não, no windows o cliente DNS faria o cachê e tornaria o sistema lento temporariamente, mas no Linux só carrega sob demanda então não tem como ficar lento

Podemos imaginar algo assim…

Bloqueie sites indesejados com o arquivo /etc/hosts - [ script não testado]

bloquear-sites.sh

nunca observei lentidão

Arquivo de texto com 1MB para cima tem um tempo para abrir. Conforme vai adicionando dados teoricamente deixaria lento a leitura.

Esse arquivo hosts tem limite para dados?

Acho que um programa de gerenciamento de banco de dados trabalharia melhor com grande volume de dados.

1 curtida

nunca me preocupei com isso. mas sua ideia é boa.