leorsilva83
(usa Debian)
Enviado em 04/09/2019 - 23:34h
Pessoal, seguinte, estou fazendo um projeto de Controle de Acesso a Internet usando RFID, usando apenas o Iptables.
Comecei com um script com intenção de colocar algumas regras em funcionamento.
Eis o script:********************
#!/bin/bash
#interface da internet
internet="enp0s3"
#rede local
local="enp0s8"
iniciar(){
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
#redirecionar para a pagina do servidor apache feita para autenticação
iptables -t nat -I PREROUTING -p tcp -s 192.168.50.0/24 -j REDIRECT --to-ports 80
iptables -t nat -A POSTROUTING -o $internet -j MASQUERADE
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i $local -j ACCEPT
e mais algumas regras de segurança*********
Então, qualquer página que eu tentar acessar, serei redirecionado para a página index.html, onde será feita a leitura da tag, e encaminhado para uma página PHP com o nome de processa.php. Está com o seguinte código.******
<?php
$tag = $_POST['tag'];
$ip = filter_input(INPUT_SERVER, "REMOTE_ADDR");
$servidor = "localhost";
$usuario = "root";
$senha = "****";
$database = "bancodedados";
$conexao = mysqli_connect($servidor, $usuario, $senha, $database);
$query = mysqli_query($conexao, "SELECT acl.site, acl.regra FROM acl, grupo, usuario WHERE usuario.idGrupo = acl.idGrupo AND usuario.tag = '$tag'");
$numrow = mysqli_num_rows($query);
shell_exec("modprobe ipt_string");
$liberarip = shell_exec("sudo iptables -I INPUT -s '$ip" -j ACCEPT");
echo $liberarip;
if($numrow > 0){
while($row = mysqli_fetch_array($query)){
echo $row['site'] . " - ";
echo $row['regra']."<br>";
$site = $row['site'];
$condicao = $row['regra'];
$regra = shell_exec("sudo iptables -I INPUT -s " . $ip . " -m string --algo bm --string '" . $site . " -j " . $condicao);
echo $regra;
}
header("Refresh: 10; url=http://www.google.com");
}
else {
echo "Tag não cadastrada";
header("Refresh: 10; url=//192.168.50.1/index.html");
}
?>
*******************
Preciso de ajuda para rever as regras do Iptables, que no caso, a regra do PHP tem que ser escrita acima da regra de redirecionamento da página de leitura da TAG que está no script iniciado com o servidor Debian.