Senhores bom dia
estou fazendo uma revisão nos meus firewall e estou com a seguinte dúvida. Com o recente problema do protocolo DNS saiu alguns patchs para amenizar o problema. A questão que ficou confuso para mim é como deveria montar as regras do IPTABLES para funcionar.
Atualmente estou trabalhando com as seguintes regras:
======= $IPT -A INPUT -s 189.XX.XXX.X/20 -p udp -m udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT #DNS $IPT -A INPUT -s 189.XX.XXX.X/20 -p tcp -m tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT #DNS $IPT -A INPUT -p udp -m udp --sport 53 -m state --state NEW,ESTABLISHED -j ACCEPT #DNS - Consulta roots $IPT -A INPUT -p tcp -m tcp --sport 53 -m state --state ESTABLISHED -j ACCEPT #DNS - Conulsta roots
$IPT -A OUTPUT -d 189.XX.XXX.X/20 -p udp -m udp --sport 53 -m state --state NEW,ESTABLISHED -j ACCEPT #DNS $IPT -A OUTPUT -d 189.XX.XXX.X/20 -p tcp -m tcp --sport 53 -m state --state ESTABLISHED -j ACCEPT #DNS $IPT -A OUTPUT -p udp -m udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT #DNS - Consulta roots $IPT -A OUTPUT -p tcp -m tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT #DNS - Conulsta roots ======
[]s
________________________________________________ Renato de Oliveira Diogo
Bacharel em Ciência da Computação UNESP - Bauru
LPIC1 - Linux Professional Institute Certification - Nível 1
renato.diogo@gmail.com renato.diogo@yahoo.com.br
Caro Renato,
Você utiliza troca de cache com outro servidor? Se você não utiliza, então a regra abaixo se faz desnecessária, pois o DNS só utiliza o protocolo TCP para troca de cache.
$IPT -A INPUT -s 189.XX.XXX.X/20 -p tcp -m tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
Nas regras abaixo você tem uma regra permitindo o acesso a rede 189.xxx.xxx.xxx/20 e outra logo em seguida liberando o acesso completo, com isso você anula a primeira regra.
$IPT -A INPUT -s 189.XX.XXX.X/20 -p udp -m udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT $IPT -A INPUT -p udp -m udp --sport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
Na chain OUTPUT você faz a mesma coisa.
Em relação aos problemas com o DNS, o legal é você integrar um IDS/IPS junto ao firewall, em outro servidor, rodando Inline e sempre mantendo-o atualizado.
Eu sempre indico o Snort e o ACID para gerenciamento de logs e alertas
Opa Renato
então, em relação à primeira regra que voce comentou eu não troco cache com outro servidor, porém esta se fez necessário em função do meu servidor de e-mail. Quando ele faz consulta de MX e este tem muitos registros (estoura os 514bytes do UDP) então usa o TCP. Em relação a troca de cache com outro servidor, conhece alguma documentação para eu ler melhor sobre isso?
Em relação a essas duas, na verdade é uma liberação para a minha rede fazer consulta (o bloco 189.xxx...) e outra para o próprio servidor fazer consulta recursiva, a diferenã são o "dport" e "sport".
$IPT -A INPUT -s 189.XX.XXX.X/20 -p udp -m udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT $IPT -A INPUT -p udp -m udp --sport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
Em relação ao DNS, na verdade o problema que me referi o ataque poisoning, em relação à mudança de regras para este, e não que eu tenha percebido um ataque a isto. Mas estava estudando melhor a documentação do bind, e que entendi é que quando se coloca "port *" este usa uma porta alta randomicamente para ele fazer a consulta recursiva e não a 53 como era de padrão, e vi que as regras que coloquei estão corretas pois já preve isso.
Vlw pela atenção
[]s ________________________________________________ Renato de Oliveira Diogo
Bacharel em Ciência da Computação UNESP - Bauru
LPIC1 - Linux Professional Institute Certification - Nível 1
renato.diogo@gmail.com renato.diogo@yahoo.com.br
2008/12/27 Renato Bezerra smkrenato@centosbr.org:
Caro Renato,
Você utiliza troca de cache com outro servidor? Se você não utiliza, então a regra abaixo se faz desnecessária, pois o DNS só utiliza o protocolo TCP para troca de cache.
$IPT -A INPUT -s 189.XX.XXX.X/20 -p tcp -m tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
Nas regras abaixo você tem uma regra permitindo o acesso a rede 189.xxx.xxx.xxx/20 e outra logo em seguida liberando o acesso completo, com isso você anula a primeira regra.
$IPT -A INPUT -s 189.XX.XXX.X/20 -p udp -m udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT $IPT -A INPUT -p udp -m udp --sport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
Na chain OUTPUT você faz a mesma coisa.
Em relação aos problemas com o DNS, o legal é você integrar um IDS/IPS junto ao firewall, em outro servidor, rodando Inline e sempre mantendo-o atualizado.
Eu sempre indico o Snort e o ACID para gerenciamento de logs e alertas
-- Renato Bezerra
LPIC1 - Linux Professional Institute Certified
2008/12/27 Renato de Oliveira Diogo renato.diogo@gmail.com
Senhores bom dia
estou fazendo uma revisão nos meus firewall e estou com a seguinte dúvida. Com o recente problema do protocolo DNS saiu alguns patchs para amenizar o problema. A questão que ficou confuso para mim é como deveria montar as regras do IPTABLES para funcionar.
Atualmente estou trabalhando com as seguintes regras:
======= $IPT -A INPUT -s 189.XX.XXX.X/20 -p udp -m udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT #DNS $IPT -A INPUT -s 189.XX.XXX.X/20 -p tcp -m tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT #DNS $IPT -A INPUT -p udp -m udp --sport 53 -m state --state NEW,ESTABLISHED -j ACCEPT #DNS - Consulta roots $IPT -A INPUT -p tcp -m tcp --sport 53 -m state --state ESTABLISHED -j ACCEPT #DNS - Conulsta roots
$IPT -A OUTPUT -d 189.XX.XXX.X/20 -p udp -m udp --sport 53 -m state --state NEW,ESTABLISHED -j ACCEPT #DNS $IPT -A OUTPUT -d 189.XX.XXX.X/20 -p tcp -m tcp --sport 53 -m state --state ESTABLISHED -j ACCEPT #DNS $IPT -A OUTPUT -p udp -m udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT #DNS - Consulta roots $IPT -A OUTPUT -p tcp -m tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT #DNS - Conulsta roots ======
[]s
Renato de Oliveira Diogo
Bacharel em Ciência da Computação UNESP - Bauru
LPIC1 - Linux Professional Institute Certification - Nível 1
renato.diogo@gmail.com renato.diogo@yahoo.com.br _______________________________________________ CentOS-pt-br mailing list CentOS-pt-br@centos.org http://lists.centos.org/mailman/listinfo/centos-pt-br
CentOS-pt-br mailing list CentOS-pt-br@centos.org http://lists.centos.org/mailman/listinfo/centos-pt-br
Quando eu configuro o bind, também coloco este parâmetro justamente para evitar este tipo de problema, e desculpa pelas regras, realmente quando escrevi estava desatento e não verifiquei o sport e o dport.
Em relação a troca de cache, eu não conheço nenhum tutorial ou artigo não, mas posso procurar e te mandar depois.
2008/12/29 Renato de Oliveira Diogo renato.diogo@gmail.com
Opa Renato
então, em relação à primeira regra que voce comentou eu não troco cache com outro servidor, porém esta se fez necessário em função do meu servidor de e-mail. Quando ele faz consulta de MX e este tem muitos registros (estoura os 514bytes do UDP) então usa o TCP. Em relação a troca de cache com outro servidor, conhece alguma documentação para eu ler melhor sobre isso?
Em relação a essas duas, na verdade é uma liberação para a minha rede fazer consulta (o bloco 189.xxx...) e outra para o próprio servidor fazer consulta recursiva, a diferenã são o "dport" e "sport".
$IPT -A INPUT -s 189.XX.XXX.X/20 -p udp -m udp --dport 53 -m state
--state
NEW,ESTABLISHED -j ACCEPT $IPT -A INPUT -p udp -m udp --sport 53 -m state --state NEW,ESTABLISHED
-j
ACCEPT
Em relação ao DNS, na verdade o problema que me referi o ataque poisoning, em relação à mudança de regras para este, e não que eu tenha percebido um ataque a isto. Mas estava estudando melhor a documentação do bind, e que entendi é que quando se coloca "port *" este usa uma porta alta randomicamente para ele fazer a consulta recursiva e não a 53 como era de padrão, e vi que as regras que coloquei estão corretas pois já preve isso.
Vlw pela atenção
[]s ________________________________________________ Renato de Oliveira Diogo
Bacharel em Ciência da Computação UNESP - Bauru
LPIC1 - Linux Professional Institute Certification - Nível 1
renato.diogo@gmail.com renato.diogo@yahoo.com.br
2008/12/27 Renato Bezerra smkrenato@centosbr.org:
Caro Renato,
Você utiliza troca de cache com outro servidor? Se você não utiliza,
então a
regra abaixo se faz desnecessária, pois o DNS só utiliza o protocolo TCP para troca de cache.
$IPT -A INPUT -s 189.XX.XXX.X/20 -p tcp -m tcp --dport 53 -m state
--state
NEW,ESTABLISHED -j ACCEPT
Nas regras abaixo você tem uma regra permitindo o acesso a rede 189.xxx.xxx.xxx/20 e outra logo em seguida liberando o acesso completo,
com
isso você anula a primeira regra.
$IPT -A INPUT -s 189.XX.XXX.X/20 -p udp -m udp --dport 53 -m state
--state
NEW,ESTABLISHED -j ACCEPT $IPT -A INPUT -p udp -m udp --sport 53 -m state --state NEW,ESTABLISHED
-j
ACCEPT
Na chain OUTPUT você faz a mesma coisa.
Em relação aos problemas com o DNS, o legal é você integrar um IDS/IPS
junto
ao firewall, em outro servidor, rodando Inline e sempre mantendo-o atualizado.
Eu sempre indico o Snort e o ACID para gerenciamento de logs e alertas
-- Renato Bezerra
LPIC1 - Linux Professional Institute Certified
2008/12/27 Renato de Oliveira Diogo renato.diogo@gmail.com
Senhores bom dia
estou fazendo uma revisão nos meus firewall e estou com a seguinte
dúvida.
Com o recente problema do protocolo DNS saiu alguns patchs para amenizar o problema. A questão que ficou confuso para mim é como deveria montar as regras do IPTABLES para funcionar.
Atualmente estou trabalhando com as seguintes regras:
======= $IPT -A INPUT -s 189.XX.XXX.X/20 -p udp -m udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT #DNS $IPT -A INPUT -s 189.XX.XXX.X/20 -p tcp -m tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT #DNS $IPT -A INPUT -p udp -m udp --sport 53 -m state --state NEW,ESTABLISHED -j ACCEPT #DNS - Consulta roots $IPT -A INPUT -p tcp -m tcp --sport 53 -m state --state ESTABLISHED -j ACCEPT #DNS - Conulsta roots
$IPT -A OUTPUT -d 189.XX.XXX.X/20 -p udp -m udp --sport 53 -m state --state NEW,ESTABLISHED -j ACCEPT #DNS $IPT -A OUTPUT -d 189.XX.XXX.X/20 -p tcp -m tcp --sport 53 -m state --state ESTABLISHED -j ACCEPT #DNS $IPT -A OUTPUT -p udp -m udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT #DNS - Consulta roots $IPT -A OUTPUT -p tcp -m tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT #DNS - Conulsta roots ======
[]s
Renato de Oliveira Diogo
Bacharel em Ciência da Computação UNESP - Bauru
LPIC1 - Linux Professional Institute Certification - Nível 1
renato.diogo@gmail.com renato.diogo@yahoo.com.br _______________________________________________ CentOS-pt-br mailing list CentOS-pt-br@centos.org http://lists.centos.org/mailman/listinfo/centos-pt-br
CentOS-pt-br mailing list CentOS-pt-br@centos.org http://lists.centos.org/mailman/listinfo/centos-pt-br
CentOS-pt-br mailing list CentOS-pt-br@centos.org http://lists.centos.org/mailman/listinfo/centos-pt-br
discuss-pt-br@lists.centos.org