Risoluzione problemi di avvio del servizio Veeam Agent for Windows

Mi è capitato di installare Veeam Agent for Windows su un server con sistema operativo Windows 2008 R2, sul quale probabilmente tempo prima era presente una vecchia versione di Veeam, poi disinstallata.

Per qualche motivo effettuate l’installazione il servizio Veeam non si avviava ed era quindi impossibile utilizzare il software. L’errore loggato nell’Event Viewer era il seguente:

ID Evento:0
The header for file ‘C:\Windows\system32\config\systemprofile\VeeamBackup.mdf’ is not a valid database file header. The FILE SIZE property is incorrect’

La causa quindi è certamente un database non valido, probabilmente perché in fase di installazione il software prova ad utilizzare il db esistente, relativo ad una versione obsoleta.

E’ possibile ricreare il DB all’avvio del servizio mediante una chiave di registro. Apriamo quindi regedit e posizioniamoci su:

HKEY_LOCAL_MACHINE\SOFTWARE\Veeam\Veeam Endpoint Backup

Creiamo poi una chiave DWORD dal nome Recreatedatabase ed assegnamo il valore 1

A questo punto sarà possibile avviare il servizio ed eseguire i nostri backup.

Errore 8194 – VSS all’avvio delle copie shadow

Può capitare che l’esecuzione delle copie Shadow dei volumi falliscano con codice di errore 8194, 0x80070005 Accesso negato.

L’errore si verifica perché un software (spesso il software di backup) avvia una copia shadow con privilegi di Servizio di Rete, che di default non è abilitato ad effettuare questa operazione.

Per risolvere l’inconveniente possiamo aprire servizi componenti con dcomcnfg

Selezioniamo proprietà su Computer locale sotto Servizi componenti – Computer

E nel tab “Sicurezza COM” clickiamo su Modifica predefinite

Aggiungiamo “Servizio di rete” con accesso solo locale e confermiamo con OK.

Per rendere effettive le modifiche è necessario riavviare il server.

Disconnessioni continue sessione desktop remoto

Mi è capitato in un paio di situazioni con un server raggiungibile in desktop remoto sull’ip pubblico, quindi nattato dietro un firewall, la connessione fosse quasi inutilizzabile, dal momento che non appena si toglieva il focus dalla finestra del client RDP il desktop della macchina remota diventava nero e la sessione veniva disconnessa, per poi riconnettersi automaticamente dopo pochi secondi.

Ho notato questo comportamento sia su una macchina Windows Server 2012R2 che 2016, ed in entrambi i casi il firewall in uso era uno Zyxel Zywall. Nella stessa lan del 2012R2 e del 2016 c’erano dei server 2008 che non presentavano il problema.

Questa particolarità mi ha aiutato a risolvere il problema, considerando che su Windows Server 2008 il protocollo RDP non utilizza UDP, ho pensato che ci potesse essere qualche problema sul transito dei pacchetti con questo protocollo.

Senza indagare a fondo con Wireshark o tool simili per capire l’effettiva causa del problema ho provato a disabilitare il forward dell’UDP sul firewall, in modo da forzare il client all’utilizzo in modalità legacy, ovvero con il solo trasporto TCP.
La modifica ha avuto l’esito sperato ed ora la connessione desktop remoto è stabile.

Problemi di compatibilità Java con SAN Switch Brocade

Con questo articolo spero di aiutare qualcuno ad accedere al management dei SAN switch Brocade visto che avendo un’interfaccia sviluppata in Java è necessario sudare ore per aprirla, dal momento che questa tecnologia è ormai considerata non sicura da praticamente tutti i browser. Un caso particolare si verifica sui vecchi firmware per i quali risulta scaduto il certificato con cui l’applicazione è firmata quindi l’accesso è davvero difficoltoso.

L’errore restituito è:

“Failed to validate certificate. The application will not be executed”

Le operazioni da eseguire sono:

  1. Installare Java 7.55 (l’ho testato con questa ma probabilmente funziona con qualsiasi versione) architettura x86 anche se siamo su una macchina a 64 bit
  2. Aggiungere l’ip dello switch nei siti sicuri di Internet Explorer
  3. Abilitare l’accesso in modalità compatibilità sull’Internet Explorer per l’ip dello switch
  4. Avviare Wordpad con privilegi elevati ed aprire il file java.security che si trova nella cartella di installazione di java. Nel mio caso era C:\Program Files (x86) \Java\jre7\lib\security
  5. Commentare con un # la riga:
    jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024
  6. Salvare il file java.security

A questo punto è possibile accedere alla configurazione dello switch.
In bocca al lupo.

Rimozione di un disco contenente una partizione lvm

Nel precedente post (https://www.virtuopia.it/2018/03/aggiunta-di-un-disco-ad-una-macchina-linux-con-lvm) abbiamo visto come aggiungere un disco ad una macchina Linux utilizzando lvm.

Nel caso volessimo rimuovere questo disco, oppure un qualsiasi disco contentente una partizione lvm è necessario seguire una procedura di rimozione in più fasi per essere sicuri di non ottenere warning al momento di visualizzare i volumi fisici e logici presenti sulla macchina dopo la rimozione. Rimuovendo fisicamente in maniera non corretta un disco configurato con lvm è possibile causare errori bloccanti all’avvio della stessa, ed è quindi fondamentale seguire questi semplici passi per non incorrere in noiosi inconvenienti.

Il caso in oggetto si riferisce alla rimozione di un singolo disco con una singola partizione che non vogliamo più utilizzare. In questo caso abbiamo il volume dati all’interno del volume Group vol00 sul disco fisico /dev/sdb

1 – Smontare il logical volume e rimuoverlo
umount /dev/vol00/dati
lvremove /dev/vol00/dati

2 – Disattivare il volume group
vgchange -a n vol00

3 – Rimuovere il volume group
vgremove vol00

4 – Rimuovore LVM physical disk
pvremove /dev/sdb1

5 – Rimuovere la partizione
cfdisk /dev/sdb

6 – Rimuovere il disco fisicamente
Rimuovere il disco fisicamente dal manager delle macchine virtuali Hyper-V o VMWare. In caso di macchina fisica rimuovere il disco. Se non hotplug rimuovere il disco solo a macchina spenta.

7 – Refresh host bus
Per eliminare dal sistema il vecchi o disco è necessario riavviarla, oppure eseguire una scansione dell’hostbus a cui il disco era collegato. L’operazione assolutamente non distruttiva viene eseguita lanciando il comando

echo “- – -” > /sys/class/scsi_host/host#/scan

dove al posto del # inseriamo il nome del nostro device. Se non siamo sicuri possiamo eseguire la scansione di tutti i devices elencati tramite

ls /sys/class/scsi_host/

Con il comando

fdisk -l

verifichiamo che il disco non sia più presente.

8 – Eliminazione device:
Se abbiamo fatto tutte le operazioni a macchina accesa è possibile che il comando lsscsi riconosca ancora il disco. Per rimuoverlo definitivamente individuiamo il dispositivo proprio con lsscsi ed eseguiamo il comando seguente facendo MOLTA ATTENZIONE a riportare il device corretto.

echo 1 > /sys/bus/scsi/drivers/sd/2\:0\:1\:0/delete

Aggiunta di un disco ad una macchina linux con lvm

LVM è il gestore logico dei volumi di Linux e permette di manipolare le partizioni visibili dal sistema operativo indipendentemente dai dischi fisici utilizzati.

Se aggiungiamo un disco fisico ad una macchina (fisica o virtuale) e vogliamo configurare una partizione che domani deve poter essere espansa o replicata è buona norma configurare sul nuovo disco una partizione LVM.

Premesso che una partizione logica può essere creata utilizzando più dischi, in questo caso studiamo la situazione più semplice: quella in cui l’esigenza è quella di creare su un unico disco un’unica partizione e montarla su una cartella specifica.

L’operazione, seppure delicata come qualsiasi operazione da effettuare sul filesystem, è molto semplice. Vediamo qui i principali passi nel caso di una macchina virtuale Hyper-V o VMWare.

1 – Aggiunta del disco fisico

Aggiungiamo la risorsa disco direttamente del gestore delle macchine virtuali

2 – Individuazione del nuovo device sulla macchina linux

Per rendere visibile il nuovo disco alla macchina Linux è necessario riavviarla, oppure eseguire una scansione dell’hostbus a cui il disco è collegato. L’operazione assolutamente non distruttiva viene eseguita lanciando il comando

echo “- – -” > /sys/class/scsi_host/host#/scan

dove al posto del # inseriamo il nome del nostro device. Se non siamo sicuri possiamo eseguire la scansione di tutti i devices elencati tramite

ls /sys/class/scsi_host/

Con il comando

fdisk -l

individuiamo il nome del nuovo disco. Nel nostro caso è /dev/sdb

3 – Creazione della partizione di tipo LVM

Utilizziamo fdisk per verificare che il disco non è partizionato e procediamo al partizionamento. I comandi da impartire da root sono:

fdisk /dev/sdb (sostituiamo ovviamente sdb con il nome del nostro device)

p stampa a monitor la tabella delle partizioni corrente in modo da verificare che ci troviamo sul disco nuovo
n crea la nuova partizione – tipo primario con primo e ultimo cluster predefinito
t cambia il tipo di partizione in Linux LMV (codice 8e)
w salva le modifiche fatte.

4 – Creazione del physical volume

Inizializziamo la partizione per l’uso con LVM con

pvcreate /dev/sdb1

5 – Creazione del volume group

Creiamo all’interno del physical volume un volume group che chiamiamo vol00 con

vgcreate vol00 /dev/sdb1

6 – Creazione del logical volume

Finalmente possiamo creare il volume logico all’interno del gruppo vol00, utilizzando il 100% dello spazio libero disponibile. Chiamiamo il nuovo volume “dati” con

lvcreate –name dati -l 100%FREE vol00

7 – Formattazione

A questo punto possiamo formattare il volume con

mkfs.xfs /dev/vol00/dati

e montarlo momentaneamente sulla cartella /mnt/dati con

mount /dev/vol00/dati /mnt/dati

o definitivamente aggiungendo in /etc/fstab la seguente riga:

/dev/vol00/dati /mnt/dati xfs defaults 0 0

 

Individuazione file grandi

Capita di ritrovarsi con il disco pieno e dover perdere un sacco di tempo per capire cosa lo sta riempendo. A lungo andare log, file temporanei, o vecchi backup che avevamo dimenticato di cancellare causano problemi di spazio. Per individuarli molto velocemente è possibile usare WinDirStat, un software gratuito che esegue una mappatura del disco e ce la mostra in modalità grafica.

Consiglio di eseguire il software con privilegi elevati per mappare anche file e directory di sistema.

Il sito di riferimento, da cui è possibile anche scaricare l’ultima versione del software è:

https://windirstat.net/

 

Impostazione “Nessuna scadenza password” su un account Office365

La premessa è d’obbligo: non è assolutamente buona norma impostare un account la cui password abbia validità infinita. Questo vale sia per Office365 che per qualsiasi tipo di account, sia esso un accesso Active Directory, email, Facebook, Dropbox, e chi più ne ha più ne metta.

Nonostante questo può essere utile in alcuni casi forzare la scadenza automatica preimpostata su ogni account Office365; nel mio caso, ad esempio, utilizzo un account Office365 per effettuare il backup in Cloud di un NAS attraverso un’applicazione specifica. L’applicazione si preoccupa in maniera schedulata di effettuare la sincronizzazione delle cartelle del NAS con un account Onedrive, quindi con delle credenziali di accesso associate ad Office365. L’account è registrato sul NAS ed è utilizzato dall’app in background; nel momento in cui la coppia di credenziali utilizzata non fosse più valida, ad esempio perché la password è scaduta, il backup non andrebbe a buon fine.

Procediamo quindi ad eliminare il flag “PasswordNeverExpires” dalle proprietà dell’account in questione, in modo da poter schedulare manualmente un cambio password contemporaneo sul portale Microsoft e sul NAS.

Questo articolo si riferisce alla procedura effettuata utilizzando un client Windows 10. Nel mio caso particolare utilizzo in Windows 10 Professional versione 1709.

Per effettuare questa operazione abbiamo bisogno di Power Shell. Apriamone una sessione con privilegi elevati:

Ed installiamo, se non già presente nel sistema, il modulo MSOnline che ci permetterà di eseguire i comandi sugli account Office365. Eseguiamo quindi

Install-Module MSOnline

E confermiamo con Y oppure A


A questo punto connettiamo un account con il comando

Connect-MsolService

Inserendo le credenziali del tenant nel browser che verrà aperto automaticamente

Successivamente per settare la proprietà PasswordNeverExpires a true eseguiamo

Set-MsolUser -UserPrincipalName <user ID> -PasswordNeverExpires $true


Per verificare l’effettiva esecuzione del comando, o nel caso volessimo controllare il valore della proprietà in un account Office365 possiamo utilizzare il comando

Get-MSOLUser -UserPrincipalName <user ID> | Select PasswordNeverExpires

Sostituendo nell’ultimo commando al nome della proprietà il simbolo * possiamo visualizzare i valori di tutte le proprietà associate a quell’utente, modificandole secondo le esigenze.

Sperando di aver fatto risparmiare tempo a qualcuno invito tutti a restare sintonizzati su virtuopia.it

Installazione di Metasploit Framework su Windows Subsystem for Linux

Il Framework Metasploit è uno strumento per effettuare scansione e test delle vulnerabilità di una macchina remota, verificando in alcuni casi l’esistenza e l’efficacia dei relativi exploit. Il framework è molto versatile ed è corredato da documentazione efficace; non a caso è diventato uno dei tool più utilizzati per il penetration testing.

Con i miglioramenti a Windows Subsystem for Linux introdotti nella versione 1709 in particolare sulla gestione dello stack TCP è possibile utilizzare gran parte delle funzioni del framework direttamente da Windows 10 utilizzando l’app Ubuntu.

Su GitHub è disponibile uno script per l’installazione semplificata dell’intero Framework. Prima di eseguire l’installazione, però, consiglio di aggiungere alle esclusioni dell’antivirus la root di Ubuntu, che si trova in

%localappdata%\packages\canonicalgrouplimited.ubuntuonwindows_79rhkp1fndgsc\localstate\rootfs

altrimenti tutti i binari saranno riconosciuti come pericolosi e verranno automaticamente cancellati.

Per installare Metasploit, è sufficiente eseguire il seguente comando:

curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && chmod 755 msfinstall && ./msfinstall

Per qualsiasi info su Metasploit vi rimando al sito ufficiale

https://www.metasploit.com/