robimassa

Another Subtext Powered Blog
posts - 17, comments - 0, trackbacks - 0

My Links

News

Archives

Friday, November 15, 2013

IT Camp Windows Server 2012\R2 29 Novembre–Torino

Il 29 Novembre al Microsoft Innovation Center di Torino con Ermanno Goletto, Mario Serra e Daniele Scrivano saremo speaker all’IT Camp su Windows Server 2012\R2 e System Center 2012 SP1\R2.it

Sarà un’intera giornata di approfondimento tecnico con possibilità di provare le tecnologie oggetto dell’IT Camp dal vivo tramite laboratori.

L’IT Camp sarà quindi organizzato come un corso MOC e rappresenta un’ottima possibilità di formazione gratuita per chi ancora non si è avvicinato a Windows Server 2012 o vuole approfondire le novità introdotte in Windows Server 2012 R2 o ancora desidera valutare quale sono sono le funzionalità contenute nella suite System Center per quanto riguarda la gestione di una infrastruttura virtuale.

Il link per iscriversi lo trovate al seguente IT Camp Windows Server 2012\R2 TORINO, affrettavi perché i posti disponibili sono limitati.

I partecipanti dell’evento dovranno portare il proprio computer per poter accedere ai per accedere ai laboratori, per verificare che il PC abbia tutti i requisiti necessari accedere al seguente link: https://vlabs.holsystems.com/vlabs/RequirementsChecker/.

posted @ Friday, November 15, 2013 9:56 PM | Feedback (0) |

Monday, October 07, 2013

Windows server 2012 -- Backup del SystemState tramite PowerShell

Lo script riportato esegue il backup del system state su un discco VHDx raggiungibile tramite share

i passi seguiti per il salvataggio sono i seguenti

  • montaggio del disco virtuale, creato in precedenza, a cui è stata assegnata l’unita Z:
  • esecuzione della copia del systemstate mediante Windows Server Backup
  • verifica dello stato di esecuzione della copia tramite lo stato di ritorno dello script
  • invio di una mail con l’indicazione dello stato di esecuzione della procedura
  • smontaggio del disco

Una volta terminato il processo, il file VHDX contenente il backup del System State può essere copiato e salvato per  sicurezza  

#4 ottobre 2013 R.Massa
#Esecuzione backup systemstate ed invio mail di notifica sullo stato finale del processo

#funzione per invio Mail viene passato il parametro contenente la stringa del corpo messaggio
function SendMail ($a)
{

    # Costanti
    #Server Mail
     $smtpServer = "1.2.3.4"
        
     #Creazione dell'oggetto MAIl
     $MailMessage = new-object Net.Mail.MailMessage

   #Crezione dell'oggetto MAIL Server
     $smtp = new-object Net.Mail.SmtpClient($smtpServer)

    #Composizione della Mail
     $MailMessage.From =
mittente@dominio.it
     $MailMessage.ReplyTo =
mittente@dominio.it
     $MailMessage.To.Add(
destinatario1@dominio.it,destinatario2@dominio.it)
     $MailMessage.subject = "Backup SystemState"
     $MailMessage.body = $a

    #invio del messaggio
     $smtp.Send($MailMessage)
 
}

# mount del disco VHDX dedicato alla copia del Systemstate
Mount-DiskImage
\\SRV01\backup\systemstate\srv02.vhdx
# avvio del backup systemstate su Z:
wbadmin start systemstatebackup -backupTarget:z: -quiet
# Dismount del volume utilizzato dal backup
disMount-DiskImage
\\SRV01\backup\systemstate\srv02.vhdx
#
#echo $LastExitCode

#test della condizione in $LASTEXITCODE "0" exit normale "-2" con errori
#se 0 invio mail con messaggio OK altrimenti messaggio di attenzione
if ($LastExitCode -eq "0" ) {
    $CorpoMail = "Backup systemstate eseguito correttamente "
    SendMail $CorpoMail
    }
else {
    $CorpoMail = "Backup systemstate eseguito con errori controllare "
    SendMail $CorpoMail
    exit
    }

posted @ Monday, October 07, 2013 10:08 AM | Feedback (0) |

Friday, October 04, 2013

Resizing di Partizioni all’interno di dischi VHD(x)

In ambienti complessi può essere utile ridimensionare le partizioni contenute all’interno di dischi virtuali senza l’utilizzo della Gui.

In uno scenario VDI dove deve essere manipolato un certo numero di VHD è sicuramente preferibile utilizzare lo scripting rispetto ai metodi tradizionali.

tramite Powershell risulta particolarmente semplice gestire le dimensioni delle  partizioni.

Analogamente alla manipolazione dei dischi  virtuali  sono disponibili alcuni commandlet dedicati  a  queste operazioni

      • Get-disk 
      • Get_Partition
      • Get-PartitionSupportedSize
      • Resize-Partition

il VHD –x- contenente la/le partizioni  deve essere montato

 

Tramite il comando Get-disk  si individua il numero del disco di riferimento (in questo esempio il numero 3)

 

image

 

 

 

Tramite il comando Get_Partition -DiskNumber 3  si ottengono le informazioni sulle partizioni presenti sul disco

 

image

         

E’ possibile con il comando  Resize-Partition -disk 3 -PartitionNumber 2 –Size 50GB (oppure un valor consono con la dimensione del VHD) alterare le dimensioni della partizione.

 

In un processo automatizzato in cui si vuole ridurre al valore minimo o aumentare al valore massimo la dimensione della partizione è utile il cmdlet

Get-PartitionSupportedSize -partitionnumber 2 che consente di determinare con precisione le dimensioni Massima e Minima che una partizione può avere.

 

image

             

  • Racchiudendo l’output in una variabile otteniamo la possibilità di utilizzare i valori SizeMin e SizeMax semplicemente utilizzando la variabile stessa nel commandlet Resize-Partition

 

        • $Dimensioni = Get-PartitionSupportedSize -partitionnumber 2
        • Resize-Partition -DiskNumber 3 -PartitionNumber 2 -Size $Dimensioni.Sizemin

 

A questo punto il sistema ridimensiona ai valori SizeMin o SizeMax le partizione

Riferimenti:

Articolo Technet sull'uso di Resize-Partition

posted @ Friday, October 04, 2013 2:49 PM | Feedback (0) |

Tuesday, September 24, 2013

Remote Desktop Services 2012 Web Access -abilitazione cambio password da portale WEB -

Le funzionalità dei servizi Web Desktop Remoto di 2012 possono essere integrate dalla funzione di cambio password utente direttamente sul portale di accesso.

Questa caratteristica, che non è automaticamente abilitata all’atto dell’installazione, richiede che venga abilitata la proprietà di PasswordChangeEnabled sull’ IIS che risiede sul server con il ruolo di Remote Desktop Gateway.

  Immagine2

  • Per attivare questa funzionalità, aprire la console di management di IIS e portarsi in:

SITI/DEFAULT-WEB-SITE/RDWeb/Pages  scegliere Impostazioni applicazione e impostre a TRUE l’opzione PasswordChangeEnabled

 

 

 

 

 

Immagine1

  • Da questo momento per gli utenti che avranno la password scaduta verrà presentato un link aggiuntivo con l’opzione di cambio password.

 

 

 

 

 

 

 

 

 

 

 

Immagine3

  • Tuttavia è possibile anche implementare la pagina di accesso in modo che il link sia sempre presente e non soltanto in occasione della scadenza password.

 

 

 

 

 

 

Questa variazione richiede l’aggiunta di un HREF nella pagina login.aspx che faccia riferimento alla pagina password.aspx, entrambe archiviate in C:\Windows\Web\RDWeb\Pages\it-IT ( in caso di installazione di default in lingua italiana).

posted @ Tuesday, September 24, 2013 10:58 PM | Feedback (0) |

Friday, September 20, 2013

Zenoss (4.2.x) gestire le trap SNMP inviate da Cisco ASA

 

Zenoss è un sistema di monitoraggio molto flessibile, ben integrato con Windows per mezzo di WMI ed SNMP.

Tramite questo protocollo è un ottimo sistema di controllo per dispostivi di rete, sistemi operativi ed oggetti che utilizzano l’SNMP come protocollo di gestione/controllo.

Un plugin di estensione dello Zenoss è scritto per interpretare alcuni counter disponibili sui devices Cisco ASA Firewall.

Le informazioni raccolte, possono riportare in un grafico il numero di sessioni VPN attive e la loro durata.

In questo modo è immediato il colpo d’occhio sullo stato degli accessi al sistema. Se il Firewall viene configurato per inviare trap SNMP allo Zenoss, a fronte degli eventi scaturiti dalle autenticazioni, avremo il dettaglio di ogni connessione, con riportati Utente, ip di provenienza ora e durata della connessione.

E’ possibile poi configurare il sistema di gestione degli eventi di Zenoss affinchè invii una mail al verificarsi di determinate condizioni.

