25 marzo 2011

Apertura porte router... cosa significa?


Dunque, cercherò di spiegarlo nella maniera più semplice possibile, prima di farlo però dovrò darvi qualche cenno sul funzionamento delle reti LAN/WAN e della famiglia degli standard IEEE 802.1.
Immaginiamo la rete geografica (Worldwide Area Network) o più comunemente chiamata Internet come una rete composta da nodi (computer) e da rami (collegamenti tra di essi). Ad ogni nodo vi è assegnato un IP univoco. Ora, la comunicazione in internet avviene stabilendo una connessione di tipo client-server. Per server non si intende solo una macchina adibita a fare ciò, ma può essere anche un nostro comune PC di casa. Se io volessi scambiare informazioni con un altro nodo della rete WAN, dovrò stabilire una connessione con il mio eventuale server che sarà un qualsiasi altro nodo della rete geografica identificato da un indirizzo IP univoco, ciò significa che non potranno esistere contemporaneamente due nodi aventi stesso IP pubblico. (tutti i dettagli sull'incapsulamento e il decapsulamento dei frame tramite lo schema ISO/OSI li trascuriamo). Un'architettura client-server sullo stack TCP/IP ossia il protocollo di comunicazione usato anche nelle comunicazioni internet funziona nel seguente modo: PC1 farà da server HTTP, e, come tale, ascolterà sulla porta 80. quindi, se da un qualsiasi altro nodo appartenente alla rete WAN vorrò connettermi a tale server, dovrò farlo aprendo un web browser e digitare l'indirizzo IP di PC1 senza specificare la porta perché il web browser di default utilizza la porta 80.
 Quindi ricapitolando: ogni nodo che si connette alla rete internet è identificato da un indirizzo IP. Su un computer si può avviare un servizio, ossia un'applicazione che farà da server su una determinata porta o anche su un range di più porte, le porte sono in tutto 65534 per ciascun protocollo (TCP o UDP) quindi tecnicamente, supponendo che mettessimo in ascolto un servizio per ogni singola porta su entrambi i protocolli potremo avviare 65534 x 2 servizi. Il computer che farà da client per stabilire la connessione al server dovrà possedere un client (software) che capisca il protocollo, cioè che sappia interpretare i messaggi del server preso in considerazione, e fornirgli l'IP del server e la relativa porta.
Fin qua la cosa è abbastanza semplice e chiara. Le cose si complicano leggermente qualora ci trovassimo in una rete LAN (Local Area Network).
La topologia di quest'ultima è esattamente la stessa della rete WAN, ma applicata a piccoli ambienti come, appartamenti o reti aziendali. Quindi vige la stessa tecnica di connessione client-server che ho esplicato prima.
La difficoltà si ha quando un computer appartenente ad una LAN tramite questa deve accedere alla rete WAN. Ciò avviene tramite un apparato di rete che interconnette le due reti chiamato "router". Esso, collegato ad uno "switch" é in grado tramite un sistema di reindirizzazione dei frame chiamato "NAT" di interconnettere le due reti rendendo quindi raggiungibile un computer che risiede sulla rete WAN da una rete Locale, Vediamo come:

supponiamo che un computer appartenente alla LAN che d'ora in poi per fantasia chiameremo PC-LAN voglia connettersi ad un servizio risiedente su un PC-WAN. da PC-LAN partiranno dei frame nei quali vi è segnato l'IP address del nodo source, in questo caso l'IP di PC-LAN, e raggiungono il router, il quale attraverso la procedura NAT sostituirà in questi pacchetti l'indirizzo LAN con l'indirizzo WAN, in modo tale che il nodo di destinazione appartenente alla WAN che vedo solo indirizzi di tipo WAN, possa rispondere alle richieste.
Ora vi chiederete a che serve l'apertura delle porte.. Immaginate la situazione contraria in cui un PC-WAN debba stabilire la connessione verso un PC-LAN, come abbiamo detto prima nelle reti WAN l'unico IP valido è quello di tipo WAN, quindi dovremmo inserire sul nostro client l'indirizzo IP dell'interfaccia WAN (in questo caso il nostro router) appartenente alla rete LAN di destinazione. Una volta che abbiamo raggiunto quest'ultima, a quale nodo della rete LAN ci connetteremo? Lo stabiliremo tramite le porte TCP o UDP. Se su un qualsiasi PC-LAN apriremo un servizio che ascolterà su una porta X, quindi 192.168.0.2:1024 quando dal PC-WAN ci connetteremo all'IP pubblico relativo al NAT su questa rete dovremmo digitare sul client  82.150.23.80:1024, in modo che il NAT saprà che le connessioni iniziate su quella porta dovranno essere dirette su quel determinato computer della LAN. Come farà a saperlo? glielo dobbiamo dire tramite un'impostazione sul nostro router chiamata "port forwarding". tramite la quale diremo che le connessioni in ingresso su una determinata porta dovranno essere smistate verso un determinato nodo interno sul quale potremo aprire un qualsiasi servizio in ascolto.

12 marzo 2011

Autenticazione SMB


L'identificazione tra due PC windows in rete avviene nel seguente modo:


Supponiamo di avere due pc in uso: PC1 e PC2.

Quando da PC1 si vuole accedere ad una risorsa condivisa su PC2, Windows cerca l'autenticazione col PC2.
Per avere l'autenticazione automatica, i due pc devono avere stesso user e stessa password (anche se su entrambi
i pc non c'è password, risulta la stessa password, ovvero BLANK).

Esempio 1:


------------------------------------------


PC1 (Gruppo di lavoro: Workgroup, Utente: Pippo, Password: Pluto)

-----Autenticazione con-----
PC2 (Gruppo di lavoro: Workgroup, Utente: Pippo, Password: Pluto)

In questo caso l'autenticazione tra i due pc verrà effettuata automaticamente


NB: Il pc di destinazione può anche essere loggato nella sessione locale di windows con un altro utente diverso da Pippo, l'importante è che l'utente in questione

sia presente nel database degli utenti (sam) e l'autenticazione non sia già stata eseguita dato che le credenziali in questo caso corrispondono.

------------------------------------------


Esempio 2:


------------------------------------------


PC1 (Gruppo di lavoro: Workgroup, Utente: Pippo, Password: Pluto)

-----Autenticazione con-----
PC2 (Gruppo di lavoro: Workgroup, Utente: Paperino, Password: Pluto)

In questo caso l'autenticazione tra i due pc non verrà effettuata poichè una credenziale (in questo caso gli Utenti)

non sono uguali tra i due pc.

------------------------------------------


Nell'esempio n. 2 al momento in cui si cerca di accedere a PC2 o viceversa, verranno chiesti User e Password con i quali

identificarsi.

Dovremo inserire un utente che è presente nell'elenco degli utenti (Sam) del pc di destinazione.


Esempio:


------------------------------------------


Se dal PC1 viene effettuato il login al PC2 con user: Guest (ammesso che questo user sia presente

nel (sam) degli utenti del PC2) si sarà loggati come Guest. E si potrà accedere solo alle directory condivise con permessi di share Guest
ed Everyone.

NB: Nei permessi NTFS Bisogna inserire Everyone.

Everyone non comprende tutti gli utenti, ma solo tutti gli utenti del pc in questione.

------------------------------------------


Per loggarsi con un utente che si vuole anche se i pc presentano le stesse credenziali, si può creare un profilo passport

che sovrasterà l'identificazione automatica.
Si può aggiungere un profilo passport facendo: Esegui: control userpasswords2 , Avanzate , Gestione password
e aggiungere a: Server: Nome del pc di destinazione: (PC2 nel caso si vuole accedere dal PC1), Nome Utente: Il nome del pc e l'utente: (esempio: PC2\Pippo)
e password può essere lasciato vuoto, in modo tale che la password venga chiesta al momento dell'autenticazione.

Nell'utilizzo degli account con password vuote "BLANK" per il login bisogna disabilitare la Policy Account: gpedit.msc , Configurazione computer , Impostazioni di Windows ,

Impostazioni protezione , Criteri locali , Opzioni di protezione , Account: limitare l'uso locale di account con password vuote all'accesso alla console.
Riavviare il computer


------------------------------------------------------------------------------------

In Windows Vista e successivi, è stata attivata una funzionalità di protezione che a seguito di una connessione ad una rete, chiede se tale rete è una:


  • Rete domestica
  • Rete aziendale
  • Rete pubblica

La Rete domestica consente al device di essere visibile agli altri componenti della rete ed abilita il "Gruppo Home" ossia una funzionalità che permette la condivisione delle directory predefinite (Immagini, Musica, Video, Stampanti) più altre directory che è possibile condividere attraverso: tasto destro, Condividi con, Gruppo home.
Se un dispositivo della rete locale ha la funzionalità attiva, sugli altri dispositivi, verrà rilevato il gruppo home, quindi basterà andare in: (Pannello di controllo, Gruppo Home, Partecipa) e quindi verrà richiesta una password disponibile sul computer. La password da inserire bisogna leggerla sempre in Gruppo Home da Pannello di controllo del dispositivo su cui vi è il gruppo home creato.
Le directory predefinite saranno disponibili nella sezione Gruppo home che troviamo sulla colonna a sinistra del browser dei file,
invece i file e cartelle che condividiamo con i permessi Gruppo home saranno disponibili nella sezione Rete.

La Rete aziendale consente al device di essere visibile agli altri componenti della rete ma disabilità il "Gruppo Home", è preferibile rispetto alla prima.

La Rete pubblica attraverso il firewall impedisce al dispositivo di essere raggiungibile agli altri componenti della rete.

a tal proposito bisogna appunto sottolineare che ci sono 2 profili di Windows Firewall differenti: il primo comune a Rete domestica e Rete aziendale, il secondo per la Rete pubblica;
infatti quando avviamo un software che necessita dell'apertura di una porta in ascolto sul firewall, ci verrà chiesto, attraverso una finestra di notifica, su quali dei due firewall (uno dei due o entrambi) vogliamo consentire l'apertura della porta.


Per impostare i permessi alle directory, è consigliato utilizzare: tasto destro, Proprietà, Condivisione, Condivisione avanzata...
evitare l'opzione "Condividi..." in quanto utilizzerà il percorso completo partendo dalla directory radice.