Bloqueando totalmente o servidor e abrindo apenas o necessario

1. Bloqueando totalmente o servidor e abrindo apenas o necessario

Alexandre Marques
alexmercatto

(usa Debian)

Enviado em 05/04/2015 - 12:09h

Olá pessoal,

criei o script de firewall abaixo em um servidor Linux rodando uma aplicacao, meu intuito é blindar esta maquina e liberar apenas o acesso a quatro diferentes redes remotas;

Queria ouvir dos colegas comentarios no sentido de melhorias ou correcoes.

Segue o Script:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#!/bin/bash
#
# Apagando todas as regras
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
#
# Mudando a politica - bloqueando tudo
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#
#Variaveis de portas
PORTAS_TCP="22,80,21,23,139,445,443,587"
PORTAS_UDP="53,137,138,30606"
#
# Libera conexões pre-estabelecidas
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
#
#Abrindo portas especificas
iptables -A INPUT -p tcp -m multiport --dports $PORTAS_TCP -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --dports $PORTAS_TCP -j ACCEPT
iptables -A FORWARD -p tcp -m multiport --dports $PORTAS_TCP -j ACCEPT
#
iptables -A INPUT -p udp -m multiport --dports $PORTAS_UDP -j ACCEPT
iptables -A OUTPUT -p udp -m multiport --dports $PORTAS_UDP -j ACCEPT
iptables -A FORWARD -p udp -m multiport --dports $PORTAS_UDP -j ACCEPT
#
#
# Liberar HTTPS -
iptables -A OUTPUT -p tcp -d xx.xx.xx.xx --dport 443 -m state --state NEW -j ACCEPT
#
# Liberar HTTP -
iptables -A OUTPUT -p tcp -d xx.xx.xx.xx --dport 80 -m state --state NEW -j ACCEPT
#
# Liberar DNS
iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
#
#liberando acesso das redes de cada escritório (são 4)
iptables -A INPUT -p tcp --syn –s IP_escritorio_1 -j ACCEPT
iptables -A INPUT -p tcp --syn –s IP_escritorio_2 -j ACCEPT
iptables -A INPUT -p tcp --syn –s IP_escritorio_3 -j ACCEPT
iptables -A INPUT -p tcp --syn –s IP_escritorio_4 -j ACCEPT
#
#
iptables -A OUTPUT -p tcp --syn –s IP_escritorio_1 -j ACCEPT
iptables -A OUTPUT -p tcp --syn –s IP_escritorio_2 -j ACCEPT
iptables -A OUTPUT -p tcp --syn –s IP_escritorio_3 -j ACCEPT
iptables -A OUTPUT -p tcp --syn –s IP_escritorio_4 -j ACCEPT
#
#
iptables -A FORWARD -p tcp --syn -s IP_escritorio_1 -j ACCEPT
iptables -A FORWARD -p tcp --syn -s IP_escritorio_2 -j ACCEPT
iptables -A FORWARD -p tcp --syn -s IP_escritorio_3 -j ACCEPT
iptables -A FORWARD -p tcp --syn -s IP_escritorio_4 -j ACCEPT



  


2. Re: Bloqueando totalmente o servidor e abrindo apenas o necessario

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 06/04/2015 - 22:29h

Boa noite.
Não parei para avaliar a fundo a sua implementação, porém cada cenário é único. Agora o fato de querer se blindar é muito complicado, pense na complexidade de cada novo serviço que você precisa implantar, segundo suas políticas você blindou de todo lado, mas se seu cenário pedi isso é um bom caminho o que você tá fazendo!

Abs



3. Re: Bloqueando totalmente o servidor e abrindo apenas o necessario

Alexandre Marques
alexmercatto

(usa Debian)

Enviado em 10/04/2015 - 11:39h

Obrigado pela critica Carlos. Essa ideia surgiu depois de algumas tentativas de invasao na empresa e uma das maquinas comecar a fazer ataques, ou seja tinha um robo nela (ainda nao sabemos se foi fruto do ataque) e como se sabe, nunca estamos 100% seguros.

O intuito aqui e realmente melhorar este script, talvez ele sirva para mais alguem.

sds
Alex






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts