Adicione regras de IPtables por script a pedido de outro computador

1

Eu me pergunto, é possível fazer um script, que adiciona regra no iptables por solicitação de outro pc? Quer dizer, o script "sabe" o que fazer, mas o addres para regra vem do pedido.

E como você acha que isso deveria ser realizado? Eu suponho, deveria ser deamon, ou script demonizado ...

    
por Alik 10.06.2014 / 15:32

1 resposta

1

Provavelmente, é mais fácil implementar isso usando uma linguagem de script do lado do servidor, como PHP ou Perl. No entanto, como a entrada para o script é controlável pelo usuário, você deve ser muito cuidadoso ao usá-lo como entrada.

Um exemplo está abaixo (não sou um codificador da web, portanto, pode haver grandes problemas de segurança com esse código, use com extrema cautela):

#!/usr/bin/perl -wT

# Send HTTP content-type
print "Content-type:text/html\r\n\r\n";

my $requester_ip;
# Do some sanity checking on the IP send by the webserver
if ( $ENV{'REMOTE_ADDR'} =~ m/(\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b)/ ) {
  my $requester_ip = $1;
} else {
  print "An error occurred\n";
  exit;
}

# Open SMTP for the requester
'sudo iptables -A INPUT -d $requester_ip -p tcp --dport 25 -j ACCEPT' 

Se você quiser usar isso, verifique se o usuário do seu servidor da Web pode executar sudo somente com este comando específico. Mais uma vez, este código é fornecido na esperança de que seja útil, mas SEM QUALQUER GARANTIA OU ADEQUAÇÃO A UM DETERMINADO FIM.

Seria ainda melhor fazer isso em um processo de duas etapas:

  • Solicite que o servidor da Web grave o IP em um arquivo
  • Deixe um script separado ser executado a partir do crontab para obter o IP do arquivo e executar iptables .
por 10.06.2014 / 16:03