Newsgroup: it.comp.sicurezza.varie
Titolo: La porta 6000 usando Linux (lunghetto)

Salve a tutti.
Vorrei sottoporre alla vostra attenzione un dubbio. Uso una macchina con 
S.O. Linux (R.H. 7.2). Trovandomi in fase di configurazione della macchina, 
sono andato a verificare la presenza dei servizi non necessari al mio caso, 
per limitare le falle nella sicurezza.
Tra le varie porte in listening c'è la famigerata 6000 con protocollo TCP 
(oltre alla 515 tcp, che ora cercherò sui post precedenti).
Leggendo le FAQ (grazie a chi le mantiene e a chi contribuisce) ho capito 
che si tratta di X-Window, e quindi ho provveduto ad autorizzare solo la mia 
macchina ad usare quel server: xhosts +nome_mia_macchina
Per stare maggiormente tranquillo ho editato i file /etc/hosts.allow ed 
/etc/hosts.deny inserendo (rispettivamente) ALL: 127.0.0.1   e   ALL: ALL
Per fare un controllo, però, ho usato un mio vecchio programma (sviluppato 
per un esame universitario) che è un client che effettua una connessione TCP 
ad una macchina remota. Usando il programma in locale e connettendomi alla 
porta 6000 il client riesce a stabilire una connessione (poi, ovviamente, 
non fa altro)
Il mio dubbio è: ci riesce solo perché la mia macchina dà il permesso a 
127.0.0.1 di accedere ai server (e quindi anche al server X-Window)?? O ci 
riesce perché non ho settato bene qualcosa?
Grazie 1000 a chi può togliermi questo dubbio.
mick

 riesce perché non ho settato bene qualcosa?
come controprova puoi provare a fare uno scan dall'esterno:
http://hackyourself.com:4000/startdemo.dyn
-- 
Marco

 
http://hackyourself.com:4000/startdemo.dyn
Ok, grazie 1000! Tenterò.
mick

 non fa altro)
Non ho capito.. hai testato il programma in locale? E allora che senso
ha se hai appena detto di aver dato i permessi a localhost? Dovevi
provare da un'altra macchina che non fosse localhost altrimenti non ha
nessun senso cio' che dici. BTW per evitare che altri accedano alle
porte 6000:6002 (che sono quelle riservate ad X) puoi usare due vie:
1) chiuderle con ipchains/iptables
2) startx -- -nolisten tcp
-- 
Pierluigi De Rosa (
tho...@durin.khazad-dum.net
).
<<      LINUX: the choice of a GNU generation     >>
<<   For my real address... ask the Balrog.       >>
* Sostenete la Lega per la Soppressione dei Troll *

 2) startx -- -nolisten tcp
Quel che dice Thorin e' (come sempre), ineccepibile! aggiungo soltanto 
che devi scegliere uno dei due metodi in base alle tue necessita': Se 
devi accedere solo da locale scegli pure 2), se devi permettere l'accesso 
a xwindows anche da remoto (stile "terminal server") allora devi 
utilizzare 1) configurandolo per permettere l'accesso solo agli indirizzi 
IP che ti servono e chiudendolo a tutti gli altri. Ovvio che nel primo 
caso e' possibile, anzi, opportuno, utilizzare 1)+2)
BTW, domanda: un metodo per utilizzare 2) di default? cioe', 
automaticamente abilitare -nolisten tcp anche se uno da semplicemente 
startx senza parametri?
-- 
HappyCactus - Registered Linux User #209744
http://utenti.tripod.it/happycactus

 startx senza parametri?
Ovviamente negli script che avviano X, basta andare a guardare nella
directory del runlevel relativo (ora non ricordo quale sia esattamente
il nome dello script, anche perche' varia in funzione della distro)


startx senza parametri?
Non vorrei dire una c*zata ma in .Xconfigquaccheccosa puoi settare
tutte le opzioni di lancio, no?
Io invece di dirgli tutte le volte -bpp32 (che sennò netscape mi
veniva in bianco e nero), ho dato du' manciate di viai su
.Xconfigquacchecosa e ora gli dico solo startx...
...si può fare anche per --no listen tcp credo...
Keith boh!
--
I sit inside a bottle and pretend I was in a can
------

 directory del runlevel relativo (ora non ricordo quale sia esattamente
Beh, il nome me lo cerco, grz! questo pero' nel caso in cui X sia avviato 
al boot (ad esempio con gdm o qualcosa del genere...)
Nel caso in cui X _NON_ sia avviato al login?
(anche se... l'avviare il display manager al boot mi sembra una ottima 
cosa...)


 ...si può fare anche per --no listen tcp credo...
Si, anche se la sintassi e' diversa.


 tutte le opzioni di lancio, no?
Si potrebbe anche fare un wrapper che trappi la chiamata a startx, molto
piu' semplicemente.


 cosa...)
Si crea un wrapper che trappi la chiamata a startx per esempio un banale
script nella propria home, con permessi 700, che avvii X con i dovuti
parametri.


 parametri.
diciamo, una cosa del tipo
<file /usr/bin/startx>
#!/bin/bash
/usr/bin/startx.wrapped $1 -- -nolisten tcp
</file>
tuttavia per impedire che un utente parta direttamente con 
/usr/bin/startx.wrapped bisogna che quest'ultimo abbia permessi ad 
esempio 700. Tuttavia per poterlo eseguire il nostro startx deve avere 
permessi 4711, ad esempio... il che non porta ad avere altri problemi? ad 
esempio l'impossibilita' di passare parametri al server? Secondo te e' 
fattibile la ricompilazione del server x in modo che di default sia 
impostata tale opzione, oppure esiste qualche opzione da mettere in 
qualche file? io non ne ho trovate, ed in effetti anche se macchinosa la 
soluzione migliore IMHO rimane quella del wrapper...


piu' semplicemente.
e un alias, che so, "StartX" =>"startx --nolistentcp --bpp32 --ecc."?
Keith che va a [cn]aso


> cosa...)
Perche'?
-- 
manuel 'fmf' ferrero

 e un alias, che so, "StartX" =>"startx --nolistentcp --bpp32 --ecc."?
Si.


 soluzione migliore IMHO rimane quella del wrapper...
Scusa ma...
bindir=/usr/X11R6/bin
userclientrc=$HOME/.xinitrc
userserverrc=$HOME/.xserverrc
sysclientrc=/etc/X11/xinit/xinitrc
sysserverrc=/etc/X11/xinit/xserverrc
clientargs=""
serverargs=""
[..]
# set up default Xauth info for this machine
mcookie=`mcookie`
serverargs="$serverargs -auth $HOME/.Xauthority"
xauth add $display . $mcookie
xauth add `hostname -f`$display . $mcookie
xinit $clientargs -- $server $display $serverargs
# various machines need special cleaning up,
# which should be done here


 +nome_mia_macchina
La FAQ (almeno quella che ho scaricato io, molto tempo fa) consiglia di
usare `xhost -', infatti:
|  +   Access is granted to everyone, even if they aren't  on  the  list
|      (i.e., access control is turned off).
| 
|  -   Access is restricted to only those on the list (i.e., access con­
|      trol is turned on).
Comunque la 6000 si puň anche non aprire del tutto; se avvii X usando
`startx', cerca nel file una riga simile a:
| serverargs="$serverargs -auth $HOME/.Xauthority"
e modificala cosě:
| serverargs="$serverargs -nolisten tcp -auth $HOME/.Xauthority"
Se invece parti con r/l 5, non so aiutarti, non ho confidenza con i vari
gdm/kdm/xdm...
HTH, ireneo.
-- 
- Signor Gandhi, cosa pensa della Civilizzazione Occidentale?
- Penso che sarebbe una buona idea.

 Perche'?
Forse perche' sapendo gia' a priori di dover usare X si fa prima cosi'.


 Perche'?
Perche' cosi' hai il controllo sui parametri di avvio del server, e non 
permetti la customizzazione del server (ma solo del client...)


 Scusa ma...
...
Grazie, era quello che cercavo. Non so perche' ma mi era sfuggito! ;)


 Grazie, era quello che cercavo. Non so perche' ma mi era sfuggito! ;)
Santa Lucia, aiutaci tu ! ;-)


in tal modo gli impedisci di settare i suoi flinflan...
Mi pare che ci sia una gerarchia di inclusioni, per cui posso settare
un flimflam globale (no listen tcp) e poi lasciare il resto all'umile
utente finale.
Non ho guardato, pero'.
Leonardo
-- 
"Open Source programs are designed and developed.
 Our products are tested."
 Steve Lipner, manager, Microsoft Security Response Center

 usare `xhost -', infatti:
[....]
Grazie 1000 a tutti per le risposte
#def lecchinaggio
#ifdef lecchinaggio
(tra l'altro vedere "Mostri Sacri" come Leonardo, Thorin ecc.ecc. che 
rispondono ad un tuo dubbio è già più di quanto potessi sperare =)) )
#endif
Ad ogni modo, la mia macchina deve essere usata solo da me (non è collegata 
in una LAN), quindi il problema dell'utente che ha il permesso di bypassare 
un eventuale alias non si pone.
Per quanto riguarda i consigli datimi vedrò prima di documentarmi in modo da 
non chiedere cose di cui si è già discusso, per cui in questo momento non 
sono in grado di esporre le perplessità che sicuramente mi verranno poi (tra 
l'altro sarebbero anche OT).
Per quanto riguarda l'uso di hosts, poi, ho già usato il comando per 
consentire solo alla mia macchina di usare il server di X-Window (il comando 
che ho eseguito è:  hosts +nome_mia_macchina ).
Ho poi configurato i file  hosts.allow e hosts.deny in modo da dare accesso 
agli eventuali servizi forniti, solo alla mia macchina.
Questo è sufficiente, o devo anche attivare il demone tcpd per far si che si 
tenga conto dei file hosts.* ??
Grazie ancora a tutti per la discussione.
mick
 

 (oltre alla 515 tcp, che ora cercherò sui post precedenti).
 
Se vuoi toglierti la rogna della 6000 inserisci un alias del genere in
.bashrc :
alias startx='startx -- -nolisten tcp'
Se poi ti serve X in remoto, imho ti conviene andare di firewall
Henryx
-- 
Tanto gentile e onesta pare
la donna mia, quand'ella altrui saluta,
e invece e' una maiala risaputa.
                -- Conte Uguccione, "Mai Dire Gol"

 parametri.
Mmm... ma un semplice alias in .bashrc no, eh? ;)
Un Henryx e la metodologia KISS


 binario direttamente...
startx e` uno script ;)
Henryx
[1] tanto che in debian, se non stai attento, rischi di trovarti X
utilizzabile solo da root


 Un Henryx e la metodologia KISS
thorin ed i cecati frettolosi..


 startx e` uno script ;)
E vabbe', non ci si puo' distrarre un secondo con te!!! ;)


 E vabbe', non ci si puo' distrarre un secondo con te!!! ;)
E ringrazia il cielo che non ho strane tendenze ;))
Un Henryx etero
-- 
Bilancia
Amore: siete mai stati a Lourdes?
	-- da Rat-Man 15

 thorin ed i cecati frettolosi..
Ehi, come fai a sapere che porto gli occhiali? ;)
Un Henryx quattrocchi


 Ehi, come fai a sapere che porto gli occhiali? ;)
Nanesca intuizione ;-)
