Archivio

Archivio per la categoria ‘Tips Linux e Microsoft’

keyfinder

3 aprile 2010

ProduKey is a small utility that displays the ProductID and the CD-Key of Microsoft Office (Microsoft Office 2003, Microsoft Office 2007), Windows (Including Windows 7 and Windows Vista), Exchange Server, and SQL Server installed on your computer. You can view this information for your current running operating system, or for another operating system/computer – by using command-line options. This utility can be useful if you lost the product key of your Windows/Office, and you want to reinstall it on your computer.

Share

Documenti Tecnici, Tips Linux e Microsoft

Backtrack – Sniffare una rete locale per cercare password

7 marzo 2010

Questi appunti mostrano come sia facile intercettare le password che passano attraverso la propria rete locale. Per farlo utilizziamo uno dei programmi distribuiti con Backtrack versione 3 o 4, Ettercap.

Per funzionare è necessario che l’utente che lancia ettercap sia connesso alla rete tramite cavo LAN , collegato sia trmite switch o hub.

La prova è stata fatta sulla mia rete locale, tra due computer che utilizzo esclusivamente io e le password intercettate sono quelle che uso per connettermi ad un servizio di posta elettronica ed ad un sito web di telefonia. L’utilizzo di ettercap per intercettare password o più in generale dati di altri utenti è illegale. Ogni abuso è responsabilità vostra ed è punibile dalla legge. Questi appunti personali sono stati ricavati da guide più complete che si possono trovare su internet. Continuando a leggere vi assumete ogni responsabilità per l’utilizzo che potete fare di queste informazioni.

Questi sono i passi che ho seguito per intercettare le mie  password digitate su un altro computer connesso alla mia rete locale:

  1. Lanciare ettercap dal menù Privilege Escalation
  2. In ettercap: dal menù Sniff>Unified Sniffing> scegliere scheda (nel mio caso eth0)
  3. Fare uno scan di tutti gli host collegati: Ctrl+s
  4. Dal menù Mitm>Arp Poisoning selezionare Sniff Remote Connection
  5. Dal menù Start>start Sniffing
  6. Quando qualcuno fa il login si vede nome utente e password oltre all’indirizzo in cui si logga.
All’utente remoto compare una finestra che lo avvisa che il certificato di sicurezza della pagina è da verificare. Il sistema funziona solo se si accetta il certificato.
Questo procedimento si può utilizzare anche per intercettare dati protetti da cifratura ssl, ma va modificato il file di configurazione di ettercap:
  1. Aprire una console e digitare: nano /usr/local/etc/etter.conf
  2. Cercare le righe:
    # if you use iptables:
    #redir_command_on = “iptables -t nat -A PREROUTING -i %iface -p tcp –dport %port -j REDIRECT –to-port %rport”

    #redir_command_off = “iptables -t nat -D PREROUTING -i %iface -p tcp –dport %port -j REDIRECT –to-port %rport”
  3. Togliere il simbolo # dalle due righe redir_command…..
  4. Salvare e chiudere il file. A questo punto si può avviare ettercap

Il contenuto del file di log di cio’ che e’ stato registrato si puo’ trovare e visualizzare via comando etterlog <nome file> direttamente nella posizione dove e’ stato salvato il file di log.

Share

Documenti Tecnici, Tips Linux e Microsoft, Tutorial ,

Un Firewall con PfSense

2 marzo 2010

pfSense è una distribuzione firewall basata su FreeBSD (pfSense deriva da m0n0wall, che è basato su FreeBSD).

    Rispetto a IpCop, che consentiva anche a persone senza nozioni di configurazioni di rete di creare un firewall, pfSense richiede un minimo di conoscenza sull’argomento configurazione reti.

    Caratteristiche tecniche di pfSense

    Come si può evincere dal nome, pfSense usa l’ottima implementazione firewall pf (importata da OpenBSD[3]). Tra le sue principali caratteristiche, ha la possibilità di agire da captive portal, ossia da un sistema di monitoraggio degli accessi Wi-Fi in luoghi pubblici o come server DHCP, DNS e PPPoE, di effettuare limitazione di banda e di essere di supporto a numerosi tipi di VPN, come PPTP, IPSEC e per ultima, ma non meno importante, a OpenVPN. Tra le caratteristiche più importanti che si possono evidenziare, ci sono il supporto a CARP e pfSync, che consentono di creare cluster di firewall e inoltre che pfSense supporta più di una connessione ad internet, con la possibilità quindi di bilanciare il carico.

    Tutto questo però ha un prezzo: pfSense infatti necessita di almeno 128 MB di RAM per rendere al meglio le proprie potenzialità.

    Cosa faremo

    In seguito vedremo come configurare il nostro firewall per fare NAT verso internet dei client LAN e per rendere pubblici dei servizi disponibili in alcuni server posizionati in DMZ.

    Per realizzare il firewall sarà quindi necessario un elaboratore con tre interfacce di rete: una per il lato WAN, una per la LAN e una per la DMZ.

    La nostra rete

    Immaginiamo che la nostra rete sia così composta:

    [Schema di Rete]

    Sottoreti:

  • router-firewall: 195.135.12.0/30 (IP disponibili: 195.135.12.1 e 195.135.12.2. Ipotizziamo il primo per il router e il secondo per l’interfaccia internet del nostro firewall)
  • DMZ: 138.122.45.8/29 (IP disponibili: 138.122.45.9 e 138.122.45.14. Ipotizziamo che l’ultimo IP sia disponibile per l’interfaccia DMZ del firewall)
  • LAN: classe privata 192.168.1.0/24 (IP disponibili: 192.168.1.1 e 192.168.1.254, ipotizziamo il primo IP disponibile sia per l’interfaccia LAN del firewall)

Installazione

Prima di procedere con l’installazione, assicuriamoci che il disco che vogliamo utilizzare non contenga dati importanti, poiché in seguito dovrà essere formattato.

Sul sito di pfSense cerchiamo l’immagine ISO del CD. Dopo averla trovata e masterizzata saremo pronti per iniziare l’installazione.

Avvio del CD

Assicuriamoci innanzitutto di aver abilitato il boot con avvio da CD. A questo punto inseriamo nel computer il CD che fungerà da firewall. Comparirà una schermata simile alla seguente:

Possiamo attendere il timeout del timer o premere il tasto “1”. Dopo il caricamento del kernel FreeBSD verrà fatta partire un’istanza di pfSense da CD.

Sta per iniziare la prima configurazione del nostro firewall.

Viene mostrato un elenco delle schede di rete disponibili, e ci viene chiesto se si vuole eseguire la configurazione delle VLAN adesso (“Do you want to setup VLAN now?”). Questo perché è possibile fare in modo che un interfaccia del nostro firewall sia disponile su più VLAN, ovviamente previa opportuna configurazione di switch con supporto VLAN. Se si dovesse decidere di non utilizzare VLAN digitare n, a seguire INVIO (opzione valida nella maggior parte dei casi).

Essendo pfSense basata su FreeBSD, la nomenclatura delle interfacce di rete è un po’ diversa rispetto ai sistemi GNU/Linux. Mentre su Linux le interfacce di rete vengono nominate come eth0, eth1, ethX qualsiasi sia il tipo di scheda, sui sistemi *BSD il nome di un’interfaccia di rete dipende dal driver utilizzato.

Ad esempio: nella schermata catturata durante l’installazione si notano le interfacce di rete ed0, ed1, ed2 che utilizzano il driver “ed”, per schede di rete NE2000, SMC Ultra, 3c503, DS8390 .

È possibile trovare tutte le interfacce supportate (ed i loro nomi) nel FreeBSD Handbook[3] all’indirizzo web http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/index.html.

A questo punto ci verrà chiesto quale tra le interfacce di rete precedentemente visualizzate dovrà essere usata per collegare la rete LAN. Digitare quindi il nome dell’interfaccia (in questo caso “ed0”) e a seguire INVIO.

Successivamente verrà chiesto quale dovrà essere l’interfaccia per il collegamento a internet (collegamento al router/modem ethernet) (WAN), nel nostro esempio “ed1”. Digitiamo il nome dell’interfaccia e a seguire INVIO.

Nella prossima schermata la richiesta sarà se si desidera configurare delle ulteriori interfacce di rete. Si vuole configurare anche l’interfaccia per la DMZ? Inseriamo quindi il nome dell’interfaccia (ed2) e a seguire, INVIO. Se non si dispone di ulteriori interfacce di rete è sufficiente premere INVIO alla successiva domanda “Enter the optional interface name…”.

A questo punto verrà presentato un riassunto delle associazioni delle schede di rete. Se il tutto soddisfa le vostre esigenze è necessario digitare “y”, seguito da INVIO.

Verrà completata l’inizializzazione del sistema. Se il vostro router non utilizza le indicazioni da server DHCP, la configurazione dell’interfaccia WAN potrebbe richiedere un po’ di tempo, questo perché lo stesso cercherà le informazioni necessarie di un indirizzo IP dinamico.

Nota bene: se disponete di una serie di IP statici (come si presuppone in questo articolo) dovrete configurare il vostro router perché conduca le richieste per la sottorete della DMZ verso il firewall.

Installazione su hard disk

Al termine dell’inizializzazione del sistema verrà prospettato un menù. Per installare il sistema su hard disk digitare “99”.

Verrà avviata la procedura di installazione. ATTENZIONE: con il percorso qui descritto, l’intero contenuto del disco verrà formattato e quindi tutti i dati cancellati.

Comparirà una schermata simile a questa.

Posizioniamoci con l’utilizzo del tasto tab su <Accept these Settings>, a seguire INVIO. Sulla successiva schermata selezioniamo <Install pfSense> e premiamo il tasto INVIO.

Ci verrà ora chiesto su quale hard disk installare pfSense. Selezioniamo il disco sul quale vogliamo installare il sistema e a seguire digitiamo INVIO.

La schermata che apparirà sarà la seguente.

Se il disco non è mai stato utilizzato per un firewall pfSense, scegliamo <Format this Disk>, e a seguire digitiamo INVIO.

Verrà presentata la geometria del disco rilevata.

Se è corretta posizioniamoci su <Use this Geometry> e a seguire premiamo INVIO.

Ci verrà ora chiesta l’ultima conferma per la formattazione del disco. Selezioniamo <Format …> e digitiamo il tasto INVIO.

Il sistema ci chiederà se vogliamo partizionare il disco. Se desideriamo che tutto il disco del nostro firewall sia dedicato a pfSense, scegliamo <Skip this Step>, a seguire INVIO.

Ci verrà chiesto di installare il blocco di boot:

selezioniamo <Accept and Install Bootblocks> e a seguire premiamo INVIO.

La schermata successiva riguarderà la creazione di alcune sottopartizioni (root e swap):

Possiamo accettare le scelte di default selezionando <Accept and Create> (a seguire di nuovo INVIO).

Ora tutti i file verranno copiati. Al termine del processo di copia possiamo effettuare il reboot del computer. Al riavvio assicuriamoci che il CD non sia più nel lettore.

Primo avvio

Dopo aver effettuato l’avvio senza CD-ROM verrà avviata un’istanza di pfSense dal disco fisso. Quando vedremo comparire il menù di configurazione testuale significherà che il sistema è stato avviato.

Come possiamo vedere all’interfaccia LAN è stato assegnato di default l’indirizzo 192.168.1.1

Configurazione del firewall

pfSense mette a disposizione un’ottima interfaccia web per la sua configurazione. È possibile raggiungere l’interfaccia di configurazione andando a visionare il sito web all’indirizzo http://192.168.1.1 e inserendo come nome utente admin e come password pfsense.

Dai vari menù sarà ora possibile configurare tutte le impostazioni del vostro nuovo firewall.

Iniziamo subito, cambiando le impostazioni di base del firewall. Posizioniamoci sul menù alla voce “System -> General Setup”.

Cambiamo ora l’hostname del firewall, il dominio e il server DNS da utilizzare. Possiamo anche decidere di mettere in ascolto l’interfaccia di amministrazione web solo su https, in modo che lo scambio di informazioni avvenga in modo cifrato.

Sarebbe meglio anche cambiare la password per l’accesso all’interfaccia di amministrazione, scegliendone una più sicura di quella di default.

A questo punto clicchiamo quindi su save per salvare le informazioni inserite.

Procediamo ora ad assegnare gli indirizzi IP alle schede della WAN e della DMZ. Cominciamo con la WAN, quindi posizioniamoci sul menù fino a raggiungere la voce “Interfaces->WAN”.

Come “Type” selezionare “Static”. Inseriamo ora l’indirizzo IP, bit della maschera di rete e gateway di default (in questo esempio: 195.135.12.2, 30, 195.135.12.1).

Clicchiamo quindi su save per salvare le impostazioni.

Procediamo quindi a configurare l’interfaccia DMZ, andando su “Interfaces->OPT1”.

Selezioniamo “Enable Optional 1 interface” per abilitare l’interfaccia e gli assegnamogli un nome più user-friendly, ad esempio DMZ. Possiamo ora inserire l’indirizzo IP e maschera di rete, in questo esempio 138.122.45.14 e 29 (255.255.255.248).

Prima di impostare le opportune regole di firewalling configuriamo qualche servizio per la rete LAN.

Possiamo impostare il nostro firewall perché funga da piccolo server DNS/DNS forwarder, semplicemente andando su “Services->DNS”. Sarà anche possibile configurare il servizio DHCP per la LAN andando su “Services->DHCP Server”.

Possiamo procedere ora a configurare le nostre regole di filtraggio di base. Andiamo su “Firewall->Rules” (il NAT per la LAN e’ abilitato di default).

NOTA: Una sicurezza in più per gli host presenti in DMZ può consistere nell’abilitare in uscita dalla DMZ stessa solo i servizi necessari, ad esempio porta 25 verso qualsiasi host e porta 80 solo verso server per gli aggiornamenti dei pacchetti; tutto dovrà risultare bloccato. Questo per evitare che un attaccante possa sfruttare una vulnerabilità dei nostri server per scaricare qualcosa da internet ed eseguirlo.

Procediamo quindi ricordandoci la nota precedente. Clicchiamo sulla tab DMZ per gestire i pacchetti in ingresso da quell’interfaccia, ed aggiungiamo quindi la regola che consenta al nostro server di posta (138.122.45.10) di connettersi alla porta 25 di qualsiasi host. Successivamente consentiamo ai nostri server di connettersi via http all’host 62.90.12.193 (ipotizziamo che sia l’host per gli aggiornamenti dei pacchetti dei nostri server).

Per applicare le modifiche dalla pagina che elenca tutte le regole clicchiamo su “Apply changes”.

Decidiamo ora quali servizi debbano essere disponibili nella nostra DMZ: portiamoci nella tab WAN per gestire i servizi accessibili dalla WAN (utilizzare la tab LAN per gestire i servizi visibili dalla LAN)

Consentiamo l’accesso alla porta SMTP del nostro server di posta, dopodiché configuriamo tutti i servizi sull’esempio di questo.

Ricordiamoci sempre di applicare le modifiche al termine della configurazione.

Ecco fatto, il nostro firewall e’ pronto e servito.

Share

Documenti Tecnici, Tips Linux e Microsoft, Tutorial

netsh.exe e le configurazioni di rete

28 febbraio 2010

All’interno di Windows 2000 e Windows XP c’è un utilità molto comoda, si tratta di netsh.exe.
Con netsh.exe potete fare molte cose una di queste è appunto configurare le interfacce di rete.
Se prova a lanciare netsh.exe vedrete apparire un prompt particolare netsh>.
Il funzionamento è simile alla configurazione di un router, cioè ci sono vari “Contesti” e “Sottocontesti” a cui potete accedere come per esempio “Routing” o “Interface” e così via, a cui poi corrispondono varie funzionalità.

Utilizzeremo netsh.exe con uno script di configurazione. Chiaramente per ogni rete o ufficio che visitate avrete un diverso file di script. Per lanciare netsh usando uno script dovete usare questa sintassi:

netsh exec script.txt

ed ora vediamo due esempi di script:

Assegnamento automatico dei parametri alla scheda di rete tramite DHCP

interface
ip
set address name=”Connessione alla rete locale (LAN)” source=dhcp
set dns name=”Connessione alla rete locale (LAN)” source=dhcp
quit

Questo è il codice che dovete inserire nel vostro file script.txt. Come vedete viene assegnato il source=dhcp sia al gruppo address (IP,Netmask,Gateway) sia al gruppo dns (DNS primario e secondario). Naturalmente “Connessione alla rete locale (LAN)” dev’essere sostituito con il nome della vostra connessione.

Assegnamento manuale dei parametri alla scheda di rete

