Script Firewall

1. Script Firewall

André Batista
AndreBatista96

(usa Ubuntu)

Enviado em 22/03/2016 - 14:23h

Boa tarde Comunidade.
Segui o conselho e modifiquei um script firewall.

Porém ele esta em execução as conexões liberadas, ficam lentas.
Ex: no script eu libero a porta 10000 Webmin, porém ao acessa-lo demora bem mais tempo para carregar a página.
Isso também ocorre para acessar o SSH, fica lento até reconhecer o usuário e pedir a senha
Alguém pode me ajudar no que estou fazendo de errado, sou iniciante em firewall.

segue o script

#!/bin/sh
#
# Firewall Server DSO
#

LO_IFACE="lo"
LO_IP="127.0.0.1"
DNS="8.8.8.8"

IPTABLES="/sbin/iptables"

case "$1" in

start)

echo -e 'Iniciando Firewall..\n'

# Carregando os Modulos do Kernel

modprobe ip_tables
modprobe ipt_LOG

# LocalHost - Aceita todos os pacotes
$IPTABLES -A INPUT -s $LO_IP -j ACCEPT
$IPTABLES -A OUTPUT -s $LO_IP -j ACCEPT

# Libera saida
$IPTABLES -A OUTPUT -j ACCEPT
$IPTABLES -A INPUT -p udp -s $DNS -j ACCEPT

# Permitir acesso SSH
$IPTABLES -A INPUT -i eth0 -p tcp --dport 2222 -j ACCEPT

# Permitir acesso Porta 10000
$IPTABLES -A INPUT -p tcp --dport 10000 -j ACCEPT
$IPTABLES -A INPUT -p udp --dport 10000 -j ACCEPT

# Permitir acesso porta DNS-53 e DHCP-67
$IPTABLES -A INPUT -i eth0 -s 192.168.10.0/24 -m multiport -p udp --dports 53,67 -j ACCEPT


# Negar tudo que nao se enquadrar nas regras anteriores
$IPTABLES -A INPUT -j DROP
$IPTABLES -A FORWARD -j DROP

echo -e 'Firewall Iniciado ..\n'

;;

stop)

echo -e 'Parando Firewall..\n'

# Limpando regras
$IPTABLES -F
;;

restart)

echo -e 'Reiniciando Firewall aguarde ..\n'

$0 stop
sleep 2
$0 start
;;

*)
echo "Sintaxe: $0 [ start | stop | restart ]"
;;

esac


  


2. Re: Script Firewall

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 22/03/2016 - 14:40h

Boa tarde.

Tá meio confuso pra mim. Vou começar com essa aqui

# LocalHost - Aceita todos os pacotes
$IPTABLES -A INPUT -s $LO_IP -j ACCEPT ( Isso aqui quer dizer que ele aceita conexão entrando "INPUT" onde a origem "-s" é ele mesmo "$LO_IP -j ACCEPT" )
$IPTABLES -A OUTPUT -s $LO_IP -j ACCEPT


Vamos melhorar isso ai, se precisa de ajuda avisa ai q estou a postos! ( Mas bacana gostei do espírito de tentar acertar, a ideia é essa! Cara só errando mesmo podemos evoluir )

Aguardo retorno


3. Re: Script Firewall

André Batista
AndreBatista96

(usa Ubuntu)

Enviado em 22/03/2016 - 15:09h

Souza, muito obrigado!
Eu estou disposto a aprender.
Será que é por isso que depois que eu aplico esse script, minha conexão fica lenta?
Eu estou praticamente fazendo uma volta enorme em meu script até chegar na liberação do DNS e DHCP?

Souza, o que queria fazer, é liberar acesso 80, 57,63, 3389, 110, 25, 587, 495, 22, 10000

O resto bloquear.

pode me ajudar?


4. Re: Script Firewall

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 22/03/2016 - 15:27h

Boa tarde.

Claro vamos lá, primeiro vamos pôr tudo para rodar, vou te passar um link para um script simples q lancei aqui tempos atrás, ele vai liberar todas as conexões, vamos analisar se esses erros serão eliminado ai sim depois começamos a bloquear as coisas BLZ?

