Como restringir o acesso a um aplicativo do servidor

0

Eu escrevi um aplicativo de servidor simples (com uma interface HTTP). Quero garantir que apenas as chamadas da máquina local sejam processadas, ou seja, quero impedir que pessoas de fora acessem / usem meu servidor.

Como posso restringir pessoas de fora (ou seja, solicitações de máquinas remotas)?

BTW, estou implantando no Linux

    
por Takashi 18.11.2010 / 10:47

4 respostas

1

As outras respostas presumem que você tenha escrito um aplicativo CGI / modular apache - suponho que você tenha escrito seu próprio aplicativo personalizado que também escuta na porta 80, para fins de administração.

Em uma caixa Linux, o método mais simples (não envolve a necessidade de escrever o seu próprio sistema .htaccess ACL ou similar) , é usar iptables para evitar qualquer coisa além do acesso local à sua porta de escolha:

iptables -A INPUT -p tcp --dport 80 -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP

Obviamente, isso é mais indicado para colocar em um script de inicialização que será carregado durante a inicialização e poderia ser feito mais robusto, mas para seus propósitos atuais limitados, como definido, isso deve fazer o trabalho. :)

    
por 18.11.2010 / 12:10
0

tente adicionar um arquivo .htaccess (em seu aplicativo da web) no qual você especifica algo como:
permitir de 192.168.1.
ou qualquer que seja o ip patter para o URL local que você está usando (também 127.0.0.1 deve ser válido).

    
por 18.11.2010 / 11:27
0

Sob o Apache, você pode fazer isso simplesmente através do uso de arquivos .htaccess . Existem alguns exemplos de restrição de acesso por endereço IP neste site .

Para proibir conexões externas e torná-las acessíveis apenas ao host local:

order deny,allow
deny from all
allow from 127.0.0.1

Apenas especifique order deny,allow para que deny tenha precedência. Não se esqueça de especificar deny from all para que todos os outros IPs sejam proibidos de acessar o aplicativo.

Você também pode especificar um intervalo de endereços na última linha, omitindo o último grupo de números.

    
por 18.11.2010 / 11:27
0

Você está procurando 'bind ()' o soquete de escuta que você abre para um endereço IP específico. Se você ligar ao endereço de loopback, apenas programas na máquina local poderão se conectar (a rede localhost nunca é roteada fora de uma determinada máquina)

Isso será mais simples do que uma configuração de firewall, porque é totalmente autônomo em seu programa e porque é portátil.

    
por 19.11.2010 / 05:26