Integrazione di servizi Intranet e reti Windows/Linux



Linuxservizi | Corsi linux | It-academy
Google
 


Link utili veloci
www.centralops.net (utility di rete via web)
www.openwall.com (Password Recovery ed altro)
www.shelldorado.com (shell script per tutti i gusti)
www.ugu.com (Unix Guru Universe)
ulteriori link (Pagina che raccoglie un pò di link)

Introduzione


Decidere di mettere in rete i PC della propria azienda è ormai un passo obbligatorio visto la grande esplosione delle Intranet, di Internet e dei servizi ad esso legati. L'analisi aziendale e la ricerca di mercato, da effettuare prima di procedere, prevede sicuramente il costo dei Sistemi Operativi, il costo del supporto tecnico, la compatibilità hardware e i servizi aggiuntivi che si ottengono con una scelta del genere. Lo scopo di questa trattazione è introdurre una serie di articoli per aiutare chi decide di ampliare o costruire una intranet aziendale, da collegare a Internet, a farlo spendendo poco ed ottenendo il massimo risultato. Mostreremo come avere sotto controllo i propri servizi e come tutelarsi da eventuali problemi legati all'uso di reti pubbliche: intrusi che vogliono usare i nostri servizi, server aziendali manomessi e virus che girano per la nostra rete.Una cosa da non sottovalutare è che non è semplice far convivere più Sistemi Operativi all'interno di una azienda media o piccola che sia e che per poterlo fare la cosa deve essere trasparente all'utente finale, deve continuare a stampare dal suo pc e ritrovarsi i file su cui lavora sempre a disposizione. Dopo queste premesse occupiamoci di cosa vogliamo effettivamente implementare, sicuramente mettere in rete i pc esistenti, installare e configurare dei server per fornire servizi aggiuntivi ai dipendenti ed ai clienti dell'azienda. Tutte le configurazioni riportate sono state provate da me presso i clienti per cui ho lavorato, alcuni servizi sono ancora attivi e durante la trattazioni riporterò i riferimenti ad essi.

Il grande disegno


Progettiamo la nostra rete considerando che aggiungeremo alcuni pc nuovi con Linux che faranno da server per i servizi aziendali. Un vecchio pc farà da proxy verso Internet, uno da firewall, o addirittura lo stesso pc sarà configurato come firewall/proxy/gateway. La rete, per comodità di trattazione, sarà una rete in classe C con indirizzamento, come previsto dall' RFC 1597 ( ftp://ftp.rfc-editor.org/in-notes/rfc1597.txt )per le reti private, che può variare da 192.168.0.0 a 192.168.255.255. Da quanto detto si evince che il protocollo usato per la nostra intranet è il TCP/IP, ad ogni pc verrà assegnato un indirizzo univoco e se l’azienda non è grande i pc si troveranno tutti all’interno di un'unica rete, cioè non avremo delle sottoreti e non avremo bisogno di router che mettano in comunicazioni i vari segmenti LAN. I client Windows continueranno a utilizzare il protocollo Netbeui insieme al TCP/IP e useremo Samba per Linux per implementare il File Server e il Print Server. La suite di programmi Samba fa sì che i pc con Linux possano essere visti, sfogliando la rete, anche dai pc con Windows poiché viene implementato lo stesso protocollo SMB su TCP/IP per server Linux/Unix.

Su una rete di piccole dimensioni senza macchine Unix si può utilizzare solo Netbios/Netbeui, nel nostro caso questo non è possibile. Proverò a disegnare una rete con client Windows e Linux assegnando loro i nomi e gli indirizzi affinché tutto sia funzionante. Il server ed i client appartengono alla stessa rete, una tecnica di assegnazione dei nomi ai computer che può essere adottata è la composizione del nome macchina con l’iniziale del nome più il cognome della persona che utilizza la postazione, ad esempio il computer di Mario Rossi verrà chiamato Mrossi. L'indirizzo TCP/IP verrà assegnato dando i numeri progressivi a tutti i computer esistenti in ordine e riservando i numeri liberi per i nuovi arrivati. Per i server la nomenclatura dipenderà da quello che faranno e gli indirizzi verranno assegnati utilizzando dei numeri alti per distinguerli dai pc.

La nostra rete in classe C sarà la 192.168.10.0. Il nostro server Samba per il Print Server avrà nome PrintServer e indirizzo TCP 192.168.10.251, il server per il backup avrà nome FileServer e indirizzo TCP 192.168.10.252. Tutti i pc dovranno avere l’indirizzo appartenente alla stessa classe del server e appartenere allo stesso dominio o gruppo di lavoro. Prevediamo circa 10 PC già esistenti con Windows con indirizzo che assegneremo da 192.168.10.2 a 192.168.10.12, ogni utente ha la sua directory di appoggio sul server e una directory di gruppo al quale appartiene. I gruppi previsti potrebbero essere Marketing, Progettazione, Magazzino o dei nomi a piacere legati a quello che fà l'azienda.

click per ingrandire

Rete aziendale monitorata con Nagios

Che cosa è Samba?

Forse non tutti sanno che cosa è Samba e che cosa fa, potrei suggerire di leggere gli articoli e la documentazione su Internet all’indirizzo http://www.samba.org , ma per chi non ha sottomano Internet provo a ridire alcune cose già trattate. Samba è una delle migliori suite Unix/Linux per implementare File e Print Server per i client Microsoft Windows, in alcuni test è risultato il più veloce File Server per Windows ed è soprattutto Open Source. Questo significa che non essendoci costi aggiuntivi per le licenze dei client che utilizzano Samba, un amministratore di rete può decidere di aumentare le performances e la complessità delle macchine da manutenere aggiungendo come File Server o Print Server una macchina Unix o una meno costosa macchina Linux, spendendo solo in hardware. Nelle versioni precedenti alla 2.x.x si notava subito che la criticità della suite stava nella configurazione del file smb.conf , con le ultima release le cose sono migliorate e per quanto riguarda l’amministrazione si può anche utilizzare una interfaccia web che previo inserimento della password permette di amministrare Samba anche da remoto.



Implementiamo la nostra Intranet

Per installare i server Linux con i servizi di rete bisogna essere sicuri che l'hardware sia compatibile e che non ci crei problemi all'atto delle personalizzazioni, a riguardo consiglio di leggere prima l’hardware-compatibility howto (http://www.pluto.linux.it/HOWTO/Hardware-HOWTO.html) o di fare una ricerca su internet prima di fare degli acquisti incauti. Per i settaggi particolari del kernel e tutto quello che riguarda la configurazione di Linux consiglio di leggere l’articolo di Eugenia Franzoni apparso sul pluto Journal di Aprile 1999 (http://www.pluto.linux.it/journal/pj9904/retelocale.html) che spiega meravigliosamente come configurare un client Linux. Anche se l'articolo è un pò datato per iniziare va bene, per avere altra documentazione un buon motore di ricerca può fare al caso nostro. Utilizzando i programmi di amministrazione delle varie distribuzioni non ci dovrebbero essere dei problemi nel settare le schede e gli indirizzi dei singoli pc. Per i client Windows va fatta la stessa scelta oculata poiché anche se le schede sono compatibili con il sistema operativo a volte non funzionano correttamente, non per colpa del sistema operativo ma per i drive dei fornitori, consiglio sempre di guardare su Internet dove troviamo i driver aggiornati.

Nome

IP

Funzione

PrintServer

192.168.1.251

Server di stampa

FileServer

192.168.1.252

Server con tutti i file di lavoro

Proxy

192.168.1.253

Cache per la navigazione Inernet

MRossi

192.168.1.4

Workstation

PC1

192.168.1.5

Workstation

Tabella dei server con i relativi indirizzi

Intranet e Internet

Una volta implementata l’Intranet bisogna prevedere qualche altro servizio, per esempio il collegamento ad Internet tramite proxy, cioè con una sola connessione, dare accesso a tutti i pc alla grande rete. Per il proxy va bene un server di modeste dimensioni con qualche centinaio di Mega di memoria ed un hard-disk di dimesioni minime che ci permetta di installare Linux, installare squid (http://www.squid-cache.org) e configurarlo con una cache di circa 500 Mega al quale attacchiamo un router ADSL collegato ad una linea telefonica. Il nome del pc sarà Proxy ed avrà indirizzo IP 192.168.10.253. Una volta configurato il tutto basta settare sul browser la connessione tramite proxy, e mettere l’indirizzo del Proxy con squid nella casella del collegamento tramite proxy. Quando il client richiederà una pagina che è già stata richiesta da un altro client e questa si trova ancora in cache, la connessione sembrerà velocissima, invece il proxy la pescherà dalle informazioni registrate su disco. L'installazione e la configurazione del proxy sara' argomento di un futuro articolo.

Usiamo la rete

Ora che abbiamo collegato i PC e abbiamo installato i Server non ci resta che usarli. L'amministratore di rete si occuperà di creare nuove cartelle condivise sul FileServer e farà dei backup notturni di tutti i file degli utenti e di quelli importanti per l'azienda. Tutti gli utenti potranno stampare sulla stampante di rete che è collegata al PrintServer e non ci sarà bisogno di avere tante stampanti locali.

Un servizio che non sembra attivo ma che è molto utile e quello di “sharing” delle cartelle di ogni PC agli altri colleghi in rete. Tutti possono vedere i file delle cartelle condivise e si può decidere se lasciare le cartelle in modalità scrittura/lettura, in sola lettura o protette da password. Le cartelle sul server saranno centralizzate e forniranno a tutti gli utenti gli stessi file, questo eviterà di avere decine di copie dello stesso documento di lavoro sparse per le workstation personali. Inoltre una politica corretta di backup permetterà il recupero di documenti, cancellati involontariamente o danneggiati per qualsiasi ragione.

Firewall e Gateway

La nostra Intranet collegata al mondo esterno tramite linea Adsl ci espone a problemi di diversa natura, se non prevediamo una protezione mirata tutti i PC saranno esposti ad attacchi e/o disservizi. Il server che farà da front-end per il mondo esterno avrà due schede di rete una collegata alla rete interna ed una al router di collegamento Internet. Sul Sever implementeremo un minimo di regole di firewall utilizzando Iptables, incluso di default con i kernel superiori alla versione 2.4.0. poiché sui pc dell'azienda verrà configurato come gateway il server linux, il server dovrà permettere l'uscita su interenet a tutti gli indirizzi appartenente alla rete dell'azienda. Un'altra restrizione che si può fare e permettere il transito dei protocolli sicuri e disabilitare tutti gli altri. Per esempio si abilità il protocollo http, https, ssh ed ftp, gli altri saranno disabilitati di default.

Dopo le introduzioni di consuetudine vediamo come configurare il firewall. Ipotizziamo che il router collegato all'ADSL abbia un indirizzo IP sulla classe 10.0.0.0. Tutte le altre configurazioni sono quelle che ho adottato presso l'associazione dove faccio corsi serali su Linux (http://www.it-academy.it). Il pc che fa da firewall ha la scheda di rete interna con indirizzo IP 192.168.1.253, la seconda scheda di rete, quella verso internet, con indirizzo IP 10.0.0.2, il router ha l'indirizzo IP 10.0.0.1. Da ciò che abbiamo detto sopra il firewall coincide con il PC che fornisce il servizio di proxy, hanno lo stesso indirizzo IP. La prima cosa da fare per attivare il transito dei pacchetti attraverso il firewall è abilitare il forwarding, questo si ottiene a run-time modificando i parametri del kernel. Scriviamo direttamente il valore 1 all'interno del file che si trova nel file system /proc.

# echo 1 > /proc/sys/net/ipv4/ip_forwarding

Per disabilitare il forwarding facciamo l'operazione inversa, scriviamo 0 nello stesso file.

# echo 0 > /proc/sys/net/ipv4/ip_forwarding

Quello che abbiamo visto si presta ad essere riportato in uno scripting di shell, può essere usato dall'amministratore per abilitare o disabilitare la navigazione su Internet. Ora passiamo alle definizioni delle regole di sicurezza da implementare per ottenere un accesso ad internet dai nostri client e per bloccare qualsiasi protocollo che non vogliamo sia usato.

# iptables -A INPUT -i eth0 -j DROP

# iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT

# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

La prima riga disabilita l'accesso alla nostra rete dall'esterno. La seconda riga abilita il forwarding a tutti gli indirizzi della nostra rete e la terza abilita il natting sulla scheda di rete in uscita. Queste semplici regole bastano per abilitare il nostro server linux a filtrare i pacchetti che transitano sulla nostra rete.

Conclusioni

Ricapitolando abbiamo collegato in rete tutti i PC dell'azienda, abbiamo messo dei server per dare dei servizi aggiuntivi di stampa e backup dei dati, abbiamo dato l'accesso ad Internet a tutti i client usando una sola connessione, abbiamo permesso la circolazione veloce dei documenti e delle informazioni condividendo le cartelle sul server linux e sui client.

Questo è solo la minima parte di ciò che si può fare con la messa in rete dei PC dell'azienda. Altri servizi si possono aggiungere a costo quasi zero dopo aver realizzato la nostra Intranet, il software per linux è gratuito, se si installano altri programmi sui server linux si aumenta la competitività senza pagare nulla. Si può installare un programma per mandare fax un programma per avere l’elenco dei clienti, un database, potrei continuare per molto ancora, l’elenco è abbastanza lungo. La scelta di Linux come Sistema Operativo è data dalla stabilità di questo e del suo costo quasi irrisorio, tutti i programmi che girano sotto Linux sono gratuiti e coperti dalla GNU PUBLIC LICENSE. Avere aggiunto dei PC con Linux può sembrare una cosa costosa, se si pensa al fatto che abbiamo aggiunto dei servizi a tutti i client il costo viene ripartito su <n> postazioni di lavoro, con una spesa minima abbiamo ottenuto un miglioramento globale elevato.

Il futuro non sarà questo o quel sistema operativo, ma le reti miste, dove per miste intendo quelle reti che sono costituite da PC con sistemi operativi diversi. Esistono utenti che vogliono usare uno o l’altro sistema operativo e che sentono più amico quel particolare software che gira solo con quel sistema operativo. Non sono un fautore di Linux a tutti i costi, ma voglio aiutare chi vuole passare a Linux senza dover perdere troppo tempo nell’adeguarsi mentalmente all’uso di un qualcosa di nuovo e di diverso. Una volta provato Linux forse non si tornerà più indietro, chi lo sa? Me lo auguro.

Evoluzione!

Ora che la nostra rete è configurata si inizierà ad usare, dopo qualche tempo gli utenti saranno abituati ad avere questo o quel servizio e non potremo non tenere sotto controllo tutto il funzionamento. A qualcuno verrà in mente di dire ma allora ci siamo procurati del lavoro in più, dovrò controllare che tutto funzioni e dovrò fare le notti per manutenere i servizi aggiunti. Questo e vero se non leggerete gli altri articoli che seguiranno dove mostreremo come implementare i controlli in automatico e il monitoraggio dei servizi H24. Inoltre la configurazione del nostro Intrusion Detection System (IDS) ci terrà informati di un eventuale attacco o intrusione e evidenzierà anche la circolazione di eventuali virus all'interno dell'azienda.



LAN

Local Area Network, Reti locali di piccole dimensioni

SMB

Server Message Block, Modalità di comunicazione tra i PC di una rete che usano il Netbeui/NetBios

RFC

Request for Comment, documentazione ufficiale sull'implementazione dei protocolli Internet.

TCP/IP

Protocollo utilizzato sulle reti Intranet/Internet.

Proxy

Servizio di caching delle pagine web tramite server dedicato alla navigazione internet

Sharing

Condivisione di cartelle e file su reti Linux/Windows

NAT

Tecnica di Network Adress Translation per nascondere gli IP durante la navigazione Internet

Prossimi articoli

Come proteggersi dagli intrusi, installazione e configurazione di Snort ( http://www.snort.org).

Come monitorare la rete ed i servizi utilizzando un tools open-source, Nagios ( http://www.nagios.org )

Installare e configurare un server Proxy, squid (http://www.squid-cache.org).

Link Amici

www.calcettoonline.it
www.tecnologiaesistemi.com
www.securityfocus.com
Vuln: Progress Webspeed _CPYFile.P Unauthorized Access Vulnerability
Vuln: TotalCalendar View_Event Script SQL Injection Vulnerability
Vuln: Wheatblog Login SQL Injection Vulnerability
Vuln: Flac123 Local__VCentry_Parse_Value() Stack Buffer Overflow Vulnerability
Bugtraq: WheatBlog 1.1 RFI/SQL Injection
Bugtraq: Re: Re: Progress Webspeed exploit for all releases
Bugtraq: Airscanner Advisory #07062901: FlexiSPY Victim/User Database Exposure (Full world readable access to ALL SMS/Emails/Voice data from victims/users)
Bugtraq: [SECURITY] [DSA 1325-1] New evolution packages fix arbitrary code execution
More rss feeds from SecurityFocus
www.securityfocus.com
News: Lawmakers worry over gov't network breaches
News: Amero case spawns effort to educate
News: Group: Anti-hacking laws can hobble Net security
News: Judge nixes teacher's conviction on porn pop-ups
Brief: Experts challenge claim of undetectable rootkits
Brief: Cybercrime busts net data-theft suspects
Brief: Study: Exploit Wednesday more myth than reality
Brief: Spanish police arrest alleged phone-virus creator
www.securityfocus.com
News: Nigeria enlists Microsoft to fight spam scammers
Nigeria enlists Microsoft to fight spam scammers

News: Cross-Site Scripting Worm Hits MySpace
Cross-Site Scripting Worm Hits MySpace

News: Another data security bill in the works
Another data security bill in the works

www.securityfocus.com
Infocus: Building Secure Applications: Consistent Logging
Building Secure Applications: Consistent Logging

Infocus: Introduction to Windows Integrity Control
Introduction to Windows Integrity Control

Mark Rasch: Your Space, My Space, Everybody's Space
Your Space, My Space, Everybody's Space


Il Webmaster di questo sito è mauro (at) linuxservizi.net
Contattatelo per qualsiasi info.
Il sito non è aggiornato frequentemente.