Newsgroup: it.comp.sicurezza.unix
Titolo: iptables e perl

Salve a tutti. Credo di avere un problema con iptables. Ho scritto uno
script in perl che stabilisce un socket tra un client e un server. Quando
vado a guardare il log in syslog vedo che per ogni porta che tento di aprire
mi vengono restituite 4 voci. Tentando di accedere alla porta 80 mi viene
restituito quanto segue nel syslog
 Nov 5 16:28:54 ICStage kernel: REJECT PACKET: IN=eth0 OUT=
MAC=00:48:54:12:0c:69:00:80:ad:86:70:a9:08:00 SRC=192.168.1.2
DST=192.168.1.3 LEN=48 TOS=0x00 PREC=0x00 TTL=128 ID=41076 DF PROTO=TCP
SPT=2403 DPT=80 WINDOW=8192 RES=0x00 SYN URGP=0
Nov 5 16:28:56 ICStage kernel: REJECT PACKET: IN=eth0 OUT=
MAC=00:48:54:12:0c:69:00:80:ad:86:70:a9:08:00 SRC=192.168.1.2
DST=192.168.1.3 LEN=48 TOS=0x00 PREC=0x00 TTL=128 ID=41844 DF PROTO=TCP
SPT=2403 DPT=80 WINDOW=8192 RES=0x00 SYN URGP=0
Nov 5 16:29:02 ICStage kernel: REJECT PACKET: IN=eth0 OUT=
MAC=00:48:54:12:0c:69:00:80:ad:86:70:a9:08:00 SRC=192.168.1.2
DST=192.168.1.3 LEN=48 TOS=0x00 PREC=0x00 TTL=128 ID=42356 DF PROTO=TCP
SPT=2403 DPT=80 WINDOW=8192 RES=0x00 SYN URGP=0
Nov 5 16:29:14 ICStage kernel: REJECT PACKET: IN=eth0 OUT=
MAC=00:48:54:12:0c:69:00:80:ad:86:70:a9:08:00 SRC=192.168.1.2
DST=192.168.1.3 LEN=48 TOS=0x00 PREC=0x00 TTL=128 ID=42868 DF PROTO=TCP
SPT=2403 DPT=80 WINDOW=8192 RES=0x00 SYN URGP=0
Cosa devo fare affinchè di queste quattro voci me ne compaia solo una?
Riporto le regole che ho nel firewall
/sbin/iptables -F
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -A INPUT -s 
192.168.1.2/32
 -p tcp --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -j LOG --log-prefix "REJECT PACKET: "
/sbin/iptables -A OUTPUT -d 
192.168.1.2/32
 -m state --state
ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A OUTPUT -j LOG --log-prefix "OUTPUT Packet Dropped: "
/sbin/iptables -A FORWARD -j LOG --log-prefix "FORWARD Packet Dropped: "
Vi spiego quello che voglio realizzare con questo firewall (così potete
dirmi se ho sbagliato l'interpretazione): vorrei che il pc con indirizzo
192.168.1.2 acceda alla porta 22 e che tutti gli altri tentativi di
connessione (sia da parte di 192.168.1.2 che da parte di un qualunque altro
IP) vengano loggati.
Spero di essere stato sufficientemente chiaro nell'esposizione. Spero che
qualcuno mi possa aiutare
Ciao ciao
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Riporto le regole che ho nel firewall
Le regole sono a posto e non v'è nulla di strano in quanto vedo...
Non è iptables a loggare quattro volte, ma lo stack della macchina client
a tentare per quattro volte l'invio del SYN che viene loggato perchè non
riceve mai risposta. Dopo 4 tentativi andati a vuoto molla l'osso...
Se il client è linux puoi variare il numero di tentativi effettuati
cambiando il valore in /proc/sys/net/ipv4/tcp_syn_retries (se non rico
bojate...)
ma è un tentativo da farsi a livello di curiosità, non certo per una
soluzione :-D
Il fatto è che chi tenta la connessione non sa che non riesce perchè tu
droppi, dà per scontato che accada perchè il SYN viene perso, e quindi
dopo un timeout lo rimanda...
Se vuoi evitare 'sto comportamento, l'unica è REJECTare anzichè DROPpare,
AFAIK...
Non mi risultano direttive di logging che dicano a iptables di non
riloggare la ritrasmissione di qualcosa di già loggato...
Ammetto che potrei semplicemente non saperne l'esistenza...
Hola...
-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The Skull says:
The old signature is gone...
Won't you suggest me a new one?!?