Como colocar um limite de tempo total (cumulativo) na visita a sites específicos

1

Alguém sabe de uma maneira (talvez usando o iptables) colocar limites de tempo em sites?

Mais precisamente, meu chefe gostaria de permitir que os funcionários acessem sites específicos na lista de permissões e gostaria de atribuir a cada site da lista de permissões um número acumulado de minutos de conexão por dia. Por exemplo, os trabalhadores são livres para acessar o website A quando desejarem, eles têm apenas um total cumulativo de X minutos para fazê-lo; depois que os minutos X atribuídos forem esgotados, o acesso a esse site específico deve ser bloqueado. Semelhante para todos os outros sites da lista de permissões. Enquanto um usuário estiver conectado a um site (digamos, o site estiver aberto em uma guia do navegador), esse tempo será computado em relação aos X minutos desse site, portanto, o usuário deverá fechar o site para evitar que esses minutos sejam contados. quer preservar minutos para voltar a acessar o site mais tarde. Existem alguns sites na lista de permissões necessários para fazer o nosso trabalho e seus X minutos por dia permitidos é o dia inteiro. Alguns sites são para uso pessoal (sites de e-mail, por exemplo) e esses sites (que são muito mais fáceis de navegar com teclado / mouse / tela grande do que em um telefone) têm um X minutos limitado.

Se houver uma maneira de fazer isso no nível do iptables, isso seria ótimo. Se isso não puder ser feito no nível do iptables, existe alguma maneira de fazer isso? Nós usamos o Ubuntu 16.04 LTS. (Não há plug-ins de brower, que são facilmente modificados. O Squid não pode definir timelimits.)

    
por Julie 26.10.2017 / 21:38

2 respostas

3

É muito difícil definir o tempo gasto em um site: se o site (página específica de um site) não tiver atualizações dinâmicas de qualquer tipo, ou seja, página completamente estática, você poderá carregar essa página de manhã e fechar a guia no final do dia útil, portanto, nenhum sinal de que o site é exibido na tela do usuário pode ser detectado em algum firewall ou roteador dedicado.

Assim, a única solução viável é um navegador personalizado que executa a contabilização de tempo para cada usuário. Há vários navegadores leves baseados em webkit que podem ser modificados de acordo com suas necessidades.

O equipamento que seus colegas de trabalho estão usando é propriedade da sua empresa, portanto, é um direito absoluto de uma empresa definir políticas sobre o uso de equipamentos, bem como sanções por violações.

Se um trabalhador não é capaz de seguir as políticas estabelecidas e tentaria violá-las de qualquer maneira, então ele (a) merece a posição?

    
por 27.10.2017 / 05:19
3

Pensei nisso por um tempo e acho que um método semelhante a isso funcionaria:

Faça um trabalho cron criar um arquivo no diretório inicial raiz (geralmente /root ). Faça isso uma vez por dia. O arquivo deve conter um valor inteiro para o número de minutos que os usuários têm permissão para acessar sites "bloqueados" por dia.

Adicione uma linha ao seu arquivo /etc/hosts redirecionando todos os sites não permitidos para localhost; Isso tem o efeito de "bloquear" esses sites.

Escreva um pequeno programa que use um parâmetro que represente os minutos. O programa subtrairá o número de minutos solicitado do arquivo no diretório inicial raiz. O programa irá editar o arquivo /etc/hosts para remover esses sites "bloqueados" e redefinir a interface de rede. Em seguida, ele permanecerá no número de minutos escolhido, editará novamente o arquivo /etc/hosts para bloquear os sites e redefinirá a interface de rede. Isso será permitido até que o arquivo no diretório raiz armazene um zero. Então só será redefinido no dia seguinte.

    
por 31.10.2017 / 02:04