nmap, portas filtered - Problemas de segurança?

Iniciado por Aguilar, 02 de Outubro de 2012, 11:46

tópico anterior - próximo tópico

Aguilar

Bom dia amigos.

Acabo de colocar um servidor para rodar em uma pequena escola.

Então resolvi checar as portas que estão abertas para o mundo como o NMAP, usando um pc em outra cidade.

[anonymous@anonymous-host ~]$ nmap -sV -T4 -o -F --version-light endereço_noip

Então tive a resposta

Not shown: 986 closed ports
PORT      STATE    SERVICE                VERSION
25/tcp    filtered smtp
53/tcp    filtered domain
111/tcp   open     rpcbind (rpcbind V2-4) 2-4 (rpc #100000)
135/tcp   filtered msrpc
139/tcp   filtered netbios-ssn
445/tcp   filtered microsoft-ds
593/tcp   filtered http-rpc-epmap
1433/tcp  filtered ms-sql-s
1434/tcp  filtered ms-sql-m
3128/tcp  filtered squid-http
4444/tcp  filtered krb524
9898/tcp  filtered monkeycom
12345/tcp filtered netbus
31337/tcp filtered Elite


essa máquina é proxy e firewall usando um script firewall iptables.


o tipo de conexão é: PPPoE (modem em brigde)


Serviços executando para a rede INTERNA:

smb
nmb
httpd
squid proxy transparent

Serviços executados para acesso EXTERNO ao servidor:

ssh ( somente e com a porta escondida por uma regra de iptables ;-) )


Agora eu lhes pergunto:

Qual o problemas com essas portas que estão com status: filtered

Essa porta:  111/tcp  rpcbind aberta ao mundo. Devo fecha-la???

Posso passar meu script-firewall para vocês experts darem um check ??  ;D


Obrigado...

Abraços...
"Vivendo e Aprendendo... e Compartilhando"

zekkerj

CitarEssa porta:  111/tcp  rpcbind aberta ao mundo. Devo fecha-la???

Sim, urgentemente. Aliás, a menos que você esteja usando NIS e NFS, você nem deveria estar com esse serviço (portmap) ativo. E eu não recomendo o uso de NIS e NFS.


Sugestão: nem vi seu script, mas o fato de vc estar com essa porta aberta indica que provavelmente vc está usando o modelo permissivo --- tudo aberto, menos as portas que vc fecha.
Eu vou te sugerir passar pro modo restritivo: tudo fechado, menos o que vc abre.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Aguilar

Citação de: zekkerj online 03 de Outubro de 2012, 17:35
CitarEssa porta:  111/tcp  rpcbind aberta ao mundo. Devo fecha-la???

Sim, urgentemente. Aliás, a menos que você esteja usando NIS e NFS, você nem deveria estar com esse serviço (portmap) ativo. E eu não recomendo o uso de NIS e NFS.


Sugestão: nem vi seu script, mas o fato de vc estar com essa porta aberta indica que provavelmente vc está usando o modelo permissivo --- tudo aberto, menos as portas que vc fecha.
Eu vou te sugerir passar pro modo restritivo: tudo fechado, menos o que vc abre.

Bom dia zekkerj
Tudo joia aí?


Olhei o script e realmente estava como permissivo. eu havia habilitado o modo permisso para alguma coisa depois esqueci que esta regra existia  ;D


Agora estou executando o seguinte comando:

[root@anonymous-host ~]# nmap -sS -sC -O -p- endereço_noip

Starting Nmap 6.01 ( http://nmap.org ) at 2012-10-04 08:56 BRT
Nmap scan report for endereço_noip (177.17.95.195)
Host is up (0.014s latency).
Not shown: 65534 filtered ports
PORT    STATE SERVICE
223/tcp open  cdc   (esta rodando ssh)


Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: PBX|specialized|WAP|media device|general purpose
Running (JUST GUESSING): Vodavi embedded (90%), Crestron 2-Series (86%), Netgear embedded (86%), Western Digital embedded (86%), Linux 2.6.X|2.4.X (86%)
OS CPE: cpe:/o:crestron:2_series cpe:/o:linux:kernel:2.6.22 cpe:/o:linux:kernel:2.4
Aggressive OS guesses: Vodavi XTS-IP PBX (90%), Crestron XPanel control system (86%), Netgear DG834G WAP or Western Digital WD TV media player (86%), OpenWrt Kamikaze 7.09 (Linux 2.6.22) (86%), Linux 2.4.18 (85%)
No exact OS matches for host (test conditions non-ideal).

OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 134.54 seconds



E creio que esteja tudo funcionando lá, pois fiz alterações no FW essa madrugada, e estou rodando o "iptraf" e está tudo correndo bem.


Segue o meu script para voce ver.


#!/bin/sh


#############
# VARIABLES #
#############

#IP PPP0
#IPRESULT=`ifconfig | grep P-a-P | awk '{print $3}'`

EXT="ppp0"
INTLAB="eth2"
INTSEC="eth1"
IPLAB="192.168.1.0/24"
IPSEC="192.168.0.0/24"
SOURCE="192.168.0.0/255.255.255.0"
SOURCE2="192.168.1.0/255.255.255.0"


####################################
# DEFAULT OPTIONS FOR OPEN MACHINE #
####################################

#FLUSHING TABLES
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -Z

#ACCEPTING EVERYTHING        <---- Isso deixava tudo aberto
#iptables -P INPUT ACCEPT
#iptables -P OUTPUT ACCEPT
#iptables -P FORWARD ACCEPT
#iptables -t filter -A INPUT -j ACCEPT
#iptables -t filter -A OUTPUT -j ACCEPT
#iptables -t filter -A FORWARD -j ACCEPT
#iptables -t nat -P PREROUTING ACCEPT
#iptables -t nat -P POSTROUTING ACCEPT
#iptables -t nat -P OUTPUT ACCEPT

#LOAD MODULES
modprobe ipt_LOG
modprobe ipt_MARK
modprobe ipt_MASQUERADE
modprobe ipt_REDIRECT
modprobe ipt_REJECT
modprobe ipt_TCPMSS
modprobe ipt_TOS
modprobe ip_tables
modprobe ipt_state
modprobe iptable_mangle
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack ports=20,21,1024,3389,5900,5902
modprobe ip_conntrack_ftp ports=20,21,1024,3389,5900,5902
modprobe ip_nat_ftp ports=20,21,1024,3389,5900,5902


#FIREWALL DO LINUX2BUSINESS

# Disable IP Spoofing attack
sysctl -w net.ipv4.conf.all.rp_filter=2 > /dev/null 2>&1
# Enable IP Forward
sysctl -w net.ipv4.ip_forward=1 > /dev/null 2>&1
# Kill Timestamps
sysctl -w net.ipv4.tcp_timestamps=0 > /dev/null 2>&1
# Enable protection Cookie TCP syn
sysctl -w net.ipv4.tcp_syncookies=1 > /dev/null 2>&1
# Disable ICMP broadcast
sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1 > /dev/null 2>&1
# Enable protection to bad error message
sysctl -w net.ipv4.icmp_ignore_bogus_error_responses=1 > /dev/null 2>&1
# It certifys that packages routed in the origin had been discarded
sysctl -w net.ipv4.conf.all.accept_source_route=0 > /dev/null 2>&1
# Change TTL value
sysctl -w net.ipv4.ip_default_ttl=255 > /dev/null 2>&1
# Ratemask to ICMPs: 0 3 4 5 8 11 12
sysctl -w net.ipv4.icmp_ratemask=6457 > /dev/null 2>&1

# Recommended values of datagram TCP thinking about DOS and DRDOS attack
sysctl -w net.ipv4.tcp_fin_timeout=30 > /dev/null 2>&1
sysctl -w net.ipv4.tcp_keepalive_time=1800 > /dev/null 2>&1
sysctl -w net.ipv4.tcp_window_scaling=0 > /dev/null 2>&1
sysctl -w net.ipv4.tcp_sack=0 > /dev/null 2>&1


# Compartilha a conexão
# echo 1 > /proc/sys/net/ipv4/ip_forward ############################################## L2B

#tentativa de bloqueio squid externo não funciona
#iptables -A INPUT -i $EXT -p tcp --dport 3128 -j DROP
#iptables -A FORWARD -i $EXT -p tcp --dport 3128 -j DROP


iptables -t nat -A POSTROUTING -s $SOURCE -o $EXT -j MASQUERADE
iptables -t nat -A POSTROUTING -s $SOURCE2 -o $EXT -j MASQUERADE


# Bloqueia pings e protege contra IP spoofing e pacotes inválidos
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
# echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter ############################### L2B
iptables -A INPUT -m state --state INVALID -j DROP

# Abre para a interface de loopback e para a interface de rede local
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i $INTLAB -j ACCEPT
iptables -A INPUT -i $INTSEC -j ACCEPT

# Abre para as portas especificadas SSH
iptables -A INPUT -p tcp --dport 223 -j ACCEPT

# Bloqueia as demais conexões, deixando passar apenas pacotes de resposta
iptables -A INPUT -p tcp --syn -j DROP


#reverse path filter
for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done
#no smurf amplifier
# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts ##########L2B
#Syn-flood Schutz
# echo "1" > /proc/sys/net/ipv4/tcp_syncookies  #################### L2B



# Bloqueando tracertroute
#iptables -A INPUT -p udp -s 0/0 -i ppp0 --dport 33435:33525 -j DROP

#Bloqueia msn
#iptables -A FORWARD -s 198.164.1.0/24 -p tcp --dport 1863 -j REJECT
#iptables -A FORWARD -s 198.164.1.0/24 -d loginnet.passport.com -j REJECT
#iptables -A FORWARD -s 198.164.1.0/24 -d messenger.hotmail.com -j REJECT
#iptables -A FORWARD -s 198.164.1.0/24 -d webmessenger.msn.com -j REJECT
#iptables -A FORWARD -p tcp --dport 1080 -j DROP
#iptables -A FORWARD -s 198.164.1.0/24 -p tcp --dport 1080 -j REJECT


iptables -A FORWARD -i $INTLAB -p tcp --dport 1863 -j REJECT
#iptables -A FORWARD -i $INTLAB -d loginnet.passport.com -j REJECT
#iptables -A FORWARD -i $INTLAB -d messenger.hotmail.com -j REJECT
#iptables -A FORWARD -i $INTLAB -d webmessenger.msn.com -j REJECT
iptables -A FORWARD -p tcp --dport 1080 -j DROP
iptables -A FORWARD -i $INTLAB -p tcp --dport 1080 -j REJECT

# Protecao contra port scanners ocultos
iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

#receber e retornar pacotes fragmentados
iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o $EXT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i $EXT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

#Protecoes contra ataques
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# Performance - Setando acesso a web com delay minimo
iptables -t mangle -A OUTPUT -o $EXT -p tcp --dport 53 -j TOS --set-tos Minimize-Delay
iptables -t mangle -A OUTPUT -o $EXT -p tcp --dport 80 -j TOS --set-tos Minimize-Delay

#LAB BLOCK
iptables -I FORWARD -p tcp -s $IPSEC -d $IPLAB -j DROP
iptables -I FORWARD -p tcp -s $IPLAB -d $IPSEC -j DROP
iptables -I FORWARD -p icmp -s $IPSEC -d $IPLAB -j DROP
iptables -I FORWARD -p icmp -s $IPLAB -d $IPSEC -j DROP

#squid
iptables -t nat -A PREROUTING -p tcp -m multiport -s $SOURCE --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -p tcp -m multiport -s $SOURCE2 --dport 80 -j REDIRECT --to-port 3128

#iptables -t nat -A PREROUTING -i $INTLAB -p tcp --dport 80 -j REDIRECT --to-port 3128
#iptables -t nat -A PREROUTING -i $INTSEC -p tcp --dport 80 -j REDIRECT --to-port 3128


#segurança ssh super boa: Alterei a porta do ssh para 223
#http://www.vivaolinux.com.br/artigo/Jogando-pesado-na-seguranca-de-seu-SSH?pagina=3

iptables -A INPUT -p tcp -m tcp --dport 223 -m state --state NEW -m recent --rcheck --name SSH --rsource --seconds 60 --hitcount 3 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 224 -m state --state NEW -m recent --name SSH --remove -j DROP
iptables -A INPUT -p tcp -m tcp --dport 225 -m state --state NEW -m recent --set --name SSH --rsource -j DROP
iptables -A INPUT -p tcp -m tcp --dport 226 -m state --state NEW -m recent --name SSH --remove -j DROP




As ultimas 4 linhas não funcionou, por isso tive que abrir a porta 223. Gostaria que o "senhor" desse uma olhada aí.. =)


abraços
"Vivendo e Aprendendo... e Compartilhando"

zekkerj

Citar#ACCEPTING EVERYTHING        <---- Isso deixava tudo aberto
#iptables -P INPUT ACCEPT
#iptables -P OUTPUT ACCEPT
#iptables -P FORWARD ACCEPT
#iptables -t filter -A INPUT -j ACCEPT
#iptables -t filter -A OUTPUT -j ACCEPT
#iptables -t filter -A FORWARD -j ACCEPT
#iptables -t nat -P PREROUTING ACCEPT
#iptables -t nat -P POSTROUTING ACCEPT
#iptables -t nat -P OUTPUT ACCEPT

Sim, é nesse ponto que vc precisa mexer. Mas não basta comentar essas linhas, pq o valor default da política já é "ACCEPT", ou seja, firewall permissivo. Pra passar pro firewall restritivo, você tem que usar explicitamente a política DROP:

iptables -A INPUT DROP
iptables -A FORWARD DROP
iptables -A OUTPUT ACCEPT


Eu não recomendo mexer na política da cadeia OUTPUT (isso é só pra quem tenha muita experiência com firewall), nem das cadeias da tabela nat (PREROUTING, POSTROUTING, OUTPUT).

CitarAs ultimas 4 linhas não funcionou, por isso tive que abrir a porta 223. Gostaria que o "senhor" desse uma olhada aí.. =)
Senhor tá no céu.
O que não funcionou? Deu mensagem de erro, ou simplesmente não fez o que vc esperava?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Aguilar

#4
Citação de: zekkerj online 04 de Outubro de 2012, 11:40


Sim, é nesse ponto que vc precisa mexer. Mas não basta comentar essas linhas, pq o valor default da política já é "ACCEPT", ou seja, firewall permissivo. Pra passar pro firewall restritivo, você tem que usar explicitamente a política DROP:

iptables -A INPUT DROP
iptables -A FORWARD DROP
iptables -A OUTPUT ACCEPT


Eu não recomendo mexer na política da cadeia OUTPUT (isso é só pra quem tenha muita experiência com firewall), nem das cadeias da tabela nat (PREROUTING, POSTROUTING, OUTPUT).

Boa noite meu caro...

Mudando a politica para DROP obtive este resultado.


[root@anonymous-host ~]# nmap -sS -sC -O -p- endereço_noip

Starting Nmap 6.01 ( http://nmap.org ) at 2012-10-05 01:03 BRT
Stats: 0:00:02 elapsed; 0 hosts completed (1 up), 1 undergoing SYN Stealth Scan
SYN Stealth Scan Timing: About 0.01% done
Stats: 0:03:19 elapsed; 0 hosts completed (1 up), 1 undergoing SYN Stealth Scan
SYN Stealth Scan Timing: About 81.50% done; ETC: 01:07 (0:00:45 remaining)
Nmap scan report for endereço_noip (186.212.236.171)
Host is up (0.021s latency).
Not shown: 65534 filtered ports
PORT    STATE SERVICE
223/tcp open  cdc
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: PBX|specialized|WAP|media device|general purpose
Running (JUST GUESSING): Vodavi embedded (90%), Crestron 2-Series (86%), Netgear embedded (86%), Western Digital embedded (86%), Linux 2.4.X (85%)
OS CPE: cpe:/o:crestron:2_series cpe:/o:linux:kernel:2.4
Aggressive OS guesses: Vodavi XTS-IP PBX (90%), Crestron XPanel control system (86%), Netgear DG834G WAP or Western Digital WD TV media player (86%), Linux 2.4.18 (85%)
No exact OS matches for host (test conditions non-ideal).

OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 258.43 seconds


Citação de: zekkerj online 04 de Outubro de 2012, 11:40
Senhor tá no céu.
Amém!

CitarO que não funcionou? Deu mensagem de erro, ou simplesmente não fez o que vc esperava?

Minha expectativa era de que este scan não encontrasse esta porta aberta. 223



o que eu estou encucado é:

porque está aparecendo como "filtered" e não "closed"???

Not shown: 65534 filtered ports


um simples #nmap endereco_noip gera esta saida.

All 1000 scanned ports on (186.212.236.171) are filtered

Repetindo o nmap do primeiro post
[root@anonymous-host ~]# nmap -sV -T4 -o -F --version-light endereço_noip
Starting Nmap 6.01 ( http://nmap.org ) at 2012-10-05 01:21 BRT
Nmap scan report for endereço_noip (186.212.236.171)
Host is up (0.024s latency).
All 1000 scanned ports on endereço_noip (186.212.236.171) are filtered

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 4.71 seconds



E por ultimo como ficou o firewall.sh agora


#!/bin/sh


#############
# VARIABLES #
#############

#IP PPP0
#IPRESULT=`ifconfig | grep P-a-P | awk '{print $3}'`

EXT="ppp0"
INTLAB="eth2"
INTSEC="eth1"
IPLAB="192.168.1.0/24"
IPSEC="192.168.0.0/24"
SOURCE="192.168.0.0/255.255.255.0"
SOURCE2="192.168.1.0/255.255.255.0"


####################################
# DEFAULT OPTIONS FOR OPEN MACHINE #
####################################

#FLUSHING TABLES
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -Z

#ACCEPTING EVERYTHING
#iptables -P INPUT ACCEPT
#iptables -P OUTPUT ACCEPT
#iptables -P FORWARD ACCEPT
#iptables -t filter -A INPUT -j ACCEPT
#iptables -t filter -A OUTPUT -j ACCEPT
#iptables -t filter -A FORWARD -j ACCEPT
#iptables -t nat -P PREROUTING ACCEPT
#iptables -t nat -P POSTROUTING ACCEPT
#iptables -t nat -P OUTPUT ACCEPT

#LOAD MODULES
modprobe ipt_LOG
modprobe ipt_MARK
modprobe ipt_MASQUERADE
modprobe ipt_REDIRECT
modprobe ipt_REJECT
modprobe ipt_TCPMSS
modprobe ipt_TOS
modprobe ip_tables
modprobe ipt_state
modprobe iptable_mangle
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack ports=20,21,1024,3389,5900,5902
modprobe ip_conntrack_ftp ports=20,21,1024,3389,5900,5902
modprobe ip_nat_ftp ports=20,21,1024,3389,5900,5902


#FIREWALL DO LINUX2BUSINESS

# Disable IP Spoofing attack
sysctl -w net.ipv4.conf.all.rp_filter=2 > /dev/null 2>&1
# Enable IP Forward
sysctl -w net.ipv4.ip_forward=1 > /dev/null 2>&1
# Kill Timestamps
sysctl -w net.ipv4.tcp_timestamps=0 > /dev/null 2>&1
# Enable protection Cookie TCP syn
sysctl -w net.ipv4.tcp_syncookies=1 > /dev/null 2>&1
# Disable ICMP broadcast
sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1 > /dev/null 2>&1
# Enable protection to bad error message
sysctl -w net.ipv4.icmp_ignore_bogus_error_responses=1 > /dev/null 2>&1
# It certifys that packages routed in the origin had been discarded
sysctl -w net.ipv4.conf.all.accept_source_route=0 > /dev/null 2>&1
# Change TTL value
sysctl -w net.ipv4.ip_default_ttl=255 > /dev/null 2>&1
# Ratemask to ICMPs: 0 3 4 5 8 11 12
sysctl -w net.ipv4.icmp_ratemask=6457 > /dev/null 2>&1

# Recommended values of datagram TCP thinking about DOS and DRDOS attack
sysctl -w net.ipv4.tcp_fin_timeout=30 > /dev/null 2>&1
sysctl -w net.ipv4.tcp_keepalive_time=1800 > /dev/null 2>&1
sysctl -w net.ipv4.tcp_window_scaling=0 > /dev/null 2>&1
sysctl -w net.ipv4.tcp_sack=0 > /dev/null 2>&1

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



# Compartilha a conexão
# echo 1 > /proc/sys/net/ipv4/ip_forward ############################################## L2B

#tentativa de bloqueio squid externo não funciona
#iptables -A INPUT -i $EXT -p tcp --dport 3128 -j DROP
#iptables -A OUTPUT -o $EXT -p tcp --dport 3128 -j DROP
#iptables -A FORWARD -i $EXT -p tcp --dport 3128 -j DROP


iptables -t nat -A POSTROUTING -s $SOURCE -o $EXT -j MASQUERADE
iptables -t nat -A POSTROUTING -s $SOURCE2 -o $EXT -j MASQUERADE


# Bloqueia pings e protege contra IP spoofing e pacotes inválidos
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
# echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter ############################### L2B
iptables -A INPUT -m state --state INVALID -j DROP

# Abre para a interface de loopback e para a interface de rede local
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i $INTLAB -j ACCEPT
iptables -A INPUT -i $INTSEC -j ACCEPT

# Abre para as portas especificadas
iptables -A INPUT -p tcp --dport 223 -j ACCEPT

# Bloqueia as demais conexões, deixando passar apenas pacotes de resposta
iptables -A INPUT -p tcp --syn -j DROP


#reverse path filter
for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done
#no smurf amplifier
# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts ##########L2B
#Syn-flood Schutz
# echo "1" > /proc/sys/net/ipv4/tcp_syncookies  #################### L2B



# Bloqueando tracertroute
#iptables -A INPUT -p udp -s 0/0 -i ppp0 --dport 33435:33525 -j DROP

#Bloqueia msn
#iptables -A FORWARD -s 198.164.1.0/24 -p tcp --dport 1863 -j REJECT
#iptables -A FORWARD -s 198.164.1.0/24 -d loginnet.passport.com -j REJECT
#iptables -A FORWARD -s 198.164.1.0/24 -d messenger.hotmail.com -j REJECT
#iptables -A FORWARD -s 198.164.1.0/24 -d webmessenger.msn.com -j REJECT
#iptables -A FORWARD -p tcp --dport 1080 -j DROP
#iptables -A FORWARD -s 198.164.1.0/24 -p tcp --dport 1080 -j REJECT


iptables -A FORWARD -i $INTLAB -p tcp --dport 1863 -j REJECT
#iptables -A FORWARD -i $INTLAB -d loginnet.passport.com -j REJECT
#iptables -A FORWARD -i $INTLAB -d messenger.hotmail.com -j REJECT
#iptables -A FORWARD -i $INTLAB -d webmessenger.msn.com -j REJECT
iptables -A FORWARD -p tcp --dport 1080 -j DROP
iptables -A FORWARD -i $INTLAB -p tcp --dport 1080 -j REJECT


# Protecao contra port scanners ocultos
iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

#receber e retornar pacotes fragmentados
iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o $EXT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i $EXT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

#tenta bloquear entradas pelo mundo
iptables -A INPUT -i ppp0 -j DROP
iptables -A FORWARD -i ppp0 -j DROP
iptables -A OUTPUT -j ACCEPT

#Protecoes contra ataques
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Performance - Setando acesso a web com delay minimo
iptables -t mangle -A OUTPUT -o $EXT -p tcp --dport 53 -j TOS --set-tos Minimize-Delay
iptables -t mangle -A OUTPUT -o $EXT -p tcp --dport 80 -j TOS --set-tos Minimize-Delay

#LAB BLOCK
iptables -I FORWARD -p tcp -s $IPSEC -d $IPLAB -j DROP
iptables -I FORWARD -p tcp -s $IPLAB -d $IPSEC -j DROP
iptables -I FORWARD -p icmp -s $IPSEC -d $IPLAB -j DROP
iptables -I FORWARD -p icmp -s $IPLAB -d $IPSEC -j DROP

#squid
iptables -t nat -A PREROUTING -p tcp -m multiport -s $SOURCE --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -p tcp -m multiport -s $SOURCE2 --dport 80 -j REDIRECT --to-port 3128

#iptables -t nat -A PREROUTING -i $INTLAB -p tcp --dport 80 -j REDIRECT --to-port 3128
#iptables -t nat -A PREROUTING -i $INTSEC -p tcp --dport 80 -j REDIRECT --to-port 3128


#segurança ssh super boa: Alterei a porta do ssh para 223
#http://www.vivaolinux.com.br/artigo/Jogando-pesado-na-seguranca-de-seu-SSH?pagina=3

iptables -A INPUT -p tcp -m tcp --dport 223 -m state --state NEW -m recent --rcheck --name SSH --rsource --seconds 60 --hitcount 3 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 224 -m state --state NEW -m recent --name SSH --remove -j DROP
iptables -A INPUT -p tcp -m tcp --dport 225 -m state --state NEW -m recent --set --name SSH --rsource -j DROP
iptables -A INPUT -p tcp -m tcp --dport 226 -m state --state NEW -m recent --name SSH --remove -j DROP


#iptables -A INPUT -i ppp0 -j DROP

######## Fim do Firewall ######

Encontrei a porta: 123/udp aberta.

referencia-se ao serviço ntp.

tem problemas de segurança nesta porta?

O que mais podemos adicionar neste firewall para evitar ataques??

Abraços
"Vivendo e Aprendendo... e Compartilhando"

zekkerj

Citarporque está aparecendo como "filtered" e não "closed" ???

Pq o nmap sabe a diferença entre uma porta que não está aberta (ou seja, não tem um serviço ativo associado) de uma que está protegida por um firewall.
Nem é difícil de entender: uma porta "closed" responde à tentativa de conexão com um TCP RST.
Já uma porta protegida (por uma regra ou política DROP) simplesmente não responde --- é como se não estivesse lá. Mas o nmap sabe que a máquina está lá, pq ele pingou e/ou encontrou outras portas abertas. Então ele sabe que há um filtro no meio do caminho impedindo o acesso.

CitarEncontrei a porta: 123/udp aberta.

referencia-se ao serviço ntp.

tem problemas de segurança nesta porta?

A porta 123/udp é o serviço NTP. Há problemas de segurança nesse serviço sim; ele deveria estar aberto apenas para a rede local, e de preferência configurado para pedir autenticação e/ou em modo read-only. Mas... não estamos com política DROP? De onde vc testou isso, na própria máquina?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Aguilar


CitarPq o nmap sabe a diferença entre uma porta que não está aberta (ou seja, não tem um serviço ativo associado) de uma que está protegida por um firewall.
Nem é difícil de entender: uma porta "closed" responde à tentativa de conexão com um TCP RST.
Já uma porta protegida (por uma regra ou política DROP) simplesmente não responde --- é como se não estivesse lá. Mas o nmap sabe que a máquina está lá, pq ele pingou e/ou encontrou outras portas abertas. Então ele sabe que há um filtro no meio do caminho impedindo o acesso.

Esta parte agora está mais q esclarecida, obrigado.  8)
http://nmap.org/book/man.html

CitarA porta 123/udp é o serviço NTP. Há problemas de segurança nesse serviço sim; ele deveria estar aberto apenas para a rede local, e de preferência configurado para pedir autenticação e/ou em modo read-only. Mas... não estamos com política DROP? De onde vc testou isso, na própria máquina?

Este teste foi feito de uma maquina remota.

# nmap -sU -P0 endereço_noip

(Fiz ontem a noite não anotei a saida do comando pq fechei o terminal e apaguei(dormi) )

mas deu 123/udp open

E as maquinas atualizam o horário pela internet (pelos servidores padrões do windows). Então este serviço ntp pode ser desabilitado do servidor?

"Vivendo e Aprendendo... e Compartilhando"

zekkerj

CitarE as maquinas atualizam o horário pela internet (pelos servidores padrões do windows). Então este serviço ntp pode ser desabilitado do servidor?
Não aconselho. O servidor também precisa sincronizar sua hora. Aliás, precisa tanto ou mais que as estações de trabalho.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Aguilar

Tá ótimo então. Acho que posso finalizar o firewall por enquanto.

Muito obrigado pela ajuda meu caro zekkerj.

abraços.
"Vivendo e Aprendendo... e Compartilhando"