Monitorar Tráfego

1. Monitorar Tráfego

Ivan Sowa
intersowa

(usa Debian)

Enviado em 21/05/2012 - 15:23h

Olá pessoal, tenho o iptables + squid3 instalado e aparentemente funcionando corretamente na distro debian.

Porém através de programas como o tcpdump e iptrafic, pude verificar que existe alguns sites que estão sendo visitados (que parece não ser usuários dentro da rede, pois são sites com extensão .ru, .de e por ai vai).

Esses sites não aparece nos relatório de acesso do squid (verifiquei utilizando o sarg)

o proxy não é transparente, efetuei o seguinte teste, em qualquer maquina da rede, ao tirar o proxy não é possivel entrar em nenhum site

De acordo com o cenário que descrevo acima, gostaria de ajuda para 2 temas:



1) Não domino muito bem o tcpdump e o iptrafic, por onde estão vindo esses acessos, como vejo isso ?

2) Gostaria de entender porque esses acessos indevidos não aparecem nos relatorios ?






  


2. Re: Monitorar Tráfego

Phillip Vieira
phrich

(usa Slackware)

Enviado em 21/05/2012 - 15:31h

Talvez estejam utilizando o seu proxy para outros acessos...

Por exemplo se vc não bloqueou a porta 3128 para qqr origem pode ser uma possibilidade, verifique seu script de firewall e veja se a porta 3128 está liberada apenas para a rede interna.

No seu squid.conf verifique se vc liberou sua rede interna e no final se vc tem a regra "http_access deny all"

Para ver com o tcpdump, basta utilizar o seguinte comando no terminal:


# tcpdump -ni any host endereco_do_site

Então será mostrado quem está acessando este site.


3. origem....

Ivan Sowa
intersowa

(usa Debian)

Enviado em 21/05/2012 - 16:11h

Obrigado pela rápida resposta Phrich,

No meu FW a porta 3128 tem accept, somente para a rede internet no meu caso, 10.0.0.0/8 (assim como a 21,25,80, portas comuns) pois utilizo politica padrão tudo DROP

No meu Squid, realmente tinha o erro, o não estava http_access deny all, corrigido!

Facilito o resultado da consulta tcpdump -ni any host 178.141.124.239

16:07:01.220239 IP 178.141.124.239.60877 > 192.168.1.2.3128: Flags [S], seq 3150531011, win 8192, options [mss 142,sackOk, TS val 831390 ecr 0], lenght 0

Com o resultado acima é possível identificar da onde vem o trafico ?



phrich escreveu:

Talvez estejam utilizando o seu proxy para outros acessos...

Por exemplo se vc não bloqueou a porta 3128 para qqr origem pode ser uma possibilidade, verifique seu script de firewall e veja se a porta 3128 está liberada apenas para a rede interna.

No seu squid.conf verifique se vc liberou sua rede interna e no final se vc tem a regra "http_access deny all"

Para ver com o tcpdump, basta utilizar o seguinte comando no terminal:


# tcpdump -ni any host endereco_do_site

Então será mostrado quem está acessando este site.





4. Re: Monitorar Tráfego

Phillip Vieira
phrich

(usa Slackware)

Enviado em 21/05/2012 - 18:02h

Veja, ORIGEM > DESTINO

IP 178.141.124.239.60877 > 192.168.1.2.3128

Ou sejam vem do IP 178.141.124.239 para o IP 192.168.1.2 na porta 3128

Provavelmente vc deve estar sofrendo algum ataque pois por uma consulta rápida pelo whois, este IP está registrado na Russia, sendo assim, seria bom vc rever suas regras de firewall, pois provavelmente tenha liberado algo para 3128 para o acesso de fora.

Veja com o comando:

# iptables -nvL | grep 3128

Depois poste a saída aqui ok?


5. resultado

Ivan Sowa
intersowa

(usa Debian)

Enviado em 21/05/2012 - 18:21h

Esse é o resultado:

2837 146K ACCEPT tcp -- eth1 * 10.0.0.0/8 0.0.0.0/0 tcp dpt:3128
4371 227K DROP tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3128

Pensei em mudar a porta do squid de 3128 para alguma outra, porém verifiquei, e percebi que os acesso estranho utiliza outras portas também (não sei como, porque deveria estar todas bloqueadas), portas com números altos.

O que me diz?






6. Re: Monitorar Tráfego

Phillip Vieira
phrich

(usa Slackware)

Enviado em 21/05/2012 - 20:11h

Na verdade as portas altas são normais, pois o acesso é feito assim:

Exemplo:

IDA:
192.168.0.1:1024 > 200.200.200.200:80

VOLTA:
200.200.200.200:80 > 192.168.0.1:1024

Ou seja, toda a porta de destino tem que se comunicara com um de origem ou em outras palavras, quando vc acessa um determinado site por exemplo, vc busca a porta 80, mas a conexão utiliza uma porta acima de 1024 para completar a comunicação.

Vc pode verificar se estes IPs não estão sendo utilizados por algum trojan ou qqr outro programa de algum usuário na sua rede...

O que vc pode fazer é colocar estes ips no arquivo /etc/hosts.deny da seguinte forma:

ALL: ip_que_quer_bloquear

e Pronto ele não acessará mais nada.


7. regras

Ivan Sowa
intersowa

(usa Debian)

Enviado em 22/05/2012 - 10:24h

Obrigado pela dica, o problema que sáo muitos ips (mais de 10 mil ips diferente), isso deixa a internet muito lento, desconfio que meu firewall tem alguma falha, porem montei ele apartir de varios artigos que vi aqui no vol, da uma olhada


#!/bin/bash
echo "#################"
echo "Iniciando Firewal"
echo "#################"
#Variaveis
IF_EXTERNA=eth0
#para funcionar if forward
echo 1 > /proc/sys/net/ipv4/ip_forward
#Protecao contra ip spoofing
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter

#carregamos modulos
modprobe iptable_nat
modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe iptable_filter
modprobe iptable_mangle
modprobe ip_nat_ftp
modprobe ip_queue
modprobe ipt_LOG
modprobe ipt_MARK
modprobe ipt_limit
modprobe ipt_tcpmss
modprobe ipt_MASQUERADE
modprobe ipt_REDIRECT
modprobe ipt_REJECT
modprobe ipt_limit
modprobe ipt_mac
modprobe ipt_multiport

#Limpamos regras
iptables -F
iptables -X
iptables -t filter -F
iptables -t filter -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
#Bloqueios - Politicas
iptables -P INPUT DROP # entradas
iptables -P OUTPUT DROP # Aceita saidas
iptables -P FORWARD DROP # redirecionamento

iptables -t filter -A INPUT -i lo -j ACCEPT
#####################################################

#Politica para segurar conexao
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A OUTPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT
iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT
#Compartilhamento de internet
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -t filter -A INPUT -p icmp -i eth1 -j ACCEPT

#Aceitar conexoes de portas

iptables -t filter -A INPUT -p tcp -i eth1 --dport 1863 -s 10.0.0.0/8 -j ACCEPT
iptables -t filter -A INPUT -p tcp -i eth1 --dport 3128 -s 10.0.0.0/8 -j ACCEPT
iptables -t filter -A INPUT -p tcp -i eth0 --dport 3128 -s 0/0 -j DROP
iptables -t filter -A INPUT -p tcp -i eth1 --dport 443 -s 10.0.0.0/8 -j ACCEPT
#iptables -t filter -A INPUT -p tcp -i eth1 --dport 20 -s 10.0.0.0/8 -j ACCEPT
iptables -t filter -A INPUT -p tcp -i eth1 --dport 21 -s 10.0.0.0/8 -j ACCEPT
#Liberacaoo e Redirecionamento para Terminal Service
iptables -t nat -A PREROUTING -s 0/0 -m tcp -p tcp -i eth0 --dport 3389 -j DNAT --to-destination 10.0.0.50
#acceso SSH
iptables -t filter -A INPUT -p tcp -i eth1 --dport 22 -s 10.0.0.0/8 -j ACCEPT
##Politicas de Segurança
#Bloquear Back Orifice:
iptables -A INPUT -p tcp --dport 31337 -j DROP
iptables -A INPUT -p udp --dport 31337 -j DROP
#Bloquear NetBus
iptables -A INPUT -p tcp --dport 12345:12346 -j DROP
iptables -A INPUT -p udp --dport 12345:12346 -j DROP



#################################################
# POLITICAS DE SEGURANCA AVANCADA
#################################################
# Dropa pacotes TCP indesejaveis
# -------------------------------------------------------
iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j LOG --log-level 6 --log-prefix "FW: syn: "
iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP
# Dropa pacotes mal formados
# -------------------------------------------------------
#iptables -A INPUT -i $IF_EXTERNA -m unclean -j LOG --log-level 6 --log-prefix "FW: pact mal formado: "
#iptables -A INPUT -i $IF_EXTERNA -m unclean -j DROP
# contra trinoo
# -------------------------------------------------------
iptables -N TRINOO
iptables -A TRINOO -m limit --limit 15/m -j LOG --log-level 6 --log-prefix "FW: trinoo: "
iptables -A TRINOO -j DROP
iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 27444 -j TRINOO
iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 27665 -j TRINOO
iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 31335 -j TRINOO
iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 34555 -j TRINOO
iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 35555 -j TRINOO
# contra tronjans
# -------------------------------------------------------
iptables -N TROJAN
iptables -A TROJAN -m limit --limit 15/m -j LOG --log-level 6 --log-prefix "FW: trojan: "
iptables -A TROJAN -j DROP
iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 666 -j TROJAN
iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 666 -j TROJAN
iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 4000 -j TROJAN
iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 6000 -j TROJAN
iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 6006 -j TROJAN
iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 16660 -j TROJAN
# contra worms
# -------------------------------------------------------
iptables -A FORWARD -p tcp --dport 135 -i eth1 -j REJECT
# contra syn-flood
# -------------------------------------------------------
iptables -A FORWARD -p tcp --syn -m limit --limit 2/s -j ACCEPT
# contra ping da morte
# -------------------------------------------------------
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
# contra port scanners
# -------------------------------------------------------
iptables -N SCANNER
iptables -A SCANNER -m limit --limit 15/m -j LOG --log-level 6 --log-prefix "FW: port scanner: "
iptables -A SCANNER -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -i $IF_EXTERNA -j SCANNER
iptables -A INPUT -p tcp --tcp-flags ALL NONE -i $IF_EXTERNA -j SCANNER
iptables -A INPUT -p tcp --tcp-flags ALL ALL -i $IF_EXTERNA -j SCANNER
iptables -A INPUT -p tcp --tcp-flags ALL FIN,SYN -i $IF_EXTERNA -j SCANNER
iptables -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -i $IF_EXTERNA -j SCANNER
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -i $IF_EXTERNA -j SCANNER
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -i $IF_EXTERNA -j SCANNER

# Libera acesso externo a determinadas portas
# -------------------------------------------------------
#iptables -A INPUT -p tcp --dport 22 -i $IF_EXTERNA -j ACCEPT

##Redireciona para squid
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -s 10.0.0.0/8 -j REDIRECT --to-port 3128
#iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 443 -s 10.0.0.0/8 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 8080 -s 10.0.0.0/8 -j REDIRECT --to-port 3128
echo "#############"
echo "FIM DO SCRIPT "
echo "############# "



8. Re: Monitorar Tráfego

Phillip Vieira
phrich

(usa Slackware)

Enviado em 22/05/2012 - 23:20h

Acho que seu script está um tanto bagunçado e com várias regras que não tem necessidades...

Seria legal que vc realizasse uma limpeza no seu script...


9. Re: Monitorar Tráfego

Perfil removido
removido

(usa Nenhuma)

Enviado em 22/05/2012 - 23:40h

Na boa brother... O canal é dar uma boa estudada em iptables.

Só um exemplo... Se seu proxy não é transparente, não são necessárias essas regras:

##Redireciona para squid
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -s 10.0.0.0/8 -j REDIRECT --to-port 3128
#iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 443 -s 10.0.0.0/8 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 8080 -s 10.0.0.0/8 -j REDIRECT --to-port 3128


Cuidado com Ctrl+c Ctrl+v!!!

Dá uma lida nos artigos do Elgio
http://www.vivaolinux.com.br/artigo/Estrutura-do-Iptables/
http://www.vivaolinux.com.br/artigo/Estrutura-do-IPTables-2-a-tabela-nat/


10. Re: Monitorar Tráfego

Phillip Vieira
phrich

(usa Slackware)

Enviado em 22/05/2012 - 23:42h

Concordo com o amarildosertorio, se vc quiser dar uma estudada (estudada rsrsrs), segue abaixo um artigo:

http://www.vivaolinux.com.br/artigo/Iptables-Seguranca-total-para-sua-rede


11. Re: Monitorar Tráfego

Perfil removido
removido

(usa Nenhuma)

Enviado em 23/05/2012 - 10:27h

Além dos links que amarildo passou, não pode deixar de fora o guia foca linux :

http://www.guiafoca.org/cgs/download/avancado/focalinux3-pdf.tar.gz

baixa e leia o capitulo sobre iptables do foca linux, vale apena, abaixo tem outro link:

http://www.hardware.com.br/livros/linux-redes/escrevendo-script-firewall.html

Quando quiser se aprofundar um pouco acesse o link abaixo:

http://www.vivaolinux.com.br/artigo/IPtables-Trabalhando-com-Modulos/






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts