Bloqueio de portas Red Hat

1. Bloqueio de portas Red Hat

Loriel Tischer
loriel_kr

(usa Red Hat)

Enviado em 18/10/2018 - 16:23h

Boa tarde amigos,

Preciso de uma ajuda, eu pesquisei bastante aqui e ainda não consegui encontrar a solução, eu sou novo em iptables, me pediram pra eu configurar nos meus servidores de aplicação as seguintes regras:

SSH na 22 qualquer IP
Liberada porta 80 qualquer IP
Liberada 3306 para apenas um IP
Bloquear todo o restante das portas

Eu acho que as regras seriam essas:

iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -I OUTPUT -p tcp --dport 22 -j ACCEPT

iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I OUTPUT -p tcp --dport 80 -j ACCEPT

iptables -A INPUT -p tcp -d xxx.xxx.xxx.xxx --dport 3306 -j ACCEPT
iptables -A OUTPUT -p tcp -d xxx.xxx.xxx.xxx --dport 3306 -j ACCEPT

Ai eu deveria colocar tudo em DROP e inserir essas regras na maquina?

Como eu posso fazer isso em script?

Aqui eu uso Red Hat via terminal sempre em SSH, as maquinas são do cliente não tenho acesso fisico a elas.

Desde já obrigado.


  


2. Re: Bloqueio de portas Red Hat

Takahashi
signout

(usa Slackware)

Enviado em 18/10/2018 - 21:46h

Boas....

Sugiro a leitura destes artigos:
https://www.vivaolinux.com.br/artigo/Manual-do-IPtables-Comentarios-e-sugestoes-de-regras.
http://eriberto.pro.br/iptables/3.html
https://tiagosleal.wordpress.com/2012/02/27/dominando-estados-da-conexao-com-o-iptables/
https://pt.wikibooks.org/wiki/Guia_do_Linux/Avan%C3%A7ado/Firewall_iptables/Exemplos_de_configura%C3...

É um bom começo...

Algumas observações:

1 - Para cada chain, existe uma regra padrão, voce pode visualizar com o comando iptables -L

nba520 ~ # iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

2 - Entenda que:

INPUT = tudo que tem como destino a maquina onde as regras são aplicadas
OUTPUT = tudo que tem como origem a maquina onde as regras são aplicadas
FORWARD = tudo que passa pela maquina, mas que tem como origem/destino outra maquina.

3 - Compreendendo o item 2, voce pode deixar o INPUT com a politica padrão DROP e depois adicionar somente as regras que terão ACCEPT.
TOME CUIDADO, CASO VOCE DEIXE A POLITICA PADRÃO DE INPUT COMO DROP SEM UMA REGRA DE ACCEPT, VOCE PERDERA ACESSO AO SERVIDOR.COMO VOCE NÃO TEM ACESSO À CONSOLE DO MESMO, SERÁ UMA TREMENDA DOR DE CABEÇA. (teste as regras em uma maquina que voce tenha acesso à console).

4 - Considerando o item 2, o OUTPUT não precisa ser bloqueado já que são pacotes originados na propria maquina(há controversias sobre isto, cada admin pode trabalhar de um jeito, pesquise e veja o que melhor se adequa ao seu caso).
Caso voce considere deixar o OUTPUT como DROP, é necessário uma regra para as conexões que estão vindo para o seu servidor:
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

5 - Baseado nos itens anteriores e considerando as regras que voce mandou:


iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -I OUTPUT -p tcp --dport 22 -j ACCEPT (se a politica padrão do OUTPUT é ACCEPT, não há necessidade, senão, observe a regra do item 4)

iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I OUTPUT -p tcp --dport 80 -j ACCEPT (se a politica padrão do OUTPUT é ACCEPT, não há necessidade, senão, observe a regra do item 4)

iptables -A INPUT -p tcp -d xxx.xxx.xxx.xxx --dport 3306 -j ACCEPT (A ideia é que seja liberado VINDO de um IP e não como destino, então seria -s xxx.xxx.xxx.xxx)
iptables -A OUTPUT -p tcp -d xxx.xxx.xxx.xxx --dport 3306 -j ACCEPT (se a politica padrão do OUTPUT é ACCEPT, não há necessidade, senão, observe a regra do item 4)


6 - Alem destes itens, leia tambem sobre portas e conexões TCP/UDP

Espero que ajude.
[]s






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts