Configuração de Iptables [RESOLVIDO]

1. Configuração de Iptables [RESOLVIDO]

rafael regis feitosa
rafael.palmas

(usa openSUSE)

Enviado em 09/08/2011 - 10:18h

Estou mando esta configuração para analise da galera do mundo da segurança de rede; pra ver quais são as falhas de segurança da minha configuração de IPTABLES. Este Script esta em modo avançado quero um opinião da galera que tem experiência de mercado.

Rafael R. F. - Engenheiro Civil e Gesto de Tecnologia.


Inicio desta Script.

#!/bin/bash

##############################################
############# Interface da Internet ##########
#############################################

ifinternet="eth0"

###############################################
############# Interface da rede local #########
###############################################

iflocal="eth1"

###############################################
############## Inicio do Script ###############
###############################################

iniciar(){

##################################################################
##################### Modulos da Rede ###########################
#################################################################

modprobe iptable_nat

######################################
# Ativa o modulo para o alvo reject #
#####################################

modprobe ipt_REJECT

#############################################
# Ativa o modulo de alvo para mascaramento ##
#############################################

modprobe ipt_MASQUERADE

############################################################
# Modulo que permite acesso a conexao de monitoramento. ####
#############################################################

modprobe ipt_state

#################################################################################
# Ativa o modulo que corresponde ao numero de portas de origem e destino. #######
#################################################################################

modprobe ipt_multiport

#####################################
# Ativar o modulo da chain mangle ###
#####################################

modprobe iptable_mangle

##########################################
# Aumenta o desempenho em trafego ativo ###
###########################################

modprobe ipt_tos

######################################################################################
### Especifica o numero de vezes que uma regra conferira quando todas as outras #######
# condiçoes forem satisfeitas. #######################################################
######################################################################################

modprobe ipt_limit

######################################################################################
###################### Cadeias de modprobe #########################################
#####################################################################################

modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_tables
modprobe ipt_LOG


###### acesso a NetBIOS #############################################
#####echo -n "Bloqueando Acessos a NetBIOS via Internet.###############

#iptables -t filter -A INPUT -p tcp -s $ANY -d $iflocal --dport 137 -i $ifinternet -j DROP
#iptables -t filter -A INPUT -p tcp -s $ANY -d $eth1 --dport 139 -i $eth0 -j DROP


#############################################################################
######################################### Trojans #########################
### echo -n "Protegendo a Rede contra os Trojans mais conhecidos..." ####
#########################################################################

iptables -N TROJAN
iptables -A TROJAN -j DROP
iptables -A INPUT -p tcp -i $ifinternet --dport 666 -j TROJAN
iptables -A INPUT -p tcp -i $ifinternet --dport 1863 -j TROJAN
iptables -A INPUT -p tcp -i $ifinternet --dport 4000 -j TROJAN
iptables -A INPUT -p tcp -i $ifinternet --dport 6000 -j TROJAN
iptables -A INPUT -p tcp -i $ifinternet --dport 6006 -j TROJAN
iptables -A INPUT -p tcp -i $ifinternet --dport 16660 -j TROJAN


##################################################################
#Protecao contra falhas de seguranca dos servicos do X Window ####
##################################################################

iptables -A INPUT -p tcp -s 0.0.0.0/0 -d 0.0.0.0/0 --dport 6000:6063 -j DROP

#######################################################
###### Liberando ICMP para o firewall #################
######################################################

iptables -A INPUT -s 192.168.2.0/24 -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

#########################################################
############### Liberar DNS para rede interna ###########
########################################################

iptables -A FORWARD -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -p tcp --dport 53 -j ACCEPT

##############################################################################################
################################# Abre para a interface de loopback.##########################
# Esta regra é essencial para o KDE e outros programas gráficos funcionarem adequadamente.####
##############################################################################################

iptables -A INPUT -p tcp --syn -s 127.0.0.1/255.0.0.0 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT

#######################################################################################
## Proteções diversas contra portscanners, ping of death, ataques DoS, etc.###########
#######################################################################################

iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP
iptables -A INPUT -m state --state INVALID -j DROP
iptables -N VALID_CHECK
iptables -A VALID_CHECK -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags ALL ALL -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags ALL FIN -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
iptables -A VALID_CHECK -p tcp --tcp-flags ALL NONE -j DROP

#################################################################################
############ Liberacao de pacotes syn da rede local com limite 1/s ################
###################################################################################

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

##############################################################
# Liberar repasse de conexao entao as interfaces ##########
########################################################

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

############################################
# Controle contra ataque IP_Spoffing #######
###########################################

echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter

##########################################################
# Rejeita conexoes do tipo icmp_echo ##############
####################################################

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

###################################################
################### Protege contra synflood #######
##################################################

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

######################################################
###### Proteção contra ICMP Broadcasting ##############
#######################################################

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

###########################################################################
############################ Cadeias de echo 1> ##########################
###########################################################################

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

#########################################################
############### abre para o localhost ###################
#########################################################

iptables -A INPUT -p udp -s 127.0.0.1/255.0.0.0 -j ACCEPT

#########################################################
########### Liberar ou Bloquear os PING EXTERNO #########
########################################################

iptables -A FORWARD -p icmp -d 0/0 -m limit --limit 1/s -j DROP

#####################################################
####################### Ultra sulf ##################
####################################################

iptables -A FORWARD -m string --algo bm --string ":9666" -j DROP

#########################################################
####################### Portas Ultilizadas ##############
#########################################################

iptables -A FORWARD -i $ifinternet -p tcp --dport 480:1580 -j DROP

###############################################################
#################### Conexoes estabelecidas ###################
###############################################################

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

############################################################
############### bloqueio de portas ########################
##########################################################

iptables -A INPUT -i eth0 -p tcp --dport 445 -m state --state NEW -j REJECT

###########################################################
###################### Bloqueio de MSN ####################
###########################################################


iptables -A FORWARD -s 192.168.2.0/24 -p tcp --dport 1863 -j REJECT

#iptables -A FORWARD -s 192.168.2.0/24 -d loginnet.passport.com -j REJECT

iptables -A FORWARD -s 192.168.2.0/24 -p tcp --dport 445 -j REJECT

#iptables -A FORWARD -s 192.168.2.0/24 -d loginnet.passport.com -j REJECT

#iptables -A FORWARD -s 192.168.2.0/24 -d webmessenger.msn.com -j REJECT

##############################################################
############### bloqueio de MSN # nova regras ################
##############################################################

iptables -A OUTPUT -p tcp --dport 1863 -j REJECT
iptables -A FORWARD -p tcp --dport 1863 -j REJECT
iptables -A FORWARD -d 64.215.169.48/24 -j DROP
iptables -A FORWARD -d 207.68.179.219/24 -j DROP
iptables -A FORWARD -d 65.54.142.189/24 -j DROP
iptables -A FORWARD -d 65.54.211.61/24 -j DROP
iptables -A FORWARD -d 200.216.69.232/24 -j DROP
iptables -A FORWARD -d 65.54.140.158/24 -j DROP
iptables -A FORWARD -d 206.63.10.99/24 -j DROP
iptables -A FORWARD -d 65.54.194.118/24 -j DROP
iptables -A FORWARD -d 194.129.79.6/24 -j DROP
iptables -A FORWARD -d 207.46.106.98/24 -j DROP
iptables -A FORWARD -d 207.46.104.20/24 -j DROP
iptables -A FORWARD -d 65.54.157.111/24 -j DROP

###########################################################
################# Compartilhamento #########################
###########################################################

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

#############################################################################
################# Redirecionamento da porta 80 para Squid para 3128 #########
#############################################################################

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

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

iptables -t nat -A POSTROUTING -o $ifinternet -j MASQUERADE

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

iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT


#####################################################################
################ Compatilhamento da placa de rede ###################
#####################################################################

echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter

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

iptables -A INPUT -m state --state INVALID -j DROP

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

iptables -A INPUT -i lo -j ACCEPT

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

iptables -A INPUT -i $iflocal -j ACCEPT

#####################################################
####################### SSH #########################
#####################################################

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

#####################################################
###### Logando as conexoes FORWARD ##################
#####################################################

iptables -t filter -A FORWARD -j LOG

######################################################
########## Conexoes estabelecidas ####################
######################################################

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

######################################################
######### Logando as conexoes INPUT ##################
######################################################

iptables -t filter -A INPUT -j LOG

######################################################
######### Conexoes estabelecidas #####################
######################################################

iptables -A INPUT -p tcp --syn -m state ! --state NEW -j LOG $LOG_OP $LOG_LIMIT --log-prefix "Stealth Scan: "
iptables -A INPUT -p tcp --syn -m state ! --state NEW -j DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j LOG $LOG_OP $LOG_LIMIT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#########################################################
########## Liberacao da Porta de loopack ################
#########################################################

iptables -A INPUT -i lo -j ACCEPT

#########################################################
############ Liberando ICMP para o firewall #############
#########################################################

iptables -A INPUT -s 192.168.2.0/24 -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

##################################################################################################################
################## Esta regra é o coração do firewall ############################################################
# ela bloqueia qualquer conexão que não tenha sido permitida acima, justamente por isso ela é a última da cadeia.#
##################################################################################################################

iptables -A INPUT -p tcp --syn -j DROP

}

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

# Limpando as Chains
#.................................

iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F

# Apagando os chains criados
#.................................

iptables -t filter -X
iptables -t nat -X
iptables -t mangle -X

# Zerando os contadores ( conexões pacotes e Bytes )
#.................................

iptables -t filter -Z
iptables -t nat -Z
iptables -t mangle -Z

}

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


  


2. Re: Configuração de Iptables [RESOLVIDO]

thiago cesar
thcesar

(usa Debian)

Enviado em 21/02/2013 - 10:51h

Olá ,,,,Achei muito bom seu Script e vou segui-lo.
gostaria de saber se ele esta funcionando ? ou se vc encontrou problemas para roda-lo.

desde ja agradeço


3. Iptables

rafael regis feitosa
rafael.palmas

(usa openSUSE)

Enviado em 21/02/2013 - 12:40h

Sim esta funcionando sim....







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts