Você pode fazer de duas formas:
1. Liberar alguns sites e depois bloquear todo o restante.
Código:
#//Define a rede all
acl all src 0.0.0.0/0.0.0.0
#//Define um arquivo, onde serao colocados os sites liberados
acl sites_liberados dstdom_regex "/etc/squid/sites_liberados"
#//libera acesso a estes sites
http_access allow sites_liberados
#//Bloqueiao restante dos acessos
http_access deny all
Essa primeira regra de definição da rede all geralmente já existe no squid.conf. Eu a coloquei somente para explicar de onde vem esse all
2. Bloquear o que não está definido no arquivo de liberação
Código:
#//Define um arquivo, onde serão colocados os sites liberados
acl sites_liberados dstdom_regex "/etc/squid/sites_liberados"
#//Bloqueia o que não está no arquivo
http_access deny !sites_liberados
Ambos funcionam praticamente da mesma forma. O seu método provavelmente não funcionou porque abaixo da sua linha http_access deny sites_bloqueados devia existir um http_access allow all, que é do squid.conf padrão. Então primeiro você permitia alguns sites, depois bloqueava outros e no final liberava o restante. Resumindo, você só estava bloqueando o que havia no arquivo sites_bloqueados.