Andrea Beggi

Se mia nonna avesse le route sarebbe un Cisco.

La condivisione files di Windows: come funziona.

A T T E N Z I O N E ! Questo post ha piu' di sei mesi. Le informazioni contenute potrebbero non essere aggiornate.

La condivisione files e stampanti di Microsoft è un sistema utile ma anche molto pericoloso. Per gestire bene le implicazioni di sicurezza occorre avere ben chiari quali sono i sistemi che sottendono a questa tecnologia, e quali sono le modalità di trasporto sulla rete di questi servizi.

NetBIOS.
Tutto è iniziato da un protocollo nato in IBM con l’intento di condividere files su di una piccola LAN. All’inizio NetBIOS funzionava su diversi protocolli, e non è stato pensato per scalare verso reti di grosse dimensioni. I primi passi di Microsoft verso il networking sono stati fatti con questo protocollo, che quindi si è diffuso su tutte le reti. In Win9X le porte assegnate alla condivisione sono le 135, 137, 138, 139.

TCP/135 – RCP. Questa porta è intrinsecamente pericolosa, poiché RPC è l’acronimo di Remote Procedure Calls, che veicola le richieste per i servizi residenti su macchine remote. Il servizio RCP funziona da tramite tra la macchina che fa la richiesta e la macchina che la riceve. Le richieste vengono ascoltate da un end-point mapper service che alloca dinamicamente una porta per fornire il servizio. Il meccanismo è simile all’RCP che si trova in *NIX,e sebbene non sia tecnicamente un servizio di sharing, è legato strettamente al networking di Windows.

UDP/137 – NetBIOS Name Service. Questa porta viene usata per la risoluzione dei nomi su NetBIOS. Ha la stessa funzione di DNS o di RARP. Tutti e tre i servizi ritornano un indirizzo IP: da un nome NetBIOS, da un nome DNS o da un indirizzo MAC.

UDP/138 – NetBIOS Datagram Service – serve per popolare la lista delle macchine visualizzate tramite “Sfoglia la rete”.

TCP/139 – NetBIOS Session Service – la porta più conosciuta, su cui vengono trasferiti i files tramite TCP. Su questa porta vengono stabilite le NULL session, e su di essa si appoggia la condivisione files e stampanti di Windows. E’ la prima porta che deve essere chiusa per mettere in sicurezza un sistema Windows.

All’inizio NetBIOS non era così pericoloso, perchè era bindato al protocollo NetBeui. NetBeui non è routabile, quindi non è in grado di uscire dai confini della rete locale, il che rende i problemi di sicurezza più limitati.

NetBIOS over TCP/IP
Questa situazione è improvvisamente cambiata quando Microsoft ha cominciato a bindare NetBIOS al TCP/IP. Questo binding è chiamato NBT. Quindi un protocollo che aveva dei problemi di sicurezza ma era confinato alla rete locale, ha ricevuto una spinta che lo ha lanciato su Internet, amplificando i problemi ad esso legati.
In sostanza l’unica protezione per le condivisioni di file e stampanti esposte su internet è la forza della password associata alla risorsa.

Condivisione File e stampanti.
Questo è un servizio che può essere attivato e disattivato, un demone che utilizza come trasporto uno dei sistemi visti in precedenza. NetBIOS over NetBeui o NetBIOS over TCP/IP (o SMB over TCP nel mondo *NIX)
I sistemi di trasporto mettono in comunicazione i servizi (sul server) con le richieste che ad essi vengono fatte (dal client).

Per rendere sicura la macchina è sufficiente disabilitare la condivisione file e stampanti via TCP/IP sull’interfaccia di rete esposta ad Internet.

Condivisione file e stampanti è una cosa completamente separata da NetBIOS o dal NetBIOS over TCP/IP. E’ possibile disabilitare questi ultimi ma continuare ad usare la condivisione.

In Windows 2000/XP la condivisione dei file funziona in modo diverso.

La prima differenza è l’uso della TCP/445 in alternativa alle solite 137-139. Il protocollo SMB è stato riscritto in modo che giri direttamente sopra il TCP, per eliminare la dipendenza da NetBIOS, che può adesso essere completamente disabilitato. Il nome dato da MS al sistema è direct hosting dell’SMB. Questo permette di avere uno stack meno “disordinato”, e di appoggiarsi completamente al DNS per la risoluzione dei nomi.
Tutte le funzioni che prima venivano fatte dalla 137-139 ora sono sulla 445, e anche questa porta deve ricevere le attenzioni degli addetti alla sicurezza.
Uno dei vantaggi principali di direct hosting su NetBIOS è l’utilizzo di DNS per la risoluzione dei nomi. NetBIOS risolve i nomi tramite broadcast e manca di scalabilità, mentre DNS è uno standard che usa uno spazio dei nomi gerarchico, che scala bene verso la dimensione di Internet.

Connettendosi ad un sistema Win2000/XP che ha attivati sia NetBIOS over TCP/IP sia il direct hosting, utilizzando una macchina che li usa entrambi, saranno tentati entrambi i metodi. Il servizio che risponde per primo sarà quello utilizzato per lo scambio, mentre l’altra connessione sarà terminata con un TCP RST.

(Anche su VoIT)

16 Commenti

Newbie_Abruzzo | #

Sono entusiasta di questo blog in cui, inolte, trovo molte ed utili informazioni anche per il mio lavoro.
Complimenti e buona fortuna!

r | #

Cosa sono i TCP e RST

Andrea | #

r, un messaggio TCP RST tronca immediatamente la comunicazione tra i due host, su quel socket.

Stefano | #

è un bel blog

Pluigi | #

Complimenti…. chiarissimo nell’esposizione questo blog da un’idea di ciò che avviene sulla maggior parte delle reti aziendali…

Mauro | #

Immagina questo scenario.
PC che chiamo 1 con win xp e connesso con dhcp.

Un pc (chiamato 2) che può accedere o come pubblico o da una rete wireless con dhcp.
Come fa a stampare sul PC 1 che osiede una stampante condivisa?

Vincenzo | #

SE configuro un router in modo da associare la prta 445 a quella di uno dei pc della rete, si ottiene la condivisione di file e stampanti sull’ip pubblico? eventualmente pe proteggere la risorsa sarà sufficiente restringere sul firwall l’accesso alla porta solo a determinati indirizzi Ip?

Andrea | #

ciao, ultimamente si sta diffondendo un trojan che a quanto pare attacca sistematicamente tutte le cartelle condivise (e modificabili) di windows xp, installandoci dentro 2 file, autorun.inf e setup.msi il quale, se il pc non è schermato da un buon antivirus, viene avviato su indicazione dell’autorun non appena l’unità viene montata e riconosciuta. conosci un modo per continuare a condividere file e soprattutto cartelle (con la possibilità di modifica) tra pc di una stessa lan ma eliminando la possibilità di accessi esterni? grazie, ciao!

Allanon | #

ciao!
anche io sono interessato alla domanda di Vincenzo…per condividere i file attraverso un router basta aprire la porta 445 del router avendo Windows XP?

grazie e ciao!!

Santo | #

ma alla fine come si condividono file e stampanti tra due PC, lo volete spiegareeeeeeeeeeeeeeeeeeeeee!!!!!!!!!!!!!!!!!!!!!!!!!

paolo | #

Io non so come configurare il mio pc per riuscire a condividere file con dei miei amici.

paolo | #

come devo fare per condividere i miei file con i miei amici?
Grazie.

CESARE RATTAZZI | #

UNA RETE COSTITUITA DA UN DESKTOP (A)+ROUTER WIFI E CONNESSIONE ADSL E UN NOTEBOOK WIFI(B).errore: A accede alle risorse di B, B non ha i diritti di accesso. possibile?