Newsgroup: it.comp.sicurezza.varie
Titolo: Chiusura porte

Avrei bisogno di una rapida, quanto esenziale consulenza:
nel momento in cui io mi rendo conto, da un netstat -na,
di avere una porta che non mi piace in comunicazione 
(ESTABLISHED, tanto per citare) con un host che non mi
piace, c'e' un modo (e suppongo di si') per chiudere seduta 
stante la connessione?
Grazie a tutti.
-- 
La tolleranza e' la virtu' di chi non deve dimostrare nulla ...
(Togliere `X' per rispondere).
					@>-+-Vex-+-

 (ESTABLISHED, tanto per citare) con un host che non mi
Io inizierei a levare cio' che non vuoi sia disponibile da inetd.conf..
[root@durin /tmp]# netstat -ta | grep LISTEN\\b | cut -f2 -d':'
6000                  *
1024                  *
hylafax               *
nntp                  *
printer               *
domain                *
auth                  *
login                 *
shell                 *
smtp                  *
telnet                *
ftp                   *
tra l'altro devo levare, ora che l'ho notato, quel 'printer'...
commenta tutto cio' che non serve (pop-2,pop-3, imap) e poi dai
# killall -HUP inetd
-- 
Pierluigi De Rosa (
tho...@durin.khazad-dum.net
).
<<      LINUX: the choice of a GNU generation     >>
<<   For my real address... ask the Balrog.       >>
<<   Available PGP keys: DSS/DH                   >>

 stante la connessione?
spesso e' sufficiente uccidere il processo che ha aperto, attivamente o
passivamente quella connessione. spesso non e' possibile capire o sapere
quale sia quel processo. a questo punto le cose da fare sono: aggiungere
dinamicamente una rule al proprio packetfilter. oppure forzare la chiusura
della connessione servendosi di TCP.
invy
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GSS/TW/O>AT d?(dx) s+:+, s: a-->a- C++(C+++) UL+++>UL++++ P+ L+++>L++++
E-- W(W-) N++ K? w-- O- M- V- PS++ PE Y+ PGP++ t++@ 5 X+ R+(R++) tv b+++
DI+++@ D+ G>G++ e++ h r+(r-) y++*
------END GEEK CODE BLOCK------

stante la connessione?
#!/bin/sh
if [ -z "$1" ]; then
        echo Syntax: killowner port [protocol]
        exit 0
fi
if [ -z "$2" ]; then
        PROTO=tcp
else
        PROTO=$2
fi
for i in $( fuser -n $PROTO $1 | cut -f2 -d':' | tr -cd "0-9 " ); do
	LINE=$( ps waux | grep "^[a-z]* *$i " )
	USER=$( echo "$LINE" | cut -f1 -d' ')
	PROC=$( echo "$LINE" | cut -b61- )
	echo Killing $i $PROC owned by $USER...
	# Dead for a ducat, dead!
        kill -KILL $i
done
+++
Test:
pingone:/root # netcat -l -p 8192 &
[1] 6139
pingone:/root # killowner 8192
Killing 6139 netcat -l -p 8192 owned by root...
[1]+  Killed                  netcat -l -p 8192
pingone:/root #
Leonardo
:wq
".signature": bad command or file name

        echo Syntax: killowner port [protocol]
Lo hanno gia` inventato, si chiama fuser(1)... :-)
-- 
ciao, | [Per rispondere togli "toglimi" dal mio indirizzo.]
Marco | * The Internet is full. Go away.  -- Joel Furr *

 tra l'altro devo levare, ora che l'ho notato, quel 'printer'...
:-?
Che cos'è quel "shell"?
-- 
Ciao da Villo  -  (PGP public key available)
(togliere +nospam dall'address per rispondere via email)
(remove +nospam in all addresses for email replies)

 Che cos'è quel "shell"?
Remote SHell .... alias rsh. il demone e' in.rshd .... in pratica attende
sulla porta 514 che un utente si identifichi con il solo nome utente e
nome host e dia il comando preferito. man rhsd(8) per conoscere i dettagli
relativi al concetto di porte fidate.


 Remote SHell .... alias rsh. il demone e' in.rshd .... in pratica
[...]
Invy, lo so cos'è rsh. ;-)
Quello che mi sembra strano è che thorin lo lasci attivo sul suo
sistema... :-?


Lo hanno gia` inventato, si chiama fuser(1)... :-)
Come si dice, chi non impara dalla storia e' costretto a ripeterla. A
quanto pare la cosa e' valida anche per le man pages 8-D
Pero' con quello script si possono fare altre cose oltre all'omicidio
del processo.
Leonardo


 sistema... :-?
Beh tanto con ipchains attivo non entra nessuno :-) La policy di
default per input e' DENY.


del processo.
root@wonderland:2:~#fuser -h
usage: fuser [ -a | -q ] [ -n space ] [ -signal ] [ -kmuv ] filename ...
             [ - ] [ -n space ] [ -signal ] [ -kmuv ] name ...
       fuser -l
       fuser -V
    -a        display unused files too
    -k        kill processes accessing that file
    -l        list signal names
    -m        mounted FS
    -n space  search in the specified name space (file, udp, or tcp)
    -s        silent operation
    -signal   send signal instead of SIGKILL
    -u        display user ids
    -v        verbose output
    -V        display version information
    -         reset options
  udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]
[Exit 1]
root@wonderland:2:~#
