Bloquear todas as portas no IPTABLES e liberar as necessárias! [RESOLVIDO]

13. Bloquear todas as portas no IPTABLES e liberar as necessárias

Fabio Pereira dos Santos
suportefps

(usa Debian)

Enviado em 29/01/2015 - 16:32h

Pessoal, boa tarde!

Vejam o arquivo de Firewall que montei. Busquei resumi-lo ao máximo.
A idéia inicial do arquivo é realizar DROP nas Chains e liberar apenas portas específicas.

A Interface bond0, refere-se a WAN
A Interface bond1, refere-se a LAN

NÃO HÁ UM SQUID CONFIGURADO!

IP_EXT1="177.X.X.X"
IP_EXT1A="177.Y.Y.Y"

A ideia é indicar as portas que serão liberadas nas variáveis e as que não estiverem mencionadas não serão liberadas (as portas abaixo são apenas para exemplos):

# PORTAS TCP e UDP LIBERADAS

PORTAS_TCP="80,81,137,138,443,563"
PORTAS_UDP="137,138,1194"

# REGRA PARA LIBERAR AS PORTAS DAS VARIÁVEIS

$IPTABLES -A INPUT -p tcp -m multiport --dports $PORTAS_TCP -j ACCEPT
$IPTABLES -A INPUT -p udp -m multiport --dports $PORTAS_UDP -j ACCEPT

$IPTABLES -A FORWARD -p tcp -m multiport --dports $PORTAS_TCP -j ACCEPT
$IPTABLES -A FORWARD -p udp -m multiport --dports $PORTAS_UDP -j ACCEPT

Pela lógica as portas informadas nas variaveis estarão liberadas e as demais bloqueadas.
Quando eu utilizo as regras abaixo, RDP, a conexão é concluída com sucesso, mas..... a porta não foi mencionada nas variáveis! Outra informação é que ao remover as regras, aí sim a conexão não é realizada.

$IPTABLES -t nat -A PREROUTING -d $IPEXT1 -p tcp --dport 3389 -j DNAT --to-destination $SERVERAD01:3389

$IPTABLES -t nat -A PREROUTING -d $IPEXT1A -p tcp --dport 3389 -j DNAT --to-destination $SERVERAD02:3389

Onde estou errando?

Muito obrigado pela ajuda de vocês !!!

###################################################################################

IPTABLES="/sbin/iptables"

#############################################################
########### ATIVANDO INTERFACES DE REDE #####################
#############################################################

/sbin/ifconfig eth0 up
/sbin/ifconfig eth1 up
/sbin/ifconfig eth2 up
/sbin/ifconfig eth3 up
#/sbin/ifconfig eth4 up

/sbin/ifconfig bond0 up
/sbin/ifconfig bond1 up

#############################################################
############## DEFINICAO DE VARIAVEIS #######################
#############################################################

# Ip Fixo da Operadora - saida para internet

IPEXT1="177.X.X.X"

IPEXT1A="177.Y.Y.Y"

# PORTAS TCP e UDP

PORTAS_TCP="80,81,137,138,443,563,21982"
PORTAS_UDP="137,138,1194"

# IP LAN
LAN="172.16.16.0/23"

# IP do AD PRIMARIO SERVERAD01
SERVERAD01="172.16.16.2"

# IP do AD Secundario SERVERAD02
SERVERAD02="172.16.16.3"

# IP do FILESERVER01
FILESERVER01="172.16.16.4"

# IP DO SERVIDOR SERVICOS01
SERVICOS01="172.16.16.5"

# IP Servidor INTRANET PRODUCAO
INTRANETSRV="172.16.16.6"

# IP SERVIDOR INTRANET HOMOLOGACAO
INTRANETHOMOL01="172.16.16.7"

# IP SYSAID HOMOLOGACAO
SYSAIDHOMOL="172.16.16.8"

# IP SERVIDOR POC
POC="172.16.16.9"

# IP GATEWAY
IPGW="172.16.16.130"
###########################################################
################# CARREGANDO MODULOS ########################
#############################################################

DEPMOD="/sbin/depmod"
MODPROBE="/sbin/modprobe"

$DEPMOD -a
$MODPROBE ip_conntrack_ftp
$MODPROBE ip_conntrack_tftp
$MODPROBE ip_nat_ftp
$MODPROBE iptable_nat
$MODPROBE ip_conntrack
$MODPROBE ip_tables
$MODPROBE iptable_filter
$MODPROBE iptable_mangle
$MODPROBE ipt_LOG
$MODPROBE ipt_REJECT
$MODPROBE ipt_MASQUERADE
$MODPROBE ipt_state
$MODPROBE ipt_multiport
$MODPROBE ipt_REDIRECT

#Permitindo acesso VPN PPTP Compartilhado
$MODPROBE nf_conntrack_proto_gre
$MODPROBE nf_nat_proto_gre
$MODPROBE nf_conntrack_pptp
$MODPROBE nf_nat_pptp
$MODPROBE ppp_deflate
$MODPROBE bsd_comp
$MODPROBE ah4
$MODPROBE esp4

##############################################################
######### LIMPEZA GERAL DAS REGRAS DO FIREWALL ###############
##############################################################

$IPTABLES -F
$IPTABLES -F INPUT
$IPTABLES -F OUTPUT
$IPTABLES -F FORWARD
$IPTABLES -F -t mangle
$IPTABLES -F -t nat
$IPTABLES -X

##############################################################
####################### TABELA FILTER ########################
##############################################################

$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

##############################################################
################ HABILITANDO ROTEAMENTO ######################
##############################################################

#Habilitar repase de pacotes entre duas ou mais interfaces, inclusive acesso a internet

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

# conexao com ip dinamico

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

#Anti Synflood protection

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

#Anti-Bugs Response

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

#Ignore echo broadcast

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

$IPTABLES -A INPUT -s $LAN -p icmp --icmp-type 8 -j ACCEPT
$IPTABLES -A INPUT -p icmp --icmp-type echo-request -j DROP

##############################################################
####### REGRA DE ESTABILIDADE / DINAMICA DE ROTEAMENTO #######
##############################################################
$IPTABLES -A INPUT -i lo -j ACCEPT
$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

####################################################################
#### REGRAS DE DROP DOS SERVICOS PERMITIDOS QUE REQUEREM LOG #######
####################################################################

$IPTABLES -N barrados
$IPTABLES -A barrados -m limit --limit 15/second -j LOG --log-level 6 --log-prefix Barrados:
$IPTABLES -A barrados -j DROP

####################################################################
################### REGRAS DE DROP PARA TROJAN #####################
####################################################################

$IPTABLES -N trojan
$IPTABLES -A trojan -m limit --limit 15/m -j LOG --log-level 6 --log-prefix Trojan:
$IPTABLES -A trojan -j DROP

####################################################################
################ PROTECAO CONTRA TROJANS ###########################
####################################################################

$IPTABLES -A INPUT -p tcp -i bond0 --dport 666 -j trojan
$IPTABLES -A INPUT -p tcp -i bond0 --dport 4000 -j trojan
$IPTABLES -A INPUT -p tcp -i bond0 --dport 6000 -j trojan
$IPTABLES -A INPUT -p tcp -i bond0 --dport 6006 -j trojan
$IPTABLES -A INPUT -p tcp -i bond0 --dport 16660 -j trojan

####################################################################
############### PROTECAO CONTRA NETBUS #############################
####################################################################

$IPTABLES -N netbus
$IPTABLES -A netbus -m limit --limit 15/m -j LOG --log-level 6 --log-prefix Netbus:
$IPTABLES -A netbus -j DROP

$IPTABLES -A INPUT -p tcp -i bond0 --dport 12345:12346 -j netbus
$IPTABLES -A INPUT -p udp -i bond0 --dport 12345:12346 -j netbus
#################################################################
############## PROTECAO CONTRA BACK ORIFICE ########################
####################################################################

$IPTABLES -N back_orifice
$IPTABLES -A netbus -m limit --limit 15/m -j LOG --log-level 6 --log-prefix Back_orifice:
$IPTABLES -A back_orifice -j DROP
$IPTABLES -A INPUT -p tcp --dport 31337 -j back_orifice

####################################################################
#################### BLOQUEANDO PING DA MORTE ######################
####################################################################

$IPTABLES -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

####################################################################
############## PROTECAO CONTRA IP SPOOFING #########################
####################################################################

$IPTABLES -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

####################################################################
########### PROTECAO CONTRA PORT SCANNERS OCULTOS ##################
####################################################################

$IPTABLES -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
$IPTABLES -A FORWARD -p tcp --tcp-flags ALL SYN,ACK -j DROP

#####################################################################
########### PROTECAO CONTRA BUGS NA TRADUCAO DE NAT #################
#####################################################################

$IPTABLES -A OUTPUT -m state -p icmp --state INVALID -j barrados

#####################################################################
################### REDE INVALIDA ###################################
#####################################################################

$IPTABLES -A FORWARD -i bond1 -d 0/0 -j ACCEPT

####################################################################
################### MASQUERADE DE REDE EXTERNA #####################
##################################################################

$IPTABLES -t nat -A POSTROUTING -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -o bond0 -j MASQUERADE

################################################################
#################### LIBERACAO DE PORTAS #######################
################################################################

$IPTABLES -A INPUT -p tcp -m multiport --dports $PORTAS_TCP -j ACCEPT
$IPTABLES -A INPUT -p udp -m multiport --dports $PORTAS_UDP -j ACCEPT

$IPTABLES -A FORWARD -p tcp -m multiport --dports $PORTAS_TCP -j ACCEPT
$IPTABLES -A FORWARD -p udp -m multiport --dports $PORTAS_UDP -j ACCEPT

###############################################################
######################## CRMCOMERCIAL #########################
###############################################################

$IPTABLES -t nat -A PREROUTING -d $IPEXT1A -p tcp --dport 81 -j DNAT --to-destination $INTRANETHOMOL01:81
$IPTABLES -t nat -A PREROUTING -d $IPEXT1A -p tcp --dport 3306 -j DNAT --to-destination $INTRANETHOMOL01:3306

################################################################
#################### REGRAS DE POSROUTING ######################
################################################################

$IPTABLES -t nat -A POSTROUTING -s $LAN -p tcp --dport 443 -o eth0 -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -s $LAN -p tcp --dport 563 -o eth0 -j MASQUERADE

$IPTABLES -t nat -A POSTROUTING -s 172.16.16.0/23 -p tcp --dport 587 -o bond0 -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -s 172.16.16.0/23 -p tcp --dport 110 -o bond0 -j MASQUERADE

####################################################################
############ LIBERANDO PORTA 3128 SQUID ############################
####################################################################

$IPTABLES -t nat -A PREROUTING -s $LAN -i bond0 -p tcp --dport 80 -j REDIRECT --to-port 3128
$IPTABLES -A INPUT -s $LAN -p tcp --dport 3128 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 3128 -j LOG --log-prefix "Squid: 3128"

$IPTABLES -t nat -A PREROUTING -d $IPEXT1 -p tcp --dport 3389 -j DNAT --to-destination $SERVERAD01:3389
$IPTABLES -t nat -A PREROUTING -d $IPEXT1A -p tcp --dport 3389 -j DNAT --to-destination $SERVERAD02:3389

echo "### SCRIPT IPTABLES EXECUTADO COM SUCESSO !!! ###"



  



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts