Fórum Ubuntu Linux - PT

Suporte Técnico => Internet, Redes e Segurança => Tópico iniciado por: rafatres em 22 de Dezembro de 2014, 20:39

Título: Iptables
Enviado por: rafatres em 22 de Dezembro de 2014, 20:39
Boa noite,
Tenho um servidor web onde hospedo vários sites em um VPS e utilizo as seguintes regras:
Código: [Selecionar]
# Generated by iptables-save v1.4.12 on Mon Apr  7 00:43:14 2014
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [2:134]
:fail2ban-apache - [0:0]
:fail2ban-control-panel - [0:0]
:fail2ban-dovecot - [0:0]
:fail2ban-postfix - [0:0]
:fail2ban-proftpd - [0:0]
:fail2ban-ssh - [0:0]
-A INPUT -p tcp -m multiport --dports 80,443 -j fail2ban-control-panel
-A INPUT -p tcp -m multiport --dports 143,993,110,995 -j fail2ban-dovecot
-A INPUT -p tcp -m multiport --dports 25,465 -j fail2ban-postfix
-A INPUT -p tcp -m multiport --dports 21,20,990,989 -j fail2ban-proftpd
-A INPUT -p tcp -m multiport --dports 80,443 -j fail2ban-apache
-A INPUT -p tcp -m multiport --dports 2048 -j fail2ban-ssh
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 2048 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 465 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 995 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 143 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 993 -j ACCEPT
-A INPUT -p udp -m udp --dport 80 -j ACCEPT
-A INPUT -p udp -m udp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 587 -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP
-A INPUT -p tcp -m tcp --dport 60000:65535 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -j LOG
-A FORWARD -p icmp -m icmp --icmp-type 8 -m limit --limit 1/sec -j ACCEPT
-A FORWARD -p tcp -m limit --limit 1/sec -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m limit --limit 3/min --limit-burst 3 -j LOG
-A FORWARD -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 1/sec -j ACCEPT
-A FORWARD -j LOG
-A OUTPUT -p tcp -m tcp --dport 20 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 587 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 60000:65535 -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 25 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 465 -j ACCEPT
-A fail2ban-apache -j RETURN
-A fail2ban-control-panel -j RETURN
-A fail2ban-dovecot -j RETURN
-A fail2ban-postfix -j RETURN
-A fail2ban-proftpd -j RETURN
-A fail2ban-ssh -s 162.243.249.117/32 -j DROP
-A fail2ban-ssh -j RETURN
COMMIT
# Completed on Mon Apr  7 00:43:14 2014
                                                                                                                              64,1          Bot
E em uma análise de segurança, obtive o seguinte:
"ICMP Timestamp Request"
Como solução, me foi proposto:
Código: [Selecionar]
ipchains -A input -p icmp --icmp-type timestamp-request -j DROP
ipchains -A output -p icmp --icmp-type timestamp-reply -j DROP
Porém, não consigo incluir essas regras. :/

Outro problema:
Tenho em /etc/rc.local o seguinte código:
Código: [Selecionar]
## Carregando as regras do firewall
if [ -f /etc/firewall/rules.txt ]
then
modprobe ip_conntrack
modprobe ip_conntrack_ftp
/sbin/iptables-restore /etc/firewall/rules.txt
fi
#end

exit 0
Para restaurar as regras do firewall quando o servidor é ligado/reiniciado. Porém, de uns tempos para cá não tem funcionado (o arquivo /etc/firewall/rules.txt existe e se eu digitar iptables-restore /etc/firewall/rules.txt, funciona). O que pode ser?
E se tiverem sugestões de outras regras, estou aberto a elas.
Obrigado,
Título: Re: Iptables
Enviado por: zekkerj em 22 de Dezembro de 2014, 23:29
Fuja desse analisador de segurança como o diabo foge da cruz. O ipchains não é mais usado, sei lá, desde o século passado...
Título: Re: Iptables
Enviado por: rafatres em 23 de Dezembro de 2014, 00:14
Certo então zekkerj.
Só fica meu problema das regras não iniciarem automaticamente.
Se tiveres sugestões de leitura quanto a firewall para servidores web, estou aceitando.
Obrigado,
Título: Re: Iptables
Enviado por: zekkerj em 23 de Dezembro de 2014, 13:28
O Ubuntu tem um firewall nativo (o UFW). Pq vc não o usa?
Título: Re: Iptables
Enviado por: Arthur Bernardes em 23 de Dezembro de 2014, 14:16
Se sua política padrão é ACCPET, porque está aceitando conexões e protocolos abaixo dela?
Título: Re: Iptables
Enviado por: rafatres em 23 de Dezembro de 2014, 16:45
zekkerj,
Qual a diferença entre iptables e ufw? Muitos tutoriais que acho internet afora pra servidores utilizam o iptables. Acabei utilizando-o também.

Arthur,
Inicialmente minha política era DROP/REJECT, mas comecei a ter problemas com isso (acho que faltou liberar bastante coisa ainda) e acabei removendo essa política. Pretendo retorná-la no futuro, assim que analisar o que está sendo bloqueado (e não deveria) e liberar.

//Achei uma solução para salvar o iptables, é o pacote iptables-persistent. :)

Aliás, queria saber se tem como ver quais portas tais pacotes usam/foram bloqueadas ao tentar se usufruir delas com a política DROP. É possível?
Título: Re: Iptables
Enviado por: zekkerj em 23 de Dezembro de 2014, 22:52
Citar
Qual a diferença entre iptables e ufw? Muitos tutoriais que acho internet afora pra servidores utilizam o iptables. Acabei utilizando-o também.
O iptables é um front-end para configuração do NetFilter, que é a infraestrutura de firewall que vem com o Kernel do Linux.

UFW é um firewall completo.

Assim, o iptables é como um tijolinho que constrói muros e paredes; o UFW é a casa pronta.
Título: Re: Iptables
Enviado por: rafatres em 23 de Dezembro de 2014, 23:09
zekkerj,
Entendi. Vou experimentar o ufw em um ambiente de desenvolvimento e brincar com as configurações dele, para ver como elas são, bem como, criar as regras que tenho nesse ambiente atual (produção) para ver como é. Assim que me familiarizar, vou estudar a substituição do iptables pelo ufw. Pelo que vi num tutorial, parece mais simples mesmo.
Obrigado!
Título: Re: Iptables
Enviado por: zekkerj em 23 de Dezembro de 2014, 23:59
Então experimente o GUFW, que é a interface gráfica do UFW.