arasouza
(usa Debian)
Enviado em 16/09/2014 - 16:24h
souzacarlos escreveu:
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # Essa linha nãp precisa
iptables -A OUTPUT -p icmp --icmp-type 8 -o $IFACE_WEB -j ACCEPT # Essa linha nãp precisa
iptables -A OUTPUT -p tcp -m multiport --dports $PORTAS_TCP -j ACCEPT # Essa linha nãp precisa
iptables -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT # Se sua ideia era habilitar o ping tá errado, lembre que vc precisa permitir que outros tentam um request no teu servidor!
Vc defiviu OUTPUT -j ACCEPT então não precisa definir nada em ACCEPT (para OUTPUT)
iptables -A INPUT -p tcp --dport 22 -j ACCEPT # Você vai precisar de acesso SSH da internet? Recomendo vc fazer um nat para alguma máquina interna e só então acessar o SSH de dentro da sua rede
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT # Você está dando tiro no pé, dá uma olhada depois no que essa regra pode fazer!!!
iptables -A FORWARD -p tcp -m multiport --dports $PORTAS_REDE_INTERNA -j ACCEPT # Olha a brexa de segurança pra sua rede interna, vai que um usuário resolve subir um serviço dentro da tua rede!!!
Grande souzacarlos, ainda te alugando, olha só consegui colocar o script abaixo para funcionar fiz as mudanças e pesquisei sobre a linha:
# Protecao contra ping da morte
# -------------------------------------------------------
#iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
E realmente vi que não tinha sentido mesmo por que esta regra libera somente 1 pacote syn p/s, independente da origem, já que o atacante prcisa apenas de 1 pacote / seg. já é o suficiente (tiro no pé, e aprendizagem crescendo). Agora vamos lá para o script
- Não consegui liberar o ping da rede interna para a externa, apesar de como vc vai ver fiz vários testes, apenas deu certo conforme suas dicas:
1 - Liberar o acesso ssh apenas para a rede interna
2 - Liberar o ping da rede interna para o proxy
3 - navegação ficou blz 100% testado e retestado estes dias..
4 - Fazer o nat apenas para a rede interna definida.
Só + uma dúvida quando libero a prota 3128 na regra abaixo, eu não estou disponbilizando para rede interna + também para acessos externos (poderão utilizar meu proxy? externamente)?
########################## inicio do script com as alterações##########
#!/bin/bash
# A linha acima e conhecida como shebang e server para chamar o interpretador do script
# poderia-se trocar o bash pelo sh ou outro shell de sua preferencia
########################################################
# EXEMPLO DE SCRIPT DE FIREWALL PARA ARTIGO NO SITE
www.vivaolinux.com.br
# CRIADO POR phrich
# Data da ultima alteracao: 09/09/2014
# ######################################################
###########################
# DECLARANDO AS VARIAVEIS #
###########################
# Interface de rede ligada a internet
IFACE_WEB="eth2"
########## Interface de rede ligada a rede interna
IFACE_REDE="eth1"
########## Rede interna
REDE_INTERNA="10.10.20.0/24"
########## Portas liberadas TCP
PORTAS_TCP="53,443"
########## Portas liberadas UDP
PORTAS_UDP="53"
########## Portas liberadas para a rede interna
PORTAS_REDE_INTERNA="807"
#++++++++++++++++++++++++++++#
# LIMPA AS REGRAS EXISTENTES #
#++++++++++++++++++++++++++++#
# Limpa as regras da tabela filter
iptables -F
# Limpa as regras da tabela nat
iptables -t nat -F
# DEFINE AS POLTICAS PADRAOS DO IPTABLES COMO DROP #
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
# HABILITA O ROTEAMENTO NO KERNEL #
echo 1 > /proc/sys/net/ipv4/ip_forward
# CRIA A IDA E VOLTA DO ACESSO NAS CHAINS INPUT, OUTPUT E FORWARD, ASSIM NAO PRECISAMOS CRIAR A IDA E VOLTA NAS REGRAS
# NAO vamos nos aprofundar neste assunto, mas vale a pena dar uma estudada no modulo state ;-)
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
# Protecao contra ping da morte - VAI SER RETIRADO SEM UTILIDADE
# -------------------------------------------------------
#iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
############## TENTATIVAS PARA LIBERAR O PING da rede interna para a externa############################
iptables -A INPUT -i $IFACE_WEB -p icmp -j ACCEPT
# ICMP
iptables -A FORWARD -i $IFACE_REDE -p icmp -s 10.10.20.0/24 -d 0/0 -j ACCEPT
# DNS
iptables -A FORWARD -i $IFACE_REDE -p udp -s 10.10.20.0/24 -d 0/0 --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $IFACE_REDE -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -i $IFACE_REDE -p udp --dport 53 -j ACCEPT
#################
# REGRAS DE NAT #
#################
# COMPARTILHA A INTERNET #
iptables -t nat -A POSTROUTING -o $REDE_INTERNA -o $IFACE_WEB -j MASQUERADE
###################
# REGRAS DE INPUT #
###################
# Libera o acesso SSH de qualquer origem -- DESATIVADO
#iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# Libera o acesso SSH apenas da rede interna - FUNCIONANDO
iptables -A INPUT -s 10.10.20.0/24 -p tcp --dport 807 -j ACCEPT
# Libera o squid
iptables -A INPUT -p tcp --dport 3128 -j ACCEPT
iptables -A INPUT -p tcp --dport 8081 -j ACCEPT
#Liberando o Ping para dos clientes internos para o Srv Proxy - Funcionando
iptables -A INPUT -s 10.10.20.0/24 -p icmp --icmp-type 8 -j ACCEPT
### tentado ainda liberar ping para a rede externa
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
####################
# REGRAS DE OUTPUT #
####################
#Aceita ping apenas da rede interna NAO FUNCIONOU NAO
iptables -A OUTPUT -p icmp --icmp-type 8 -d $IFACE_WEB -j ACCEPT
# Libera as portas constantes na variavel $PORTAS_TCP (para liberar mais portas, basta inserir as mesmas na variavel citada)
iptables -A OUTPUT -p tcp -m multiport --dports -i $PORTAS_TCP -j ACCEPT
################# Libera ping para qualquer lugar NAO FUNCIONOU
#iptables -A OUTPUT -p icmp -p icmp --icmp-type 8 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
#####################
# REGRAS DE FORWARD #
#####################
#TENTATIVA DE LIBERAR O PING
iptables -A FORWARD -s 10.10.20.0/24 -p icmp --icmp-type 8 -j ACCEPT
# Libera RDP citado na regra de NAT
#iptables -A FORWARD -p tcp --dport 3389 -d 10.0.0.2 -j ACCEPT
#################Final do script - Firewall############
Desculpa o aluguel ai... agradeço a ajuda que está sendo graande..