https://www.vivaolinux.com.br/script/Limpar-regras-e-compartilhar-conexao/

Esse script fará as coisas rodaram como um simples roteador liberando todas as conexões!

Aguardo


5. Re: Script Firewall

André Batista
AndreBatista96

(usa Ubuntu)

Enviado em 22/03/2016 - 16:19h

Souza, funcionou super bem cara.

Pelo que entendi esse roteamento que fez e eu não tinha feito, é pra pegar a WAN e distribuir pra LAN?

Pode me ajudar no recorrer do meu firewall?

Abraços.


6. Re: Script Firewall

André Batista
AndreBatista96

(usa Ubuntu)

Enviado em 22/03/2016 - 16:55h

Souza, eu continuei o Script porém se coloco a ultima regra acabo bloqueando tudo.

Como posso de alguma forma bloquear somente as regras que não estao inseridas no Script?

segue script:

#!/bin/bash

#Regras para Limpar e Habilitar Iptables

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -L -n

modprobe iptable_nat
modprobe ip_tables

echo 1 > /proc/sys/net/ipv4/ip_forward

# Roteamento da WAN para a LAN
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# Libera acesso SSH
iptables -A INPUT -i eth0 -s aqui esta minha subnet -p tcp --dport 2222 -j ACCEPT

# Libera acesso WebMin
iptables -A INPUT -p tcp --dport 10000 -j ACCEPT

iptables -A INPUT -p udp --dport 10000 -j ACCEPT

# Bloqueia o resto
#iptables -A OUTPUT -j DROP



7. Re: Script Firewall

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 22/03/2016 - 17:41h

AndreBatista96 escreveu:

Souza, funcionou super bem cara.

Pelo que entendi esse roteamento que fez e eu não tinha feito, é pra pegar a WAN e distribuir pra LAN?

Pode me ajudar no recorrer do meu firewall?

Abraços.


Boa tarde. Claro que posso cara, primeiro vamos entender oq vc precisa, esquece esse último comentário que vc fez! Vamos lá para o briefing
Sim, é para rotear LAN to WAN

01 - defina os serviços q vc quer bloquear ou LIBERAR no teu caso ex: ( WEBMIN - SSH e por ai vai )
02 - Vamos mudar o POLICE DEFAULT do teu script para trb de acordo com oq vc precisa
03 - aguardar a 01 e 02 estarem concluídas


Cara desculpas se estou sendo chato, acho q vale bem mais apenas forçar o aprendizado desse jeito, vc vai passar a entender oq vc está fazendo.

Outra coisa, tenho q vender meu peixe né, segue meus contatos!
Canal Youtube = https://www.youtube.com/channel/UCrXKqJ7zHIA405is7ABMNgA ( Fast Lan Network ) # Aqui vc vai encontrar um vídeo bacana sobre Firewall aproveita e curte lá!
Homepage = www.fastlan.com.br - Em breve operacional
Skype = carlossouzainfo ( contatos profissional - fique a vontade para ADD )



8. Re: Script Firewall

André Batista
AndreBatista96

(usa Ubuntu)

Enviado em 23/03/2016 - 09:15h

Souza, eu remontei o script.

Porém ainda estou com dificuldades, na ultima linha eu faço o bloqueio, porém quando coloco esta linha acabo bloqueando todas as outras liberações.

O que eu queria entender é como bloquear tudo, porém deixar liberado os serviços que estão como ACCEPT.

Me desculpe por minha ignorância, pode ainda me ajudar?

SCRIPT:

#!/bin/bash