fig.1index

Quello riportato qui sotto è un estratto della trap che viene inviata dall’Ios ASA al collettore Zenoss.

Il messaggio viene ricevuto ed immagazzinato in relazione all’oggetto monitorato.

Con alcune piccole modifiche ai default delle notifiche dei messaggi è possibile far inviare parte della trap tramite Email per eventuali allarmi.

fig.2

image

Dalla console eventi bisogna creare un trigger che venga attivato alla ricezione di una trap che contenga nel messaggio clogMessageGenerated.

image

Successivamente sulla base del trigger definire una notifica, avendo cura di modificare od aggiungere una variabile che comprenda il campo con il rapporto sulla connessione, campo che si desume dal dettaglio della trap in fig.2 ossia clogHistMsgText  che dovrà essere impostato nel seguente modo ${evt/clogHistMsgText} all’interno del “Body Format” della notifica.

Di default nelle notifiche vengono inviati più campi, che in questo caso possono essere eliminati in quanto contengono dati non utili allo scopo.

image

Nel passo successivo dovrà essere selezionato uno o più Subscriber che altro non è che un utente di Zenoss con la propria informazione relativa alla email.

image

Da questo momento ogni ricezione da parte di Zenoss di un messaggio di questo tipo produce l’invio alla mail definita per l’utente di parte del messaggio contenente l’informazione sull’evento relativo all’accesso in VPN sull’ASA.

 

image

Importante ancora notare che nella parte dedicata alla Notifcation bisogna rimuovere la spunta su “Send only on Initial Occurrence” altrimenti verrà soltanto inviato il primo messaggio alla prima connessione e per i successivi non verrà inviata ulteriore notifica.

Lo Zenpack (plugin) utilizzato per il monitoraggio del Cisco ASA è stato rilasciato e testato sulle versioni 3.x di Zenoss ma gli esempi e le informazioni contenute nel post si riferiscono allo stesso Zenpack installato sulla versione 4.2.1

Riferimenti:

 http://www.zenoss.com

http://wiki.zenoss.org/ZenPack:Cisco_Adaptive_Security_Appliance

posted @ Friday, September 20, 2013 10:42 PM | Feedback (0) |

Wednesday, September 18, 2013

Squid usato come Reverse Proxy (con riscrittura dell’URL)

In un precedente post ho riportato la configurazione necessaria per la configurazione di un reverse proxy, nel caso preso in considerazione l’utilizzo era per la “protezione” di un Exchange OWA.

L’utilizzo dei RE-WRITERS è utile qualora si voglia controllare ed indirizzare la navigazione degli utenti, ma in questo caso è stato impiegato per “semplificare” un URL particolarmente complicato in accesso, tramite reverse-proxy, ad un servizio aziendale reso disponibile esternamente.

L’URL originale è https://portale.azienda.dominio.it/cart1/cart2/cart3/cart4/pagina.html

Volendo quindi “semplificare” l’URL agli utenti in https://portale.azienda.dominio.it/cart1 è stato necessario l’utilizzo di un re-writer che intercetta le chiamate e le redirige correttamente secondo l’URL completo e quindi corretto.

Esistono diverse modalità e diversi programmi anche molto sofisticati che effettuano questa operazione, tutti esterni a SQUID e vengono “chiamati” direttamente dal software di cache al quale restituiscono poi i valori eventualmente modificati.

In questo caso il sistema più semplice è risultato essere l’utilizzo di uno script PERL richiamato dalla direttiva  redirect_program definita nel file di configurazione dello SQUID.


#esempio di file Squid.con usato come reverse-proxy e re-writer di parte dell’URL

cache_effective_user squiduser
cache_effective_group wheel

https_port 443 accel vhost cert=/usr/local/squid/certificato/portale.crt key=/usr/local/squid/certificato/w3rev2.key
cache_peer 1.2.3.4 parent 9082 0 no-query originserver login=PASS proxy-only

redirect_rewrites_host_header off

acl TUTTI src all
http_access allow TUTTI

#attivazione redirect per modifica URL dall'esterno
redirect_program /usr/local/squid/script/RedirectUrl.pl

#definizione della posizione dei log del formato e della rotazione
logfile_rotate 55
log_mime_hdrs off
access_log /var/log/squid/log/access.log
cache_store_log /var/log/squid/log/store.log
cache_log /var/log/squid/log/cache.log

#definizione della posizione della cache
cache_dir ufs /var/log/squid/cache 100 16 256
cache_mem 50 MB
pid_filename /var/run/squid.pid


script RedirectUrl.pl richiamato da SQUID

#!/usr/bin/perl
use strict;

$| = 1;
# Lettura della variabile da elaborare ( stringa contenente l’URL)
while (<>) {

    my @elems = split;

    my $url = $elems[0];

     if ($url =~ m#^https://portale\.azienda\.dominio\.it/cart1(/.*)?#i) {

        $url = "https://portale.azienda.dominio.it/cart1/cart2/cart3/cart4/pagina.html${1}";

        print "$url\n";

    }

    else {

        # URL non modificato
         print "$url\n";

    }

}

E’ necessario che il file .pl relativo allo script abbia i permessi di esecuzione

riferimenti:

http://wiki.squid-cache.org/Features/Redirectors

http://www.powershelladmin.com/wiki/Linux_squid_proxy_url_rewriting_or_redirection

posted @ Wednesday, September 18, 2013 10:58 PM | Feedback (0) |

Friday, September 13, 2013

ZIMBRA (7.2) servizio non avviabile

 

Ad un anno dall’installazione “improvvisamente” il servizio è risultato essere inaccessibile ed al riavvio con il comando zmcontrol start oppure zmcontrol status vengono riportati in console questi due messaggi

  • Unable to determine enabled services from ldap.
  • Unable to determine enabled services. Cache is out of date or doesn't exist.

Il problema è nel fatto che all’atto dell’installazione viene generato un certificato con validità di 365 giorni trascorsi i quali il servizio Zimbra non è più in grado di operare.

con il comando zmlocalconfig -s ssl_allow_untrusted_certs viene visualizzato il comportamento in caso di certificati non validi, nel caso che la verifica riporti un valore false è sufficiente eseguire il comando seguente

  • zmlocalconfig -e ssl_allow_untrusted_certs=true

successivamente riavviare i servizi ed il tutto dovrebbe tornare funzionante

se invece si vuole rigenerare nuovamente un certificato i passi da seguire sono descritti nella KB 2021466

posted @ Friday, September 13, 2013 11:00 PM | Feedback (0) |

Thursday, September 12, 2013

Eseguire la scansione del bus scsi su un host Linux

 

In ambienti virtuali la creazione di un nuovo disco assegnato ad un VM non è recepita dal sistema operativo se non tramite un riavvio del sistema. 

Se il riavvio non è immediatamente fattibile è possibile eseguire forzatamente la scansione del bus scsi rendendo così  il nuovo disco disponibile.

il comando da eseguire direttamente da console è il seguente:

echo "- - -" > /sys/class/scsi_host/host0/scan

Questo nel caso la VM abbia un unico controller, nelle configurazioni in cui siano presenti più controller sarà necessario sostituire host0 con un valore che rispecchi la configurazione.

Normalmente ogni controller viene identificato con un progressivo

N.B. la stringa “- - -“ deve contenere uno spazio tra i caratteri  “-“ ed essere racchiusa tra

posted @ Thursday, September 12, 2013 10:52 AM | Feedback (0) |

Tuesday, June 04, 2013

Interrogazioni su AD tramite ADUC

lo strumento Active Directory Users and Computers (ADUC) è utilizzato per gestire l’infrastruttura di directory, in ambienti particolarmente grandi alcune funzioni di interrogazione predefinite possono non essere sufficienti.

Ad esempio ottenere l’elenco dei client con un determinato service pack richiede la definizione di una query personalizzata

Dallo Snap-in ADUC accedere alla sezione Saved Queries / New / Query e definire una nuova interrogazione

image

image

premere Define Query/ Custom Search /Advanced dovrà essere impostato il criterio di selezione dei dati, ad esempio per ottenere l’elenco completo di pc appartenenti al dominio che hanno Windows XP Sp 3 installato sarà sufficiente impostare la query seguente:

(objectCategory=Computer)(operatingSystem=Windows XP Professional)(operatingSystemServicePack=Service Pack 3)

sono ammessi caratteri jolly (*) ed operatori logici come (!) NOT (&) AND

Riferimenti:

http://technet.microsoft.com/it-it/library/aa996205(v=exchg.65).aspx

http://social.technet.microsoft.com/wiki/contents/articles/5392.active-directory-ldap-syntax-filters.aspx

posted @ Tuesday, June 04, 2013 11:50 PM | Feedback (0) |

Wednesday, May 29, 2013

Utilizzare Rsync per sincronizzare directory Linux e Windows

 

Il demone Rsync nativo in ambiente Unix/Linux, è particolarmente efficace per la sincronizzazione di Filesystem e quindi per mantenere allineati “contenitori” differenti.

Può essere utilizzato per sincronizzare sorgenti Linux verso destinazioni Linux, sorgenti Linux verso destinazioni Windows, sorgenti Windows verso destinazioni Linux, e perché no tra sorgenti e destinazioni Windows, anche se in questo scenario sono disponibili molti altri tool.

Rsync utilizza la porta 873/tcp quindi le sue connessioni sono facilmente identificabili e le regole da definire su un Firewall, ad esempio per la sincronizzazione tra un contenuto in rete interna e la DMZ, relativamente più semplici.

Un ulteriore vantaggio che Rsync offre è che vengono replicati soltanto i file o le parti di questi che effettivamente vengono modificate sulla sorgente, rendendo notevolmente leggero il traffico di rete, si adatta quindi bene a trasferimenti su connessioni geografiche con poca banda disponibile.

Replica Windows –> Linux

In questo scenario è riportata la configurazione per effettuare la replica di un albero di directory a partire da Windows verso un server Linux ( distribuzione Oracle Linux Enterprise 6.x ) Questa distribuzione è di fatto assimilabile ad una Centos o Redhat di pari versione.

la replica viene effettuata con cadenza di 4 ore ed originata dalla macchina Windows pertanto sul server Linux dovrà essere attivo un servizio Rsync in grado di ricevere le repliche e configurato “esponendo” la cartella che ospiterà i dati replicati.

Operazioni da effettuare lato Linux

  • installazione del servizio Rsync su Linux  - yum install rsync
  • attivazione del servizio Rsync a boot time del sistema operativo tramite Xinetd

per poter avviare automaticamente Rsync tramite Xinetd è necessario all’interno della cartella /etc/xinetd.d/ editare il file rsync e modificare la riga disable = yes in disable = no in questo modo il servizio Xinetd all’avvio attiverà il rsync con i parametri definiti nel file stesso

 

# default: off
# description: The rsync server is a good addition to an ftp server, as it \
#       allows crc checksumming etc.
service rsync
{
        disable = no
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID

}

effettuata questa modifica è necessario editare il file /etc/rsyncd.conf ed impostare le opzioni con cui il servizio Rsync concede l’accesso ed espone le risorse.

 

[root@serverlinux]#vi rsyncd.conf
uid = root
read only = no
use chroot = no
transfer logging = true
log format = %h %o %f %l %b
log file = /var/log/rsyncd.log

[DESTINAZIONE_REPLICA]
read only = no
path = /CARTELLA_DESTINAZIONE_REPLICA
hosts allow = a.b.c.d

in questo file si dovrà dichiarare tra [] il nome della risorsa a cui riferirsi quando verrà inviata la replica, il path della risorsa, le modalità con cui viene consentito l’accesso, gli hosts che possono utilizzarla, il log etc.

 

Operazioni da effettuare lato Windows

  • Recuperare ed installare i software Rsync per windows qui dove sono disponibili due versioni; free e commerciale
  • Installare il software sull’host windows ( per il caso descritto non è necessario installarlo come servizio )
  • creare un file batch strutturato come segue 
  • rsync -vr --delete-after /cygdrive/c/ARCHIVIO_SORGENTE utente@server::DESTINAZIONE_REPLICA

modifica dei permessi

le opzioni utilizzate nel comando Rsync sono le seguenti

  • -v log completo
  • -r ricorsione nelle sottodirectory
  • --delete-after questa opzione cancella i files non più necessari sulla destinazione dopo aver fatto la sincronizzazione, di default vengono cancellati durante la sincronizzazione
  • /cygdrive/c/ARCHIVIO_SORGENTE utilizza un percorso “linux like”  su ambienti Windows tramite Cygwin
  • utente@server::CARTELLA_DESTINAZIONE_REPLICA utente di accesso al server di destinazione seguito dal riferimento alla risorsa utilizzata da Rsync sulla destinazione per archiviare il files.

 

Tramite il task scheduler di windows, attivare il batch creato per eseguire la replica con la frequenza desiderata della cartella, dal server windows al server linux.

 

Riferimenti:

http://rsync.samba.org/

una sezione interessante per alcuni esempi proposti

http://rsync.samba.org/examples.html

Rsyncd per ambiente Windows 

https://www.itefix.no/i2/cwrsync-get

posted @ Friday, May 31, 2013 11:38 AM | Feedback (0) |

Powered by:
Powered By Subtext Powered By ASP.NET