Para determinar de onde as conexões estão vindo ... Aqui está um exemplo para registrar o tráfego SSH. O formato ficará assim no seu registro de kernels
MONTH DAY TIME SERVERNAME kernel: [IPTABLES] : IN=eth0 OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:00:00 SRC=REMOTEIP DST=SERVERIP LEN=00 TOS=0x00 PREC=0x00 TTL=# ID=# DF PROTO=TCP SPT=# DPT=22 WINDOW=# RES=0x00 SYN URGP=0 OPT (#)
Aqui criamos uma nova cadeia chamada MyLOG
# iptables -N MyLOG
Limpe a nova corrente apenas no caso de
# iptables -F MyLOG
crie o recurso de registro na porta tcp 22, defina os logs para alertar e uma seqüência fácil de ver "[IPTABLES]" para o início da linha de registro.
# iptables -A MyLOG -i eth0 -p tcp --dport 22 -j LOG --log-level alert --log-tcp-options --log-ip-options --log-prefix '[IPTABLES] : '
Anexe a cadeia MyLOG à cadeia de entrada
# iptables -A INPUT -i eth0 -j MyLOG
Isso deve enviar os logs para o log do kernel (embora alguns tipos de linux possam variar os resultados). Você pode testar o log seguindo o log do kernel.
# tail -f /var/log/kern.log
Se você estiver no console e notar a quantidade de dados espalhados pela sua tela, você pode tentar configurar a saída do registro do console com
dmesg -n 1
Se você deseja obter "estatísticas", pode executar
# iptables -nvxL
a saída mostrará a quantidade de pacotes e bytes enviados a partir do momento em que a cadeia foi criada.
Chain MyLOG (1 references)
pkts bytes target prot opt in out source destination
61 4416 LOG tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0
Eu tenho um script aqui link que usei para registrar determinada atividade de porta e coletar dados para serverstats serverstats (para download no berlios), configuração de NAT, redirecionamento de portas, tentativas de quebra de varreduras de portas e uso de tcp-rejects em vez de descarte.
Serverstats pode ser difícil de descobrir. É um conjunto de scripts PHP que usa o RRDTool. Ele usa um script de shell para acionar a saída do iptables. Minhas notas ilegíveis me dizem que você precisa modificar o array de configuração com algo assim para fazê-lo rodar
'ssh-traffic' => array(
'used' => true,
'chains' => array('MyLOG'),
'graphs' => array(
'combined_bps' => array('used' => true, 'title' => 'Combined (bps)'),
'single_bps' => array('used' => true, 'title' => '%s (bps)'),
'combined_count' => array('used' => true, 'title' => 'Combined (count)'),
'single_count' => array('used' => true, 'title' => '%s (count)')
)
),