Olá galera VOL!
Após ver várias e várias dicas de como deixar seu
Linux mais seguro, resolvi mandar essa dica para vocês, que é um pouquinho mais completa que as outra que vemos por aí. Isso não vai garantir 100% de segurança, mas com certeza será muito útil, afinal, segurança nunca é demais.
Vamos bloquear pessoas que tentarem enviar qualquer pacotes com IPs locais, como se fossem de uma rede interna.
iptables -A INPUT -s 10.0.0.0/255.0.0.0 -j DROP
iptables -A INPUT -s 172.0.0.0/255.0.0.0 -j DROP
iptables -A INPUT -s 192.0.0.0/255.0.0.0 -j DROP
(Esse código não é recomendado para pessoas que utilizem rede local)
Vamos anular agora os famosos pacotes ICMP (Ping):
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
Proteção contra ICMP Broadcasting:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
Protege contra synflood:
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
Proteções diversas contra portscanners, ping of death, ataques DoS, etc:
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP
iptables -A FORWARD -m unclean -j DROP
Algumas boas idéias retiradas do Arno's iptables firewall:
iptables -N VALID_CHECK
iptables -A VALID_CHECK -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags ALL ALL -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags ALL FIN -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags ALL NONE -j DROP
Bem amigos, por enquanto é só, essas são algumas proteções muito úteis e funcionais para nosso Linux, assim que descobrir mais postarei aqui para vocês.
Um forte abraço e boa segurança ;)
Outros exemplos de regra:
#iptables -A INPUT -P icmp -j DROP
Acima, um exemplo que cria uma regra que nega todos os pacotes ICMP vindos do servidor, em que se encontra o firewall
#iptables -D INPUT -p icmp -j DROP
Isto apaga a regra setada acima
#iptables -A INPUT -s 200.204.120.0/24 -j DROP
A regra acima faz com que todos os pacotes vindos de qualquer endereço da classe de ip 200.204.120.0
#iptables -A OUTPUT -p icmp -d ! 200.201.120.0/ 24 -j ACCEPT
Esta regra só permitirá pacotes icmp para máquinas que estejam em qualquer endereço ip, menos no citado acima.
Configurando o firewall contra ataques
Abaixo, um exemplo de configuração de um firewall contra os ataques mais constantes realizados pelos hackers em servidores da Web. Setando essas configurações, o servidor configurado dificilmente será atacado, veja:
Proteção contra Syn-floods:
Ataques do tipo DoS - um usuário envia um grande número de pacotes SYN ao servidor, que não suportará a grande carga de pacotes enviados e cairá. Setando a configuração abaixo, isso poderá ser evitado:
# iptables -A FORWARD -p tcp -syn -m limit - limit 1/s -j ACCEPT
Port scanners ocultos
Os famosos port scanners estão à solta. A configuração abaixo impede conexões executadas pelos port scanners:
# iptables -A FORWARD -p tcp -tcp-flags SYN,ACK,FIN,RST RST -m zlimit -limit 1/s -j ACCEPT Pings
Evita alguns tipos maliciosos de pacotes que podem ser enviados ao seu servidor:
# iptables -A FORWARD -p icmp -icmp-type echo-request -m limit -limit 1/s -j ACCEPT