Archivio

Archivio per la categoria ‘Windows’

Microsoft Visual Basic: Impossibile caricare ‘VBE6EXT.OLB’

Sabato mi sono imbattuto in un errore di Excel che mi ha fatto perdere un pò di tempo.

Mi chiama un cliente che ha un PC con Windows 7 e Excel 2010 con problemi alle marco. In realtà le macro possono essere registrare e vengono eseguite, ma quando prova ad aprire il Visual Basic Editor per editare la macro esce l’errore:

image

Ho verificato che il il file fosse presente e a nulla è valsa la reinstallazione di Office 2010 ne del Service Pack 1.

Quindi mi sono munito dell’ottimo programma Process Monitor (http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx) con il quale sono riuscito a determinare la causa del problema, una chiave di registro non era accessibile.

image

Una volta ripristinati i permessi il problema si è risolto.

434 views
Categorie:Windows Tag:
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Automatizzare l’installazione dei driver in Windows 7 e Vista

Tutti sappiamo molto bene che l’installazione dei driver delle periferiche richiede i diritti amministrativi e quindi l’utente non è in grado di farlo da solo.

Con Windows Vista e 7 Microsoft ha reso disponibile la possibilità di automatizzare finalmente questi passaggi creando un [b]Central Store for Drivers[/b] a cui i client potranno attingere automaticamente.

