Autor Tópico: Bloquear portas  (Lida 13709 vezes)

Offline lilam

  • Usuário Ubuntu
  • *
  • Mensagens: 25
    • Ver perfil
Bloquear portas
« Online: 21 de MAR?O de 2013, 08:35 »
Bom inicio de outono a todos !
Amigos, preciso de uma ajuda, a principio é algo simples, mas devo estar fazendo algo errado, preciso bloquear todas as portas, e deixar apenas a 80,8080 e 22, porém quando eu tento fazer bloqueio, para tudo, inclusive a internet e conexão SSH, abaixo segue meu firewall, se puderem postar as linhas que devo acrescentar para que funcione.

#! /bin/bash

echo "=============================================================="
echo "=============================================================="
echo "Limpando Regras do IPTABLES"
echo "Reiniciando Firewall RAFITEC S/A"
echo "=============================================================="
echo "=============================================================="


#Resetando as regras
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t nat -F
iptables -t mangle -F

#Adicionando modulos no kernel
modprobe ip_tables
modprobe iptable_nat


#Liberando encaminhamento de pacotes
echo "1" > /proc/sys/net/ipv4/ip_forward


#Compartilhando a internet
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


#Proxy transparente, tratando dos protocolos UDP e TCP, direcionando o trafego para 3128
iptables -t nat -A PREROUTING -s 192.168.200.2/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.200.2/24 -p udp --dport 80 -j REDIRECT --to-port 3128

Offline Arthur Bernardes

  • Usuário Ubuntu
  • *
  • Mensagens: 4.692
    • Ver perfil
Re: Bloquear portas
« Resposta #1 Online: 21 de MAR?O de 2013, 09:45 »
Vamos fazer assim.!

Apague esse script, e crie um novo com esse comando ==> sudo gedit /etc/init.d/firewall

E cole este conteúdo..!

Código: [Selecionar]
# Interface da Internet:
ifinternet="eth0"

# Interface da rede local
iflocal="eth1"

iniciar(){

# Adicionando módulos no Kernel
modprobe ip_tables
modprobe iptable_nat
echo "Módulos Carregados"

# Liberando Roteamento de pacotes
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "Roteamento Ativado"

# Compartilhando a internet..!
iptables -t nat -A POSTROUTING -o $ifinternet -j MASQUERADE
echo "Compartilhamento ativado"

# Bloquear todas as portas
iptables -P INPUT DROP

# Liberando portas
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i $iflocal -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p udp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -p udp --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp --dport 3128 -j ACCEPT
iptables -A INPUT -p udp --dport 3128 -j ACCEPT
echo "Portas Liberadas"

# Proxy Transparente com tráfego redirecionado para porta 3128
iptables -t nat -A PREROUTING -i $iflocal -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i $iflocal -p udp --dport 80 -j REDIRECT --to-port 3128
}

parar(){
iptables -F
iptables -F -t nat
}

case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Use os parâmetros start ou stop"
esac

Salve o arquivo..!

Em terminal, dê permissão de execução ao script ==>sudo chmod +x /etc/init.d/firewall

E depois, execute esse comando ==> sudo update-rc.d firewall start 99 2 3 4 5 . stop 0 1 6 .

Execute o serviço com o comando ==> sudo service firewall start ou sudo /etc/init.d/firewall start

Para iniciar = start ; para parar = stop ;  para reiniciar = restart

Qualquer erro, reporte aqui.!
« Última modificação: 27 de MAR?O de 2013, 18:07 por Arthur Bernardes »

Offline lilam

  • Usuário Ubuntu
  • *
  • Mensagens: 25
    • Ver perfil
Re: Bloquear portas
« Resposta #2 Online: 21 de MAR?O de 2013, 10:16 »
fiz como ,me explicou mas ao dar o comando

E depois, execute esse comando ==> sudo update-rc.d firewall start 99 2 3 4 5 . stop 0 1 6

apresentou:

update-rc.d: using dependency based boot sequencing
insserv: warning: script 'firewall' missing LSB tags and overrider
« Última modificação: 21 de MAR?O de 2013, 10:27 por lilam »

Offline lilam

  • Usuário Ubuntu
  • *
  • Mensagens: 25
    • Ver perfil
Re: Bloquear portas
« Resposta #3 Online: 21 de MAR?O de 2013, 10:34 »
coloquei no inicio do arquivo

#! /bin/bash

e coloquei na inicialização no /etc/rc.local

#/etc/init.d/firewall stop
#/etc/init.d/firewall start

vou testar

Offline lilam

  • Usuário Ubuntu
  • *
  • Mensagens: 25
    • Ver perfil
Re: Bloquear portas
« Resposta #4 Online: 21 de MAR?O de 2013, 10:36 »
Não funcionou ;/

Offline Arthur Bernardes

  • Usuário Ubuntu
  • *
  • Mensagens: 4.692
    • Ver perfil
Re: Bloquear portas
« Resposta #5 Online: 21 de MAR?O de 2013, 10:41 »
Deixe-o assim.

Código: [Selecionar]
#!bin/bash

# Interface da Internet:
ifinternet="eth0"

# Interface da rede local
iflocal="eth1"

iniciar(){

# Adicionando módulos no Kernel
modprobe ip_tables
modprobe iptable_nat
echo "Módulos Carregados"

# Liberando Roteamento de pacotes
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "Roteamento Ativado"

# Compartilhando a internet..!
iptables -t nat -A POSTROUTING -o $ifinternet -j MASQUERADE
echo "Compartilhamento ativado"

# Liberando portas
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i $iflocal -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p udp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -p udp --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp --dport 3128 -j ACCEPT
iptables -A INPUT -p udp --dport 3128 -j ACCEPT
echo "Portas Liberadas"

# Bloquear todas as portas
iptables -P INPUT DROP

# Proxy Transparente com tráfego redirecionado para porta 3128
iptables -t nat -A PREROUTING -i $iflocal -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i $iflocal -p udp --dport 80 -j REDIRECT --to-port 3128
}

parar(){
iptables -F
iptables -F -t nat
}

case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Use os parâmetros start ou stop"
esac

E então execute os comandos que eu sugeri no meu post anterior..!

Offline lilam

  • Usuário Ubuntu
  • *
  • Mensagens: 25
    • Ver perfil
Re: Bloquear portas
« Resposta #6 Online: 21 de MAR?O de 2013, 10:46 »
nao consigo executar isso

E depois, execute esse comando ==> sudo update-rc.d firewall start 99 2 3 4 5 . stop 0 1 6 .

apresenta o erro

update-rc.d: using dependency based boot sequencing
insserv: warning: script 'firewall' missing LSB tags and overrider

Offline Arthur Bernardes

  • Usuário Ubuntu
  • *
  • Mensagens: 4.692
    • Ver perfil
Re: Bloquear portas
« Resposta #7 Online: 21 de MAR?O de 2013, 10:50 »
Vamos começar denovo, apague o conteúdo do Script, e depois cole esse conteúdo..!

Código: [Selecionar]
#!bin/bash

# Interface da Internet:
ifinternet="eth0"

# Interface da rede local
iflocal="eth1"

iniciar(){

# Adicionando módulos no Kernel
modprobe ip_tables
modprobe iptable_nat
echo "Módulos Carregados"

# Liberando Roteamento de pacotes
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "Roteamento Ativado"

# Compartilhando a internet..!
iptables -t nat -A POSTROUTING -o $ifinternet -j MASQUERADE
echo "Compartilhamento ativado"

# Liberando portas
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i $iflocal -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p udp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -p udp --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp --dport 3128 -j ACCEPT
iptables -A INPUT -p udp --dport 3128 -j ACCEPT
echo "Portas Liberadas"

# Bloquear todas as portas
iptables -P INPUT DROP

# Proxy Transparente com tráfego redirecionado para porta 3128
iptables -t nat -A PREROUTING -i $iflocal -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i $iflocal -p udp --dport 80 -j REDIRECT --to-port 3128
}

parar(){
iptables -F
iptables -F -t nat
}

case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Use os parâmetros start ou stop"
esac

Depois, dê permissão de execução ==> sudo chmod +x /etc/init.d/firewall

Só então, após executar esse comando, execute esse próximo ==> sudo update-rc.d firewall start 99 2 3 4 5 . stop 0 1 6 .


Então, inicie, pare ou reinicie o serviço..!

Te passei os comandos no início do tópico..!

Offline lilam

  • Usuário Ubuntu
  • *
  • Mensagens: 25
    • Ver perfil
Re: Bloquear portas
« Resposta #8 Online: 21 de MAR?O de 2013, 10:52 »
foi isso que eu fiz, segui o primeiro passo - OK
no segundo apresentou o erro

Offline Arthur Bernardes

  • Usuário Ubuntu
  • *
  • Mensagens: 4.692
    • Ver perfil
Re: Bloquear portas
« Resposta #9 Online: 21 de MAR?O de 2013, 10:54 »
Certo, então, deixe de lado esse último comando..!

Consegue executar o serviço..?

sudo service firewall start ou sudo /etc/init.d/firewall start

Você salvou esse script em /etc/init.d/..?

Com o nome firewall..?

Preste atenção, você pode ter salvo em local errado.!

Offline lilam

  • Usuário Ubuntu
  • *
  • Mensagens: 25
    • Ver perfil
Re: Bloquear portas
« Resposta #10 Online: 21 de MAR?O de 2013, 10:59 »
isso, salvei nesse caminho e com o nome de firewall

ao aplicar o comando stop e start, nao apresenta nenhum erro, porem nao esta funcionando a internet

Offline Arthur Bernardes

  • Usuário Ubuntu
  • *
  • Mensagens: 4.692
    • Ver perfil
Re: Bloquear portas
« Resposta #11 Online: 21 de MAR?O de 2013, 11:00 »
A internet das estações ou da máquina Firewall..?

Configurou corretamente a interface em /etc/network/interfaces..?

Como seguiu os passos para configurar seu Servidor..?

Execute em terminal os seguintes comandos e poste os resultados aqui..!

cat /etc/network/interfaces
ifconfig -a


Você tem certeza de estar com o Proxy Funcionando..?

Tenta comentar a linha que redireciona o tráfego para o Squid, reinicie o firewall e veja se consegue navegar..

Eu repito, confira se o Squid está funcionando..!
« Última modificação: 21 de MAR?O de 2013, 11:05 por Arthur Bernardes »

Offline lilam

  • Usuário Ubuntu
  • *
  • Mensagens: 25
    • Ver perfil
Re: Bloquear portas
« Resposta #12 Online: 21 de MAR?O de 2013, 11:09 »
interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

#WAN
auto eth0
iface eth0 inet static
address 187.52.171.203
netmask 255.255.255.248
gateway 187.52.171.201

#LAN
auto eth1
iface eth1 inet static
address 192.168.200.2
netmask 255.255.255.0

### Quando eu comento a linha
iptables -P INPUT DROP

tudo volta a funcionar

Offline Arthur Bernardes

  • Usuário Ubuntu
  • *
  • Mensagens: 4.692
    • Ver perfil
Re: Bloquear portas
« Resposta #13 Online: 21 de MAR?O de 2013, 11:12 »
Huum..! Ela bloqueia todo o tráfego..!

Remova essa linha e salve o arquivo..! Se remover ela, consegue navegar a internet certo..?

Após remover, inicie o serviço e então execute o comando ==> sudo update-rc.d firewall start 99 2 3 4 5 . stop 0 1 6 .

Offline lilam

  • Usuário Ubuntu
  • *
  • Mensagens: 25
    • Ver perfil
Re: Bloquear portas
« Resposta #14 Online: 21 de MAR?O de 2013, 11:19 »
se eu remover essa linha a internet funciona, a porta 22 tambem, porem conexoes https continuam funcionando tambem

esse comando nao funciona

$sudo update-rc.d firewall start 99 2 3 4 5 . stop 0 1 6 . (como root tambem não)

apresenta esse erro

update-rc.d: using dependency based boot sequencing
insserv: warning: script 'K01firewall' missing LSB tags and overrider
insserv: warning: script 'firewall' missing LSB tags and overrider


** O Firewall esta executando certo, porem alguma coisa com as regras nao deve estar certo , pois usando o DROP  esta bloqueando tudo, me corrija se eu estiver errado