Quiosque funcionando: consegui usando o
Debian 7.2. Bloqueia todos os sites da Internet e só acessa um domínio.
Passos
1. Configurar o Firewall:
Arquivo
firewall.sh, e dê permissão de execução:
sudo chmod a+x firewall.sh
Salvei em
/home/firewall.sh.
Conteúdo do arquivo:
#!/bin/bash
# Apagando todas as regras
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
# Mudando a politica - Começa bloqueando tudo
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# Libera conexões pre-estabelecidas
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Liberar HTTPS - aqui você coloca o IP do domínio
iptables -A OUTPUT -p tcp -d xx.xx.xx.xx --dport 443 -m state --state NEW -j ACCEPT
# Liberar HTTP - aqui você coloca o IP do domínio
iptables -A OUTPUT -p tcp -d xx.xx.xx.xx --dport 80 -m state --state NEW -j ACCEPT
# Liberar DNS
iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
#Liberar DHCP - na minha rede interna usa DHCP
iptables -A OUTPUT -p tcp --dport 67 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p udp --dport 67 -m state --state NEW -j ACCEPT
2. Deixar configurado para quando iniciar a máquina executar o firewall.sh.
Edite:
sudo gedit /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/home/./firewall.sh
exit 0
Inicie:
sudo /etc/init.d/rc.local start
3. Agendei para executar o script de 5 em 5 minutos no
Cron (precaução minha):
Configurando o Cron:
# crontab -e
# Todos os dias de 5 em 5 minutos
*/5 * * * * /etc/init.d/rc.local start
Monitorando para ver se está sendo executado:
sudo tail -f grep CRON /var/log/syslog
4. Configurando para iniciar a máquina e abrir só o
Firefox.
Edite:
sudo gedit /etc/X11/Xsession.d/99x11-common_start
Deixe assim:
# $Id: 99x11-common_start 305 2005-07-03 18:51:43Z dnusinow $
# This file is sourced by Xsession(5), not executed.
#exec $STARTUP
exec firefox javascript:%20resizeTo\(1280,1024\)
# vim:set ai et sts=2 sw=2 tw=80:
Amigos e Amigas,
Após novos testes feitos cheguei a novas conclusões:
Eu estava tentando liberar um formulário que pertence a um domínio, onde o IP está lá nas regras do iptables.
Por exemplo:
dominio.br/mapas/publico/consultapublica/formulario.jsf
Na minha dica estava usando só com o IP no arquivo do iptables, mas não funcionava legal. Demorava muito para carregar o formulário.
Tentei resolver:
Passos:
1) Criei outro arquivo para liberar as regras: firewall_reset.sh
#######INICIODOARQUIVO
#!/bin/bash
# Apagando todas as regras
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
# Mudando a politica - Libera tudo
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
######FIM
2)Executei este arquivo: ./firewall_reset.sh (depois de dá permissão de execução)
3)Acessei com o firefox o endereço: dominio.br/mapas/publico/consultapublica/formulario.jsf
4)Observei que o formulário carregava rápido. Mas é claro estava tudo liberado.
5) Após isso executei o arquivo firewall.sh com as regras
6) Não sei por que mas o firefox gravou em algum lugar o vínculo do IP com o formulário. O que aconteceu: consigo acessar rápido o formulário e os demais sites ou domínios externos ficaram bloqueados. Se você mandar limpar os caches, e outras limpesas do firefox perde esse vínculo.
7) Instalei um complemento no firefox que torna invisível os menus do firefox.
8)Reiniciei o computador com a configuração: sudo gedit /etc/X11/Xsession.d/99x11-common_start, e funcionou. Acessa o formulário e bloqueia os demais sites. Mas quando desligo o computador e ligo novamente volta a ficar lento o acesso ao formulário.