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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts