Newsgroup: it.comp.sicurezza.unix
Titolo: Ipchains e permessi/divieti tcp.

Sto impostando ipchains solo che mi sta sorgendo un dubbio.
I servizi tcp/udp sono uno sproposito (65535) ed io vorrei attivare solo
alcuni e per pochi, tipo: ftp, telnet, ssh; mentre per tutti i www.
La mia domanda e': mi sto sbagliando o per abilitare questi pochi canali
devo negare tutti gli altri?
Perche' se fosse cosi, una stringa per ogni canale, si arriva a scrivere
un bests seller.
C'e' qualche stringa che disabilita tutto e abilita solo quelli che
interessa?
Tipo: ipchains -A input -p tcp -s 0/0 ! www -j DENY
solo che questa abilita solo la porta 80 e anche se aggiungo:
ipchains -A input -p tcp -s ip/32 telnet -j ACCEPT
questo non passera' mai dal precedente.
Grazie,
--
*************************************************
* Danilo Marcucci                               *
* University of Florence                        *
* Department of Physics                          *
* Via S.Marta 3                                 *
* 50139 Florence                                *
* E-mail mailto:
marc...@dffs.unifi.it
          *
* 
http://biz-a.dffs.unifi.it/~marcucci
          *
*************************************************

 wrote:
: Sto impostando ipchains solo che mi sta sorgendo un dubbio.
: I servizi tcp/udp sono uno sproposito (65535) ed io vorrei attivare solo
: alcuni e per pochi, tipo: ftp, telnet, ssh; mentre per tutti i www.
: La mia domanda e': mi sto sbagliando o per abilitare questi pochi canali
: devo negare tutti gli altri?
: Perche' se fosse cosi, una stringa per ogni canale, si arriva a scrivere
: un bests seller.
: C'e' qualche stringa che disabilita tutto e abilita solo quelli che
: interessa?
: Tipo: ipchains -A input -p tcp -s 0/0 ! www -j DENY
: solo che questa abilita solo la porta 80 e anche se aggiungo:
: ipchains -A input -p tcp -s ip/32 telnet -j ACCEPT
: questo non passera' mai dal precedente.
: Grazie,
Le regole sono processate dal kernel di linux dalla prima all'ultima.
Se una regola matcha il pacchetto le seguenti non sono processate
dunque basta scrivere le seguenti regole:
ipchains -A input -y -p tcp -s 0/0 servizio1 -j ACCEPT
ipchains -A input -y -p tcp -s 0/0 servizio2 -j ACCEPT
ipchains -A input -y -p tcp -s 0/0 servizioN -j ACCEPT
ipchains -A input -y -p tcp -s 0/0 -j DENY
il -y fa in check per il SYN flag nei paccheti TCP, questo e' utile
altrimenti blocchi qualunque cosa che arriva verso le tue porte TCP,
anche le connessioni che hai iniziato tu verso altri hosts. Non so
se ho scritto bene, non ho provato le regole, comunque una alternativa
per un grado di sicurezza piu' alto e' quella di aggiungere una regola
che blocca completamente le porte nel range 0:1023, ovvero le porte
privilegiate che possono bindare solo i processi con i privilegi di root.
Vedi l'HOWTO o la man page di ipchains, e' tutto spiegato chiaramente.
Ciao,
antirez

Grazie,
devi impostare come POLICY nega tutto, poi fai passare solo cio' che
vuoi ;)
/sbin/ipchains -P input DENY (o REJECT, come preferisci)
idem per output e forward 
ah, ricordati di accettare ICMP tipo 3

 questo non passera' mai dal precedente.
Sul vecchio ipfwadm (il tool di firewalling che precedeva ipchains) c'era la 
possibilita' di mettere dei range di porte, separati sia da virgole che dai 
due punti.
Es.
Per escludere tutto tranne ftp, telnet, smtp, finger e www si usava il range
! 20,21,23,25,79:80
Prova, non so se anche ipchains accetti una sintassi simile.
Claudio
email: 
cla...@iliade.campus.uniroma2.it
Campus - La Rete degli Studenti - 
www.login.campus.uniroma2.it

! 20,21,23,25,79:80
dalla manpage di ipchains:
  An inclusive range is  can also  be specified, using the format port:port
quindi parrebbe di si'.
-- 
#+--+#+--+#+--+#+--+#+--+#+--+#+--+#+--+#+--+#+--+#+--+#+--+#+--+#+--+#
c:\winnt> secure_nt.exe
  Securing NT.  Insert Linux boot disk to continue......
	    "I have opinions, my employer does not."

 quindi parrebbe di si'.
No, vale solo per abilitare/disabilitare dalla porta: alla porta. Quindi come
diceva Antonio non e' possibile perche' si dovrebbe scrivere
ipchains -A input -s 0/0 -d 0/0 ! 20:80 -j DENY
e sarebbero amperte anche tutte le altre porte non desiderate.
Comunque confermo quanto supponevo, se voglio limitare l'input devo scrivere un
Best Sellers.
Bye,


 wrote:
DM> Comunque confermo quanto supponevo, se voglio limitare l'input devo scrivere un
supponi male.collegati qua, scarica degli script gia' pronti e editali
per le tue esigenze.non sono bestseller.
http://www.nerdherd.org/ipchains
ciao.
-- 
"Chacun son tour...Aujourd'hui le mien, demain le tien"