interface
ip
set address name=”Connessione alla rete locale (LAN)” source=static addr=192.168.1.2 gateway=192.168.1.1 mask=255.255.255.0 gwmetric=0
set dns name=”Connessione alla rete locale (LAN)” source=static addr=212.31.224.5 register=primary
add dns name=”Connessione alla rete locale (LAN)” addr=81.88.224.130
quit

Anche in questo caso è molto semplice, come vedete c’è il nome della connessione e i vari parametri che naturalmente dovete modificare in base alle vostre esigenze.
C’è anche l’impostazione del DNS primario e l’aggiunta di un DNS secondario.

Share

Documenti Tecnici, Tips Linux e Microsoft, Tutorial

HOWTO : WebDAV on Ubuntu 9.04 Server

19 febbraio 2010

WebDAV is a file manager that running on web server. You can access it like on your desktop. Easy and enjoyable.

Install Ubuntu 9.04 server as usual and select LAMP and OpenSSH when asked for choice. You can also install vsFTPd if you want to but it is optional.

Step 1 :

sudo a2enmod dav_fs
sudo a2enmod dav
sudo a2enmod dav_lock

sudo /etc/init.d/apache2 restart

Step 2 :

To create a virtual host for the WebDAV.

sudo mkdir -p /var/www/webdav
chown www-data /var/www/webdav

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/webdav

sudo nano /etc/apache2/sites-available/webdav

Make the a portion of the file as the following :


....
DocumentRoot /var/www/webdav
<Directory /var/www/webdav/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
<Location />
DAV On
AuthType Basic
AuthName "webdav"
AuthUserFile /var/www/.passwd.dav
Require valid-user
DavMinTimeout 600
<LimitExcept GET PUT HEAD OPTIONS POST>
Require valid-user
</LimitExcept>
</Location>
....

Step 3 :

sudo htpasswd -c /var/www/.passwd.dav samiux

chown root:www-data /var/www/.passwd.dav
chmod 640 /var/www/.passwd.dav

suod chmod -R 0777 /var/www/webdav
sudo chown www-data:www-data /var/www/webdav

sudo /etc/init.d/apache2 restart

Step 4 :

To test if WebDAV owrks or not.

sudo apt-get install cadaver

sudo cadaver http://localhost/

If you got “dav:/” prompt, enter “quit” to quit. Otherwises, fix the problem.

Step 5 (Windows only) :

Download NetDrive at http://www.netdrive.net/ and set it accordingly. The port should be 80.

Now you can access your WebDAV server from Windows.

Step 6 (Ubuntu only) :

Go to “Place” > “Connect to Server“. Select “WebDAV (HTTP)“. Enter the IP of your WebDAV server and then press “Connect“. Submit the username and password. An icon will be displayed on your desktop. Double click it and go.

Now you can access your WebDAV server from Ubuntu.

Share

Documenti Tecnici, Tips Linux e Microsoft

Abilitare connessioni remote su mysql

12 febbraio 2010

Può capitare a volte che sia necessario connettersi a da remoto, pensiamo ad esempio a un sistema in cui il webserver e il server risiedano su due macchine differenti.

Dobbiamo quindi permettere al webserver di connettersi in remoto (o anche all’interno della stessa LAN), al server di , per far questo dobbiamo editare il file my.cnf di .

Il sistema che ho utilizzato è ubuntu server 8.04. Ipotizziamo di dover abilitare le connessioni per il nostro server, la macchina che hosta il servizio di avrà indirizzo ip 172.16.46.251.

Editiamo il file

nano /etc//my.cnf

a questo punto cerchiamo la riga contentente

bind-address            = 127.0.0.1

e sostiuiamola con

bind-address            = 172.16.46.251

ed il gioco è fatto, non abbiamo fatto altro che cambiare il bind del servizio in modo che si mettesse in ascolto sull’ip pubblico invece che solo sul localhost.

Ricordate che dovete anche modificare i permessi di accesso sui database, in quanto sui database già creati l’accesso è consentito solamente da 127.0.0.1.

Se per ipotesi volete permettere connessioni remote dall’ip 172.16.46.250 sul database ‘’ con l’utente root, dovrete eseguire i seguenti comandi

root@localhost # 

> use ;

> update db set Host='172.16.46.250' where Db='';

> update user set Host='172.16.46.250' where user='root';

> flush privileges;

Ora dovreste potervi connettere in remoto da , vi ricordo inoltre che se volete usare dovrete ricordarvi di modificare l’indirizzo ip del server direttametne dal file di , cambiando quindi l’ip anche li da 127.0.0.1 all’ip che vi interessa, nello specifico del nostro esempio 172.16.46.251.

Share

Tips Linux e Microsoft

Ubuntu e le schede di rete

3 febbraio 2010

Stavo migrando alcuni dei miei server Ubuntu 8.04 da VMware Server 1.0.6 ad ESX 3.5 con l’apposito VMware converter, fino a qua tutto ok, finita la migrazione faccio la ripartire la macchina, aggiorno i tools e…argh!!!

Infatti per evitare che ad ogni riavvio il nome delle schede di rete sia scelto a caso, udev si annota i mac address delle schede di rete, assegnando i rispettivi MAC a eth0, eth1 e così via.
Ovviamente nel nuovo ESX server ci saranno mac diversi, quindi dovremmo cancellare questa info, per fare questo cancellate qui

sudo rm /etc/udev/rules.d/70-persistent-net.rules

Share

Tips Linux e Microsoft

Samba come controller di dominio

12 gennaio 2010

Samba come controller di dominio

Benché non possa funzionare come un controller di dominio primario (PDC) Active Directory, un server Samba può essere configurato per apparire come un controller di dominio in stile Windows NT4. Uno dei vantaggi di questa configurazione consiste nell’abilità di centralizzare le credenziali di utenti e computer, inoltre, Samba può utilizzare diversi backend per archiviare le informazioni.

Controller di dominio primario (PDC)

Questa sezione spiega come configurare Samba come controller di dominio primario (PDC) usando il backend predefinito «smbpasswd».

  1. Per prima cosa, installare Samba e libpam-smbpass per sincronizzare gli account utente digitando quanto segue in un terminale:
    sudo apt-get install samba libpam-smbpass
    
  2. Configurare Samba modificando il file /etc/samba/smb.conf. La variabile security dovrebbe essere impostata a user e il workgroup dovrebbe essere relativo alla propria organizzazione.
       workgroup = ESEMPIO
       ...
       security = user
    
  3. Nelle sezione «Domains» aggiungere o togliere il commento a quanto segue:
       domain logons = yes
       logon path = \\%N\%U\profile
       logon drive = H:
       logon home = \\%N\%U
       logon script = logon.cmd
       add machine script = sudo /usr/sbin/useradd -n -g machines -c Machine -d /var/lib/samba -s /bin/false %u
    
    • domain logons: fornisce il servizio netlogon facendo in modo che Samba si comporti come un controller di dominio.
    • logon path: posiziona il profilo degli utenti Windows all’interno della loro directory home. È possibile anche configurare una condivisione [profiles] posizionando tutti i profili all’interno di una sola directory.
    • logon drive: specifica il percorso locale della directory home.
    • logon home: specifica la posizione della directory home.
    • logon script: determina quale script eseguire localmente una volta che un utente ha eseguito l’accesso. Lo script deve essere all’interno della condivisione [netlogon].
    • add machine script: uno script che crea automaticamente lo Machine Trust Account necessario per accedere al dominio.In questo esempio il gruppo machines deve essere creato usando l’utilità addgroup. Per maggiori informazioni, consultare la sezione chiamata «Aggiungere e rimuovere utenti».
    [Nota]
    Per non usare i profili roaming, non togliere il commento alle opzioni logon home e logon path.
  4. Togliere il commento alla condivisione [homes] per consentire la mappatura di logon home:
    [homes]
       comment = Home Directories
       browseable = no
       read only = no
       create mask = 0700
       directory mask = 0700
       valid users = %S
    
  5. Quando configurato come controller di dominio, è necessario configurare una condivisione [netlogon]. Per abilitarla, togliere il commento a:
    [netlogon]
       comment = Network Logon Service
       path = /srv/samba/netlogon
       guest ok = yes
       read only = yes
       share modes = no
    
    [Nota]
    Il percorso della condivisione predefinita di netlogon è /home/samba/netlogon, ma in base allo «Filesystem Hierarchy Standard» (FHS), /srv è la corretta posizione i cui dovrebbero essere tenuti i file specifici dei siti forniti dal sistema.
  6. Creare la directory netlogon e un file logon.cmd per ora vuoto:
    sudo mkdir -p /srv/samba/netlogon
    sudo touch /srv/samba/netlogon/logon.cmd
    

    È possibile inserire qualsiasi comando di logon Windows in logon.cmd per personalizzare l’ambiente del client.

  7. Con l’utente root disabilitato in modo predefinito, per poter inserire una workstation nel dominio, un gruppo di sistema deve essere mappato al gruppo Windows Domain Admins. Usando l’utilità net, da un terminale digitare:
    sudo net groupmap add ntgroup="Domain Admins" unixgroup=sysadmin rid=512 type=d
    
    [Nota]
    Modificare sysadmin con un qualsiasi altro gruppo si voglia usare. Inoltre, l’utente usato per unirsi al dominio deve essere membro del gruppo sysadmin oltre al gruppo admin. Il gruppo admin consente l’utilizzo di sudo.
  8. Riavviare Samba per abilitare il nuovo controller di dominio:
    sudo /etc/init.d/samba restart
    
  9. Dovrebbe ora essere possibile unire i client Windows al dominio come in un dominio NT4 in esecuzione su un server Windows.

Controller di dominio di backup

Con la presenza di un controller di dominio primario (PDC) all’interno delle rete è utile avere anche un controller di dominio di backup (BDC). In questo modo i client potranno autenticarsi anche nel caso in cui il PDC non sia più disponibile.

Quando si configura Samba come BDC, è necessario avere un metodo di sincronizzazione delle informazioni sugli account con il PDC. A questo scopo è possibile usare scp, rsync oppure LDAP come backend passdb.

Il metodo migliore per sincronizzare le informazioni sugli account consiste nell’usare LDAP, poiché entrambi i controller di dominio possono usare le stesse informazioni in tempo reale. Configurare un server LDAP potrebbe essere troppo complicato per un esiguo numero di utenti e computer. Per maggiori informazioni, consultare la sezione chiamata «Samba e LDAP».

  1. Installare samba e libpam-smbpass. Da un terminale digitare:
    sudo apt-get install samba libpam-smbpass
    
  2. Modificare il file /etc/samba/smb.conf e togliere il commento a quanto segue nella sezione [global]:
       workgroup = ESEMPIO
       ...
       security = user
    
  3. Nella sezione Domains togliere il commento o aggiungere quanto segue:
       domain logons = yes
       domain master = no
    
  4. Assicurarsi che un utente abbia i permessi di lettura sui file in /var/lib/samba. Per esempio, per consentire agli utenti del gruppo admin di eseguire scp sui file, digitare:
    sudo chgrp -R admin /var/lib/samba
    
  5. Sincronizzare gli account utente usando scp per copiare la directory /var/lib/samba dal PDC:
    sudo scp -r NOME_UTENTE@PDC:/var/lib/samba /var/lib
    
    [Nota]
    Sostituire NOME_UTENTE con un nome utente valido e PDC con il nome host o l’indirizzo IP del controller di dominio primario.
  6. Riavviare samba:
    sudo /etc/init.d/samba restart
    

È possibile verificare se il controller di dominio di backup è funzionante fermando il demone Samba sul PDC e quindi cercando di eseguire l’accesso su un client Windows all’interno del dominio.

È utile ricordare anche che se è stata configurata l’opzione logon home come directory sul PDC e quest’ultimo non è più disponibile, anche l’accesso al drive home degli utenti non lo sarà. Per questo motivo è utile configurare logon home affinché sia posizionato in un server di file separato da PDC e BDC.

Accorgimenti per Ubuntu come PDC Samba

Published by Lorenzo at 7:05 pm under Debian / Ubuntu, Linux, Samba, Server

Per installare Samba su Ubuntu, il problema non è tanto l’installazione in sé, ma il fatto che Ubuntu ha l’utente root disabilitato, e quindi bisogna prendere particolari accorgimenti.

Per prima cosa, non credo sia necessario, ma io assegno una password all’utente root, tramite il comando

$ sudo -s -H

# passwd root

Poi, una volta installato Samba, bisogna aver cura nella configurazione del file smb.conf, di mettere nello script di aggiunta della macchina nel dominio questo comando:

add machine script = sudo /usr/sbin/useradd -d /dev/null -g gruppocomputers -s /bin/false %u

dove gruppocomputers è il gruppo che andrà creato in Linux che conterrà gli account macchina di tutti i PC connessi al dominio. Il gruppo sarà creato tramite questo comando:

$ sudo groupadd gruppocomputers

Altro problema, è il fatto che il comando nello script inizia con l’istruzione sudo, che però richiederebbe la password per funzionare, quindi, bisogna fare in modo che il comando sudo non richieda la password utilizzando il comando sudo visudo ed impostando questa riga:

utenteiniziale ALL=(ALL) NOPASSWD:ALL

dove per utenteiniziale si intende l’utente creato in fase d’installazione di Ubuntu. A questo punto, riapplicare i permessi originari del file tramite il comando

# chmod 440 /etc/sudoers

L’ultimo passaggio, è quello di creare l’utente root in Samba, dandogli la stessa password che è stata assegnata in precedenza all’utente root su Linux. Ciò serve perché è necessario indicare l’utente root da Windows quando si fa il join sul dominio Samba, ho provato inserendo l’utente iniziale ma Samba mi ha risposto con un poderoso gesto dell’ombrello. Quindi:

$ sudo smbpasswd -a root

E il gioco è fatto. Ora i client dovrebbero connettersi senza problemi al dominio, ovviamente, tutte le altre voci di configurazione devono essere impostate in modo appropriato.
A questo punto sorge un problema, cioè che quando si fa il join al dominio, l’utente root, che è l’amministratore del dominio, non fa parte del gruppo Domain Admins, ed in questo modo, l’utente root non è amministratore locale delle macchine connesse al dominio. Per fare in modo di mappare il gruppo Domain Admins col gruppo di Linux root, bisogna utilizzare questo comando:

$ sudo net groupmap modify ntgroup=”Domain Admins” unixgroup=root

Per impostare Samba come print server, bisogna per prima cosa installare CUPS col comando

$ sudo apt-get install cupsys cupsys-client

quindi, bisogna dare queste direttive nella sezione global in smb.conf

printing = CUPS
printcap = CUPS e poi, creare una condivisione printers con questi parametri

[printers]
path = /var/spool/samba printable = YES
use client driver = YES

A questo punto bisogna creare la cartella /var/spool/samba e quindi dare a tutti gli utenti tutti i permessi su questa cartella

$ sudo mkdir /var/spool/samba
$ sudo chmod 777 /var/spool/samba/

Rimangono da modificare due file di configurazione di CUPS, in modo da permettere la stampa in RAW. I file da modificare sono /etc/cups/mime.types e /etc/cups/mime.convs, in cui va decommentata la riga application/octet-stream se commentata. Fatto questo, va creata la stampante condivisa sulla porta parallela del server, tramite questo comando:

$ sudo lpadmin –p NOMESTAMPANTE –v parallel:/dev/lp0 –E

dove per NOMESTAMPANTE si intende il nome della stampante condivisa sul server Samba. Riavviare il demone CUPS sul server tramite il comando

$ sudo /etc/init.d/cupsys restart

Riferimenti:
http://www.howtoforge.com/samba_setup_ubuntu_5.10
http://www.osservatoriotecnologico.it/reti/how-to/file_server_samba.htm

Risorse

  • Per delle configurazioni più dettagliate riguardo Samba, consultare Samba HOWTO Collection
  • La guida è disponibile anche in formato cartaceo.
  • Il libro Using Samba di O’Reilly è un’altra buona lettura.
  • Il capitolo 4 della «Samba HOWTO Collection» spiega come configurare un controller di dominio primario.
  • Il capitolo 5 della «Samba HOWTO Collection» spiega come configurare un controller di dominio di backup.
Share

Tips Linux e Microsoft

Cartelle condivise fra Windows e Linux/Ubuntu

12 gennaio 2010
In questo tutorial si spiegherà come è possibile condividere una cartella fra due sistemi operativi, il primo che utilizza Linux/Ubuntu e il secondo che utilizza Windows Vista (qualsiasi versione).
La prima cosa da fare è assicurarsi di disattivare almeno fino alla fine della procedura qualsiasi tipo di Antivirus/Firewall da Windows Vista al solo fine di escludere, nel caso di problemi, che la procedura eseguita correttamente venga bloccata da altri programmi. (Nel caso funzioni tutto correttamente sarà possibile in seguito informare i vari Antivirus/Firewall che la condivisione delle cartelle è sicura e che non dovranno interferire con il suo funzionamento).

Terminata la premessa cominciamo creando sulla macchina Windows Vista la cartella condivisa nel seguente modo:
1) Creare una nuova cartella o selezionarne una esistente sulla quale si desidera attivare la condivisione, premere il tasto destro sulla cartella e andare su Proprietà > Condivisione cartella > Condivisione avanzata
2) Spuntare l’opzione “Condividi cartella” e inserire il nome utilizzato per la visualizzazione in rete di questa cartella. (In questo tutorial verrà utilizzato il nome ‘share’ per questa cartella)
Nota: evitare di utilizzare nomi separati da spazi bianchi, è bene utilizzare il carattere underscore _ per dividere eventuali parole come ad esempio ‘cartella_condivisa’.
3) Cliccare sul tasto “Autorizzazioni” e settare i permessi sia in lettura che in scrittura se si desidera permettere a chi accede a questa cartella sia di scrivere che di leggere.
4) A questo punto la cartella condovisa sulla macchina Windows Vista è stata creata correttamente e questo sarà visibile anche graficamente grazie all’icona della cartella che sarà cambiata dopo queste operazioni.
5) L’ultimo passo da fare è selezionare la cartella appena condivisa, cliccare con il destro e andare su Proprietà > Condivisione dove è possibile visualizzare il percorso di rete tramite il quale sarà possibile da altri computer raggiungere ed utilizzare questa cartella condovisa. (nel caso di questo tutorial il percorso di rete è “\\PC-TEST\share“)

La macchina con installato Windows Vista ora dispone di una cartella condivisa chiamata “share” posizionata in “\\PC-TEST\share” in cui è possibile leggere/scrivere file tramite altri computer connessi in rete.

Passiamo ora alla configurazione della macchina Linux/Ubuntu!
Per prima cosa sarà necessario installare Samba, il software che si prenderà la responsabilità di gestire l’accesso alla nostra cartella condivisa (e non solo!):
1) Aprire la console e dare i seguenti comandi per effettuale l’installazione di Samba:

sudo apt-get install samba

sudo apt-get install samba smbfs samba-client

2) Samba è gestito completamente tramite il file di configurazione “smb.conf” situato nella directory /etc/samba e sarà qui che bisognerà scrivere le impostazioni per rendere possibile la condivisione della cartella. Per motivi di pura sicurezza verrà effettuato con il prossimo comando una copia di backup dell’attuale file di configurazione in modo che possa venir ripristinato in caso di necessità:

sudo cp -p /etc/samba/smb.conf /etc/samba/smb.conf.bak

3) Se si desidera creare una nuova cartella da condividere è possibile crearla utilizzando il comando:

sudo mkdir /home/condiv

E’ necessario ora tenere presente dove è situata la cartella che si desidera condividere (in questo tutorial “/home/condiv“) indipendentemente dal fatto che sia stata creata con il precedente comando o che esisteva già.

4) Impostare i permessi sulla cartella da condividere di lettura/scrittura/esecuzione:

sudo chmod 777 /home/condiv

5) [Facoltativo] A questo punto è buona regola impostare un utente che abbia accesso alla cartella condivisa, supponiamo di creare il nuovo utente che potrà connettersi ed utilizzare la cartella condivisa:

sudo useradd -c “utilizzatore” -m -g users -p pass alex

con questo comando è stato creato l’utente ‘utilizzatore’ appartenente al gruppo ‘users’ con password ‘pass’ e nome dell’utente impostato come ‘alex’.
Aggiungiamo ora questo utente alla lista degli utenti di Samba con il seguente comando:

sudo smbpasswd -a alex

dopo questo comando sarà richiesta la password per l’utente alex e dopo il corretto inserimento della password l’utente sarà aggiunto alla lista degli utenti di Samba. La password che dovrà essere inserita è la stessa utilizzata durante la creazione dell’utente (nel tutorial ‘pass’).
Nota: E’ possibile invece rimuovere gli utenti dalla lista di Samba utilizzando semplicemente al posto dell’opzione -a l’opzione -x

6) A questo punto bisogna informare Samba delle decisioni prese modificando il file di configurazione /etc/samba/smb.conf

sudo gedit /etc/samba/smb.conf

verrà aperto tramite il programma grafico gedit il file di configurazione, spostarsi alla sezione “Share Definitions” e prima della riga [printers] scrivere le seguenti impostazioni:

[Cartella_condivisa_linux]
path = /home/condiv
available = yes
browsable = yes
public = yes
writable = yes    #per impostare sola-lettura scrivere no
create mask = 0777
directory mask = 0777

salvare e chiudere. Per verificare la correttezza delle nuove impostazioni inserite dare il comando:

sudo testparm

Ogni volta che verrà modificato il file smb.conf sarà necessario riavviare Samba in modo che possa leggere le nuove impostazioni ed utilizzarle:

sudo /etc/init.d/samba restart

7) Finalmente ora sarà possibile collegarsi alla macchina Windows Vista utilizzando il seguente comando:

sudo smbclient //nome_pc/nome_cartella/ -U utente%password

nel nostro caso quindi si dovrà utilizzare il comando:

sudo smbclient //PC-TEST/share -U alex%pass

dove il simbolo % divide il nome utente dalla password dell’utente stesso.

8) Ora dovrebbe essere mostrato un messaggio di benvenuto simile a questo:
Domain=[PC-NIBBLE] OS=[Windows Vista (TM) Home Premium 6001 Service Pack 1] Server=[Windows Vista (TM) Home Premium 6.0]
smb: \>

indicante il fatto che da questo momento ci si potrà muovere liberamente nella cartella condivisa ed utilizzare comandi come cd, ls ecc.

Dalla macchina Windows Vista invece basterà andare su Rete attraverso il pannello Start, selezionare il computer Linux/Ubuntu ed accedere alla cartella condivisa (nel nostro caso chiamata ‘condiv’).

Se si desidera invece utilizzare un ambiente grafico in Linux/Ubuntu per poter navigare le cartelle condivise, come in Windows Vista, sarà necessario aprire il pannello “Rete” (o simile) dal pannello delle applicazioni selezionare il computer da raggiungere (nel nostro caso //PC-TEST/) e selezionare la cartella condivisa!

Nota: E’ possibile che i due computer non si riescano a connettere o addirittura non si rilevino proprio, questo è dovuto al fatto che molto probabilmente non appartengolo allo stesso ‘workgroup‘. E’ necessario quindi impostare in /etc/samba/smb.conf nella sezione ‘global’ lo stesso workgroup utilizzato da Windows Vista.

Share

Tips Linux e Microsoft

analisi delle prestazioni del proxy con sarg e l’utility sarg-report

28 dicembre 2009

La domanda è: è possibile pulire i log di squid in modo che, quando vado a far eun report con sarg non mi riporti l’era dei tempi?

Per i vincoli dovuti alle norme sulla privacy occorre configurare il server proxy in modo che vengano mantenuti i file di log per almeno un anno e nel contempo attivare una procedura di backup e salvataggio degli stessi a livello trimestrale. Il programma da configurare per il salvataggio dei log si chiama logrotate che nel caso di squid sarà configurato come segue:

# /etc/logrotate.d/squid
# Logrotate fragment for squid
/var/log/squid/*.log {
        daily
        compress
        delaycompress
        rotate 400
        missingok
        nocreate
        sharedscripts
        prerotate
                test ! -x /usr/sbin/sarg-maint || /usr/sbin/sarg-maint
        endscript
        postrotate
                test ! -e /var/run/squid.pid || /usr/sbin/squid -k rotate
        endscript
}

Per l’analisi delle prestazioni del proxy tramite il programma sarg è preferibile settare la raccolta differenziata per mese:

# /etc/cron.monthly/squid
#Get current date
TODAY=$(date +%d/%m/%Y)

#Get current date
TD=$(date --date "1 month ago" +%Y-%m)

#Get one month ago today
YESTERDAY=$(date --date "1 month ago" +%d/%m/%Y)

#Get one month ago today (4touch)
YD=$(date --date "1 month ago" +%m/%d/%Y)

touch -d $YD /tmp/a
cat /var/log/squid/access.log.1 > /var/log/squid/monthly/squid-$TD
find /var/log/squid/ -newer /tmp/a -name access.log\*gz | \
  xargs zcat >> /var/log/squid/monthly/squid-$TD

ln -f -s /var/log/squid/monthly/squid-$TD /var/4sarg
sarg -o /var/www/squid-reports/monthly -d $YESTERDAY-$TODAY

Attenzione che i log contengono dati sensibili e quindi quelli relativi agli utenti non possono essere consultati senza infrangere la Legge Italiana.

LOG SQUID con SARG-REPORT

Configurazione di sarg

Cercare in /etc/squid/sarg.conf la direttiva language English e sostituire a English il linguaggio voluto. es.:

language Italian

Assicurarsi che la direttiva access_log punti correttamente al file contenente i logs di squid (solitamente /var/log/squid/access.log) e verificare che coincida con la direttiva access_log presente in /etc/squid.conf.

Configurazione di sarg-reports

La configurazione di /etc/squid/sarg-reports.conf di default dovrebbe andare benone, modificarla eventualmente per rispondere alle proprie esigenze.

sarg e sarg-reports

sarg-report è un shell script che permette di parsare il contenuto dei logs di squid relativi ad un certo periodo di tempo e, utilizzando sarg, generare automaticamente del codice html. Il codice html, di default, viene salvato in /var/www/https/squid-reports/. Sarà necessario dunque modificare la configurazione di apache per assicurarsi che venga pubblicata.

Nota

Si farà riferimento esclusivamente all’uso di sarg-report. I più curiosi, dopo una rapida consultazione del suo help, potranno provare a generare con sarg qualche statistica personalizzata.

L’help di sarg-reports è abbastanza esplicativo:

sarg-reports --help

SARG - Daily / Weekly / Monthly - Squid proxy usage reports creation tool
Written by Ugo Viti <ugo.viti@initzero.it>
Version: 20050202

Usage: /usr/sbin/sarg-reports [OPTIONS]

Allowed options:
    manual,  Create Manual report
     today,  Create Today report
     daily,  Create Daily report
    weekly,  Create Weekly report
    montly,  Create Monthly report

Come riportato dall’help, se volessimo generare logs per una data specifica potremmo usare:

sarg-reports manual 18/12/2008

Tutte le informazioni relative al giorno 18/12/2008 trovate in /var/log/squid/access.log verranno parsate e verrà generato un output html in /vaar/www/squid-reports/

Per verificare il risultato, si potrà provare a puntare con lynx a /var/www/squid-reports/index.html come segue:

lynx /var/www/squid-reports/index.html

Automatizzare la creazione dei logs con Crontab

Aggiungere la creazione dei logs a Cron, per eseguirle in modo automatico alla cadenza voluta:

crontab -e

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
00 00      * * * sarg-reports daily
00 01      * * 1 sarg-reports weekly
30 02      1 * * sarg-reports monthly

Per chi non conoscesse Cron e la sintassi di definizione del tempo: http://www.adminschoice.com/docs/crontab.htm#Crontab%20file

Share

Tips Linux e Microsoft