Per una guida al procedimento vi rimando all’articolo [b]Automating Hardware in Windows 7 and Vista[/b] (http://www.msserveradmin.com/automating-hardware-in-windows-7-and-vista/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+MsServerAdmin+%28MS+Server+Admin%29&utm_content=Google+Reader) di Joseph Moody.

443 views
Categorie:Windows Tag:
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Mail rifiutate per errori al protocollo (Invalid Headers)

Quando usiamo il connettore POP3 di SBS 2008/2011 può capitare che il servizio non riesca a scaricare le mail e ci ritroviamo una sfilza di errori nel log Microsoft-Windows-Small Business Server/Operational del tipo 217:

image

e andando a vedere nel log pop3connector.log che si trova in C:\Program Files\Windows Small Business Server\Logs\pop3connector il problema risulta evidente:

[t 0] 05/31/11, 13:24:59: (SMTP) [TX] RSET
[t 0] 05/31/11, 13:25:04: (SMTP) [RX] 250 2.0.0 Resetting
[t 0] 05/31/11, 13:25:04: Sending message 4 to the SMTP recipient xxxxxxxxxx…
[t 0] 05/31/11, 13:25:04: (SMTP) [TX] MAIL FROM: <MAILER-DAEMON> RET=FULL
[t 0] 05/31/11, 13:25:09: (SMTP) [RX] 501 5.1.7 Invalid address
[t 0] 05/31/11, 13:25:09: Failure hrResult (0x800ccc63) trying to deliver message id 4:
[t 0] 05/31/11, 13:25:09: SMTPRESPONSE:    * * *   !Failed!   * * *
[t 0] 05/31/11, 13:25:09:                  * * *              * * *
[t 0] 05/31/11, 13:25:09:                  * * *  0x800ccc63  * * *
[t 0] 05/31/11, 13:25:09:       Command: [SMTP_MAIL]
[t 0] 05/31/11, 13:25:09:     Completed: Yes.
[t 0] 05/31/11, 13:25:09:     IxpResult:
[t 0] 05/31/11, 13:25:09:   —> —> —>  hrResult: 0x800ccc63
[t 0] 05/31/11, 13:25:09:                pszResponse: 501 5.1.7 Invalid address
[t 0] 05/31/11, 13:25:09:              uiServerError: 501
[t 0] 05/31/11, 13:25:09:              dwSocketError: 0
[t 0] 05/31/11, 13:25:09:                pwszProblem: <none>
[t 0] 05/31/11, 13:25:09: Error: The "MAIL FROM" address ("MAILER-DAEMON", from header field "Return-Path") was rejected. Continuing.
[t 0] 05/31/11, 13:25:09: (SMTP) [TX] QUIT

Quando il connettore scarica un messaggio da un account POP3 non convalida gli header della mail e li passa direttamente al connettore SMTP di Exchange. Se gli header contengono dei valori errati, come il “return path” dell’esempio, Exchange rifiuta la mail con un errore 501. Questo errore conta come un errore di protollo e contribuisce al raggiungimento della soglia massima MaxProtocolErrors. Visto che il connettore non è stato in grado di recapitare la mail la lascia sul server POP3.

Di default la variabile MaxProtocolErrors è impostata al valore 5, se quindi all’interno di una mailbox POP3 ci sono 5 mail contenente un errore di protocollo il download si interrompe e il ciclo prosegue con la mail successiva. Lasciando così sul server anche le mail che sono valide.

In molte occasioni è possibile risolvere il problema semplicemente configurando il parametro “DefaultDomain” con il proprio dominio locale sul “Sharepoint Fax Receiver Connector”. Questo fa si che il dominio SMTP venga aggiunto alle mail che hanno un campo return path non corretto.

Per eseguire questa operazione usiamo il comando:

Set-ReceiveConnector -Identity ($Env:computername + "\Windows SBS Fax Sharepoint Receive " + $Env:computername) -DefaultDomain $Env:UserDNSDomain

Se nonostante questo workaround non abbiamo risolto il problema possiamo provare ad alzare il numero degli errori all’interno di una sessione SMTP che possono essere accettati. Da una Shell con i diritti elevati di Exchange Management Shell lanciamo il comando:

Set-ReceiveConnector -Identity ($Env:computername + "\Windows SBS Fax Sharepoint Receive " + $Env:computername) -MaxProtocolErrors 500

Stop-Service pop3connector
Restart-Service -force MSExchangeTransport
Start-Service pop3connector

Questo incrementa il valore MaxProtocolErrors a 500.

Per un approfondimento vi rimando all’articolo: SBS 2008: Introducing the POP3 Connector (http://blogs.technet.com/b/sbs/archive/2009/07/01/sbs-2008-introducing-the-pop3-connector.aspx)

646 views
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Microsoft Safety Scanner

A volte può essere utile avere un antivirus portabile per qualche scansione al volo magari da qualche cliente. Oltre alle varie distro Linux Live è possibile usare il tool gratuito Microsoft Safety Scanner (http://www.microsoft.com/security/scanner/it-it/default.aspx).

Il tool è stato rilasciato il 15 Aprile 2011 ed è in un certo senso il successore di Windows Live OneCare Safety Scanner (http://en.wikipedia.org/wiki/Windows_Live_OneCare_Safety_Scanner).

Microsoft Safety Scanner è uno strumento di protezione che offre funzionalità di analisi su richiesta e consente di rimuovere virus, spyware e altro malware e non sostituisce il sistema antivirus real-time installato nella macchina.

Il programma è disponibile sia nella versione a 32bit che a 64bit. Visto che la definizione dei virus è inserita all’interno dell’eseguibile stesso il programma non è aggiornabile e funziona solo per 10 giorni dalla data di download, dopodichè bisogna scaricare una nuova versione aggiornata.

Una volta scaricato ed eseguito ci viene richiesto di accettare della licenza:

image

e successivamente possiamo scegliere tra 3 tipi di scansione:

  1. Quick scan – Scans areas of the system most likely to contain viruses, spyware, and other potentially unwanted software. If such software is found, you may be prompted to run a full scan.
  2. Full scan – Scans the entire system. Note that this scan can take up to several hours on some computers.
  3. Cutomized scan – In addition to a quick scan, the tool will also scan the contents of a user-specified folder.

image

Terminata la fase di scansione vera e propria il programma visualizza un dettaglio dell’operazione appena eseguita:
 
image

321 views
Categorie:Windows Tag:
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Implementazione di una VPN SSTP

 

Chiunque si trovi ad amministrare dei server, sia propri o dei propri clienti, usa sicuramente una VPN per collegarsi con la propria rete LAN. Fino a qualche tempo fa le uniche alternative di tunneling erano il PPTP o l’L2TP/IPSEC. Con l’uscita di Windows Server 2008 e Windows Vista SP1 è stato aggiunto un ulteriore protocollo di tunneling Secure Socket Tunneling Protocol (SSTP) che usa eslusivamente il protocollo HTTPS sulla porta TCP 443. Questo lo rende immune da tutti i problemi che ben conosciamo relativamente ai firewall, proxy, etc. che spesso bloccano gli altri protocolli.

Nel server SSTP deve avere un certificato computer con l’opzione Server Authentication o All-Purpose Enhanced Key Usage (EKU). Questo certificato è usato dal client SSTP per autenticare il server quando la sessione viene inizializzata. Per validare il certificato del server nel computer client deve essere installato il certificato della root authority (CA) che ha rilasciato il certificato del server.

Vediamo una tabella comparativa dei tre protocolli.

Attributes PPTP L2TP/IPSEC SSTP
Encapsulation GRE L2TP over UDP SSTP over TCP
Encryption Microsoft Point-to-Point Encryption (MPPE) with RC4 IPsec ESP with Triple Data Encryption Standard (3DES) or Advanced Encryption Standard (AES) SSL with RC4 or AES
Tunnel maintenance protocol PPTP L2TP SSTP
When user authentication occurs Before encryption begins After the IPsec session is established After the SSL session is established
Certificates required to establish the VPN tunnel none Computer certificates on both the VPN client and VPN server Computer certificate on the VPN server and root CA certificate on the VPN client

 

Quando un utente su un computer che esegue Windows Server 2008, Windows Server 2008 R2, Windows Vista SP1 o Windows 7 inizia una connessione VPN basata su SSTP i seguenti passaggi vengono eseguiti:

  1. The SSTP client establishes a TCP connection with the SSTP server between a dynamically-allocated TCP port on the client and TCP port 443 on the server.
  2. The SSTP client sends an SSL Client-Hello message, indicating that the client wants to create an SSL session with the SSTP server.
  3. The SSTP server sends its computer certificate to the SSTP client.
  4. The SSTP client validates the computer certificate, determines the encryption method for the SSL session, generates an SSL session key and then encrypts it with the public key of the SSTP server’s certificate.
  5. The SSTP client sends the encrypted form of the SSL session key to the SSTP server.
  6. The SSTP server decrypts the encrypted SSL session key with the private key of its computer certificate. All future communication between the SSTP client and the SSTP server is encrypted with the negotiated encryption method and SSL session key.
  7. The SSTP client sends an HTTP over SSL request message to the SSTP server.
  8. The SSTP client negotiates an SSTP tunnel with the SSTP server.
  9. The SSTP client negotiates a PPP connection with the SSTP server. This negotiation includes authenticating the user’s credentials with a PPP authentication method and configuring settings for IPv4 or IPv6 traffic.
  10. The SSTP client begins sending IPv4 or IPv6 traffic over the PPP link.

 

In questa guida cercherò di descrivere i passi fondamentali per creare una semplice struttura in grado di accettare connessioni VPN SSTP. Molte impostazioni saranno scelte per semplificare la guida e non devono assolutamente essere implementate in produzione.

L’ambiente utilizzato è un ambiente virtuale composto da 3 macchine:

  • DC1 (Windows Server 2008 R2) – Domain Controller, Server DNS
  • VPN1 (Windows Server 2008 R2) – Routing and Remote Access (2 eth), AD Certificate Services, IIS
  • CLIENT1 (Windows 7 Business) – Client

La figura seguente illustra la configurazione dell’ambiente:

Configuration of the SSTP connection test lab.

 

Configurazione di DC1

Il server DC1 va configurato come Domain Controller e Server DNS, i passi da seguire sono:

  1. Rinominare il server in DC1
  2. Assegnare all’interfaccia di rete l’indirizzo IP 192.168.0.1, subnet mask 255.255.255.0, gateway 192.168.0.2, server DNS 192.168.0.1
  3. Aggiungere il ruolo Active Directory Domain Services
  4. Creare un nuovo dominio in una nuova foresta tramite il comando DCPROMO e chiamarlo CONTOSO.COM
  5. Impostare il livello di funzionalità del dominio e della foresta ad almeno Windows Server 2003
  6. Installare il server DNS
  7. Creare l’utente user1 con password P@ssw0rd e assegniamo l’accesso dial-in tramite la console Active Directory Users and Computers, tasto destro sull’utente, Dial-in tab, in Network Access Permission cliccare su Allow access.
    Nota: In uno scenario reale è preferibile gestire i permessi di accesso tramite Network Policy Server (NPS).
    image

 

Configurazione di VPN1

Questo server ha due schede di rete, una Privata e una Pubblica e svolgerà i ruoli di server RRAS, Active Directory Certificate Services, Certification Authority Web Enrollment, Web Server (IIS). I passi da seguire sono:

  1. Rinominare il server in VPN1
  2. Rinominare l’interfaccia interna in Private e l’interfaccia esterna in Public
  3. Assegnare all’interfaccia Private l’IP 192.168.0.2, subnet mask 255.255.255.0, server dns 192.168.0.1
  4. Assegnare all’interfaccia Public l’IP 131.107.0.2 e subnet mask 255.255.0.0
  5. Verificare che il server DC1 sia raggiungibile tramite il comando ping DC1
  6. Unire il computer al dominio contoso.com
  7. Installare il ruolo Active Directory Certificate Services con il servizio Certification Authority Web Enrollment, scegliere una CA standalone e poi Root CA, creare una chiave private e proseguire con le impostazioni di default. Il nome della CA dovrebbe essere contoso-VPN1-CA
  8. Impostare il security level di Internet Explorer per la zona Local Intranet a Low
    Nota: In uno scenario reale si dovrebbe modificare l’impostazione individuale realtiva ai controlli ActiveX.
    image
  9. Richiedere un nuovo certificato del tipo Server Authentication tramite Internet Explorer andando all’indirizzo http://localhost/certsrv scegliere Request a certificate, e poi advanced certificate request e infine Create and submit a request to this CA, cliccare si per permettere il controllo ActiveX e compilare il form con i seguenti valori:
    1. Name: vpn1.contoso.com
    2. Country/Region: IT
    3. Type of Certificate Needed: Server Authentication Certificate
    4. Mark keys as exportable: Yes
  10. Cliccare su Submit
    image
  11. Aprire la console Certification Authority
  12. Scegliere il tab Extensions nelle proprietà del server contoso-VPN1-CA e cancellare la riga http://<ServerDNSName>/CertEnroll/<CaName><CRLNameSuffix><DeltaCRLAllowed>.crl
  13. Inserire la riga http://vpn1.contoso.com/CertEnroll/<CaName><CRLNameSuffix><DeltaCRLAllowed>.crl e spuntare le voci Include in CRLs. Clients use this to find Delta CRL locations e Include in the CDP extension of issue certificates
    image
  14. Rilasciare il certificato richiesto andando in Pending Requests e scegliere Issue sulla richiesta presente.
  15. Tornare all’indirizzo http://localhost/certsrv e cliccare su View the status of a pending certificate request e poi su Server Authentication Certificate (mercoledì 27 aprile 2011 00:06:22), consentire l’ActiveX e installare il certificato cliccando su Install the certificate. Il certificato sarò così installato nel datastore dell’utente, dobbiamo spostarlo nel datastore computer.
  16. Aprire la console MMC e aggiungere due volte lo snap-in Certificates, una volta per gestire i certificati dell’account utente e una volta per l’account computer locale
  17. Andare in Console Root\Certificates – Current User\Personal\Certificates, cliccare sul certificato vpn1.contoso.com e scegliere Export, scegliere Yes, export the private key, scegliere una password e salvare il file sul desktop con il nome vpn1cert.pfx
  18. Cancellare il certificato appena esportato
  19. Andare in Console Root\Certificates (Local Computer)\Personal\Certificates, cliccare su Certificates e scegliere Import, selezionare il file salvato in precedenza, inserire la password e proseguire con le impostazioni di default
    Nota: La presenza del certificato contoso-VPN-CA1 di tipo all purposes può causare problemi, conviene quindi eliminarlo
    image
  20. Installare il ruolo Network Policy and Access Services e scegliere il servizio Routing and Remote Access Services
    image
  21. Aprire la console di gestione del Routing and Remote Access e cliccare con il tasto destro sul nome del server VPN1 e scegliere Configure and Enable Routing and Remote Access, scegliere Remote access (dial-up or VPN) e successivamente spuntare la casella VPN, selezionare l’interfaccia Public e togliere la spunta su Enable security on the selected interface by setting up static packet filters.
    Nota: In uno scenario reale si dovrebbe lasciare questa opzione abilitata.
  22. Non avendo in questo lab un server DHCP scegliamo From a specified range of address nel successivo passo e impostiamo il range 192.168.0.200-192.168.0.210 e nella richiesta successiva lasciamo l’opzione di default per non usare un server RADIUS per l’autenticazione.
  23. Nella finestra successiva di informazione circa la necessità di configurare le proprietà del DHCP Agent clicchiamo su Ok.
    image

 

Configurazione di CLIENT1

L’interfaccia di rete del CLIENT1 andrà collegata allo stesso switch virtuale dell’interfaccia pubblica di VPN1 e i successivi passi da seguire sono:

  1. Rinominare il client in CLIENT1
  2. Assegnare all’interfaccia di rete l’indirizzo IP 131.107.0.3, subnet mask 255.255.0.0
  3. Non avendo un server DNS nella parte pubblica del lab creiamo un record nel file hosts del client per risolvere il server vpn1.contoso.com. Apriamo il Notepad con i privilegi elevati e carichiamo il file %windir%\system32\drivers\etc\hosts e inseriamo alla fine la riga seguente:

    131.107.0.2    vpn1.contoso.com

    in modo da risolvere il FQDN vpn1.contoso.com con 131.107.0.2 che è l’ip assegnato all’interfaccia pubblica di VPN1.

  4. Possiamo testare la connessione con il server VPN1 eseguendo un ping vpn1.contoso.com
    image
  5. Nel caso il ping fallisca modifichiamo le impostazioni del Firewall sul server VPN1 per accettare le richieste di ping sull’interfaccia Public
    image

 

Configurazione connessione VPN PPTP

Testiamo ora una connessione VPN PPTP per verificare che tutto sia configurato correttamente. Dal CLIENT1 creare una nuova connessione di rete del tipo Connect to a workplace
image

scegliamo Use my Internet connection (VPN) e successivamente I’ll set up an Internet connection later, come indirizzo inseriamo vpn1.contoso.com e come utente e password quelli creati in AD, utente user1 e password P@ssw0rd.

Terminata la configurazione della connessione possiamo farla partire cliccando sull’icona nell’elenco delle connessioni VPN:
image

e una volta stabilito il collegamento possiamo verificare la configurazione di rete tramite il comando ipconfig:
image

come si può vedere ci è stato assegnato l’indirizzo 192.168.0.203. Andando a visualizzare lo stato della connessione VPN ci accorgiamo che stiamo utilizzando il PPTP:
image

A questo punto possiamo disconnetterci e nel server VPN1 configurare il firewall per bloccare il protocollo GRE così da bloccare i tunnel PPTP:
image

dopodichè se proviamo a connetterci in VPN dovremmo ottenere un errore e la connessione non sarà instaurata.

 

Configurazione connessione VPN SSTP

Un client VPN per usare una connessione STP deve aver installto il certificato della root CA che ha rilasciato il certificato usato dal server. Durante il fase di autenticazione SSL il client verifica il certificato del server.

Per ottenere il certificato della root CA basta andare all’indirizzo http://vpn1.contoso.com/certsrv cliccare su Download a CA certificate, Certificate Chain, or CRL e poi su Download CA certificate.

Nella finestra che si apre scegliamo Open
image

e nelle proprietà del certifichiamo clicchiamo su Install Certificate… per installarlo scegliendo tutte le impostazioni di default
image

Il certificato sarà installato nel datastore dell’utente, dobbiamo ora spostarlo in quello relativo al computer per poterlo usare per la connessione VPN. Per far questo apriamo una console MMC e inseriamo due volte lo snap-in Certificates, una volta per l’account utente e una volta per il computer locale.

Apriamo il percorso Console Root\Certificates – Current User\Intermediate Certification Authorities\Certificates e dovremmo vedere il certificato rilasciato a contoso-VPN1-CA, tramite un’operazione di Cut&Paste andiamo ad spostarlo nel percorso Console Root\Certificates (Local Computer)\Trusted Root Certification Authorities\Certificates
image

Visualizziamo ora le proprietà della connessione VPN e nel tab Security impostiamo il tipo VPN a Secure Socket Tunneling Protocol (SSTP):
image

dopodichè possiamo far partire la connessione. Se tutto è andato a buon fine la connessione VPN dovrebbe instaurarsi correttamente e nelle proprietà della connessione possiamo vedere il tipo SSTP:
image

Il tutto sfruttando esclusivamente la porta TCP 443 (HTTPS)
image

 

Link

485 views
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...