Dificuldades para liberar acesso SSH [RESOLVIDO]

1. Dificuldades para liberar acesso SSH [RESOLVIDO]

Mauricio
mauricioscotti

(usa Ubuntu)

Enviado em 19/01/2016 - 16:31h

Olá pessoal,
Estou aprendendo IPTABLES agora e para assimilar bem o seu funcionamento resolvi criar um firewall do zero e aos poucos adicionado recursos. Li em vários lugares que para ter um controle legal basta começar limpando e bloqueando tudo e ir liberando conforme o necessário. Segue as poucas linhas que já adicionei:

#Limpa regras existentes
iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F

#Fecha todas as portas
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

#Libera ping
iptables -A INPUT -p icmp -j ACCEPT
iptables -A FORWARD -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT

#Libera acesso ssh ao servidor pela porta 22
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

O problema que estou tendo é que iniciei a politica OUTPUT como DROP e a linha que libera acesso ssh só funciona se a politica OUTPUT estiver como ACCEPT. Teitei também de outros meios como: iptables -A INPUT -p tcp --dport 22 -i eth0 -j ACCEPT.
Está minha máquina tem 3 placas de rede, todas as 3 estão ativas.


  


2. MELHOR RESPOSTA

Bruno Ricardo Rodrigues
Brunorr

(usa CentOS)

Enviado em 19/01/2016 - 17:12h

mauricioscotti escreveu:

Olá pessoal,
Estou aprendendo IPTABLES agora e para assimilar bem o seu funcionamento resolvi criar um firewall do zero e aos poucos adicionado recursos. Li em vários lugares que para ter um controle legal basta começar limpando e bloqueando tudo e ir liberando conforme o necessário. Segue as poucas linhas que já adicionei:

#Limpa regras existentes
iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F

#Fecha todas as portas
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

#Libera ping
iptables -A INPUT -p icmp -j ACCEPT
iptables -A FORWARD -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT

#Libera acesso ssh ao servidor pela porta 22
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

O problema que estou tendo é que iniciei a politica OUTPUT como DROP e a linha que libera acesso ssh só funciona se a politica OUTPUT estiver como ACCEPT. Teitei também de outros meios como: iptables -A INPUT -p tcp --dport 22 -i eth0 -j ACCEPT.
Está minha máquina tem 3 placas de rede, todas as 3 estão ativas.


Na verdade o que você precisa fazer é criar a mesma regra tanto na tabela INPUT quanto na OUTPUT.

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT-p tcp --sport 22 -j ACCEPT


Isso pois para haver "comunicação" o servidor tem que falar (OUTPUT) e ouvir (INPUT) os clientes SSH.

E não esquece das portas. O pacote chega NA porta 22 e sai PELA porta 22. dai os "dport" e "sport"
Abraços.

3. Re: Dificuldades para liberar acesso SSH

Renan Arantes
R3nan

(usa Debian)

Enviado em 19/01/2016 - 17:17h

vc tb pode adicionar a regra iptables -A OUTPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT onde seu firewall irá se tornar statfull ao inves de iptables -A OUTPUT-p tcp --sport 22 -j ACCEPT ele ira liberar as conexões de saida se ja estabelecida e relatadas para qualquer porta que vc liberar no INPUT assim não precisa ficar adicinando toda vez as regras de retorno para cada porta como o nosso amigo postou acima, uma unica regra de retorno ja basta.


4. Re: Dificuldades para liberar acesso SSH [RESOLVIDO]

Bruno Ricardo Rodrigues
Brunorr

(usa CentOS)

Enviado em 19/01/2016 - 17:25h

Só quis ser simples pois como ele disse esta aprendendo, mas utilizar Filtros de Estados é uma ótima estrategia e é um pouco mais seguro :P

abs.


5. Re: Dificuldades para liberar acesso SSH [RESOLVIDO]

Renan Arantes
R3nan

(usa Debian)

Enviado em 19/01/2016 - 17:31h

isso ai Bruno ;)


6. Re: Dificuldades para liberar acesso SSH [RESOLVIDO]

Mauricio
mauricioscotti

(usa Ubuntu)

Enviado em 19/01/2016 - 18:02h

Deu certinho Brunorr, só faltava mesmo o retorno.
R3nan, seu comando é bem complexo, vou demorar mais alguns dias para chegar nestes comandos hard hehe.
T+ galera, vlw pela força...


7. Re: Dificuldades para liberar acesso SSH [RESOLVIDO]

Leonardo Marcatti da Silva
leonardomarcatti

(usa Debian)

Enviado em 27/04/2017 - 15:00h

Brunorr escreveu:

mauricioscotti escreveu:

Olá pessoal,
Estou aprendendo IPTABLES agora e para assimilar bem o seu funcionamento resolvi criar um firewall do zero e aos poucos adicionado recursos. Li em vários lugares que para ter um controle legal basta começar limpando e bloqueando tudo e ir liberando conforme o necessário. Segue as poucas linhas que já adicionei:

#Limpa regras existentes
iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F

#Fecha todas as portas
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

#Libera ping
iptables -A INPUT -p icmp -j ACCEPT
iptables -A FORWARD -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT

#Libera acesso ssh ao servidor pela porta 22
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

O problema que estou tendo é que iniciei a politica OUTPUT como DROP e a linha que libera acesso ssh só funciona se a politica OUTPUT estiver como ACCEPT. Teitei também de outros meios como: iptables -A INPUT -p tcp --dport 22 -i eth0 -j ACCEPT.
Está minha máquina tem 3 placas de rede, todas as 3 estão ativas.


Na verdade o que você precisa fazer é criar a mesma regra tanto na tabela INPUT quanto na OUTPUT.

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT-p tcp --sport 22 -j ACCEPT


Isso pois para haver "comunicação" o servidor tem que falar (OUTPUT) e ouvir (INPUT) os clientes SSH.

E não esquece das portas. O pacote chega NA porta 22 e sai PELA porta 22. dai os "dport" e "sport"
Abraços.


Não é necessário os atributos -m state --state [NEW, ESTABLISHED] ???