Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

54
Défense en Défense en profondeur profondeur Cyril Voisin Cyril Voisin Chef de programme Chef de programme Sécurité Sécurité Microsoft Microsoft France France

Transcript of Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Page 1: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Défense en Défense en profondeurprofondeur

Cyril VoisinCyril VoisinChef de programme Chef de programme SécuritéSécuritéMicrosoft Microsoft FranceFrance

Page 2: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Contenu de la sessionContenu de la session

Un aperçu de la sécurité de bout en Un aperçu de la sécurité de bout en boutbout

Authentification, Autorisation, Audit, Authentification, Autorisation, Audit, ChiffrementChiffrement

Produits - Windows Server 2003, ISA Produits - Windows Server 2003, ISA Server 2003, ASP.NET, .NET Framework, Server 2003, ASP.NET, .NET Framework, SQL Server 2000SQL Server 2000

Cette sessions ne traite pas deCette sessions ne traite pas deProgrammation .NETProgrammation .NET

Programmation ASP.NETProgrammation ASP.NET

Conception de site WebConception de site Web

Pratiques de codage sécuriséPratiques de codage sécurisé

Page 3: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

SommaireSommaire

Évolution des menacesÉvolution des menaces

Risques & Moyens d’atténuationRisques & Moyens d’atténuation

.NET Framework.NET Framework

Windows Server 2003Windows Server 2003

ISA ServerISA Server

L’exemple OpenHack IVL’exemple OpenHack IV

RésuméRésumé

Page 4: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Nous vivons une période de Nous vivons une période de choc frontalchoc frontal

Défi de la gestion Défi de la gestion des systèmesdes systèmes

Généralisation Généralisation de l’usagede l’usage

Augmentation Augmentation des menacesdes menaces

Augmentation Augmentation des transactions des transactions en ligneen ligne

Augmentation de la Augmentation de la responsabilité juridique responsabilité juridique et de la transparenceet de la transparence

Installations Installations par défaut par défaut insuffisamment insuffisamment sécuriséessécurisées

Page 5: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Evolution des menacesEvolution des menaces

Internet (IP)Internet (IP)

E-mailE-mail

WebWeb

Paradigme Paradigme « accessible par « accessible par défaut »défaut »

MobilitéMobilité

Messagerie Messagerie instantanéeinstantanée

Réseaux sans Réseaux sans filfil

InternetInternet

Page 6: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Le défi de la sécuritéLe défi de la sécurité

Vous permettre de fournir des Vous permettre de fournir des servicesservices……Accès Web, e-mail, accès fichiers, Accès Web, e-mail, accès fichiers,

messagerie,…messagerie,…

tout en protégeant vos tout en protégeant vos actifsactifsDonnées financières, cycles CPU, Données financières, cycles CPU,

ressources réseau, propriété ressources réseau, propriété intellectuelle, informations client, intellectuelle, informations client, espace disque,…espace disque,…

Le bon accès Le bon accès au bon contenuau bon contenu

par les bonnes personnespar les bonnes personnes

Les sociétés qui utilisent Internet font face au défi qui consiste à Les sociétés qui utilisent Internet font face au défi qui consiste à s’assurer que leur système d’information est sécurisé tout en s’assurer que leur système d’information est sécurisé tout en assurant un accès rapide et facile aux informationsassurant un accès rapide et facile aux informations

Page 7: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

L’avantage de l’attaquant L’avantage de l’attaquant et le dilemme du et le dilemme du défenseurdéfenseurPrincipe n°1Principe n°1

Le défenseur doit défendre tous les Le défenseur doit défendre tous les points; l’attaquant peut choisir le point le points; l’attaquant peut choisir le point le plus faibleplus faiblePrincipe n°2Principe n°2 Le défenseur ne peut Le défenseur ne peut défendre que ce qu’il connaît; l’attaquant défendre que ce qu’il connaît; l’attaquant peut rechercher des points vulnérablespeut rechercher des points vulnérablesPrincipe n°3Principe n°3 Le défenseur se doit d’être Le défenseur se doit d’être vigilant en permanence; l’attaquant peut vigilant en permanence; l’attaquant peut attaquer quand il le veutattaquer quand il le veutPrincipe n°4Principe n°4 Le défenseur doit respecter Le défenseur doit respecter les règles; l’attaquant peut faire ce qu’il les règles; l’attaquant peut faire ce qu’il veutveut

Page 8: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Cyber-criminalitéCyber-criminalité

Types d'attaques ou d'utilisation frauduleuse au cours de l'année écoulée

55%

9%

38% 40%

6% 8%

20%

12%

78%85%

40%

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

Po

urc

enta

ge

d'e

ntr

epri

ses

tou

chée

s

Étude réalisée par le Computer Security Institute et le FBI (2002 Computer Crime and Security Survey)

http://www.gocsi.com/pdfs/fbi/FBI2002.pdfhttp://www.gocsi.com/pdfs/fbi/FBI2002.pdf

Page 9: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

La menace est-elle réelle ?La menace est-elle réelle ?

0100002000030000400005000060000700008000090000

1995 1996 1997 1998 1999 2000 2001 2002

Vulnérabilités Incidents

Informations issues du site http://www.cert.org/stats

Croissance des activités hostilesCroissance des activités hostiles

Et la progression continue…Et la progression continue…

Page 10: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Données supplémentairesDonnées supplémentaires

D’après le CERT (centre de D’après le CERT (centre de coordination de l’université de coordination de l’université de Carnegie Mellon autour de la sécurité), Carnegie Mellon autour de la sécurité), la non installation des patches de la non installation des patches de sécurité est la cause de pratiquement sécurité est la cause de pratiquement 99 % des pénétrations de système99 % des pénétrations de système (2001, 95% en 2002)(2001, 95% en 2002)

Il faut faire attention à son propre code Il faut faire attention à son propre code : toujours d’après le CERT, 25 % des : toujours d’après le CERT, 25 % des CERT advisoriesCERT advisories sont liés à des sont liés à des problèmes de problèmes de buffer overflowsbuffer overflows

Page 11: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Pas simplement des technos…Pas simplement des technos…

Page 12: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Les 3 facettes de la sécuritéLes 3 facettes de la sécurité

ArchitectureArchitecturesécuriséesécurisée

PersonnesPersonnesAdmin.Admin.de l’Entreprise

de l’EntrepriseAdm

in.

Admin

.

Du Dom

aine

Du Dom

aine

Service/Service/

SupportSupport

Développeur

DéveloppeurUtilisateurUtilisateur

ArchivageArchivage

Politique

Politiqued’accès

d’accès

Inst

alla

tion

Inst

alla

tion

Réparation

RéparationGes

tion d

es

Ges

tion d

es

évén

emen

ts

évén

emen

ts

Gestion desGestion des

perfsperfs

Gestion du

Gestion du

Changement /

Changement /

de la C

onfiguratio

n

de la C

onfiguratio

n

Proc

essu

s

Proc

essu

s

RestaurationRestauration Sauvegard

e

Sauvegard

e

Réponse à Réponse à IncidentIncident

Mic

roso

ft

Mic

roso

ft

Ope

ratio

ns

Ope

ratio

ns

Fram

ewor

k

Fram

ewor

k

Evalu

atio

n

Evalu

atio

n

de ri

sque

s

de ri

sque

s

Technologies

TechnologiesWindows 2000/XP/2003

Windows 2000/XP/2003

Active Directory

Active Directory

Service PacksService Packs

Correctif

s

Correctif

s

IPSECIPSEC

KerberosKerberos

PKIPKI

DF

SD

FS

EFSEFS

SSL/TLS

SSL/TLS

Clusters

Clusters

Détectio

n

Détectio

n

d’in

trusio

nd

’intru

sion

SMSSMS

MOMMOM

ISAISA

Antivirus

Antivirus

GPOGPO

RMSRMS

Page 13: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Architecture applicativeArchitecture applicative

22

114433

66

55

77

11 ClientsClients22 Pare-feuPare-feu33 Frontal WebFrontal Web44 ApplicationApplication55 Base de donnéesBase de données66 Annuaire d’utilisateursAnnuaire d’utilisateurs77 Gestion de systèmesGestion de systèmes

Page 14: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

RisquesRisquesSSpoofingpoofing

Un utilisateur non autorisé se fait passer pour un Un utilisateur non autorisé se fait passer pour un utilisateur valideutilisateur valide

TTamperingamperingUn attaquant change ou détruit des données de Un attaquant change ou détruit des données de manière illicitemanière illicite

RRepudiationepudiationPossibilité pour un utilisateur de nier avoir Possibilité pour un utilisateur de nier avoir effectué une actioneffectué une action

IInformation Disclosurenformation DisclosureFourniture de données à des utilisateurs non Fourniture de données à des utilisateurs non autorisésautorisés

DDenial of Serviceenial of ServiceRendre indisponible le système aux utilisateurs Rendre indisponible le système aux utilisateurs validesvalides

EElevation of Privilegelevation of PrivilegeUn attaquant obtient de manière illicite un Un attaquant obtient de manière illicite un niveau d’accès plus élevéniveau d’accès plus élevé

Page 15: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Méthodologie d’attaqueMéthodologie d’attaque

ReconnaissanceReconnaissance

Recherche de vulnérabilités Recherche de vulnérabilités existantesexistantes

Identification des faiblesses Identification des faiblesses applicativesapplicatives

ExploitationExploitation

Téléchargement d’outilsTéléchargement d’outils

Exécutions d’actions interditesExécutions d’actions interdites

Maquillage des tracesMaquillage des traces

Page 16: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Méthodologies d’attaqueMéthodologies d’attaque

22

44

11 1111

3333

66

77

55

55 55

11 Scan de portsScan de ports22 Spoofing de paquetSpoofing de paquet33 Attaque dictionnaireAttaque dictionnaire44 Élévation de PrivilègesÉlévation de Privilèges55 DéfigurationDéfiguration66 Vol de donnéesVol de données77 Effacement des auditsEffacement des audits

Page 17: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Diminution des risquesDiminution des risquesSSpoofingpoofing

Authentification forteAuthentification forteTTamperingampering

Autorisation pour éviter les modifications illicites Autorisation pour éviter les modifications illicites de donnéesde données

RRepudiationepudiationÉvénements d’audit pour les opérations Événements d’audit pour les opérations autorisées et non autoriséesautorisées et non autorisées

IInformation Disclosurenformation DisclosureSécurisation des données sensibles pendant le Sécurisation des données sensibles pendant le transit et durant le stockagetransit et durant le stockage

DDenial of Serviceenial of ServiceMaîtrise de la bande passante pour interdire les Maîtrise de la bande passante pour interdire les requêtes malicieusesrequêtes malicieuses

EElevation of Privilegelevation of PrivilegeExécution des services avec les moindres Exécution des services avec les moindres privilègesprivilèges

Page 18: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Stratégie de sécurité en Stratégie de sécurité en profondeurprofondeur

Données & ressources

Défenses application

Défenses hôtes

Défenses réseau

Défenses du périmètre

Su

pp

os

er

l’éch

ec

de

s c

ou

ch

es

pré

céd

en

tes

Page 19: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Stratégie de sécurité en Stratégie de sécurité en profondeurprofondeur

22

44

11 1111

3333

66

77

55

55 55

11 Réseau sécuriséRéseau sécurisé22 Limitation de la bande passanteLimitation de la bande passante33 AuthentificationAuthentification44 Autorisations basées Autorisations basées sur les rôlessur les rôles

55 Autorisations sur Autorisations sur ressources et coderessources et code

66 Chiffrement de donnéesChiffrement de données77 AuditAudit

Page 20: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Réseau sécuriséRéseau sécuriséSSL/TLSSSL/TLS

Sécurise les couches applicatives (HTTP, Sécurise les couches applicatives (HTTP, LDAP)LDAP)

IPSec IPSec Trafic chiffré, signé & authentifiéTrafic chiffré, signé & authentifié

Filtrage au niveau de l’hôteFiltrage au niveau de l’hôte

802.1x Port Access Protocol802.1x Port Access ProtocolConnexions réseau authentifiéesConnexions réseau authentifiées

Authentification via RADIUSAuthentification via RADIUSAuthentifie les utilisateurs distantsAuthentifie les utilisateurs distants

VPN utilisant L2TP/IPSecVPN utilisant L2TP/IPSec

Page 21: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Sécurisation du périmètreSécurisation du périmètre

ISA ServerISA ServerFiltrage de portsFiltrage de ports

Filtrage de paquetsFiltrage de paquets

Inspection de paquetsInspection de paquets

Détection d’intrusionDétection d’intrusion

Authentification de sessionAuthentification de session

Publication d’applications (Web, E-Mail, Publication d’applications (Web, E-Mail, FTP)FTP)

Page 22: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Flux de trafic ISAFlux de trafic ISA

Deny AllDeny All

Allow Port 80Allow Port 80

Create port rulesCreate port rules

Packet FilteringPacket Filtering

Packet InspectionPacket Inspection

Accept port 80Accept port 80Request port 80Request port 80

Send dataSend data Send responseSend response

Page 23: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Inspection de paquetsInspection de paquetsFiltre les requêtes entrantes d’après un Filtre les requêtes entrantes d’après un ensemble de règlesensemble de règles

Assure que seules les requêtes valides sont Assure que seules les requêtes valides sont traitéestraitées

La plupart des attaques font intervenir des La plupart des attaques font intervenir des requêtes formées de manière inhabituellesrequêtes formées de manière inhabituelles

Extrêmement longuesExtrêmement longues

Demandant une action non habituelleDemandant une action non habituelle

Codées en utilisant un jeu de caractères Codées en utilisant un jeu de caractères alternatifalternatif

Exemples simplifiés :Exemples simplifiés :http://<validURL>?%2e%2e%2f%2e%2ehttp://<validURL>?%2e%2e%2f%2e%2e%2f<cmd>%2f<cmd>(Rappel : %2e = . %2f = /)(Rappel : %2e = . %2f = /)

http://<valid URL>?../../<cmd>http://<valid URL>?../../<cmd>

C:\inetpub\wwwroot\index.htmlC:\inetpub\wwwroot\index.html

Page 24: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Authentification WindowsAuthentification WindowsKerberosKerberos

Permet la délégationPermet la délégation

Associe des Associe des credentials credentials à des à des principalsprincipals

NTLM – pour la compatibilité avec NTLM – pour la compatibilité avec l’existantl’existant

RADIUS – utilisateurs distantsRADIUS – utilisateurs distants

Active DirectoryActive DirectoryAnnuaire LDAPAnnuaire LDAP

Stockage sécurisé de Stockage sécurisé de credentialscredentials

Associe des Associe des credentials credentials à un à un security security principalprincipal

X.509 PKI – support des cartes à X.509 PKI – support des cartes à puce & des certificatspuce & des certificats

Page 25: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Authentification ASP.NetAuthentification ASP.NetAuthentification Windows (via IIS)Authentification Windows (via IIS)

Standards d’authentification HTTP (RFC 2617)Standards d’authentification HTTP (RFC 2617)

BasicBasicDigestDigest

Authentification Windows intégréeAuthentification Windows intégrée

NTLMNTLMKerberosKerberos

SSL/TLS avec des certifications X.509 clientsSSL/TLS avec des certifications X.509 clients

Authentification personnaliséeAuthentification personnaliséeASP.NET supporte la sécurité au niveau ASP.NET supporte la sécurité au niveau applicatifapplicatif

Modèle de programmation unifié pour Modèle de programmation unifié pour toutes les formes d’authentificationtoutes les formes d’authentificationPassportPassport

Page 26: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Authentification .NET Authentification .NET FrameworkFramework

PrincipalsPrincipalsGeneric: utilisateurs et rôles non Generic: utilisateurs et rôles non authentifiésauthentifiés

Windows: utilisateurs / comptes Windows: utilisateurs / comptes WindowsWindows

Custom: Custom: principalsprincipals définis par définis par l’applicationl’application

Classe PrincipalPermissionClasse PrincipalPermissionEffectue les vérifications vis-à-vis du Effectue les vérifications vis-à-vis du principalprincipal actif actif

Authentification et autorisationAuthentification et autorisation

Page 27: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Flux d’authentificationFlux d’authentification

44 Delègue l’accèsDelègue l’accès

44

33 Impersonifie l’utilisateurImpersonifie l’utilisateur

33

22 Demande un Ticket de sessionDemande un Ticket de session

22

11 Demande le TGTDemande le TGT

1111

Page 28: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

AutorisationAutorisation

Autorisation systèmeAutorisation systèmePermissions sur les ressources (ACL sur Permissions sur les ressources (ACL sur fichiers, imprimantes, …)fichiers, imprimantes, …)

ACL ASP.NET sur des chemins d’URLACL ASP.NET sur des chemins d’URL

Autorisation .NET FrameworkAutorisation .NET FrameworkCode SecurityCode Security

Rôles & PermissionsRôles & Permissions

Autorisation au niveau de Autorisation au niveau de l’applicationl’application

Permissions basées sur les rôlesPermissions basées sur les rôles

Page 29: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Sécurité .NET FrameworkSécurité .NET FrameworkCode access securityCode access security

Protection contre le code malicieuxProtection contre le code malicieux

Application DomainsApplication Domains et et assembliesassembliesPolicies Policies et et EvidenceEvidenceLes hôtes comprennent les : Shell, Les hôtes comprennent les : Shell, Browser, ServerBrowser, Server

Le modèle de sécurité est basé sur Le modèle de sécurité est basé sur les permissionsles permissionsSécurité basé sur les rôlesSécurité basé sur les rôles

PrincipalsPrincipalsAutorisation de l’utilisateurAutorisation de l’utilisateur

Page 30: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Code Access SecurityCode Access SecurityLe code fournit des preuves au Le code fournit des preuves au runtimeruntime ((hash, strong name, publisher, urlhash, strong name, publisher, url etc.) etc.)Demandes de permissions déclarativesDemandes de permissions déclaratives

Attribut Security au niveau de Attribut Security au niveau de l’assemblyl’assembly, la , la classe ou du membreclasse ou du membreImports Namespace=System.Security.PermissionsFileIOPermissionAttribute( SecurityAction.Demand)

Requête impérative de permissionsRequête impérative de permissionsCode explicite évalué à l’exécution Code explicite évalué à l’exécution Imports Namespace=System.Security.PermissionsDim FileIOPermission myPerm =_ new FileIOPermission(...)myPerm.Demand()

Page 31: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Permissions & PoliciesPermissions & Policies

PermissionsPermissionsCode d’accès aux zones restreintesCode d’accès aux zones restreintes

Objets de contrôle des restrictions sur le Objets de contrôle des restrictions sur le managed codemanaged code

Security policySecurity policyRègles, que le Règles, que le runtime runtime doit suivre pour doit suivre pour vérifier des permissionsvérifier des permissions

Page 32: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Accès basé sur les rôlesAccès basé sur les rôles

PrincipalsPrincipalsGeneric: utilisateurs et rôles non Generic: utilisateurs et rôles non authentifiésauthentifiés

Windows: utilisateurs / comptes Windows: utilisateurs / comptes WindowsWindows

Custom: Custom: principalsprincipals définis par définis par l’applicationl’application

Classe PrincipalPermissionClasse PrincipalPermissionEffectue les vérifications vis-à-vis du Effectue les vérifications vis-à-vis du principalprincipal actif actif

Authentification et autorisationAuthentification et autorisation

Page 33: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Autorisation niveau Autorisation niveau applicationapplication

Windows Authorization Windows Authorization APIAPI

FrontalWeb Services Application

E-Commerce Application

LOB

Windows Authorization Windows Authorization APIAPI

Windows Authorization Windows Authorization APIAPI

Authorization Authorization Administration Administration

ManagerManager

Common RolesCommon RolesManagement UIManagement UI

Policy StorePolicy Store(XML or Active(XML or Active

Directory)Directory)

Policy StorePolicy Store(XML or Active(XML or Active

Directory)Directory)

URL AuthorizationURL Authorization

Page 34: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Séquence d’autorisationSéquence d’autorisation

11 AuthentifieAuthentifie

11

22

22 Rôles assignésRôles assignés33

33 Politique évaluéePolitique évaluée

44

44 Accès autoriséAccès autorisé

Page 35: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Securisation des donnéesSecurisation des données

Transmission sécurisée de donnéesTransmission sécurisée de donnéesSSL/TLSSSL/TLS

IPSecIPSec

Stockage sécurisé de donnéesStockage sécurisé de donnéesEFS (Encrypting File System) de EFS (Encrypting File System) de WindowsWindows

Data Protection API (DPAPI)Data Protection API (DPAPI)

.NET Framework Isolated Storage.NET Framework Isolated Storage

.NET Cryptography.NET Cryptography

Page 36: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

.NET Framework Cryptography.NET Framework Cryptography

Conception orientée Stream Conception orientée Stream

Algorithmes symétriquesAlgorithmes symétriquesUne opération pour une entrée de Une opération pour une entrée de données périodiquedonnées périodique

Fonctionne avec une seule clé secrèteFonctionne avec une seule clé secrète

Exemple : chiffrement de messageExemple : chiffrement de message

Algorithmes asymétriquesAlgorithmes asymétriquesTampon fixeTampon fixe

Paire de clé Publique/PrivéePaire de clé Publique/Privée

Exemple : signatures numériquesExemple : signatures numériques

Cryptographic Service Provider Cryptographic Service Provider (CSP)(CSP)

Page 37: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

.NET Cryptography.NET Cryptography

HashingHashingMD5, SHA1MD5, SHA1

Génération de nombre aléatoireGénération de nombre aléatoire

Algorithmes symétriquesAlgorithmes symétriquesRC2, DES, TripleDES, AESRC2, DES, TripleDES, AES

Algorithmes asymétriquesAlgorithmes asymétriquesDSA, algorithmes RSA à clé DSA, algorithmes RSA à clé publiquepublique

Page 38: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Audit & GestionAudit & Gestion

Événements d’audit intégrés dans Événements d’audit intégrés dans WindowsWindows

Accès programmatique simpleAccès programmatique simple

Windows Management Windows Management InstrumentationInstrumentation

.NET Framework namespace for WMI.NET Framework namespace for WMI

Microsoft Operations ManagerMicrosoft Operations ManagerConsolide les journaux d’événementsConsolide les journaux d’événements

Exécute des règles distribuéesExécute des règles distribuées

Base de connaissanceBase de connaissance

Génère des alertes vers les consoles Génère des alertes vers les consoles centralescentrales

Page 39: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Microsoft Day ISSE 2003Microsoft Day ISSE 2003

OpenHack IVOpenHack IV

Description rapide de la Description rapide de la configuration mise en configuration mise en œuvre par Microsoft pour œuvre par Microsoft pour remporter le dernier remporter le dernier concours OpenHackconcours OpenHack

Page 40: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Composants mis en jeuComposants mis en jeuApplication WebApplication Web

IIS 5.0IIS 5.0

Windows 2000 Advanced ServerWindows 2000 Advanced Server

Stratégies IPSecStratégies IPSec

Gestion et surveillance à distanceGestion et surveillance à distance

SQL Server 2000SQL Server 2000

Mots de passeMots de passe

Remarque: Remarque: aucun pare-feu utilisé!aucun pare-feu utilisé!

Page 41: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

ArchitectureArchitecture

AdministrateurAdministrateur

RRASRRAS

IISIIS SQL ServerSQL Server

Terminal Terminal ServicesServices

routeurrouteur

Page 42: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

OpenHack - SQL ServerOpenHack - SQL ServerInteraction avec la base de données Interaction avec la base de données uniquement via des procédures uniquement via des procédures stockées stockées

Typage fort des paramètres. Ceux-ci Typage fort des paramètres. Ceux-ci sont vérifiés avant tout autre chosesont vérifiés avant tout autre chose

Toutes les données qui seront Toutes les données qui seront renvoyées à l’utilisateur sont renvoyées à l’utilisateur sont encodées en HTML (but : éviter une encodées en HTML (but : éviter une attaque de cross site scripting)attaque de cross site scripting)

Page 43: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

OpenHack - SQL ServerOpenHack - SQL ServerChaîne de connexionChaîne de connexion

Non codée en dur dans l’application !!Non codée en dur dans l’application !!

Utilisation de l’authentification intégrée Utilisation de l’authentification intégrée WindowsWindows

La chaîne ne contient alors que le nom du La chaîne ne contient alors que le nom du serveur et celui de la base de donnéesserveur et celui de la base de données

Chiffrée en utilisant les fonctions de l’API de Chiffrée en utilisant les fonctions de l’API de protection de données (DPAPI)protection de données (DPAPI)

CryptProtectDataCryptProtectData et et CryptUnprotectDataCryptUnprotectData

Intérêt : chiffre des secrets sans avoir à gérer Intérêt : chiffre des secrets sans avoir à gérer ou stocker des clésou stocker des clés

Stockée dans le registreStockée dans le registre

Permission sur cette clé accordéePermission sur cette clé accordée

Aux administrateursAux administrateurs

Au processus ASPNETAu processus ASPNET

Page 44: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

OpenHack – SQL ServerOpenHack – SQL ServerRéduction de la surface d’attaqueRéduction de la surface d’attaque

Logiciels installésLogiciels installés

AuthentificationAuthentification

Compte de serviceCompte de service

Protocoles de communicationProtocoles de communication

Permissions de l’applicationPermissions de l’application

Page 45: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

OpenHack – SQL ServerOpenHack – SQL ServerLogicielsLogiciels

Service pack 2 + les derniers correctifs de Service pack 2 + les derniers correctifs de sécurité (Remarque : à l’époque le SP3 n’était sécurité (Remarque : à l’époque le SP3 n’était pas disponible)pas disponible)

Non installésNon installés

Outils de mise à jour (Upgrade tools)Outils de mise à jour (Upgrade tools)

Symboles de débogageSymboles de débogage

Support de la réplicationSupport de la réplication

Documentation en ligneDocumentation en ligne

Outils de développementOutils de développement

DésactivésDésactivés

MsdtcMsdtc

Agent SQL ServerAgent SQL Server

Microsoft searchMicrosoft search

Page 46: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

OpenHack – SQL ServerOpenHack – SQL ServerModification de la stratégie de sécurité Modification de la stratégie de sécurité locale pour n’autoriser que NTLMv2locale pour n’autoriser que NTLMv2Configuration en mode intégré Windows Configuration en mode intégré Windows seulementseulement

Pas besoin de stocker un identifiant et son mot Pas besoin de stocker un identifiant et son mot de passe sur le serveur Web (y compris SA) de passe sur le serveur Web (y compris SA)

Mise en place d’un mot de passe SA très Mise en place d’un mot de passe SA très très complexetrès complexe

Au cas où quelqu’un changerait “par erreur” le Au cas où quelqu’un changerait “par erreur” le mode d’authentificationmode d’authentification

Mise en place de l’audit des “Echecs”Mise en place de l’audit des “Echecs”Preuves des tentatives d’attaquesPreuves des tentatives d’attaquesMode paranoïaque : activer les “Succès” aussi Mode paranoïaque : activer les “Succès” aussi au cas où le pirate ait deviné le mot de passe…au cas où le pirate ait deviné le mot de passe…

Page 47: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

OpenHack – SQL ServerOpenHack – SQL ServerCompte de serviceCompte de service

Par défaut : LocalSystemPar défaut : LocalSystem

Bien trop permissif !Bien trop permissif !

Création d’un compte local non privilégié Création d’un compte local non privilégié pour le service SQLpour le service SQL

Mot de passe fortMot de passe fort

Que l’utilisateur ne peut pas changerQue l’utilisateur ne peut pas changer

Aucun accès à Terminal ServerAucun accès à Terminal Server

Si l’accès au réseau avait été nécessaire, Si l’accès au réseau avait été nécessaire, il aurait alors fallu utiliser un compte non il aurait alors fallu utiliser un compte non privilégié du domaineprivilégié du domaine

Page 48: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

OpenHack – SQL ServerOpenHack – SQL ServerProtocoles de communicationProtocoles de communication

Dans l’utilitaire réseau serveur (server network Dans l’utilitaire réseau serveur (server network utility) : cacher SQL Server des utility) : cacher SQL Server des broadcasts broadcasts de de clientsclientsEnlever le protocole canaux nommés (on a Enlever le protocole canaux nommés (on a besoin uniquement de TCP/IP)besoin uniquement de TCP/IP)

Suppression des bases exemples Suppression des bases exemples (Northwind, Pubs)(Northwind, Pubs)Création de la base de l’applicationCréation de la base de l’application

Accorder au compte de l’application les Accorder au compte de l’application les permissions sur les procédures stockées plutôt permissions sur les procédures stockées plutôt que sur les tables elles-mêmeque sur les tables elles-mêmeInterdire l’exécution de requêtes Interdire l’exécution de requêtes ad hocad hocS’assurer que ce compte n’a pas de permissions S’assurer que ce compte n’a pas de permissions ailleurs dans SQL Serverailleurs dans SQL Server

Page 49: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

OpenHack – SQL ServerOpenHack – SQL ServerStratégies IPSecStratégies IPSec

TrafficTrafficServeur Web Serveur Web SQL Server SQL ServerServeur d’administration Serveur d’administration SQL Server SQL Server (carte réseau privé)(carte réseau privé)SQL Server SQL Server partages de fichier du partages de fichier du serveur d’administrationserveur d’administration

ProtectionProtectionCertificats numériquesCertificats numériquesForcer l’authentification de toutes les Forcer l’authentification de toutes les machinesmachinesChiffrement et signature Chiffrement et signature (confidentialité et intégrité)(confidentialité et intégrité)

Page 50: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

OpenHack – SQL ServerOpenHack – SQL ServerPropriétés des stratégies IPSecPropriétés des stratégies IPSec

Par défaut, bloquer tout le traffic IP et Par défaut, bloquer tout le traffic IP et ICMPICMP

Serveur Web Serveur Web SQL Server SQL Server

““Authentifier et signer” : IPSec AHAuthentifier et signer” : IPSec AH

Serveur d’admin Serveur d’admin SQL Server SQL Server

““Authentifier, signer, chiffrer” : IPSec Authentifier, signer, chiffrer” : IPSec ESP+AHESP+AH

Page 51: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Stratégie IPsecStratégie IPsec

AdministrateurAdministrateur

RRASRRAS

IISIIS SQL ServerSQL Server

Terminal Terminal ServicesServices

routeurrouteur

Permit 443Permit 443

SHA1 2443SHA1 2443

L2TP+IPsecL2TP+IPsec

Permit 445, 3389Permit 445, 3389

SHA1/3DES 445, 3389SHA1/3DES 445, 3389

Page 52: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Une Solution de bout en Une Solution de bout en boutboutOffre une solution complète Offre une solution complète sécurisée à tous les niveauxsécurisée à tous les niveaux

Déploiement aisé pour toutes les Déploiement aisé pour toutes les audiencesaudiences

Utilisateurs finauxUtilisateurs finaux

AdministrateursAdministrateurs

DéveloppeursDéveloppeurs

Basée sur les standards de Basée sur les standards de l’industrie pour promouvoir l’industrie pour promouvoir l’interopérabilitél’interopérabilité

Kerberos, X.509Kerberos, X.509

XML/SOAP, WS-Security, SAMLXML/SOAP, WS-Security, SAML

Page 53: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

RéférencesRéférencesISA ServerISA Serverwww.microsoft.com/isawww.microsoft.com/isa Windows Server 2003Windows Server 2003www.microsoft.com/windowswww.microsoft.com/windows .NET Framework.NET Frameworkwww.microsoft.com/netframeworkwww.microsoft.com/netframework Design, Deployment & ManagementDesign, Deployment & Managementwww.microsoft.com/technet/securitywww.microsoft.com/technet/security Microsoft Operations ManagerMicrosoft Operations Managerwww.microsoft.com/momwww.microsoft.com/momOpenHackOpenHackhttp://msdn.microsoft.com/library/default.http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/openasp?url=/library/en-us/dnnetsec/html/openhack.asphack.asp

Page 54: Défense en profondeur Cyril Voisin Chef de programme Sécurité Microsoft France.

Présentations MicrosoftPrésentations Microsoft

9H15 à 10H159H15 à 10H15 Défense en profondeurDéfense en profondeur10H30 à 10H30 à 11H30 11H30

Gestion des correctifs de Gestion des correctifs de sécuritésécurité

11H30 à 11H30 à 12H3012H30

Sécurité des réseaux Wi-FiSécurité des réseaux Wi-Fi

13H30 à 13H30 à 14H3014H30

NGSCB (ex-Palladium)NGSCB (ex-Palladium)

14H45 à 14H45 à 15H4515H45

Gestion de droits numériques Gestion de droits numériques en entreprise (RMS)en entreprise (RMS)

15H45 à 15H45 à 16H4516H45

Sécurité des réseaux Wi-FiSécurité des réseaux Wi-FiPrésentations sécurité : http://www.microsoft.com/france/securite/evenements