Porta de bloco IPtables 8080 mas não para localhost

5

Atualmente eu tenho um aplicativo que está sendo executado no 8080 front-ended por mod_proxy.

    <Location /hudson>
            Order allow,deny
            Allow from all
            ProxyPass http://localhost:8080/hudson
            ProxyPassReverse http://localhost:8080/hudson
    </Location>

Eu preciso bloquear o TCP 8080, mas não o localhost, como isso pode ser feito com o IPtables?

    
por Joey BagODonuts 18.03.2011 / 04:24

3 respostas

5

Você pode tentar o seguinte:

// accept all tcp on port 8080 from localhost  
iptables -I INPUT 1 -i lo -p tcp --dport 8080 -j ACCEPT  

[...] all your other rules  
// drop all other packets  
iptables -A INPUT -j DROP  

Se você quiser permitir também 1 (ou mais) IP externo / outro, use:

// accept tcp on port 8080 from allowed_ip  
iptables -I INPUT 3 -i eth0 -p tcp --dport 8080 -s allowed_ip -j ACCEPT

Deixe-me saber como é:)

    
por 18.03.2011 / 05:05
12

Isso funcionaria:

iptables -A INPUT ! -s 127.0.0.1 -p tcp -m tcp --dport 8080 -j DROP
    
por 18.03.2011 / 05:37
1

Outra abordagem: no servidor ouvindo 8080, liga-se apenas ao localhost: Para o apache, parece que segue:

Listen 127.0.0.1:8080
<VirtualHost 127.0.0.1:8080>
...
</VirtualHost>
    
por 18.03.2011 / 07:19