30 September 2007

French version of my blog

For those french speaking people, i have also opened a parallel blog in french:
http://www.lotp.fr

Up to now, it mainly contains same post in french, but that will change ;)

29 September 2007

Excel 2007 fails math test

Yesterday evening we were alerted to an issue in Excel 2007 (and Excel Services 2007) involving calculation of numbers around 65,535. The first example that we heard about was =77.1*850, but it became clear from our testing as well as additional reports that this was just one instance where Excel 2007 would return a value of 100,000 instead of 65,535

http://blogs.msdn.com/excel/

Download Office 2003 Service pack 3

Office 2003 Service Pack 3 is out !
http://www.microsoft.com/downloads/details.aspx?displaylang=fr&FamilyID=e25b7049-3e13-433b-b9d2-5e3c1132f206

Great freeware to digg security eventlog: NTLast

This freeware digg eventlog and sum all bad tries with user account and machine name from where the logon failed
http://www.foundstone.com/us/resources/proddesc/ntlast.htm

27 September 2007

Politique de mots de passe. Encore une fois.

This article is a translated version of a blog post from Steve Riley. You can read the original version here.

Cet article est une traduction d'un post de Steve Riley, dont vous pouvez lire la version originale ici.

Récemment dans les newsgroups (news:microsoft.public.security, pour être précis), la gestion des mots de passe et leurs paramètres par défaut est ressortie. L’auteur s’est plaint sur un certain nombre de choses : que Microsoft n’active pas le verrouillage de compte par défaut, que nous n’avons pas de mécanisme natif pour désactiver automatiquement les comptes inutilisés, que l’expiration par défaut au bout de 42 jours est troublante. Voici ma réponse ; j’imagine quelle fera un billet très utile en même temps.

 

Verrouillage de comptes

Le verrouillage de comptes est une faible substitution par rapport aux bons mots de passe – et s’avère être une des plus chère fonctionnalités de sécurité. Imaginons maintenant la menace. Quelle menace essayons-nous de réduire ? La découverte de mots de passe. Comment rendre la découverte de mots passe inutilisable par un pirate ? Deux possibilités : le verrouillage de comptes ou alors un mot de passe de qualité, c'est-à-dire long.

Considérons le premier choix, le verrouillage de comptes. Le coût typique dans une entreprise pour réinitialiser un compte est de 55€ par appel à la hotline. Dans une entreprise de taille moyenne ou importante, cela peut devenir un coût récurrent très important. Dans pratiquement tous les cas, l’appel vient des utilisateurs qui ont eux même verrouillé leur compte (peut être un peu trop d’alcool dans l’avion?), et n’est pas dû à un pirate essayant de découvrir leur mot de passe. Ce verrouillage crée un autre dangereux problème : il offre la possibilité de faire du déni de service sur des comptes voir sur le domaine entier ! Même avec l’utilisation d’un verrouillage temporaire, de 15 minutes par exemple, un attaquant peut écrire un script qui fait des essais toutes les 15 minutes et 2 secondes. En conséquence, contrairement à ce qui est attendu, l’activation de cette fonction peut avoir un impact très néfaste sur le bon fonctionnement.

Le verrouillage de comptes est prévu pour les personnes qui en ont absolument besoin. Mais je n’arrive pas à imaginer aucun cas où cela soit avéré. A la place, créons une politique qui demande des mots de passe simples, d’au moins 15 caractères. Oubliez les règles de complexité qui obligent les utilisateurs à écrire leur mot de passe sur un papier. Une simple « passphrase » (une courte phrase) est facile à se rappeler, rapide à taper, et de loin plus solide que n’importe quel mot de passe complexe mais court. Une courte phrase va résister aux attaques de mots de passe, y compris celles basées sur des « rainbow tables ». Et vous pouvez même utiliser une méthode afin de vous souvenir d’une phrase unique par site si vous le souhaitez :

  • webmail: "mon chien et moi avons du courrier"
  • courses: "mon chien et moi avons acheté des choses"
  • bureau: "mon chien et moi sommes au travail"

C’est la raison pour laquelle nous désactivons par défaut le verrouillage de comptes. Il y a de bien meilleur -- et moins cher -- moyens de réduire la menace.

 

Désactiver les comptes inutilisés

Vous avez raison, il n’y a pas de méthode native pour automatiquement désactiver les comptes inutilisés. Plusieurs produits tiers peuvent fournir cette fonctionnalité. Je pense que certains sont gratuits, peut être même un simple script. J’ai lancé une recherche sur « automatiquement désactiver les comptes inutilisés » et j’ai vu quelques liens prometteurs. Cette fonction, particulière, appartient néanmoins au processus des Ressources Humaines. Un certain nombre de clients avec qui j’ai parlé incluent la création/désactivation/suppression de comptes dans leur processus RH. Quand un nouvel utilisateur est embauché, son compte est crée, quand il part, son compte est désactivé, puis supprimé quelque temps après. C’est le système des Ressources Humaines qui s’en charge, et non les administrateurs du domaine ou de l’entreprise. J’ai écris davantage sur ce sujet dans "When you say goodbye to an employee." 

 

Expiration des mots de passe

L’expiration des mots de passe est un paramètre important pour tout le monde. Cela réduit deux menaces : les collaborateurs qui partagent leur mot de passe, et les pirates qui les découvrent. Parce que nous éliminons la deuxième menace à travers des mots de passe longs et simples comme décris plus haut, nous n’avons plus qu’une seule menace : le partage de mots de passes. Votre estimation de cette menace dans votre environnement vous guidera dans le choix de la durée d’expiration qui vous convient le mieux. 42 jours est une durée par défaut raisonnable ; notre propre réseau a une valeur de 70 jours. Mon expérience avec la plupart des clients montre que le partage de mot de passe n’est pas un problème. Je pense qu’une valeur de 120 jours est raisonnable pour ceux qui rendent obligatoires les mots de passe longs et simples.

Windows commence à vous notifier 14 jours avant l’expiration du mot de passe. Vous pouvez changer ce délai à travers les politiques de groupes. J’ai été récemment dans une situation similaire. Le mois dernier, mon mot de passe du domaine a expiré pendant que j’étais en Australie pour les TechEd. J’ai pu continuer à m’authentifier sur mon portable avec mon compte en cache, mais je ne pouvais plus utiliser Outlook Web Access ou RPC+http. Je me suis donc connecté sur un ordinateur Terminal Serveur que nous avons sur Internet, authentifié dessus, et j’ai changé mon mot de passe.

24 September 2007

Default Limit to Number of Workstations a User Can Join to the Domain

By default, users can only add 10 workstations to the domain before loosing their delegation

If you may need to increase this:

http://support.microsoft.com/kb/243327/en-us

 

The guilty attribute is ms-DS-MachineAccountQuota

20 September 2007

vbscript to change printer server

Hello,

many people asked on newsgroup how to migrate from a printer server to another, without manual intervention off course.

1/Migrate drivers and declared printer with print migrator from Microsoft:

http://www.microsoft.com/downloads/details.aspx?FamilyID=9b9f2925-cbc9-44da-b2c9-ffdbc46b0b17&displaylang=en

2/

Use the following simple vbscript. Jut replace MYNEWPRINTERSERVER with the new print server name.

You may call it with cscript to not send popup, or remove wscript.echo to not warn user.

The best way is during logon script

The new print server must be already online and ready, as it removes the current printer and map again on the new print server

You can download here:

http://gollum123.free.fr/printermigrator.vbs

here is the code source:

----------------------------------------------

On Error Resume Next
Function GetDefaultPrinter()
sRegVal = "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\Device"
sDefault = ""
On Error Resume Next
sDefault = objShell.RegRead(sRegVal)
sDefault = Left(sDefault ,InStr(sDefault, ",") - 1)
On Error Goto 0
GetDefaultPrinter = sDefault
End Function

Set objNetwork = CreateObject ("Wscript.Network")
Set objShell = CreateObject ("WScript.Shell")
Set objFSO = CreateObject ("Scripting.FileSystemObject")

LogonServer = objShell.ExpandEnvironmentStrings("%logonserver%")
UserName = objShell.ExpandEnvironmentStrings("%username%")

strComputer = "."
PrintServer = "MYNEWPRINTERSERVER"
PrintServer = LCase (PrintServer)

Err.Clear
Set objWMIService = GetObject("winmgmts:" & _
"{impersonationLevel=Impersonate}!\\" & strComputer & "\root\cimv2")

If Err.Number Then
wscript.echo ("Error : " & Err.Number & ": " & Err.Description & VbCrLf)
Err.Clear

Else
ImpDefault = GetDefaultPrinter
Set colInstalledPrinters = objWMIService.ExecQuery _
("SELECT * FROM Win32_Printer")
For Each objPrinter in colInstalledPrinters
PrinterArray = Split (objPrinter.Name , "\")

If (LCase(objPrinter.ServerName) <> "") and (LCase(objPrinter.ServerName) <> "\\" & PrintServer) then

objNetwork.AddWindowsPrinterConnection "\\" & PrintServer & "\" & PrinterArray(3)
If Err.Number Then
wscript.echo ("Error : " & Err.Number & ": " & Err.Description & VbCrLf)
Err.Clear
End If

If ImpDefault = objPrinter.Name then
objNetwork.SetDefaultPrinter ("\\" & PrintServer & "\" & PrinterArray(3))
End If

objNetwork.RemovePrinterConnection objPrinter.Name
End If
Next
End If

-------------------

18 September 2007

Office 2003 GPO reference settings excel

As for Operating System, you can have the great Excel file that contains all settings that can be set from GPO on office 2003.

Download the Office 2003 Service Pack 3 Administrative Template (ADM), OPAs, and Explain Text Update:

http://www.microsoft.com/downloads/details.aspx?FamilyID=BA8BC720-EDC2-479B-B115-5ABB70B3F490&displaylang=en

It contains Office 2003 Group Policies.xls

How to remotely enable Remote Desktop

If you need to enable the remote desktop, you can set fDenyTSConnections to 0

HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server

The same job can be done through GPO with "Allow users to connect remotely using Terminal Services"

http://technet2.microsoft.com/windowsserver/en/library/608fb22b-5138-4f4b-873d-4aa8fc23cd641033.mspx?mfr=true

13 September 2007

Active Directory elementary best practices

hello folks,

many guys come to Microsoft newsgroups with AD related problems.

Many of them could be avoided by following these advices:

  • never get more than 5 minutes clock offset between any computer in the domain (and the one you are going to put in the domain)
  • Always have your domain members (servers and workstations)using you DC's DNS
  • DC should point to themselves as DNS, not your ISP
  • Operation Master FSMO role can't be on a Global Catalog, except if you have only one DC or if all DC are Global Catalog

Hope it helps,

06 September 2007

Sysinternal tools update

Process Explorer has been updated, it mainly adds compatibility with Windows Vista.

http://www.microsoft.com/technet/sysinternals/utilities/processexplorer.mspx