# Regras para habilitar iptables
#
# Fazendo a limpeza
iptables -F
iptables -X
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -L -n
#
# Carregando os modulos
modprobe iptable_nat
modprobe ip_tables
#
echo 1 > /proc/sys/net/ipv4/ip_forward
#
#
# Roteamento da WAN para a LAN
#iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#
# Libera acesso SSH
iptables -A INPUT -i eth0 -p tcp --dport 2222 -j ACCEPT
iptables -A OUTPUT -s 172.16.5.131 -p tcp --dport 2222 -j ACCEPT
# Libera acesso WebMin
iptables -A INPUT -p tcp --dport 10000 -j ACCEPT
iptables -A INPUT -p udp --dport 10000 -j ACCEPT
#
# Permitir acesso porta DNS-53 e DHCP-67
iptables -A INPUT -m multiport -p udp --dports 53,67 -j ACCEPT
iptables -A OUTPUT -m multiport -p udp --dports 53,67 -j ACCEPT
iptables -A FORWARD -m multiport -p udp --dports 53,67 -j ACCEPT#
#Bloqueio
iptables -A INPUT -j DROP
iptables -A OUTPUT -j DROP





9. Re: Script Firewall

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 23/03/2016 - 10:42h

Bom dia.

Então cara, vi que vc colocou isso aqui ( 80, 57,63, 3389, 110, 25, 587, 495, 22, 10000 )

Ai eu te pergunto: Esses serviços estão todos no mesmo Host? Se não a configuração tem que ser modulada, então antes de querer bloquear tudo e liberar as poucos vc tem q entender primeiro sobre Serviços e suas portas!

Aguardo


10. Re: Script Firewall

André Batista
AndreBatista96

(usa Ubuntu)

Enviado em 23/03/2016 - 11:33h

Souza,

Os serviços que estão no mesmo host são: 22 e 10000 apenas.

o resto eu gostaria de liberar o acesso nestas portas(3389 = funcionarios poderem acessar remotamente um servidor por TS)
(110 = servidor pop3 da empresa) (25 = smtp da empresa).




11. Re: Script Firewall

Carlos Alberto de Souza Barbosa
souzacarlos

(usa Outra)

Enviado em 23/03/2016 - 20:50h

Boa noite.

Segue modelo que vc pode utilizar, lembrando não está completo apenas criei uam regra para 2 serviços seu. Lembro que vc pode a partir disto cria todas as outras regras que vc precisa apenas replicando o a ideia do que postei.

#!/bin/bash
#INTERFACE WAN = ETH0

SRV01="IP_DO_SERVIDOR"
REDE_LOCAL="MINHA_REDE_LOCAL"

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

modprobe iptable_nat
modprobe ip_tables

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

### Regras de INPUT ###
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#### Regras de FORWARD ####
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s $REDE_LOCAL -m state --state NEW -j ACCEPT
iptables -A FORWARD -d $SRV01 -p tcp -m multiport --dport 22,10000 -j ACCEPT


##### REGRAS DE NAT MULTIPORT #####
iptables -A FORWARD -p tcp -m multiport --dport 22,10000 -j ACCEPT


Canal Youtube = https://www.youtube.com/channel/UCrXKqJ7zHIA405is7ABMNgA ( Fast Lan Network )
Homepage = www.fastlan.com.br - Em breve operacional
Skype = carlossouzainfo


12. Re: Script Firewall

André Batista
AndreBatista96

(usa Ubuntu)

Enviado em 28/03/2016 - 16:53h

Souza, muito brigado mesmo cara.

A partir de sua iniciativa, finalmente consegui intender pelo menos o básico de iptables.

já estou conseguindo liberar os serviços que quero e bloquear o resto.

meu script ficou desta forma:

#!/bin/bash

# Regras para habilitar iptables
#
# Fazendo a limpeza e habilitando regras padoes
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
#
#Variaveis
SERVER_IP="192.168.8.254"
REDE_LOCAL="192.168.8.0"
#
# Carregando os modulos
modprobe iptable_nat
modprobe ip_tables
#
echo 1 > /proc/sys/net/ipv4/ip_forward
#
#
#Roteamento da WAN para a LAN
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#
#Regras de INPUT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m multiport --dports 2222,10000,53,67 -j ACCEPT
#
#Regras de FORWARD
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s $REDE_LOCAL -m state --state NEW -j ACCEPT
iptables -A FORWARD -p tcp -m multiport --dports 2222,10000,53,67 -j ACCEPT

Sabe me dizer como posso liberar para as estações fazerem ping no server, mas bloquear o ping da morte?

Muito obrigado mesmo por sua ajuda.

"O conhecimento só vale quando é aplicado"



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts