Venez découvrir tous les enjeux de la sécurité avec SQL Server 2012. Nous aborderons les bonnes pratiques et la méthodologie pour sécuriser vos bases de données. Nous entrerons dans le détail de certains points techniques comme par exemple l’AUDIT ou le chiffrement. Cette session sera aussi l’occasion de voir les nouveautés de la version 2012 en matière de sécurité.
2. La Sécurité avec SQL Server
7 février 2012
Jean-Pierre Riehl Pascale Doz
MVP SQL Server Consultante SQL Server
AZEO Indépendante
Jean-Pierre.Riehl@azeo.com pascale@pascale-doz.com
3. AZEO, LE PARTENAIRE MICROSOFT
incubateur de talents
Pure-Player innovant focalisé sur la création de valeur
Infrastructure, Collaboratif, Développement, Communication
Gold Partner dans toutes nos Practices
AZEO ACCOMPAGNE DURABLEMENT
l’évolution de votre système d’informations
AZEO ENRICHIT LA CREATION DE VALEUR
grâce à un réseau de partenaires sélectionnés
AZEO DEVELOPPE VOTRE TALENT
et accélère votre réussite
4. Agenda
Back to Basics
Contrôle d’accès
Protection des données
Surveillance
SQL Server 2012
9. Surface d’exposition
Limiter les ouvertures
Composants
Endpoints
Principe du moindre privilège
Pensez à l’ensemble de votre SI
10. Accéder à SQL Server
Principals
Login vs User
A la base, il y a toujours un Login
Mode intégré ou mixte
Permet de se connecter à l’instance SQL
Le User/Certificat permet d’utiliser la base de données
Donne un contexte au login
Attention aux utilisateurs guest / dbo
Rôles (serveur ou base de données)
11. Authentification
La bonne pratique :
Utilisation de la sécurité Windows
Gestion centralisée avec Active Directory
Respect des politiques d’entreprise
Pas de gestion de mot de passe
Mais toujours un besoin de la sécurité SQL pour les « clients »
non-windows
12. Accéder à SQL Server
Securables
De l’instance SQL aux objets
On donne ou refuse l’accès à un Principal
GDR : GRANT, DENY, ou REVOKE
Principe de résolution :
1. Définition du contexte de sécurité
2. Echec s’il y a au moins un DENY
3. Succès s’il y a au moins un GRANT
Attention au principe de l’Ownership Chain
Attention au Cross-Database Ownership, trustworthy
13. Accéder à SQL Server
Quelques bonnes pratiques :
Authentification intégrée, politique de mot de passe
Pas d’utilisation de dbo ou sysadmin
Utilisation des SCHEMAS
Cloisonnement
Principe du moindre privilège
15. Une histoire de clés
Service Master Key : niveau instance
Database Master Key : niveau base de données
Clés asymétriques
Certificats
Clés symétriques
Importance des sauvegardes !
16. Une histoire de clés
Extensible Key Management : EKM
• Nouveauté de SQL Server 2008
• Exportation de la gestion des clés dans une appliance
dédiée
• Hardware Security Module (HSM)
Ex : Arx PrivateServer, Thales nCipher, SafeNet Luna
17. Chiffrement des données
Ne remplace pas la politique d’autorisations
Protection « In-depth »
Différentes granularités
Serveur : géré par Windows (EFS ou BitLocker)
Base de données : Transparent Data Encryption
Données : fonctions de chiffrement
Différents algorithmes : DES, TRIPLE_DES, AES (128, 192, 256)
Attention au canal de communication
18. Chiffrement des données
Transparent Data Encryption
Pas d’action de l’utilisateur : transparent
Chiffrement des fichiers MDF et LDF
Chiffrement dans TempDB
Chiffrement des backups
Les buffers en mémoire ne sont pas chiffrés
Impact en performance : 3 à 5% (sur un TPC-C) mais
28% de CPU en plus
19. Chiffrement des données
Transparent Data Encryption
--création de la DEK
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_128
ENCRYPTION BY SERVER CERTIFICATE aCert;
--activation de l’option
ALTER DATABASE maBase
SET ENCRYPTION ON;
20. Chiffrement des données
Cell-Level Encryption
Chiffrement explicite de l’utilisateur
Impact sur les applications
Granularité fine
Attention aux « dictionnary-attack »
Utilisation des fonctions : EncryptBy, DecryptBy, SignBy,
VerifySignedBy, etc.
21. SQL Injection
C’est l’attaque la plus fréquente
Pour s’en protéger :
Politique d’autorisation
Principe du moindre privilège
Proscrire le SQL Dynamique
Utiliser des requêtes paramétrées
Utilisation de SqlParameter
Contrôler les saisies
Utilisation des regexp
Utilisation de QUOTENAME(), REPLACE()
23. Policy-based Management
Policy :
Evaluer des Conditions sur les Facets du serveur
Possibilité de les évaluer
À la demande
Planifiée
On Change
24. DDL Triggers
Triggers sur les instructions DDL
CREATE, ALTER, DROP etc. ,
Scope Base de données ou Serveur
Transactionnel
Permet de rajouter du code :
Annulation de la transaction
Application de règles métier
Event Notification (basé sur service Broker / asynchrone)
25. AUDIT
Permet de tracer ce qu’il se passe sur un serveur
Distinction entre le lieu ou on trace et ce qu’on trace
CREATE SERVER AUDIT
CREATE XXX AUDIT SPECIFICATION
Granularité fine
Limitation à des utilisateurs particuliers
Limitation à un scope particulier (objets, actions)
Basé sur le moteur d’événements
Plus performant que la TRACE
26. Events et TRACE
Le système d’événements est à la base des fonctionnalités de
monitoring
On peut utiliser les événements pour réagir dans
« l’application »
Traitement des événements via le Service Broker
CREATE EVENT NOTIFICATION ev ON SERVER
FOR CREATE_DATABASE
TO SERVICE ‘serv
La TRACE est optimisée pour ne pas perturber l’activité
Pas de packaging XML
La TRACE est exploitée en dehors de SQL Server
28. Nouveauté !
Contained Databases
Séparation du lien avec l’instance
Isolation de la base
Plus besoin de LOGIN pour les utilisateurs
Utilisation
Pratique pour la mise en place du mirroring (AlwaysOn)
Pratique pour les éditeurs
30. Conclusion
Principe du moindre privilège
Audit régulier (temps réel )
Pensez la sécurité au niveau du SI
31. Mais encore…
Analysis Services
Data Quality Services
Power Pivot
Integration Services
Service Broker
Réplication
Reporting Services Log Shipping
AlwaysOn
Mirroring
Master Data Services
32. Pour aller plus loin…
Venez nous voir sur le stand SQL Server
Retrouvez les experts Microsoft et MVP
Assistez à des présentations des offres de nos partenaires
Inscrivez-vous au « Virtual Launch Event » du 8 mars :
http://aka.ms/vlefrance
Visitez notre nouveau site : http://www.microsoft.fr/sql
Evaluez dès aujourd’hui SQL Server 2012
En téléchargeant la RC0 : http://aka.ms/sql2012
En suivant nos « Virtual Labs » : http://aka.ms/sqllabs
Notas do Editor
PascaleLe pire est rare, mais jamais decevantIl faut tout d’abord maitriser la Surface d’exposition de l’instance SQL ServerCeci se pense en globalité dans le SIComment se place mon Instance SQL dans mon Système d’informationutilisation et droit du compte de service dédiéListe des services : SQL Browser, etc.Endpoints : TCP 1433, BrokerOn peut citer des fonctions à désactiver : CLR IntegrationRemote use of a dedicated administrator connectionOLE Automation system proceduresSystem procedures for Database Mail and SQL MailAd hoc remote queries (the OPENROWSET and OPENDATASOURCE functions)xp_cmdshell availability
PascaleFin: JPDémo: cross databaseownership JPR
JPCommentaire éventuel de Pascale
JPRPour les buffers, considérez les dump mémoireDémo: Pascale
PascaleDémo JP
Surcout divisé par 2 par rapport à la trace
TRACE n’est pas sensible au rollback de transactionPush vs. Pull