Annales Informaticien 2018-2019
Annales Informaticien 2018-2019
Annales Informaticien 2018-2019
D’INFORMATICIEN PROFILS
« ADMINISTRATEUR SYSTÈMES »
ET
« DÉVELOPPEUR »
SUJETS DONNÉS
AU CONCOURS 2018-2019
IMPORTANT
1
SOMMAIRE
2
ÉPREUVES ÉCRITES D'ADMISSIBILITÉ
2. Épreuve technique
Cette épreuve est destinée à tester les connaissances techniques et informatiques des
candidats.
Selon le profil d’emploi pour lequel ils concourent, les candidats devront répondre :
Pour le profil « administration des systèmes », à des questions portant sur les infrastructures
informatiques, les systèmes d’exploitation, les bases de données, le réseau, la sécurité, la
gestion de postes de travail et la téléphonie IP.
3. Étude de cas
Selon le profil pour lequel ils concourent, les candidats devront réaliser :
Pour le profil « développement », l’étude d’un projet applicatif comportant l’analyse du besoin,
la conception, les choix techniques, le détail de la réalisation proposée (diagrammes pertinents
en fonction de la méthode d’analyse et de conception choisie par le candidat, choix des
modules) ;
Pour le profil « administration des systèmes », l’étude d’un projet d’évolution d’architecture,
comportant des choix techniques et leur justification par rapport aux besoins, et prenant en
compte les aspects systèmes, bases de données, réseaux, exploitation, déploiement, sécurité,
optimisation des processus productifs.
Le dossier remis aux candidats pour cette épreuve pourra comporter des documents rédigés en
anglais.
3
1. Questionnaire à choix multiples
1 Quelle est l’espérance mathématique pour une question répondue au hasard, si une bonne
réponse rapporte 1 point et une mauvaise -0,5 point, lorsque le nombre de choix possibles du
QCM est de trois ?
A. 0,5
B. 0,33
C. 0
D. -0,5
4
8 Dans la commande « chmod o+r fichier », « o » désigne :
A. Les propriétaires
B. Les groupes
C. Les autres
11 Dans un sélecteur CSS, quel caractère permet de sélectionner un élément du DOM par son
identifiant ?
A. # (« dièse »)
B. . (« point »)
C. $ (« dollar »)
5
15 Un site en « responsive design » permet de s'adapter en fonction :
A. De la résolution de l'écran du périphérique qui le consulte
B. Du nombre d'utilisateurs qui le consultent
C. Du temps de réponse avec le client
17 Lequel des éléments suivants n'est pas nécessaire pour pratiquer le DevOps ?
A. Des outils de suivi d’indicateurs
B. Une boucle d'amélioration courte ( « feed-back rapide » )
C. Les méthodologies de programmation orientées objet
D. De la communication entre équipes
6
22 Un arbre équilibré, c’est à dire qui maintient une profondeur équilibrée entre ses branches,
permet dans le pire des cas :
A. Une recherche en temps constant
B. Une recherche en temps linéaire
C. Une recherche en temps logarithmique
D. Une recherche en temps quadratique
7
28 Soit le document HTML suivant. Quelle est la couleur du texte “Bonjour !” si on affiche ce
document dans un navigateur ?
<html>
<head>
<style>
.contenu .paragraphe {
color: red;
}
p.paragraphe {
color: blue;
}
body div p.paragraphe {
color: green;
}
.paragraphe {
color: yellow;
}
</style>
</head>
<body>
<div class="contenu">
<p class="paragraphe">Bonjour !</p>
</div>
</body>
</html>
A. Rouge
B. Bleu
C. Vert
D. Jaune
8
32 Vous travaillez sur un projet de classification binaire (positif / négatif). Vous avez entraîné un
modèle sur un corpus d’apprentissage et vous le testez sur un corpus de validation. Vous
obtenez la matrice de confusion suivante entre vos prévisions et la réalité observée. Quelle
est la précision du modèle ?
n = 165 Prédiction : négatif Prédiction : positif
Observé : négatif 50 10
A. 9%
B. 60%
C. 91%
D. 95%
9
37 Quelle instruction n'est pas valide dans un fichier Dockerfile ?
A. FROM
B. TO
C. COPY
D. RUN
41 UML est :
A. La partie « données » de la méthode MERISE
B. Un standard de communication
C. Un langage de modélisation
10
45 Lequel de ces extraits HTML est valide ?
A. <html><body>Texte</body></html>
B. <html><bodyguard>Texte</guardbody></html>
C. </html></body>Texte<body><html>
48 En traitement de la langue naturelle, la tâche qui consiste à rechercher des objets textuels
(c'est-à-dire un mot, ou un groupe de mots) catégorisables dans des classes telles que noms
de personnes, noms d'organisations ou d'entreprises, noms de lieux, quantités, distances,
valeurs, dates, s’appelle :
A. La classification
B. La reconnaissance d'entités nommées (Named Entity Recognition)
C. La casuistique
D. L’extraction sémantique
50 On cherche à mesurer le risque de collisions pour des mots de passe de 4 chiffres pour un
groupe de personnes dont les membres utiliseraient tous leur date d’anniversaire (jour et
mois). À partir de quelle taille de groupe y aurait-il au moins 50% de chances qu’au moins
deux membres quelconques aient le même mot de passe ?
A. 23
B. 183
C. 253
D. 730
11
52 Le fichier pg_hba.conf est :
A. Utilisé pour la configuration de PostgreSQL dans le cadre de la High Balanced Availability. On
y définit les membres d'un cluster équivalent à Oracle RAC.
B. Utilisé pour la configuration du Host Bus Adapter en conjonction avec udev. On y définit les
membres de la chaine SCSI ou FibreChannel.
C. Utilisé pour la configuration de PostgreSQL dans le cadre de l'authentification et de
l'application des droits des clients.
56 La commande « uname » :
A. Permet de créer un alias
B. Indique l'ID d'un fichier
C. Informe sur l'OS et sa version
58 En shell bash, quelle variable contient le code de retour de la dernière commande exécutée ?
A. $1
B. $?
C. $$
D. $!
12
59 Quelle commande permet d’obtenir le nombre de mots d'un fichier texte en shell bash ?
A. cat -w fichier
B. ls -w fichier
C. wc -w fichier
D. sed -w fichier
13
64 Dans le cadre de MySQL, version inférieure à 5, en utilisant le super utilisateur nommé root,
suite à la séquence suivante de commandes :
use exemple ;
CREATE TABLE u
(
id INT PRIMARY KEY NOT NULL,
nom VARCHAR(100),
prenom VARCHAR(100),
email VARCHAR(255),
date_naissance DATE
);
drop table u ;
CREATE TABLE u
(
id INT PRIMARY KEY NOT NULL,
name VARCHAR(100),
firstname VARCHAR(100),
email VARCHAR(255),
birthday DATE
);
L'utilisateur qc01, utilisant la connexion via localhost à la base test, verra la requête :
A. Lui renvoyer une erreur car qc01 ne dispose pas des droits sur la table u.
ERROR 1142 (42000): SELECT command denied to user 'qc01'@'localhost' for table 'u'
+-----------+
| firstname |
+-----------+
| Control |
+-----------+
1 row in set (0.00 sec)
14
65 Une URL permet :
A. De localiser une ressource sur internet
B. De diminuer le temps de chargement d'un site
C. De sécuriser les transactions d'un site web
66 Quelle option de la commande « grep » affiche toutes les lignes qui ne correspondent pas à
l'expression passée en paramètre ?
A. -u
B. -a
C. -r
D. -v
renvoie :
ERREUR à la ligne 6 :
ORA-01729: nom de lien de base de données attendu
ERREUR à la ligne 5 :
ORA-00942: Table ou vue inexistante
15
69 On considère quatre cartes posées sur une table. Chaque carte a une face avec une lettre et
une face avec un chiffre. Les faces visibles indiquent : 1, 8, A, B.
Soit l’assertion “Si une face est paire, alors l’autre face est une voyelle”. Quel est le nombre
minimum de cartes à retourner pour être sûr que l’assertion soit vraie ?
A. 1
B. 2
C. 3
D. 4
70 On a une application qui insère des données dans une table PostgreSQL à un rythme moyen
de 10 insertions par seconde. La clé primaire de cette table est un identifiant stocké sous
forme d’un entier signé de 64 bits. Cet identifiant est incrémenté à chaque insertion. Au bout
de combien de temps notre application sera-t-elle à court d’identifiants ?
A. Environ 13 ans
B. Environ 1229 ans
C. Environ 29 millions d’années
D. Plus que l’âge de l’univers
72 Quel est le comportement le plus probable de l’instruction suivante dans la plupart des
langages, si a et b sont des flottants double précision non nuls ?
16
74 Laquelle de ces assertions est vraie ?
A. En UTF-8, tous les caractères occupent deux octets
B. En UTF-8, tous les caractères ASCII occupent un octet et les autres deux octets
C. En UTF-8, tous les caractères ASCII occupent un octet et les autres plusieurs
D. En UTF-8, tous les caractères ASCII utilisent au moins deux octets
75 Parmi les expressions régulières suivantes, laquelle capture les locutions latines bis et ter, et
seulement elles, dans la phrase : « Le terrier de Rominagrobis est au 15 bis rue de Vaugirard et
non au 15 ter. » ?
A. (bis|ter)
B. \s(bis|ter)\s
C. [\s\.](bis|ter)[\s\.]
D. ^(bis|ter)$
77 On recherche tous les couples de personnes de même âge dans une table relationnelle. On
suppose que les personnes sont décrites dans une table Personne avec, comme clé primaire,
un entier appelé id et leur âge dans une colonne age. Quelle requête SQL renvoie le résultat ?
A. SELECT a, b FROM Personne a JOIN Personne b ON a.age = b.age
B. SELECT a, b FROM Personne a LEFT JOIN Personne b ON a.age = b.age and a.id < b.id
C. SELECT a, b FROM Personne a INNER JOIN Personne b ON a.age = b.age and a.id < b.id
D. SELECT a, b FROM Personne a FULL JOIN Personne b ON a.age = b.age and a.id < b.id
17
80 On cherche à réaliser une fonction de hachage permettant aussi bien de développer une table
de hachage que d’être utilisée dans un contexte de cryptographie. Parmi les caractéristiques
suivantes, quelle est celle qui n’est absolument pas souhaitable pour cette fonction ?
A. La fonction de hachage utilise tous les champs de l’objet d’entrée
B. La fonction de hachage distribue uniformément les données
C. La fonction de hachage génère des valeurs voisines pour des objets quasi identiques
83 Le développement piloté par les tests (Test Driven Development, TDD) est le mieux décrit par :
A. Test once, develop anywhere
B. Rédiger les tests avant d’implémenter le code
C. Tester la fonctionnalité précédente avant de développer la suivante
D. Code, test and run
18
85 Qu'est-ce que le droit d'accès (contexte de la Loi Informatique et libertés) ?
A. La possibilité pour une personne de prendre connaissance de l'intégralité des données la
concernant, en s'adressant à ceux qui la détiennent
B. La possibilité pour une personne d'accéder aux applications qui traitent des données qui la
concernent, pour les consulter et en vérifier la validité
C. La possibilité pour une personne de prendre connaissance des informations concernant son
conjoint, en s'adressant directement à ceux qui les traitent
D. La possibilité pour les entreprises d'accéder aux données à caractère personnel de la
personne, à partir du moment où celle-ci consulte leur site internet
86 On désire colorer des circonscriptions électorales sur une carte en utilisant le moins de
couleurs possibles. Sans autre information que le caractère connexe de chaque
circonscription, de combien de couleurs avez-vous besoin pour être sûr que deux
circonscriptions adjacentes soient de couleurs différentes ?
A. 3
B. 4
C. 5
D. 6
int s = 0;
for( int i= 0; i < 10; i++ )
s = s + t[i][i];
afficher(s);
A. 90
B. 100
C. 110
D. 120
19
89 Comment s’appelle l’abstraction qui permet de référencer un résultat encore inconnu car son
calcul se fera plus tard au cours de l'exécution ?
A. Une promesse
B. Un passage par référence
C. Un passage par valeur
D. Un passage en différé
91 Huit philosophes assemblés autour d’une table ronde veulent manger des spaghettis en
utilisant deux fourchettes. Il existe une seule fourchette entre deux philosophes assis côte à
côte. Les actions de chaque philosophe sont exécutées dans un fil d’exécution (thread) séparé.
Après avoir mangé une bouchée en 5 minutes, un philosophe repose ses fourchettes et pense
pendant 5 minutes. Comment assurer que tous les philosophes mangent deux bouchées en 20
minutes ?
A. Chaque philosophe teste la disponibilité de la fourchette de gauche puis s’en saisit. Chaque
philosophe fait ensuite de même pour la fourchette de droite.
B. Un sémaphore existe pour chaque fourchette et rend atomique le test de disponibilité et la
prise d’une fourchette.
C. Une section critique rend atomique le test de la disponibilité et la saisie des deux
fourchettes.
D. Un sémaphore unique permet de tester, prendre les fourchettes, manger et reposer les
fourchettes en une seule opération.
afficher(i);
}
A. 10 5 8 3 2 1
B. 10 5 4 2 1
C. 10 5 3 2 1
D. 10 5 8 4 2 1
20
93 Que signifie l’acronyme RGPD ?
A. Règlement général sur la protection des données
B. Règlementation générale de protection des données
C. Regulation for general protection of data
D. Regulation for great privacy defense
95 Les réseaux de type LAN sont couramment utilisés pour des étendues géographiques :
A. Petites : bâtiments
B. Grandes : pays
C. Très grandes : continents
21
2. EPREUVE TECHNIQUE – PROFIL « ADMINISTRATION DES SYSTEMES »
(durée 2 heures - coefficient 3)
- Il est possible de répondre aux questions dans le désordre
- Ne pas recopier la question mais bien indiquer le numéro de la question
- Les brouillons ne seront pas pris en compte
4 ToIP (4 points)
4.1 Vous mettez en place une infrastructure réseau pour de la téléphonie sur IP. Quels sont les
principaux critères de ce réseau à considérer pour la qualité de la voix ? (2 points)
4.2 Vous avez le choix entre deux CODEC pour la téléphonie sur le réseau local : G.711 et
G.729. Lequel choisissez-vous et pour quelle(s) raison(s) ? (2 points)
22
5 Réseau / Sécurité (10 points)
5.1 Décrivez le mode de fonctionnement d’un pare-feu à états (stateful). (2 points)
5.2 Sur un pare-feu on dispose des règles suivantes. Que permet la ligne n° 7 ? (2 points)
5.3 Les clients de messagerie doivent accéder à l’annuaire LDAP interne (ldap.senat.fr) indiquez
la/les règle(s) à ajouter et à quel niveau elle(s) s’insère(nt). (2 points)
5.4 Décrivez les étapes principales d’une connexion TCP et celles d’une connexion UDP. Quelles
sont les différences ? (2 points)
5.5 Quelles sont les principales différences entre IPv4 et IPv6 ? Quelles sont les conséquences
au niveau des diffusions de masse sur les réseaux ? (2 points)
23
7 Linux (10 points)
7.1 Que signifie l’acronyme SSH ? Que permet ce protocole (citer 3 utilisations) ? (1 point)
7.2 Écrivez un script shell bash permettant d’extraire les éléments suivants du fichier de log ci-
dessous seulement lorsqu’il y a une erreur : IP, login s’il existe, heure. Écrire ce que votre
script doit afficher. (3 points)
7.3 D’après les extraits de l’exécution de plusieurs commandes sur un serveur physique Linux
RedHat Entreprise ci-dessous, présentez sommairement le rôle de chaque commande et
des paramètres utilisés. (1 point)
24
total 44
drwxr-xr-x 129 webm apache 4096 sept. 20 18:45 apps
drwxr-xr-x 2 webm webm 4096 mai 27 2011 cgi-bin
drwxr-xr-x 4 webm apache 4096 févr. 12 2014 html
drwxr-xr-x 13 root root 4096 nov. 27 08:55 logs
drwx------ 2 root root 16384 nov. 7 2008 lost+found
drwxr-xr-x 2 webm webm 4096 juin 29 2010 phperreur
drwxr-xr-x 2 webm webm 4096 juin 29 2010 sessions
drwxr-xr-x 2 webm webm 4096 juin 29 2010 tmp
[root@serveur wwwwww]# du -sh *
800K apps
56K cgi-bin
136K html
1,2G logs
16K lost+found
4,0K phperreur
4,0K sessions
4,0K tmp
[root@serveur wwwwww]# du -s logs/*
113672 logs/2018.01
100212 logs/2018.02
112688 logs/2018.03
107248 logs/2018.04
111640 logs/2018.05
114488 logs/2018.06
120440 logs/2018.07
112620 logs/2018.08
104516 logs/2018.09
114208 logs/2018.10
99936 logs/2018.11
[root@serveur wwwwww]# vgdisplay
--- Volume group ---
VG Name VolGroup00
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 67
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 15
Open LV 15
Max PV 0
Cur PV 1
Act PV 1
VG Size 274,03 GB
PE Size 32,00 MB
Total PE 8768
Alloc PE / Size 8480 / 265,00 GB
Free PE / Size 288 / 9,21 GB
VG UUID 7DlBcA-3WaW-u6G1-jZfd-6N6z-jZIG-GJ8NeE
25
8 Windows / Poste de travail (8 points)
8.1 Que signifie RDP ? Que permet ce protocole (citer 3 utilisations)? (1 point)
8.2 Écrire un script PowerShell permettant d’enregistrer dans un fichier comptes.log la liste
des comptes locaux d’une machine donnée. (3 points)
8.3 Qu’est-ce qu’une GPO ? De quoi est-elle constituée ? Où se trouvent les GPO dans un
domaine Active Directory ? Quelle ligne de commande permet d’afficher sur un poste de
travail les GPO qui s’appliquent ? Peut-on forcer leur mise en œuvre ? Si oui, comment ?
(4 points)
9 Cryptographie (4 points)
9.1 Quel est le principe de la cryptographie à clés asymétriques ? (1 point)
9.2 Quelles sont les deux actions majeures permises par ce principe cryptographique ?
(1 point)
9.3 Décrivez l’utilisation faite des clés lors de la mise en pratique de ces deux actions. (2 points)
26
2. EPREUVE TECHNIQUE – PROFIL « DEVELOPPEMENT
On pourra utiliser les classes des bibliothèques fournies avec ces langages. Lorsque le
candidat n’est pas sûr du nom d’une méthode d’une classe, il devra le mentionner dans
sa copie et expliquer brièvement ce que fait la méthode, en utilisant, par exemple, un
commentaire.
Pour le C++, la STL est considérée comme faisant partie du langage. Par ailleurs,
toujours pour le C++, lorsqu’il est demandé d’écrire une fonction qui retourne un objet,
le candidat qui souhaiterait mettre en œuvre la technique appelée “Resource Acquisition
Is Initialization” pourra passer plutôt l’objet par référence en tant que premier
paramètre de la fonction. Il devra, bien entendu, être cohérent avec ce choix, s’il utilise la
fonction dans une question ultérieure.
Ce problème porte sur un code C++ ou Java, selon le choix de langage initial du candidat.
2. Proposer une phrase en remplacement de « XXX » (et une pour « YYY ») pour
décrire ce qu’a déterminé le programme sur l’entier n en fonction de la valeur du
test (z==y). (2 points)
27
Pour les candidats ayant choisi C++
#include <iostream>
using namespace std;
int main()
{int x,y=0,z;
int n=454256731;
z=n;
while(n>0){
x=n%10;
y=(y*10)+x;
n=n/10;}
if(z==y)cout<<"XXX\n";
else cout<<"YYY\n";
n=5225;
z=n;
y=0;
while(n>0){
x=n%10;
y=(y*10)+x;
n=n/10;}
if(z==y)cout<<"XXX\n";
else cout<<"YYY\n";
return 0;}
28
Problème 2 : Découpage électoral (8 points)
1) Ecrire une fonction simuler simulant le nombre de sièges obtenus par parti en
fonction d’un découpage. Cette fonction prend deux arguments :
● intentions un tableau bidimensionnel d’entiers tel que intentions[b][p]
représente les intentions de vote dans le bureau b pour le parti p.
● decoupage un tableau d’entiers tel que l’appartenance du bureau b à une
circonscription c équivaut à c == decoupage[b] où c est un entier compris
entre 0 et le nombre de circonscriptions moins un.
La fonction simuler retourne un tableau d’entiers indexé par le numéro du parti,
chaque case du tableau indiquant le nombre de sièges obtenus par le parti
correspondant. (2 points)
29
tous les découpages possibles. La fonction optimiser prend en argument le
tableau des intentions de vote et le numéro du parti. (1 point)
30
Problème 3 : Ségrégation territoriale (8 points)
On suppose que l’on dispose d’une fonction rnd() qui génère un nombre flottant double
précision pseudo aléatoire compris entre 0 et 1.
2) On suppose que l’on doive loger V individus verts et R rouges, le reste des
logements restant inoccupé. Écrire la fonction initialiser prenant en arguments V
et R, et qui réalise cette opération de manière aléatoire. (1 point)
L’entourage d’un logement est constitué par les logements qui partagent avec lui
une arête ou un sommet.
31
4) Proposer, sans la programmer mais en l’expliquant, une fonction calmix qui
retourne un flottant double précision entre 0 et 1 représentant la mixité de la
ville, 0 correspondant à une ville très ségrégée (avec un non mélange des verts et
des rouges) et 1 correspondant à une ville mixte (mélange complet entre les verts
et les rouges). (1 point)
Écrire une fonction iter qui prend en argument la ville et qui choisit un individu
au hasard et un appartement vide au hasard, et qui déplace l’individu si et
seulement si la satisfaction de ce dernier augmente. (1 point)
7) Écrire une fonction simuler qui initialise aléatoirement une ville, fait M itérations
et retourne le taux de mixité de la ville (au sens de la question 4). (1 point)
8) Écrire une fonction calres qui appelle P fois simuler, calcule la moyenne de la
mixité et affiche combien de simulations ont donné un résultat entre 0 et 0,1
entre 0,1 et 0,2, …, entre 0,9 et 1. (1 point)
32
3. ETUDE DE CAS - PROFIL "ADMINISTRATION DES SYSTEMES"
Une attention toute particulière sera portée à l'argumentation de vos réponses et à la justification
des différentes solutions que vous pourrez proposer.
CONTEXTE
Le système de gestion de la paye SIRH du Sénat est un progiciel édité par « SIRH Solutions ». Il
permet la gestion des payes des sénateurs, des collaborateurs de sénateurs, des collaborateurs des
groupes politiques, des personnels contractuels et des fonctionnaires du Sénat.
Il est en exploitation au Sénat depuis 2009. Le support et le paramétrage sont assurés à la fois par
une équipe de développement interne et par une équipe de TMA.
PROJET
Une modification majeure dans le système de paye doit être réalisée : la mise en place du
prélèvement de l’impôt à la source, notamment via la DSN. Ce projet de longue durée va nécessiter
un travail en profondeur sur les différents environnements SIRH tout en continuant de faire évoluer
le progiciel pour les besoins courants.
Il est décidé de profiter de ce projet pour faire évoluer l’infrastructure de la solution qui a de
nombreuses lacunes.
En tant qu’ingénieur au sein de l’équipe systèmes et réseaux, vous êtes en charge de l’évolution de
l’infrastructure de la solution avec l’appui de vos collègues.
INFRASTRUCTURE
Ce progiciel complexe doit souvent être mis à jour, en particulier pour être adapté aux changements
de règlementations (une à deux versions mineures par trimestre, une version majeure par an). Deux
environnements sont disponibles :
Cette application n’est accessible que par le personnel du Sénat ou la TMA. Il y a environ 600
utilisateurs quotidiens et moins d’une dizaine d’administrateurs de la solution.
33
Les services sont accessibles aux utilisateurs à travers un navigateur web exclusivement, aux URLs
http://paye-deve.senat.fr/ et https://paye.senat.fr .
Les développeurs accèdent également aux différents environnements via un navigateur et doivent
par ailleurs accéder au serveur à travers un accès SSH.
Il existe un compte SSH unique par environnement qui permet aux développeurs de se connecter au
serveur (sirhdeve, sirhprod). Les mots de passe de ces comptes sont tous identiques et connus des
développeurs et de la TMA.
Chaque environnement a besoin d’une instance de base de données Oracle dédiée pour son
exécution (respectivement sora-deve et sora-prod). En plus des instances de bases de données
utilisées par la solution SIRH, d’autres instances sont également utilisées par d’autres applications qui
ne sont pas sur ce serveur (AMELO, THIT, IFM). Chaque instance est accessible en SSH par
l’administrateur de base de données avec un compte dédié par instance (dont dbasirhdeve, et
dbasirhprod).
L’ensemble de la solution (application SIRH Solutions et moteur de base de données Oracle) est
installé sur un serveur physique unique : srv-sirh.senat.fr.
Ce serveur est sur le même VLAN que l’ensemble des postes des utilisateurs.
34
QUESTIONS
Question 1 (1 point)
Définir les acronymes suivants :
• TMA
• URL
• SSH
• VLAN
• DSN
Question 2 (2 points)
Selon vous, pour quelles raisons y-a-t-il plusieurs environnements mis à disposition des
développeurs ? D’autres pourraient-ils être nécessaires dans le cadre du projet ?
Question 3 (4 points)
Expliquez de façon technique pourquoi il serait nécessaire de faire évoluer l’infrastructure de la
solution.
Votre proposition doit couvrir l’ensemble des besoins de la solution SIRH, pour son développement
continu et pour son évolution dans le cadre de ce projet. Vous prendrez en compte l’ensemble des
besoins et contraintes, notamment réseaux, systèmes, base de données, sauvegarde, sécurité et
tests.
Vous êtes libre de faire évoluer tous les éléments qui vous semblent pertinents en adéquation avec
les besoins exprimés mais l’exploitation quotidienne ne doit pas être interrompue plus que
nécessaire.
Vous proposerez un calendrier de migration indiquant en particulier les principaux jalons du projet et
en estimant la part de travail nécessaire à l’équipe systèmes et réseaux.
Vous accompagnerez votre réponse d’au moins un schéma technique de l’infrastructure cible qui
devra être expliqué.
Question 5 (3 points)
Pour le 1er mars 2017, vous rédigez une note de synthèse dans des termes non techniques, à
destination du Secrétaire Général du Sénat pour le tenir informé du projet. Vous en présentez les
grandes lignes, les risques et les enjeux. Si des choix ont été tranchés, ils doivent être présentés dans
cette note.
Cette note ne doit pas dépasser une page dactylographiée (environ 500 mots).
35
LISTE DES ANNEXES AU SUJET
36
Annexe 1 : Description technique du
serveur
srv-sirh.senat.fr
1 Applications Installées
• Oracle
• SIRH solutions
37
2.2 Partitionnement
Disque /dev/sda: 438.4 Go, 438489317376 octets
255 heads, 63 sectors/track, 53309 cylinders
Unités = cylindres de 16065 * 512 = 8225280 octets
38
LV UUID COwfyr-capk-TjPQ-xEBt-3EL3-hHyC-juT879
LV Write Access read/write
LV Status available
# open 1
LV Size 1,00 GB
Current LE 32
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
39
LV Write Access read/write
LV Status available
# open 1
LV Size 200,00 GB
Current LE 6400
Segments 3
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:5
40
2.4 Points de montages
swap on /dev/VolGroup00/LogVol00
/dev/sda1 on /boot type ext3 (rw)
/dev/mapper/VolGroup00-opt on /opt type ext3 (rw)
/dev/mapper/VolGroup00-vol1 on /var/opt/oradata/vol1 type ext3 (rw)
/dev/mapper/VolGroup00-vol2 on /var/opt/oradata/vol2 type ext3 (rw)
/dev/mapper/VolGroup00-LogVol01 on / type ext3 (rw)
/dev/mapper/VolGroup00-LogVol02 on /tmp type ext3 (rw)
/dev/mapper/VolGroup00-LogVol03 on /var type ext3 (rw)
/dev/mapper/VolGroup00-LogVol04 on /usr type ext3 (rw)
/dev/mapper/VolGroup00-LogVol05 on /home type ext3 (rw)
41
Annexe 2 : Dell end of life list
Model EOSL Date
Dell Equallogic PS100E 04 / 18 / 2013
Dell Equallogic PS4000E 10 / 10 / 2016
Dell EqualLogic PS4000x
Dell Equallogic PS5000E 08 / 19 / 2014
Dell Equallogic PS5000X 08 / 19 / 2014
Dell Equallogic PS5000XV 08 / 19 / 2014
Dell Equallogic PS5500E 08 / 19 / 2014
Dell Equallogic PS6000E 11 / 11 / 2016
Dell Equallogic PS6000X 11 / 11 / 2018
Dell Equallogic PS6000XV 11 / 11 / 2018
Dell Equallogic PS6010E 06 / 26 / 2017
Dell Equallogic PS6010X 06 / 26 / 2019
Dell Equallogic PS6010XV 06 / 26 / 2019
Dell PowerConnect 2724 24 Port Gb Ethernet Switch 11 / 19 / 2015
Dell PowerConnect 2824 24 port Gb Ethernet Switch 01 / 31 / 2020
Dell PowerEdge 1400SC 07 / 01 / 2007
Dell PowerEdge 1550 07 / 01 / 2007
Dell PowerEdge 1550 07 / 01 / 2007
Dell PowerEdge 1650 07 / 01 / 2008
Dell PowerEdge 1650 09 / 01 / 2008
Dell PowerEdge 1655MC Blade Server 10 / 31 / 2016
Dell PowerEdge 1750 08 / 01 / 2010
Dell PowerEdge 1800 04 / 01 / 2011
Dell PowerEdge 1850 04 / 01 / 2011
Dell PowerEdge 1855 Blade 04 / 01 / 2011
Dell PowerEdge 1950 12 / 12 / 2014
Dell PowerEdge 2400 04 / 01 / 2006
Dell PowerEdge 2450 04 / 01 / 2006
Dell PowerEdge 2500 07 / 01 / 2007
Dell PowerEdge 2550 07 / 01 / 2007
Dell PowerEdge 2600 07 / 01 / 2007
Dell PowerEdge 2650 02 / 01 / 2010
Dell PowerEdge 2800 01 / 01 / 2010
Dell PowerEdge 2850 07 / 01 / 2011
Dell PowerEdge 2950 10 / 19 / 2015
Dell PowerEdge 4300 12 / 31 / 2007
Dell PowerEdge 4400 01 / 01 / 2006
Dell PowerEdge 4600 07 / 01 / 2009
Dell PowerEdge 6400 04 / 01 / 2006
Dell PowerEdge 6450 04 / 01 / 2006
Dell PowerEdge 6650 07 / 01 / 2010
Dell PowerEdge 6800 09 / 01 / 2012
Dell PowerEdge 6850 09 / 01 / 2012
Dell PowerEdge 6950 12 / 31 / 2013
Dell PowerEdge 8450 04 / 01 / 2006
Dell PowerEdge M600 Blade 09 / 01 / 2009
42
Dell PowerEdge M610 Blade 09 / 01 / 2012
Dell PowerEdge M710 Blade 09 / 01 / 2012
Dell PowerEdge M710HD Blade 09 / 01 / 2012
Dell PowerEdge R310 09 / 01 / 2012
Dell PowerEdge R410 09 / 01 / 2012
Dell PowerEdge R510 09 / 01 / 2012
Dell PowerEdge R610 10 / 10 / 2016
Dell PowerEdge R620 05 / 25 / 2018
Dell PowerEdge R710 05 / 18 / 2016
Dell PowerEdge R720 XD 05 / 18 / 2018
Dell PowerEdge R900 07 / 23 / 2015
Dell PowerEdge R905 07 / 29 / 2004
Dell PowerEdge R910 03 / 29 / 2015
Dell PowerEdge T310 09 / 01 / 2012
Dell PowerEdge T410 09 / 01 / 2012
Dell PowerEdge T610 09 / 01 / 2012
Dell PowerEdge T710 09 / 01 / 2012
Unity 300F 01 / 31 / 2023
Unity 400F 01 / 31 / 2023
VNX7600 01 / 31 / 2023
43
Annexe 3 : article de presse SIRH
Solutions
Prélèvement à la source : SIRH Solutions
signe la charte de partenariat Éditeurs avec
la Direction Générale des Finances
Publiques
31 décembre 2016 - La Rédaction
La charte a pour objet de définir les engagements réciproques des éditeurs de solutions de
logiciels de paie et de la DGFiP pour sécuriser la mise en place de cette réforme.
Depuis 2016, SIRH Solutions suit au plus près la réforme du prélèvement à la source et a
participé à la première phase d’expérimentation en décembre 2017, comme employeur du
secteur privé, mais également auprès de ses clients pilotes. En signant cette charte, SIRH
Solutions s’engage à participer à la deuxième phase qui débutera le 1er mars 2018.
Les équipes de SIRH Solutions, entièrement mobilisées sur ce projet, déploient des offres
complètes afin d’accompagner les entreprises dans la mise en œuvre du prélèvement à la
source.
SIRH Solutions offre des solutions RH complètes parfaitement adaptées aux besoins des
Directions des Ressources Humaines et aux organisations de moyennes et grandes tailles, des
secteurs public et privé. Spécialiste du pilotage des RH de la paie et du talent management
dans un contexte local et international, SIRH Solutions accompagne plus de 850 clients, dans
plus de 54 pays, en mode « on-premise » ou services d’outsourcing.
Partenaire de la réussite de la transformation digitale de ses clients vers la RH 3.0, SIRH
Solutions, acteur global des Ressources Humaines, privilégie la co-innovation, favorise les
enjeux de performance RH et met en avant l’expérience collaborateur.
44
Annexe 4 : Sché mas de principe du
ré seau
45
46
47
. . . . . . .
GUIDE ANSSI
ANSSI-PG-040
14/12/2017
PUBLIC VISÉ :
48
.. . .
..
Informations
.
Attention
Ce document rédigé par l’ANSSI présente les « Recommandations pour la mise en place de
cloisonnement système ». Il est téléchargeable sur le site www.ssi.gouv.fr. Il constitue une
production originale de l’ANSSI. Il est à ce titre placé sous le régime de la « Licence ouverte »
publiée par la mission Etalab (www.etalab.gouv.fr). Il est par conséquent diffusable sans
restriction.
Ces recommandations n’ont pas de caractère normatif, elles sont livrées en l’état et adaptées
aux menaces au jour de leur publication. Au regard de la diversité des systèmes d’informa-
tion, l’ANSSI ne peut garantir que ces informations puissent être reprises sans adaptation sur
les systèmes d’information cibles. Dans tous les cas, la pertinence de l’implémentation des
éléments proposés par l’ANSSI doit être soumise, au préalable, à la validation de l’adminis-
trateur du système et/ou des personnes en charge de la sécurité des systèmes d’information.
Évolutions du document :
VERSION DATE NATURE DES MODIFICATIONS
1.0 14/12/2017 Version initiale du document
49
.
Table des matières
1 Préambule 3
Bibliographie 34
50
.
1
Préambule
La fonction de sécurité de cloisonnement bénéficie d’une popularité bien moindre que celles de
confidentialité et d’intégrité. Un mécanisme de cloisonnement permet de compartimenter un en-
vironnement d’exécution en plusieurs parties ne comportant pas les mêmes éléments et ne bénéfi-
ciant ni des mêmes droits ni des mêmes ressources. Intuitivement, il s’agit de découper un environ-
nement monolithique à la manière d’un puzzle, sans impact sur le service rendu. L’avantage d’une
telle démarche tient alors dans la possibilité de restreindre chaque partie de l’environnement aux
actions dont elle a besoin. En d’autres termes, l’intérêt du découpage découle de l’application du
principe de moindre privilège sur chaque sous-partie de l’environnement. Une fois ceci mis en œu-
vre, la compromission d’une sous-partie devient plus difficile car sa surface d’attaque est réduite.
De plus, une corruption ne peut avoir que des conséquences limitées.
Cette démarche peut être appliquée à tout niveau, à l’échelle d’un système d’information entier
comme à l’intérieur d’un processeur matériel dédié à des traitements spécifiques. Dans tous les
cas, le même objectif est poursuivi : effectuer un découpage pertinent et choisir des mécanismes
adaptés à la restriction des actions possibles pour chaque pièce du puzzle. Les mécanismes de cloi-
sonnement se répartissent en trois grandes catégories qui sont complémentaires : le cloisonnement
réseau, le cloisonnement cryptographique et le cloisonnement système. Seul le cloisonnement sys-
tème est traité ici, bien qu’une grande majorité du document s’applique indifféremment aux trois
catégories.
51
.
2
Le cloisonnement, qu'est-ce que c'est ?
Quel en est l'intérêt ?
Composant, système
.
Pour éviter les confusions, le terme composant désigne dans la suite ce qui est
développé ou évalué, par opposition au mot système, employé pour désigner l’écosys-
tème (machine, système d’information, etc.) dans lequel le composant va être utilisé.
L’exception notable à cette règle concerne l’expression « composants de confi-
ance » définie ci-après, qui ne coïncident pas avec le composant développé ou évalué.
Exemples. Un composant, au sens du document, recouvre donc des réalités aussi variées qu’un
chiffreur, un composant cryptographique embarqué, un navigateur Internet, ou un hyperviseur.
Deux conditions doivent être remplies pour fournir de telles garanties. Premièrement, être en
mesure de spécifier parfaitement tous les comportements possibles du composant sans abstraire
aucun détail, et en toutes circonstances. Deuxièmement, garantir que le composant se conforme
toujours à ce qui est spécifié. Si ces deux critères sont remplis, rien de fâcheux ne peut se produire :
tout est prévu. Néanmoins, une telle situation n’existe évidemment pas en pratique.
.
Objectif
Le cloisonnement est implémenté pour restreindre les conséquences possibles de com-
portements inattendus d’un composant, qu’il s’agisse d’un bogue ou de son détourne-
ment par un attaquant.
Pour ce faire, il est habituel de restreindre l’environnement d’exécution du composant aux ressources
strictement nécessaires à ses besoins. Ce principe classique est connu sous le nom de principe de
moindre privilège.
52
.
2.1.1 Rappels sur le principe de moindre privilège
Ce principe constitue l’un des fondements du développement sécurisé. Pour être complet, ce doc-
ument en fournit un rappel en définissant les termes utilisés.
Les concepts utilisés ici sont issus de la littérature académique portant sur le contrôle d’accès. Ces
travaux utilisent généralement la terminologie suivante : des sujets peuvent être autorisés à ef-
fectuer des actions sur des objets ou d’autres sujets. Dans ce document, les sujets sont des tâches et
les objets des ressources.
Tâche
.
Une tâche est un ensemble d’instructions chargées en mémoire au fur et à mesure
pour être exécutées.
Exemples. L’exemple le plus classique de tâche est celui d’un processus s’exécutant en espace uti-
lisateur au sein d’un système d’exploitation implémentant une séparation entre espace utilisateur
et espace noyau. Une machine virtuelle dans un hyperviseur est un autre exemple.
Ressource
.
La notion de ressource correspond ici à une information, et par extension à l’objet
logiciel ou matériel qui la contient et permet de la manipuler.
Exemples. Un descripteur de fichier, une clé cryptographique, un fichier, une socket réseau sont
autant d’exemples de ressources logicielles. La mémoire RAM, les registres du processeur, les caches
du processeur, les unités de stockage de type disque dur ou encore les périphériques externes con-
stituent des exemples de ressources matérielles.
Action (agir)
.
Toutes les formes d’accès, d’utilisation ou de transmission des ressources constituent
des actions.
Exemples. Le concept d’action sur des ressources recouvre des réalités aussi diverses que l’ouver-
ture de fichiers, l’émission et la réception de signaux, l’usage de sockets réseau ou la génération et
le traitement d’interruptions.
Privilège
.
Un privilège permet à une tâche qui en dispose de mener légitimement à bien une
action sur une ressource, autrement dit sur tout ou partie d’un composant ou des
informations qu’il utilise.
Lorsqu’un attaquant élève illégitimement ses privilèges, il devient alors en capacité de mener à
bien des actions normalement interdites par un mécanisme de sécurité.
Dans tout le document, sauf mention contraire, les termes tâche, ressource, action (ou le verbe
agir) et privilège gardent leur sens très général défini ici.
53
.
Principe de moindre privilège
.
Le principe de moindre privilège stipule qu’une tâche ne doit bénéficier que des
privilèges strictement nécessaires à l’exécution du code menant à bien ses fonction-
nalités.
En d’autres termes, une tâche ne devrait avoir la possibilité de mener à bien que les
actions dont l’utilité fonctionnelle est avérée.
En général, on ne peut pas appliquer des restrictions à un tel niveau de granularité, mais l’idée est
bien de s’en rapprocher le plus possible.
.
Appliquer le principe de moindre privilège dès la conception
R1
Interdire par défaut toute action et procéder à l’autorisation exclusive de ce qui est
nécessaire aux tâches constitue la stratégie la plus efficace de mise en œuvre du
principe de moindre privilège. Il convient de s’y conformer autant que possible dès
la phase de conception du composant.
Le principe de moindre privilège va de pair avec l’idée de séparation des privilèges. Comme présen-
té en préambule du document, réduire les privilèges d’un composant monolithique est toujours
profitable, mais souvent insuffisant. Les stratégies de découpage, qui relèvent plus de la séparation
des privilèges que de l’application du principe de moindre privilège, sont discutées plus loin, en
chapitre 3.
Cette manière de faire n’est pas toujours possible - en particulier lorsque l’on intègre des produits
sur étagère. Cependant, s’y prendre ainsi permet d’éviter d’oublier d’interdire des accès.
n identifier des privilèges nécessaires à un composant. C’est identifier une liste d’actions qu’il doit
être capable de mener à bien dans son environnement d’exécution ;
n créer un environnement d’exécution réduit à cette liste d’actions (ou s’en rapprocher le plus possi-
ble). Des mécanismes de cloisonnement, disponibles au niveau de l’environnement d’exécution,
sont mis en œuvre dans ce but.
Beaucoup d’exemples peuvent être cités : dispositifs de contrôle d’accès (dans le système de
fichiers, pour les accès réseau, etc.), utilisation de modes du processeur pour différencier les
pages accessibles en mode privilégié des pages accessibles en mode utilisateur, usage de ma-
chines virtuelles différentes au sein d’un hyperviseur, etc. ;
n itérer cette pratique sur chaque composant. Scinder l’environnement d’exécution global d’un en-
semble de composants en une série de sous-environnements appauvris.
Il existe en général plusieurs manières de parvenir à un même résultat, mais qui ne sont pas équiv-
alentes du point de vue de la sécurité. Ce document vise à mettre en exergue une démarche de
54
.
conception qui respecte la philosophie dictée par les principes de moindre privilège et de défense
en profondeur. Appliquer ces principes influe profondément sur l’architecture choisie.
.
Tenir compte de ses besoins en cloisonnement dès l'initiation d'un projet
R2
Les besoins en cloisonnement d’un composant doivent faire l’objet d’un diagnostic
et être considérés comme des besoins au même titre que les besoins fonctionnels, et
ce dès le début du projet.
.
Attention
Les conséquences sur l’architecture du composant peuvent être importantes et en-
gendrer des surcoûts imprévus en cas de prise en compte tardive de besoins de sécu-
rité.
Dans une démarche d’intégration, la qualité de la solution globale dépend également de la prise
en compte des bonnes pratiques au niveau de chaque brique élémentaire. Plus particulièrement
en ce qui concerne les besoins en cloisonnement, utiliser des briques nécessitant des privilèges trop
élevés par rapport à leur fonction va dégrader la qualité de la solution globale.
.
Préférer des composants implémentant un cloisonnement pertinent
R3
Lors d’un choix entre différentes solutions, celles qui démontrent la meilleure prise
en compte du principe du moindre privilège devront être préférées.
Domaine
.
Un domaine est l’environnement d’exécution d’une tâche. Il est défini par l’ensemble
des ressources (logicielles et matérielles) sur lesquelles la tâche peut effectuer des
actions. Par opposition, une ressource sur laquelle la tâche ne peut pas agir ne fait
pas partie de son domaine.
.
Information
Il est possible que plusieurs tâches cohabitent dans un domaine. Quelle que soit
la réalité désignée, par abus de langage, ce document utilise systématiquement
« tâche » au singulier. Ainsi, l’entité logique vis-à-vis du cloisonnement est une tâche.
55
.
Politique de sécurité
.
Cloisonner des tâches consiste à définir pour chacune son domaine d’exécution, ce
qui a vocation à séparer les ressources en deux catégories :
n les ressources partagées entre plusieurs domaines, i.e. sur lesquelles plusieurs tâch-
es peuvent légitimement agir ;
n les ressources propres à un domaine donné, i.e. sur lesquelles seule la tâche s’exé-
cutant dans ce domaine doit être en capacité d’agir.
Cette spécification précise des domaines constitue une politique de sécurité.
Exemples. Dans le cas des processus, les ressources partagées sont toutes celles auxquelles
plusieurs processus peuvent accéder, parmi lesquelles le noyau du système d’exploitation, le maté-
riel physique, etc. En l’absence de mesure particulière, les processus lancés par un utilisateur ont
accès à tous les fichiers de l’utilisateur 1 : ces derniers constituent des ressources partagées.
Par défaut, un processus a pour ressources propres, l’espace mémoire utilisateur que le noyau lui
a fourni, ainsi que le contexte d’exécution qui lui est associé. Ce contexte contient tout ce qui est
mis en place par le noyau à chaque ordonnancement du processus : table de pages, pointeurs de
pile, valeurs des registres du processeur, etc. Comme mentionné plus haut, le code du noyau est
par contre une ressource partagée entre processus, et non une ressource propre : il n’est en effet
pas dupliqué.
Exemples. Un attaquant contrôlant un processus a réussi une attaque lorsque, par exemple, il
peut écrire ou lire dans l’espace mémoire réservé à un autre processus, disons la valeur de secrets.
Attention, si ces secrets sont en fait stockés dans un fichier auquel le processus compromis a accès
par défaut selon la politique de sécurité, ce n’est pas le cloisonnement entre processus qui a été
mis en défaut ! C’est la politique de sécurité qui n’est pas définie de manière satisfaisante.
.
Information
Même si le cloisonnement s’entend généralement comme existant entre au moins
deux entités, il reste fréquent de parler de cloisonner ou confiner une tâche vis-à-
vis du reste du système. Le cas échéant, deux domaines existent : celui de la tâche à
confiner, et celui de toutes les autres tâches sur le système.
56
.
doit l’être. Sans un arbitre dont le rôle est de prendre la décision pour chaque action de chaque
tâche de l’autoriser ou non, la politique de sécurité serait définie à titre indicatif et n’aurait aucun
effet pour se protéger de comportements malveillants.
Moniteur de référence
.
Le moniteur de référence est l’entité qui implémente le mécanisme de contrôle d’ac-
cès et qui prend la décision d’autoriser ou d’interdire une action d’une tâche sur une
ressource. C’est donc le moniteur de référence qui met en œuvre la politique de sécu-
rité pour chaque domaine.
Il peut être complexe d’isoler ce code concrètement, auquel cas identifier un composant l’englobant
est satisfaisant.
Exemples. En poursuivant sur l’exemple des processus utilisateurs, le moniteur de référence est
constitué par le code du noyau qui gère les changements entre processus et les accès à la mémoire
de chaque processus. C’est parce qu’un contexte d’exécution différent, propre à chaque processus,
existe et est mis à jour par le noyau à chaque ordonnancement d’un processus, qu’il y a une iso-
lation entre les espaces mémoire des processus. Le moniteur de référence est dans ce cas le noyau
partagé par les processus ; même si tout le code du noyau n’est pas concerné, cette approximation
est considérée comme valide.
Tâche Processus utilisateur
Ressources propres Contexte d’exécution du processus
Mémoire en espace utilisateur
Ressources partagées Objets système visibles par d’autres processus
(fichiers, périphériques, etc.)
Noyau, matériel physique
Moniteur de référence Noyau du système d’exploitation
T. 2.1 – Exemple des processus utilisateurs
Dans ce cas de figure, une machine virtuelle, dite aussi invitée, constitue une tâche. Les ressources
propres à une machine virtuelle regroupent toutes les ressources virtuelles telles que vues par le
57
.
système invité 2 , son espace mémoire, fourni par l’hyperviseur, ainsi que toutes les informations de
contexte stockées par l’hyperviseur entre deux ordonnancements. Les ressources partagées com-
prennent les composants matériels communs à plusieurs machines virtuelles, l’hyperviseur qui les
exécute, ainsi que les éventuels partages mis en place entre machines virtuelles. Le domaine d’une
machine virtuelle regroupe donc toutes ses ressources propres et ce qu’elle partage avec d’autres
machines virtuelles.
Dans les faits, un système d’hypervision est rarement réduit à un hyperviseur seul. En effet, les rôles
d’analyse des actions effectuées par les machines virtuelles et d’émulation des périphériques réels
sont rarement effectués par l’hyperviseur lui-même. En pratique, c’est classiquement un noyau ou
une machine invitée ayant un statut un peu particulier qui remplit ces rôles, tout en s’exécutant
avec moins de privilèges que l’hyperviseur lui-même. Concrètement, c’est le cas du dom0 de Xen,
du noyau Linux hôte de KVM, ou de VMkernel dans ESXi. Il convient de considérer cette ressource
particulière, utilisée par toutes les autres machines virtuelles, comme une ressource partagée. Dans
la suite, pour éviter les confusions, les tâches désignent les machines virtuelles sans rôle particulier.
En ce qui concerne Windows 10, le parti pris de ce document est de considérer Hyper-V comme
seul élément du système d’hypervision, dont la vocation est de fournir du cloisonnement mémoire
entre la machine invitée « Virtual Secure Mode » et celle contenant l’environnement Windows
standard.
Dans ces différents cas, le moniteur de référence est le système d’hypervision : sollicité lors d’accès
par une machine virtuelle au matériel partagé, en particulier la mémoire physique, il est garant
du respect de l’isolation entre les tâches. D’ailleurs, la terminologie VMM (pour Virtual Machine
Monitor) est aussi employée pour parler d’hyperviseurs, ce qui illustre bien cette idée de moniteur.
58
.
système indépendamment de son propriétaire. Parmi les implémentations classiques de contrôles
d’accès obligatoires figurent le mécanisme MIC (Mandatory Integrity Control) dans les systèmes
Windows, ainsi que SELinux ou encore AppArmor dans les systèmes Linux.
Dans ce contexte, un domaine est constitué de tout ce qui est utilisable par un utilisateur donné.
Une tâche est formée de tous les processus d’un utilisateur donné. Elle regroupe donc autant de
processus qu’il s’en exécute sous l’identité à laquelle elle correspond, au contraire de l’exemple
détaillé en 2.2, selon lequel une tâche est un processus donné. En effet, ici on s’attache à instancier
les définitions dans le cadre du cloisonnement entre utilisateurs, et non entre processus.
Les ressources propres à une tâche sont celles accessibles exclusivement à l’utilisateur auquel la
tâche correspond (certains fichiers, données d’authentification, etc.). Les ressources partagées re-
groupent tous les objets système partagés par configuration, ainsi que l’intégralité du code noyau
et l’ensemble des composants matériels.
Enfin, l’entité qui gère le contrôle d’accès dans le noyau est ici le moniteur de référence. Plus
généralement, le noyau peut être considéré comme moniteur de référence garant du respect des
permissions sur les objets système, qu’il met à disposition des utilisateurs.
Les conteneurs ou bacs à sable créés par une solution sont nommés cages dans la suite. Les cages
constituent des domaines, et tout ce qui s’exécute à l’intérieur d’une cage forme une tâche.
Suivant les solutions, les ressources propres et partagées peuvent varier ; souvent les cages ont leur
propre instance de système de fichiers. Un fichier de configuration par cage permet en général de
mettre en place les partages désirés.
Les cages sont contrôlées par un ou plusieurs programmes qui les initialisent et permettent de les
gérer. Ceux-ci peuvent être intégrés ou non, suivant les implémentations, au noyau du système
d’exploitation qui supporte la solution. Ils s’appuient sur le noyau du système pour isoler les cages
entre elles (positionnement de permissions dédié, usage de solutions de contrôle d’accès intégrées
au noyau, etc.). Ces programmes gestionnaires et le noyau du système d’exploitation constituent
le moniteur de référence pour cet exemple.
59
.
60
.
3
Identifier ses besoins en cloisonnement
Ce chapitre a pour but de dégager une manière de dresser un inventaire des besoins d’un
composant en matière de cloisonnement. L’identification de ces besoins permet d’orienter son
développement, ou encore de choisir entre plusieurs composants déjà disponibles.
Le cahier des charges fonctionnel définissant le composant est supposé établi. Le composant est, à
ce stade, encore appréhendé de manière imprécise et monolithique.
61
.
Exemples. Pour illustrer les concepts présentés, l’exemple choisi est celui du développement
d’une application métier sur un modèle client-serveur, permettant à des utilisateurs de travailler
sur des projets en commun. La partie serveur de l’application, vouée à s’exécuter en espace utilisa-
teur sur un serveur accessible par plusieurs machines distantes, est plus précisément celle évoquée.
.
Attention
Cet exemple n’a en aucun cas valeur d’architecture recommandée : il s’agit d’un outil
pédagogique permettant d’illustrer les définitions et les raisonnements utiles à l’é-
valuation d’une architecture en matière de sécurité.
D’autres documents de référence peuvent aider à formuler les attentes en matière de sécurité à
divers niveaux de précision et d’abstraction (par exemple [5] ou [6]). Le présent document ne pré-
tend pas détailler l’élaboration de l’analyse de la sécurité attendue. Seules les définitions et les
précisions qui sont utiles pour la suite sont explicitées ici.
Biens sensibles
.
Les biens à protéger sont constitués des informations sensibles manipulées par le
composant. Bien souvent, il s’agit directement d’informations métier utilisées par le
composant. D’une façon plus générale, cela inclut aussi les informations dont l’ob-
tention permet celle d’informations métier utiles.
Exemples. Dans le cas de l’application serveur métier, les biens à protéger sont les données méti-
er manipulées par les utilisateurs. Un contrôle d’accès sur ces données doit être imposé, permettant
que seuls les utilisateurs autorisés puissent lire et/ou modifier des données. Ceci va engendrer la né-
cessité d’authentifier les utilisateurs auprès de l’application, et les secrets cryptographiques utilisés
pour cette authentification seront alors ajoutés à la liste des biens sensibles.
62
.
3.1.2 Composants de confiance
Lors de l’analyse de sécurité d’un composant donné, d’autres composants sont considérés comme
de confiance. Ceci ne signifie pas qu’ils ne soient pas corruptibles dans l’absolu ; il s’agit d’une hy-
pothèse de travail. Prendre des mesures assurant leur intégrité n’est pas superflu, bien au contraire.
Composants de confiance
.
Les composants de confiance sont les composants logiciels et matériels supposés
parfaits dans l’analyse de la sécurité attendue d’un composant. En d’autres termes,
l’analyse de sécurité repose sur l’hypothèse que les composants de confiance ne
peuvent pas être corrompus par un attaquant tel que défini dans cette analyse.
.
Attention
L’analyse de sécurité d’un composant ne peut pas être construite sur l’hypothèse que
le composant entier est lui-même de confiance.
Il serait faux d’affirmer que le composant développé ne peut pas contenir de composants de con-
fiance. Typiquement, c’est le cas s’il dispose de l’accès au matériel au plus bas niveau existant dans
le contexte d’utilisation envisagé, sans contrôle possible d’une autre entité système. Cette éven-
tualité se présente si le composant comprend un noyau de système d’exploitation non hypervisé
ou un hyperviseur. Dans ce cas de figure, il convient en réalité d’effectuer une analyse de sécurité
par niveau d’abstraction couvert. Par exemple, la sécurité est d’abord étudiée en supposant que le
système d’hypervision et les noyaux des systèmes hypervisés sont de confiance, au contraire des
espaces utilisateurs des systèmes hypervisés qui peuvent être compromis. Dans un second temps,
appliquant une démarche de défense en profondeur, la sécurité est examinée en prenant pour
hypothèse que seul le système d’hypervision est de confiance, et que l’attaquant est capable de
compromettre les systèmes hypervisés complets.
Dans ce chapitre, le propos tenu s’applique à un niveau d’abstraction donné, supposé pour simpli-
fier contenir tout le composant étudié. Ce dernier s’appuie donc sur des composants de confiance
et un moniteur de référence externes.
.
Attention
Le raisonnement justifiant la sécurité du composant étudié repose sur l’hypothèse
de l’intégrité des composants de confiance. Il faut donc faire en sorte que dans la
réalité, cette hypothèse soit vérifiée.
.
Garantir l'intégrité des composants de confiance
R4
Il est impératif de garantir concrètement l’intégrité des composants de confiance
pour que la sécurité de l’ensemble du composant soit assurée. Des recommandations
plus précises sont fournies en 4.1.
63
.
Exemples. Dans le cas de l’application serveur, le noyau du système d’exploitation du serveur
physique (et les couches d’hypervision éventuelles qui l’exécutent), ainsi que le matériel sur lequel
ceci est installé font partie des composants de confiance. Les périphériques matériels (et leurs mi-
crologiciels) utilisés par le serveur physique font également partie des composants de confiance.
Interfaces du composant
.
Une interface de programmation définit la manière d’échanger de l’information en-
tre deux composants.
Les interfaces externes sont des interfaces entre le composant pris dans sa globalité
et son environnement d’exécution. Elles contiennent au moins toutes les interfaces
exposées par le composant à ses utilisateurs.
Exemples. Dans l’exemple du chapitre, les API (Application Programming Interface) mises à dis-
position par l’application serveur pour ses clients sont des interfaces externes exposées. Les appels
système au système d’exploitation au-dessus duquel s’exécute l’application et le système de fichiers
utilisé par l’application pour stocker les données métier constituent des exemples d’interfaces ex-
ternes utilisées par le composant.
Une interface externe ne sépare pas forcément deux éléments logiciels. L’interface entre un pilote
de périphérique d’une part et le matériel qu’il contrôle d’autre part est mixte.
La surface d’attaque d’un composant est constituée de toutes les interfaces externes
du composant lui permettant de communiquer avec un environnement contrôlé par
l’attaquant. Dans l’immense majorité des cas, toutes les interfaces exposées par le
composant à ses utilisateurs en font partie.
Les autres interfaces externes du composant forment la surface de friction du com-
posant avec le reste du système. La surface de friction comprend entre autres les
interfaces du composant avec les composants de confiance.
Ces concepts sont illustrés sur la figure 3.2. Identifier la surface d’attaque et la surface de friction
du composant avec le système global est essentiel pour permettre une prise en compte de tous
les besoins en sécurité du composant. Bien définir la surface de friction permet aussi de garantir
l’innocuité du composant pour le système global.
Exemples. Dans le cas de l’application serveur, la surface d’attaque est constituée de l’interface
utilisateur de l’application. La surface de friction comprend tous les appels système.
64
.
Les appels système forment une interface entre le noyau du système d’exploitation, composant
de confiance dans l’exemple du chapitre, et l’application métier. Évidemment, le noyau n’est pas
« dangereux » pour l’application. Il est de confiance, et donc réputé non corruptible par un at-
taquant du composant.
Cependant, les appels système ne sont pas tous équivalents du point de vue de l’application
développée. Ceux qui permettent d’utiliser le système de fichiers ont beau s’exécuter exactement
comme prévu, ils peuvent permettre l’accès à des données métier gérées par cette application
via d’autres applications s’exécutant sur le serveur, sans que l’attaquant ait corrompu l’aaplication
développée. Inversement, la compromission dudit composant ne devrait idéalement pas permettre
d’accéder à toutes les données du serveur.
65
.
3.1.4 Formaliser la sécurité attendue du composant
Pour définir les besoins de sécurité d’un composant, il sera donc nécessaire de réaliser une analyse
de la sécurité attendue, qui présentera le bilan de tous les éléments évoqués dans les paragraphes
précédents.
.
Rédiger l'analyse de la sécurité attendue du composant
R5
Une analyse de la sécurité attendue du composant doit faire partie des documents
de conception ou intégration mis à disposition.
Elle doit comporter les définitions des quatre éléments cités ci-dessus :
n la liste des biens sensibles à protéger ;
66
.
Usages d'un composant
.
Des scénarios d’utilisation du composant dans lesquels les ensembles de ressources
utilisées diffèrent notablement constituent des usages distincts du composant. Pour
mesurer cette différence, il convient d’examiner entre autres :
n les formes et sources d’interaction du composant avec l’extérieur, qui représentent
autant de vecteurs de compromission potentiels : par exemple, une différence de
connectivité réseau (un usage demande une connection Internet et l’autre une
connexion Intranet), ou encore l’exécution de traitements compliqués de données
provenant de l’extérieur (du parsing par exemple) pour lesquels la présence d’une
vulnérabilité ne peut être écartée ;
n la criticité et la sensibilité des ressources utilisées ;
n la périodicité de l’exécution des actions. Par exemple, certaines actions unique-
ment effectuées lors d’une initialisation sont à distinguer des actions utiles par la
suite ;
n s’il s’agit de fonctionnalités liées uniquement au cycle de vie du composant, par
opposition au service qu’il rend : administration, mise à jour, journalisation for-
ment autant d’exemples d’usages.
.
Caractériser des usages du composant
R6
Réaliser une liste des usages du composant à partir de ses fonctionnalités et de la
liste des ressources auxquelles il accède.
Une fois les usages identifiés, le composant peut mettre en oeuvre un cloisonnement entre usages
en s’appuyant sur un moniteur de référence. L’architecture qui en résulte est représentée dans la
figure 3.3 .
Exemples. Quelques exemples génériques ont déjà été mentionnés, tels que les usages d’admin-
istration, de journalisation, ou de mise à jour.
Des usages liés aux particularités métier du composant seront évidemment dépendants du service
rendu. Dans l’exemple de ce chapitre, il y a un usage par utilisateur de l’application. En effet, d’une
part, chaque utilisateur de l’application devrait avoir exclusivement accès aux fichiers qui le concer-
nent. D’autre part, les postes que les utilisateurs de l’application utilisent pour se connecter sont a
priori distincts et non-homogènes. Avant authentification d’un utilisateur ou d’un administrateur
de l’application, aucun des usages ci-dessus n’est identifié. Cependant, il faut rester à l’écoute de
nouvelles connexions, il y a donc un usage d’écoute.
Il est difficile de définir de manière générique ce qui constitue un même usage pour un composant,
car l’analyse peut être réitérée à des niveaux de granularité différents et à des niveaux d’abstraction
différents. Cela suppose également de placer le composant dans son contexte réel d’utilisation pour
s’assurer qu’il ne viole pas le cloisonnement global mis en place au sein du système d’information
qui l’accueillerait.
67
.
Exemples. Dans l’exemple, l’API exposée aux clients sera divisée en trois parties : celle dédiée à
l’administration de l’application, celle dédiée à l’écoute et celle dédiée aux utilisateurs authentifiés.
Chaque domaine exposera une et une seule de ces API, suivant l’usage qui lui correspond.
.
Objectif
Limiter les possibilités offertes à l’attaquant de prendre le contrôle du composant
pendant son utilisation.
.
Cloisonner les usages entre eux
R8
Mettre en place un moniteur de référence en s’appuyant sur les composants de con-
fiance pour faire en sorte que chaque usage soit confiné dans un domaine.
68
.
Minimiser la surface de friction
R9 Réduire systématiquement les actions possibles pour chaque domaine aux seuls be-
soins liés à l’usage, c’est-à-dire réduire la surface de friction avec le système global.
Exemples. Dans le cas d’étude du chapitre, il est fait en sorte que l’application serveur, quel que
soit l’usage considéré, s’exécute sans privilège particulier (car elle n’en a pas besoin) : possibilité
d’effectuer uniquement les appels systèmes qui lui sont utiles (gestion des fichiers, sockets, etc.),
impossibilité d’utiliser d’autres fichiers que ceux des utilisateurs légitimes et ses propres fichiers
(configuration, etc.). Cela peut par exemple être mis en place au moyen de techniques de bacs à
sable ou conteneurs.
.
Objectif
Minimiser les conséquences d’une compromission du composant dans un usage don-
né :
1. minimiser les conséquences d’une compromission sur les fonctions de sécurité
assurées par le composant ;
2. minimiser les conséquences d’une compromission sur le système global.
Exemples. Si un attaquant contrôle une session utilisateur, seuls les fichiers de ce dernier sont
à disposition de l’attaquant. Le cloisonnement mis en place garantit que contrôler une session
utilisateur ne permet pas de s’arroger les privilèges d’administration de l’application ou d’interférer
avec les sessions des autres utilisateurs. La compromission est alors circonscrite au domaine de
l’utilisateur compromis.
Concernant le deuxième point, l’absence de privilège particulier requis ou le contrôle d’accès sur
les fichiers des utilisateurs empêchent une progression de l’attaquant en cas de compromission
du serveur applicatif. En l’absence de cloisonnement, tous les fichiers ou appels systèmes seraient
librement accessibles à l’attaquant qui contrôle les domaines du serveur. De même, l’exécution du
serveur avec des privilèges inutiles les octroie systématiquement à l’attaquant.
.
Objectif
Protéger le composant d’une compromission par d’autres composants (non de confi-
ance) appartenant au système global.
Exemples. Les domaines utilisateur du composant étudié sont les seuls environnements applicat-
ifs capables d’accéder aux fichiers métier gérés dans le composant. Par conséquent, la compromis-
sion d’une application tierce s’exécutant au sein du même système d’exploitation n’entraîne pas la
fuite de ces données métier.
Les usages définis doivent être cohérents pour que le système reste utilisable, mais ils doivent
également se prêter de manière efficace à l’application du principe de moindre privilège. Un usage
sera considéré trop vaste si la proportion d’actions possibles dans son domaine est grande par
rapport à la totalité des actions disponibles en l’absence de cloisonnement.
69
.
4
Analyser la sécurité apportée par le
cloisonnement mis en place
Ce chapitre énonce les critères d’évaluation du cloisonnement mis en place dans un composant.
Tout d’abord, la démarche d’analyse d’un mécanisme de cloisonnement donné est explicitée, avant
d’aborder les éléments permettant de se prononcer sur la sécurité de sa mise en oeuvre.
La sécurité d’un composant dépend directement de l’absence de vulnérabilités dans les composants
de confiance qu’il utilise. Après avoir détaillé ce qu’il est nécessaire de considérer de manière
générique comme composant de confiance, le document aborde les recommandations qu’un tel
composant doit respecter. Il convient de noter que certaines recommandations ne sont pas possi-
bles à respecter en intégrant des composants sur étagère ; aussi le document distingue-t-il ce qui
doit être appliqué aux composants développés de ce qui doit être appliqué systématiquement.
.
Considérer le moniteur comme un composant de confiance
R10
Vis-à-vis d’un attaquant de la fonction de sécurité de cloisonnement, le moniteur de
référence fait partie des composants de confiance. Ainsi, il doit respecter les recom-
mandations de cette section.
70
.
Identifier les composants de confiance
R11
Tout composant du système qui dispose d’un privilège lui permettant de porter at-
teinte à l’intégrité du moniteur, ou des politiques de sécurité qu’il met en place, est à
considérer comme faisant partie des composants de confiance vis-à-vis du composant
analysé.
Tous ces composants doivent donc vérifier les exigences propres aux composants de
confiance.
Exemples. Dans le cas du contrôle d’accès obligatoire implémenté dans le noyau d’un système
d’exploitation classique, le moniteur de référence est le code gérant le contrôle d’accès obligatoire.
En pratique, le code du noyau responsable d’autres choses, comme l’ordonnancement ou la ges-
tion des périphériques, ne fait pas partie du moniteur de référence utilisé pour ce type de cloison-
nement. Cependant, tout ce code s’exécute avec des privilèges suffisants pour modifier le moniteur
de référence ou la politique qu’il applique. Il faut donc avoir le même niveau de confiance dans
tout ce code que dans celui du moniteur à proprement parler.
L’utilisation de langages fortement typés (tels Ada, OCaml, Rust, Go, etc.) permet de réduire no-
tablement le nombre de vulnérabilités exploitables dans un composant.
.
Choisir un langage approprié
R13
Utiliser un langage de programmation fortement typé, qui entre autres prévient les
débordements de tableau, d’entier, ou l’utilisation de pointeurs invalides, est forte-
ment souhaitable pour le développement des composants de confiance.
.
Développer selon un référentiel de sécurité
R14
Un référentiel de développement sécurisé doit être utilisé systématiquement lors du
développement de composants de confiance.
La vérification du respect du référentiel de codage doit être assurée.
Le respect de cette recommandation est critique dans le cas du choix d’un langage
ne respectant pas les critères conseillés ci-dessus.
71
.
Des exemples de tels référentiels incluent les standards SEI CERT Coding Standard ([2]) et le guide
mis à disposition par MISRA ([1]).
.
Auditer le code de l'implémentation des composants de confiance
R15
L’intégralité du code des composants de confiance devra faire l’objet d’un audit de
code par des personnels qui n’en sont pas développeurs, de préférence indépendants
du projet concerné.
.
Valider l'implémentation des composants de confiance
R16
Des tests fonctionnels complets devront permettre de valider le bon fonctionnement
des fonctions de sécurité implémentées. Une attention particulière sera portée à
tester aussi bien les opérations qui doivent être refusées que celles qui doivent être
menées à bien avec succès.
.
Prouver l'implémentation des composants de confiance
R17
Il est fortement recommandé de compléter les tests par une preuve formelle de
l’absence d’erreur à l’exécution d’un composant de confiance, par exemple à l’aide
d’outils d’analyse (statique ou dynamique) pour prévenir certains types de vulnéra-
bilités.
.
Supprimer toute partie inutilisée d'un composant de confiance
R18
Un composant de confiance doit être minimal. Dès que possible, la suppression du
code inutilisé sera privilégiée. A défaut, sa désactivation par configuration sera effec-
tuée.
.
Appliquer des techniques de durcissement aux composants de confiance
R19
Les composants de confiance doivent se voir appliquer des techniques de durcisse-
ment à l’état de l’art afin de compliquer l’exploitation d’une vulnérabilité et le dé-
tournement du flot de contrôle, comme par exemple :
n présence de motifs d’intégrité de la pile et du tas (canaris) ;
n principe W ⊕ X : au cours de toute son utilisation par le système, une zone mé-
moire donnée ne doit pas être inscriptible et exécutable, que ce soit simultané-
ment ou non ;
n répartition aléatoire de l’espace d’adressage (ou Address Space Layout Random-
ization (ASLR)).
72
.
Exemples. Dans le cas d’un système Linux, le respect de ces deux recommandations peut impli-
quer une recompilation d’un noyau minimal avec les options satisfaisantes. Consulter le document
rédigé sur la sécurité de ces systèmes [4] est recommandé.
Comme vu en section 2.2, l’attaquant de la fonction de sécurité de cloisonnement mise en place par
le moniteur est supposé contrôler une ou plusieurs tâches. Le but est de s’assurer, en présence de
cet attaquant, que les tâches cloisonnées soient dans l’incapacité de s’arroger des permissions sup-
plémentaires en modifiant l’environnement d’exécution du moniteur. Pour protéger le moniteur, il
faut donc garantir qu’un attaquant contrôlant une tâche ne dispose pas des privilèges nécessaires
à une modification en sa faveur.
.
Assurer au moniteur de référence un niveau de privilège supérieur à celui
R21 des tâches cloisonnées
De manière à préserver l’intégrité du moniteur et des politiques de sécurité qu’il met
en application, les tâches cloisonnées ne doivent pas disposer des privilèges néces-
saires à la relaxe de la politique de sécurité appliquée.
Une façon de garantir ceci est d’assurer que les politiques sont non-modifiables par
les tâches cloisonnées et que le moniteur s’exécute à un niveau de privilège supérieur
à celui des tâches qu’il cloisonne.
Exemples. Effectuer une comparaison de deux choix architecturaux sur l’exemple du serveur
applicatif présenté dans le chapitre précédent permet d’illustrer cette recommandation. Dans les
73
.
deux cas, une session utilisateur correspond à un processus. Ce n’est pas sur cet aspect que porte
la comparaison, mais sur la mise en place du contrôle d’accès sur les fichiers utilisateur.
Le premier choix consiste à écrire un module de code dédié à la prise de décision, qui s’exécutera au
sein du processus gérant un utilisateur du serveur. A chaque fois qu’un utilisateur veut accéder à
un fichier, un appel est effectué aux fonctions du module, qui retourne un refus ou un descripteur
de fichier vers le fichier demandé.
Le second choix consiste à exécuter chaque session utilisateur dans un processus distinct sous une
identité (uid) qui lui est propre, et à s’appuyer sur le noyau pour implémenter le contrôle d’accès
sur les fichiers.
Contrairement à la seconde solution, la première alternative ne cloisonne pas les sessions utilisa-
teur entre elles. En effet, l’attaquant est supposé contrôler un ou plusieurs domaines cloisonnés.
Ici, rien n’isole le module dédié au contrôle d’accès du reste du code des sessions utilisateur. Il est
donc impossible de garantir que les ouvertures de fichiers passent par le module, et il est impos-
sible de garantir son intégrité. Un attaquant en capacité d’exécuter du code arbitraire au sein de
l’environnement d’une session utilisateur a le contrôle du processus, et donc peut modifier le code
exécuté à sa guise.
Pouvoir appliquer une telle configuration au moniteur de référence est salutaire, surtout lorsque
la politique de sécurité est difficilement auditable. Pourtant, les mécanismes de cloisonnement
ne respectent pas tous ce principe. Par exemple, dans le cadre du cloisonnement entre processus
présenté précédemment, il est quasiment impossible sans s’appuyer sur d’autres mécanismes de
cloisonnement supplémentaires de s’assurer que deux processus ne communiquent pas entre eux.
.
Minimiser le nombre et l'impact des configurations possibles
R23
Dans une démarche de durcissement du moniteur, les options de configuration lais-
sées au choix de l’utilisateur (même privilégié) en production doivent être restreintes
au strict minimum, de manière à réduire l’impact possible d’une erreur sur la sécurité
globale du système. Pour les choix laissés à l’utilisateur, les messages d’avertissement
sur les conséquences en terme de sécurité doivent être suffisamment explicites.
Exemples. Ne pas permettre de désactiver les alertes, la journalisation, ou d’activer les fonctions
de débogage dans une version de production est pertinent. Demander une confirmation lors d’un
changement de configuration, documenter les options de configuration de manière extensive pour
qu’elles puissent être maîtrisées par les administrateurs du produit sont également de bonnes pra-
tiques.
74
.
4.1.5 Évaluer un mécanisme de cloisonnement
Évaluer un mécanisme de cloisonnement, c’est mesurer l’effort nécessaire à un attaquant pour le
mettre en défaut. Pour quantifier la difficulté de contourner un mécanisme, il est recommandé
d’appliquer la démarche suivante.
75
.
4.2.1 À niveau d'abstraction donné
Une telle analyse débutera par une spécification claire de ce qui est mis en oeuvre, avant de
procéder à la vérification du respect de tous les points recommandés précédemment.
.
Spécifier le cloisonnement proposé
R24
Pour présenter le cloisonnement mis en place, il est recommandé de procéder de la
manière suivante.
1. Expliciter les usages identifiés.
2. Décrire le mécanisme de cloisonnement mis en oeuvre en explicitant ce à
quoi correspondent les définitions de tâches, ressources propres et partagées
et moniteur de référence.
3. Expliciter la politique de sécurité mise en place pour chaque usage. Pour chaque
domaine, il faut reprendre la liste des interfaces externes dressées précédem-
ment et caractériser les actions autorisées.
Pour structurer l’évaluation de la sécurité apportée par le cloisonnement mis en place au sein d’un
composant, la liste de critères suivante peut être suivie :
1. adéquation entre les scénarios vraisemblables d’utilisation du composant et les usages définis ;
2. pertinence du choix du mécanisme de cloisonnement. Vérifier la compatibilité de l’ensemble
des composants de confiance issus de la définition du mécanisme de cloisonnement avec la
définition des composants de confiance telle que donnée par l’analyse de sécurité. Vérifier
que la difficulté de la mise en défaut du mécanisme utilisé correspond au moins au niveau
estimé de l’attaquant duquel le système doit être protégé ;
3. vérification que la politique de sécurité des domaines implémente bien le principe de moindre
privilège (minimisation de la surface d’attaque et de la surface de friction) ;
4. vérification de la complétude du cloisonnement : garantie de la couverture de toutes les in-
terfaces externes du composant ;
5. évaluation de l’innocuité du composant pour le système qui l’exécute, par l’évaluation des
conséquences de sa compromission.
.
Assurer l'innocuité du composant pour le système qui l'accueille
R25
Un composant ne doit pas dégrader la sécurité globale du système, notamment en
limitant la mise en place du cloisonnement par d’autres composants utilisés sur le
même système.
En particulier, un composant ne doit pas exiger pour fonctionner d’abaisser le niveau
de sécurité du système qui l’héberge : le composant doit être compatible avec un
niveau de durcissement à l’état de l’art au moment de sa mise en production.
76
.
domaines sont de taille importante, par exemple s’il s’agit de machines virtuelles ou de conteneurs.
Il suffit de se placer dans un domaine donné et d’itérer l’analyse de sécurité présentée ci-dessus à
l’intérieur du domaine.
Par exemple, à l’intérieur d’une machine virtuelle ayant pour fonction d’héberger un serveur Web,
il convient d’isoler dans un conteneur ce qui relève des fichiers et programmes nécessaires au
serveur Web.
Le cloisonnement dépend du niveau d’abstraction envisagé, et sa mise en place peut être faite
par divers moyens. Des solutions de cloisonnement emboîtées comme des poupées russes forment
autant de barrières entre la compromission par un attaquant du maillon le plus faiblement sécurisé
présent sur un système et le contrôle complet du système par cet attaquant.
77
.
5
Éléments d'analyse d'une architecture
de sondes de détection réseau
Cette section a pour vocation d’illustrer, à partir d’un exemple concret, la démarche que ce doc-
ument vise à transmettre. L’étude porte sur la conception hypothétique d’une sonde réseau de
détection d’incidents de sécurité, nommée exIDS dans la suite.
La suite de cette section s’appuie fortement sur deux documents que le lecteur est invité à consulter.
D’une part, l’article « Architecture système sécurisée de sonde IDS réseau » ([10]) fournit une
description assez détaillée de choix architecturaux. D’autre part, la cible de sécurité générique pour
ce type de produits ([3]) présente l’analyse de sécurité nécessaire à la bonne conception d’exIDS.
L’article étant paru avant et indépendamment du travail de rédaction de cette cible de sécurité, il
existe quelques détails à adapter pour que les deux documents soient parfaitement conciliables.
L’exemple exIDS est le simple fruit de cette adaptation. Une première architecture est envisagée,
puis modifiée pour satisfaire des contraintes de performance.
L’étude proposée ici n’a pas pour objet de recommander une architecture plutôt qu’une autre. Il
s’agit plutôt d’un prétexte à un exercice d’architecture comparée. D’autres solutions satisfaisant
la cible de sécurité pourraient être envisagées, par exemple plus raffinées dans le cloisonnement
proposé, ou s’appuyant sur de la virtualisation plutôt que des conteneurs Linux.
78
.
souligné dans l’article, la capacité à mettre à jour le composant est fondamentale ; elle n’est pas
détaillée ici car aucun élément nouveau n’est intégré à exIDS.
À l’instar de ce qui est choisi dans l’article, exIDS présente un socle constitué d’un noyau Linux re-
compilé avec des options de durcissement adéquates, les patches PaX et grsecurity et la suppression
de tous les modules, fonctionalités et options du noyau inutilisés. Les protections système décrites
dans l’article sont appliquées. Chaque usage listé est associé à un conteneur ; les conteneurs véri-
fient les prescriptions de l’article également. Les flux autorisés entre usages sont limités à ceux
spécifiés dans les documents référencés. L’architecture envisagée est présentée dans la figure 5.1.
Le cloisonnement entre usages repose donc dans exIDS sur des conteneurs. Le socle constitue
le moniteur de référence. Les tâches sont les programmes s’exécutant dans les conteneurs, les
ressources partagées comprennent les partages de fichiers documentés dans l’article, ainsi que le
socle et le matériel en commun. Certains répertoires sont partagés entre domaines, mais il n’ex-
iste pas de partage de fichiers dans lequel deux domaines distincts peuvent écrire. Ceci permet
de créer des communications unidirectionnelles entre domaines. Les interfaces réseau virtuelles
éventuellement disponibles dans les conteneurs sont des ressources propres. Les conteneurs n’ont
pas accès à des interfaces réseau physiques, à l’exception de l’usage de capture qui nécessite les
privilèges adéquats à la récupération bas-niveau de paquets réseau. Un pare-feu local est mis en
place au sein du socle de manière à restreindre aux stricts flux spécifiés les flux réseau possibles
entre interfaces.
Disposer d’interfaces réseau distinctes comme exigé par la cible de sécurité permet de prolonger le
cloisonnement au niveau matériel : seule l’interface utilisée par l’usage, lorsqu’elle existe, est acces-
sible dans le conteneur adéquat. En adoptant le point de vue du cloisonnement réseau, la présence
de plusieurs interfaces physiques et le cloisonnement entre les domaines qui les utilisent permet de
ne pas créer de jonctions facilement exploitables entre réseaux physiques disjoints. Comme men-
tionné précédemment, le fait qu’aucune interface ne soit disponible dans les conteneurs liés aux
usages IDS joue également en faveur de l’innocuité du composant pour le système. Pour finir le
tour des définitions, les composants de confiance sont constitués du matériel, dans son intégralité
cette fois, ainsi que du socle.
Concernant les interfaces externes, seules les interfaces entre domaines destinées à servir les flux
79
.
documentés dans l’article ou la cible seront à disposition dans chaque conteneur. En particuli-
er, les fichiers exposés dans les conteneurs sont en lecture seule, sauf dans le cas particulier d’un
besoin d’écriture dans un répertoire bien défini. Ceci sera utilement complété par l’interdiction
des appels système inutilisés par les processus légitimes, la réduction des capacités disponibles
aux programmes dans les conteneurs au strict nécessaire, ainsi que la limitation de l’utilisation de
ressources système.
Dans une analyse d’un produit réellement développé, les détails d’implémentation devraient être
explicités. Cependant, il convient d’insister sur le fait que l’analyse architecturale haut niveau
présentée ici est réalisable avant tout développement de preuve de concept qui permettrait de
valider la faisabilité et l’impact sur les performances des choix effectués. A contrario, introduire
après une première phase de développement le cloisonnement impliquerait vraisemblablement
des changements drastiques sur le produit final difficiles à maîtriser et coûteux.
Une solution envisagée pour régler les difficultés consiste à supprimer l’usage de capture (et donc
le conteneur correspondant) et à mettre à disposition des logiciels IDS la carte réseau I1. Le reste
de l’architecture peut être conservé ; la figure 5.2 présente le nouveau projet. Pour valider un tel
changement architectural, il est impératif de vérifier que les deux risques que couvraient l’usage
de capture sont traités par d’autres mesures. Premièrement, l’effort nécessaire à un attaquant ex-
ploitant une vulnérabilité dans un logiciel IDS pour prendre le contrôle de la sonde devrait être
similaire. Deuxièmement, il doit rester impossible en toutes circonstances d’utiliser la sonde pour
pénétrer le réseau qu’elle est supposée surveiller.
Concernant le premier risque, en s’appuyant sur les espaces de noms réseau et les conteneurs dédiés
à chaque logiciel IDS, il est raisonnable de considérer que l’accès à l’interface I1 n’augmente pas
significativement le risque de prise de contrôle d’autres conteneurs ou du socle de la sonde. Cepen-
dant, la surface de friction des conteneurs IDS est clairement plus importante que dans l’architec-
ture initiale. Aussi, faire en sorte que les logiciels IDS n’aient que les capacités réellement utiles
et perdent droits et accès dès qu’ils n’en ont plus besoin 5 s’avère une précaution supplémentaire
profitable.
Quant au second risque, il est impossible de garantir au sein du produit l’absence de flux de com-
munication initiés par la sonde vers le réseau surveillé. Dans ce contexte, utiliser un autre produit
5. Typiquement, après avoir effectué les opérations de configuration du matériel requises à leur lancement.
80
.
En conclusion, les risques ouverts par la modification architecturale sont considérés couverts. La
nouvelle architecture est retenue comme présentant une solution satisfaisante en terme de cloi-
sonnement vis-à-vis du besoin spécifié.
81
.
Bibliographie
[1] MISRA Publications.
https://www.misra.org.uk/Publications/tabid/57/Default.aspx.
[6] Instruction - Critères pour l’évaluation en vue d’une certification de sécurité de premier niveau.
Référentiel ANSSI-CSPN-CER-I-02 v1.1, ANSSI, avril 2014.
https://www.ssi.gouv.fr/uploads/2015/01/ANSSI-CSPN-CER-I-02_Criteres_pour_
evaluation_en_vue_d_une_CSPN_v1-1.pdf.
82
.
83
.
.
. . ..
ANSSI-PG-040
Version 1.0 - 14/12/2017
Licence ouverte/Open Licence (Étalab - v1)
84
Annexe 6 : Explication pré lè vement à la
source
Qu'est-ce que le prélèvement à la source de
l'impôt sur le revenu ?
Le prélèvement à la source consiste à faire payer l'impôt en même temps que vous percevez
ces revenus. Le prélèvement à la source permet donc de rendre le paiement de l’impôt
contemporain de la perception des revenus et d’éviter ainsi un décalage d’un an. C’est ce qui
le différencie de la simple mensualisation de l’impôt.
Si vous êtes salarié ou retraité, l'impôt sera alors collecté par votre employeur ou votre caisse
de retraite.
85
Annexe 7 : Organigramme
Directeur
RSSI
Secrétariat
(2 personnes)
Cellule bureautique
Responsable de domaine
Achat Responsable de domaine Responsable de domaine
AMELO
Comptabilité LAN GESTION
DOCUMENTAIRE
DBA THIT
Maintenance
DOCUMENTAIRE
LOG
GESTION
DOCUMENTAIRE
WINDOWS
IFM
DOCUMENTAIRE
BUREAUTIQUE
SIRH DOCUMENTAIRE
LINUX
TMA SIRH AMELO
WINDOWS
TMA SIRH DOCUMENTAIRE
SECURITÉ
DOCUMENTAIRE
VOUS DOCUMENTAIRE
86
Annexe 8 : Environnement
informatique (extrait)
1 Serveurs
252 serveurs sont installés au Sénat (58 serveurs physiques et 194 serveurs virtuels).
Ces serveurs sont principalement sous Linux (très majoritairement RHEL 6 et 7, mais il existe d’autres
versions), sous Windows (2003/2008/2012/2016), quelques serveurs Novell OES (2015sp1 et 2018) et
Solaris (10).
Serveurs physiques
Solaris (10) 3
ESXi 8
Total 58
Serveurs virtuels
Total 194
Les machines virtuelles sont hébergées dans deux clusters VMware constitués au total de 8 hôtes
(deux nouveaux hôtes étant en cours d’installation).
L’infrastructure de virtualisation est en version 6.0.0 build 5572656, et un passage en 6.7 est
envisagé à court terme.
87
2 Réseau et salles informatiques
Les serveurs du Sénat sont répartis dans trois salles informatiques, dont deux principales, situées
dans des bâtiments différents pour des raisons de sécurité.
Les salles sont interconnectées par un réseau local Ethernet, constitués de commutateurs équipés de
ports 1 Gbit/s. Il n’existe pas de réseau de sauvegarde dédié ; les données transitent par le réseau
local, y compris à travers les pare-feu pour les équipements qui ne sont pas sur le même réseau que
les serveurs de sauvegarde.
La liaison entre les salles est de 2 x 1 Gbit/s. Une refonte complète du réseau et des salles
informatiques est en cours ; elle permettra, au cours de l’année 2018, de connecter les équipements
compatibles sur des interfaces 10 Gbit/s avec des cœurs de réseau agrégeant plusieurs interfaces 40
Gbit/s.
Les principaux logiciels actuellement déployés sur les postes informatiques des directions du Sénat
(liste non exhaustive) :
88
• logiciel d’enregistrement et de suivi des demandes d’assistance des utilisateurs, ainsi que de
gestion des parcs informatique et téléphonique : iTop. Il est couplé à l’outil ZCM pour la
remontée des informations et l’inventaire des matériels déployés ;
• agenda partagé : Zimbra Collaboration Server.
Les Sénateurs disposent, pour l’acquisition des équipements informatiques utiles à l’exercice de leur
mandat, d’un système d’avances spécifiques auquel ils recourent librement. Aussi le parc des
Sénateurs est-il assez hétérogène, qu’il s’agisse des postes de travail, des périphériques, tablettes et
des logiciels.
Les postes des Sénateurs sont connectés au réseau Ethernet du Sénat, de manière indépendante les
uns des autres. Ils ne sont pas connectés au LAN des directions du Sénat, mais ils accèdent aux
applications du Sénat, à Internet, ainsi qu’aux serveurs de messagerie.
89
3. ETUDE DE CAS - PROFIL "DEVELOPPEMENT"
Si vous utilisez des formalismes connus dans vos schémas, nommez-les. Sinon, prenez soin de légender.
INTRODUCTION ET OBJECTIF
La direction des Systèmes d’Information du Sénat souhaite refondre sa gestion des identités et des accès.
Aujourd’hui, les comptes utilisateurs, profils et droits d’accès aux ressources et applications du Sénat sont
éclatés dans différentes applications.
Les demandes d’accès aux applications sont effectuées à l’aide de l’outil interne de suivi de tickets.
L’objectif de ce projet est de développer une application qui permette de centraliser et de gérer les identités
et les droits d’accès aux applications du Sénat.
DESCRIPTION DE L’EXISTANT
ORGANISATION LÉGISLATIVE
LE BUREAU DU SÉNAT
Le Bureau du Sénat est constitué du Président du Sénat et de 25 sénateurs. Le Bureau a de larges compétences
pour présider aux délibérations du Sénat et pour en organiser et diriger tous les services.
LES QUESTEURS
Membres du Bureau du Sénat, les Questeurs gèrent tous les aspects matériels et administratifs de la vie du
Sénat. Sous le contrôle du Bureau du Sénat, ils disposent, à cet effet, d’un pouvoir financier, réglementaire et
de nomination qu’ils exercent, le cas échéant conjointement avec le Président du Sénat, à travers des arrêtés et
des décisions.
Les groupes politiques sont librement constitués par les sénateurs qu'unissent les mêmes affinités d’idées et, le
plus souvent, l'appartenance à un même parti dont ils forment, en quelque sorte, la fraction parlementaire. Les
groupes, qui doivent chacun réunir au moins 10 sénateurs, se constituent ou se reconstituent après chaque
renouvellement triennal.
Les sénateurs n'étant pas assez nombreux pour former un groupe parlementaire sont aujourd’hui regroupés
dans la Réunion administrative des sénateurs ne figurant sur la liste d'aucun groupe (RASNAG).
90
LES COMMISSIONS
Le Sénat comporte sept commissions permanentes composées d'un nombre limité de sénateurs. Tous les
sénateurs, à l'exception du Président du Sénat, font partie d'une commission permanente.
Les commissions permanentes jouent un rôle essentiel dans la préparation du travail législatif, dans le contrôle
du Gouvernement et dans l'information des sénateurs.
• la commission des affaires européennes, qui a un rôle d’information et de contrôle sur les affaires
européennes ;
• des commissions spéciales qui peuvent être créées par le Sénat, à la demande du Gouvernement, du
Président du Sénat ou du président d'une commission permanente ou d'un groupe politique, pour
examiner un texte spécifique (le recours à cette formule est exceptionnel) ;
• des commissions mixtes paritaires (les «CMP»), réunies, en cas de désaccord entre le Sénat et
l'Assemblée nationale, à l'initiative du Premier ministre. Elles regroupent 7 sénateurs et 7 députés ;
• des commissions d'enquête, qui peuvent être formées pour recueillir des informations soit sur des
faits déterminés, soit sur la gestion des services publics ou des entreprises nationales ; à la différence
des précédentes, elles n’ont aucune fonction législative.
ORGANISATION ADMINISTRATIVE
Parallèlement aux structures d'organisation des parlementaires, le Sénat comporte des structures
administratives propres à donner aux sénateurs les moyens matériels et humains nécessaires à l'exercice de
leur mandat au sein de la Haute Assemblée.
Chaque membre du personnel, fonctionnaire ou contractuel, est affecté à un poste RH qui définit un emploi.
Les personnels sont soumis à des règles de mobilité, ce qui les amène à changer de poste en moyenne tous les
sept ans.
91
LES DIRECTIONS
L'administration du Sénat est divisée en deux directions générales elles-mêmes composées de plusieurs
directions :
Au sein de la direction générale des Ressources et Moyens, la Direction des Systèmes d’Information est
principalement composée de trois pôles :
Chaque pôle assure en plus une assistance aux utilisateurs et leur formation.
92
CONTEXTE LOGICIEL
ANNUAIRE
La direction des Systèmes d’Information maintient un annuaire LDAP. Cet annuaire contient les comptes et des
données relatives à différentes populations : fonctionnaires, contractuels, sénateurs, collaborateurs de groupes
politiques et collaborateurs de sénateurs. Parmi ces données, on trouve l’identifiant utilisateur (uid).
Vous trouverez, en annexe, un schéma simplifié des données de ces deux applications.
Un logiciel de « provisionning », LDAP Sync, permet d’effectuer la synchronisation depuis ces deux bases de
données vers l’annuaire LDAP.
Certains utilisateurs des applications du Sénat ne sont pas répertoriés dans cet annuaire, leurs comptes sont
créés directement et uniquement dans les bases de données des applications auxquelles ils doivent avoir accès.
• Les fonctionnaires sont régis par un statut qui fixe leurs conditions de recrutement, d’avancement, et
de rémunération. Tout comme les agents contractuels (dont les missions sont fixées par des normes
réglementaires et un contrat), ils participent à l’organisation et à la mise en œuvre des procédures
liées aux travaux parlementaires ou assurent des tâches administratives et financières. Ils
appartiennent à un cadre d’emploi (agent, administrateur adjoint, informaticien,…) et sont rattachés à
une direction et parfois à un service.
• Les sénateurs sont rattachés ou non à un groupe politique et sont membres d’une commission
permanente. Ils peuvent être membres d’une ou plusieurs commissions spéciales ou temporaires.
• Les collaborateurs de sénateurs peuvent être employés par un ou plusieurs sénateurs. Ils les
secondent dans les tâches personnelles directement liées à l’exercice du mandat.
• Les collaborateurs de groupes politiques sont rattachés au secrétariat d’un groupe politique. Ils
dépendent du groupe pour leur recrutement et leur mode de rémunération. Un collaborateur de
sénateur peut également être collaborateur de groupe politique.
Vous trouverez en annexe une note interne décrivant de manière simplifiée les attributs de l’annuaire du
Sénat.
APPLICATIONS
La direction des Systèmes d’Information du Sénat met à disposition des utilisateurs et assure le support et la
maintenance d’environ 190 applications, réparties entre progiciels et applications développées en interne. La
plupart de ces applications effectuent l’authentification des utilisateurs via l’annuaire et assignent des rôles en
fonction du cadre d’emploi, de la direction, du service ou d’attributs spécifiques définis dans l’annuaire.
D’autres applications utilisent leur propre base de données des utilisateurs.
93
À titre d’exemple, vous trouverez dans la suite de ce chapitre une description de la gestion des droits de cinq
applications du Sénat.
CHRONOTIME
CHRONOTIME est une application spécifique interne utilisée par les personnels pour enregistrer et
comptabiliser leurs horaires de travail.
Les personnels fonctionnaires et contractuels du Sénat saisissent leurs horaires dans CHRONOTIME. Chaque
membre du personnel voit ses déclarations validées dans CHRONOTIME par son responsable hiérarchique.
CHRONOTIME se base sur LDAP pour l’authentification. Il existe une interface de gestion des droits qui permet
d’associer chaque droit applicatif CHRONOTIME à une requête LDAP : À chaque connexion, CHRONOTIME joue
l’ensemble des requêtes LDAP enregistrées dans cette interface pour vérifier quels sont les droits applicatifs de
l’utilisateur.
DALI
1. Les « déposants », auteurs des amendements sur les textes qui seront examinés en séance publique
ou en commission. Il s’agit des sénateurs et du Gouvernement.
2. Les « gestionnaires » qui se chargent de traiter les amendements déposés dans DALI, du dépôt jusqu'à
leur examen en séance publique ou en commission. Ils travaillent à la direction de la Séance ou à la
direction de la Législation et du Contrôle (DLC). Ils ont, entre autres tâches :
a. la confection du « dérouleur », une liste des amendements à examiner qui sera distribuée à
l’ensemble des sénateurs en séance publique ou en commission ;
b. la saisie des avis des commissions et du Gouvernement sur les amendements : favorable,
défavorable ;
c. la saisie des sorts des amendements en commission et en séance publique : adopté, rejeté.
Un gestionnaire de la DLC ne peut agir que sur les amendements des commissions dans lesquelles il
est affecté. Les gestionnaires de la Séance agissent sur les amendements de toutes les commissions.
DALI se base en grande partie sur l’annuaire pour l’identification et l’authentification de ses utilisateurs.
L’application permet également de créer des comptes hors annuaire, stockés uniquement dans sa base de
données. Cette fonctionnalité est utilisée par exemple pour les détenteurs de droits au nom du Gouvernement
qui se connectent à DALI depuis l’extérieur du Sénat.
DATAWARE
DATAWARE est un progiciel d’infocentre et de requête transverse aux applications. Il offre un portail sur lequel
les utilisateurs peuvent lancer des rapports (appelés aussi « états ») et des tableaux de bord qui interrogent les
données des différentes applications du Sénat. Ces rapports sont développés et mis à disposition des
utilisateurs par la DSI.
94
Le logiciel interroge l’annuaire LDAP pour l’authentification des utilisateurs. Les droits d’accès aux états sont
définis dans le progiciel lui-même. Ils sont accordés par direction et par application.
Les demandes d’accès des directions à DATAWARE précisent rarement les domaines applicatifs concernés.
DELEGA
DELEGA est une application web qui permet le dépôt et la gestion des délégations de vote en commission et en
séance publique.
Les utilisateurs de DELEGA sont les collaborateurs de groupes politiques, les collaborateurs de sénateurs et les
personnels de la direction de la Séance et de la direction de la Législation et du Contrôle.
Un collaborateur de sénateur peut déposer une délégation uniquement pour le ou les sénateurs auxquels il est
rattaché.
Un collaborateur de groupe politique peut déposer une délégation pour l’un des sénateurs du groupe politique
qui l’emploie.
Les personnels du Sénat se connectent à l’application pour visualiser les délégations déposées au sein de leur
commission.
Cette application se base uniquement sur l’annuaire LDAP pour l’authentification des utilisateurs. Les droits
d’accès sont accordés par certains membres de la direction de la Séance qui sont administrateurs de cette
application. Les droits d’accès peuvent être accordés à une personne en particulier (uid LDAP), une direction,
un cadre d’emploi ou un cadre d’emploi d’une direction.
• Administrer : possibilité de définir les droits et de modifier et visualiser toutes les délégations de vote
• Visualiser les délégations de vote d’une commission
• Créer ou modifier des délégations de vote d’une commission dans le futur
ALLODSI
ALLODSI est un progiciel qui permet le dépôt et le suivi des demandes de support adressées à la DSI. Les
demandes s’adressent aux informaticiens du pôle documentaire et du pôle des applications de gestion pour la
maintenance corrective et évolutive des applications. Elles s’adressent au pôle système pour tout ce qui
concerne les ordinateurs, les logiciels de base, l’infrastructure, les serveurs et la sécurité.
Un premier portail permet aux utilisateurs (personnels, sénateurs, collaborateurs) d’enregistrer une demande
et de suivre son avancement. Cela peut être une demande de service ou la déclaration d’un incident en rapport
avec les applications, l’infrastructure ou la fourniture de matériels et accessoires.
Certains types de demandes, comme l’arrivée d’un fonctionnaire, affichent un formulaire de saisie
d’informations complémentaires pour préciser la demande.
Les personnels de la DSI disposent d’une interface « technicien » au logiciel qui leur permet de qualifier les
demandes, d’échanger avec l’utilisateur pour préciser sa demande ou demander sa validation, de décrire les
actions réalisées et de documenter la méthode de résolution employée.
95
ALLODSI utilise uniquement l’annuaire LDAP pour l’authentification.
96
PROCÉDURES
Lors de l’entrée d’un nouvel arrivant, la direction des Ressources humaines et de la Formation crée une entrée
dans RHPAIE. Le logiciel LDAP Sync interroge régulièrement RHPAIE pour créer une entrée dans l’annuaire
LDAP des nouveaux.
Une demande est déposée dans ALLODSI pour signaler l’arrivée de cette personne, en précisant notamment les
accès aux applications dont elle aura besoin. Les informaticiens en charge des applications accordent les accès
et profils demandés, après s’être assurés que la demande a bien été validée par le directeur d’emploi du nouvel
entrant.
Les demandes d’accès aux applications par les collaborateurs sont soumises à validation de leur sénateur ou de
leur groupe politique. Elles sont déposées dans ALLODSI.
1. Nouvel arrivant
Informations générales
Client Support
Lieu A1343e
Direction D.L.M.G.
Statut Résolu
Origine portail
97
Type de Requête demande de service
Le cas échéant, groupes de messagerie (alias) dont le nouvel arrivant devra faire partie dans sa direction : info-
direction-dlc@senat.fr
Si aucun matériel existant ne peut être affecté, type d’équipement demandé : Matériel déjà sur place
Local du nouvel arrivant : A0809
Accès réseau : Différent (merci de préciser)
Autres informations utiles : A terme, elle devrait remplacer Armand Laboissonnière (secrétaire administratif)
quand il partira. Pour le moment, elle prend le matériel de Marie Martin (administratrice adjointe) qui n'est pas
encore remplacée.
Il lui faudra avoir accès à :
COMPTA
DATAWARE
Raison escalade DSI : pour création du compte windows et envoi des identifiants ldap svp
COMPTA
DATAWARE
consultation base DecQus
98
Ensuite tu passes la main à Jean pour eMission.
Pour la base DecQus, je ne pense pas que l'on puisse donner des droits sans un accord du SGQ.
Merci,
Raison escalade DSI : M GOSSELIN ne peut pas accéder à RESA gestion des Salles.
j'ai ajouté dans MAJANN les droits d'accès à RESA. Apparemment, ce n'est pas suffisant !
Informations générales
Client Support
Direction D.R.H.F.
Sous catégorie
Concours
de service
Description Bonjour,
M. Humot souhaiterait pouvoir avoir accès sur la base concours aux trois concours
99
d'administrateur actuellement en cours, mais il ne figure pas dans la liste des personnes pour
lesquelles je peux, en tant que gestionnaire du concours, ouvrir les droits d'accès. Est-il
possible de l'ajouter à cette liste svp ?
Merci beaucoup par avance,
Louise
Solution de résolution : Ajout du poste de M. HUMOT avec profil ADMIN RH comme les administrateurs-adjoints.
Informations générales
Client Support
Direction D.L.C.
Statut Résolu
Origine portail
Sous catégorie de
DALI
service
100
Description Pourriez-vous, s'il vous plait, me donner accès à l'application DALI (pour les commissions
des affaires économiques et de l'aménagement du territoire) ?
Merci
Bien cordialement,
Pascal Mousseau
REVUE ANNUELLE
Chaque année, une revue des droits d’accès est organisée. Chaque Directeur doit valider la liste des droits
d’accès de ses personnels aux différentes applications. Il valide également les droits d’accès distants en
indiquant lesquels de ses personnels disposent d’un droit d’accès distant et pour quelles applications.
101
QUESTIONS
QUESTION 1 (2 POINTS)
Recensez de façon exhaustive tous les droits d’accès que l’on peut identifier dans le contexte décrit ci-avant.
QUESTION 2 (1 POINT)
Quels sont, à votre avis les problèmes, posés par la situation actuelle ?
En analysant le contexte organisationnel, identifiez quels seront, selon vous, les utilisateurs de votre
application.
Décrivez quelles doivent être, selon vous, les grandes étapes du projet.
Quelle méthodologie appliqueriez-vous pour gérer un projet de ce type ? Quels impératifs devez-vous
respecter pour que votre méthodologie fonctionne ?
QUESTION 6 (1 POINT)
Quelles difficultés ou quels risques identifiez-vous a priori sur ce projet ? Que proposez-vous pour atténuer ces
risques ?
QUESTION 7 (1 POINT)
Imaginez et décrivez dans les grandes lignes une solution technique répondant aux objectifs du projet.
102
QUESTION 8 (3 POINTS)
Afin d’illustrer votre solution, vous devez réaliser un schéma logique du modèle de données.
Vous devez fournir de préférence un diagramme de classes au formalisme UML (sans indiquer les attributs). Si
vous utilisez un autre formalisme, merci d’indiquer celui que vous avez choisi.
Détaillez les interactions entre ce nouveau système et les composants actuels du système, tels que décrits dans
le chapitre « Contexte logiciel ».
QUESTION 10 (1 POINT)
Afin de s’assurer au mieux de la bonne ergonomie de l’application avant sa réalisation, on souhaite réaliser des
maquettes des principales interfaces homme-machine.
Dessinez les maquettes des écrans permettant la mise à jour des droits d’un utilisateur.
QUESTION 12 (1 POINT)
Pour des besoins d’audit, on veut connaître la liste des droits dont une personne disposait à une date donnée.
QUESTION 13 (1 POINT)
On souhaite maintenant pouvoir gérer les délégations d’accès. Une personne délégante peut désigner une
personne délégataire qui va hériter de ses droits sur une ou plusieurs applications pour une période définie.
Décrivez les modifications à apporter à votre solution pour répondre à cette demande fonctionnelle.
103
QUESTION 14 (0,25 POINT)
Le Sénat dispose d’un portail web dit « VPN SSL » qui permet aux utilisateurs d’accéder aux applications du
Sénat lorsqu’ils sont connectés depuis un réseau extérieur au Sénat. Ce portail d’accès se base exclusivement
sur l’annuaire pour la gestion de l’authentification et des autorisations.
Les droits sont attribués aux personnes dans RHPAIE. Sont définis : une date de début et de fin d’accès distant
au portail et une date de début et de fin d’accès distant, application par application. Les applications sont
identifiées par un code qui alimente un attribut multivalué de l’annuaire.
Le portail d’accès interroge l’annuaire pour autoriser l’accès aux applications depuis l’extérieur.
Il est possible d’accorder à un utilisateur l’accès à une application depuis le réseau interne sans que cela lui
ouvre automatiquement l’accès à cette même application par le VPN SSL. La réciproque n’est pas vraie : un
utilisateur qui dispose des droits d’accès à une application via le VPN SSL dispose nécessairement des mêmes
droits d’accès sur cette application en interne.
Indiquez comment modifier votre solution pour gérer les droits d’accès « VPN SSL » des utilisateurs aux
applications.
Vous trouverez en annexe le schéma de l’annuaire ainsi que la syntaxe des requêtes LDAP.
Proposez un modèle physique des données de type relationnel. Précisez les tables, attributs (sans les types) et
contraintes que vous envisagez.
104
QUESTION 17 (0,5 POINT)
er
Votre solution est en place depuis le 1 janvier 2019.
er
Nous sommes le 1 janvier 2021.
En vous basant sur les tables décrites dans la question précédente, écrire les requêtes SQL pour répondre aux
questions suivantes (une seule requête par question) :
Certaines applications doivent pouvoir être utilisées par des personnes extérieures au Sénat qui
n’appartiennent à aucune des populations citées précédemment.
Comment intégrez-vous ces personnes dans votre Solution pour leur donner les droits nécessaires ?
Quelles évolutions fonctionnelles seraient, selon vous, nécessaires dans les autres composantes du système qui
sont décrites dans l’énoncé ?
On souhaite que les autres applications du système d'information du Sénat puissent interroger votre solution à
travers une API REST.
105
ANNEXES
PRÉSENTATION DU SCHÉMA
Le schéma d'un annuaire LDAP est un ensemble de règles qui définissent comment les données peuvent être
stockées dans l'annuaire.
Les données sont stockées sous la forme d'entrées d'annuaire. Chaque entrée est constituée d'un ensemble
d'attributs et de leurs valeurs. Chaque entrée doit posséder une classe d'objet. Une classe d'objet spécifie le
type d'objet qui est décrit par l'entrée et définit l'ensemble des attributs qu'elle peut contenir.
Le schéma définit les types d'entrées autorisés, leur structure en termes d'attributs ainsi que la syntaxe des
attributs. Le schéma peut être modifié et étendu.
Le tableau suivant énumère les classes d’objet (objectClass) et, pour chacune, les attributs associés.
Une classe d’objets hérite des attributs de sa classe parente. Ainsi, la classe Contractuel hérite de l’attribut
nomPersonne via la classe Personnel, qui hérite elle-même de la classe Personne.
Classe
Hérite de Attributs Description
(objectClass)
societe Société
matricule Matricule
cadre Cadre d’emploi
Personnel Personne posteHR Identifiant de l’emploi (poste) occupé
direction Direction d’emploi
service Service d’emploi
manager Responsable hiérarchique
106
finFonction Date de sortie
La syntaxe des requêtes d’interrogation est décrite dans l’annexe « syntaxe des requêtes LDAP ».
• Dans HRPAIE, les personnes sont regroupées par société : Sénateurs, Fonctionnaires, Contractuels,
Collaborateurs de sénateurs, Collaborateurs de groupes.
• Toutes les personnes sont identifiées par un matricule, unique au sein de chaque population.
• Les personnels – fonctionnaires et contractuels – sont affectés à un poste (ou « emploi ») qui
détermine la Direction d’emploi et le Service.
• Un poste n’est occupé que par un seul personnel à une date donnée.
• Inversement, un personnel n’est affecté qu’à un seul poste à une date donnée.
Voici un schéma simplifié des tables du progiciel HRPAIE (les clefs sont en gras souligné).
107
• COMMISSION (CodCom, TypCom, …)
o TypCom parmi : Permanente, Spéciale, Enquête, CMP.
• MANDAT_SEN (idSen, DatDeb, DatFin, …)
• FONCTION_SEN (idSen, CodFct, DatDeb, DatFin, …)
• FONCTION (CodFct, LibFct, …)
• GROUPE_POL (CodGrpPol, LibGrpPol,…)
Description fonctionnelle :
• Dans SEN, les personnes sont identifiée par un identifiant interne. Le matricule issu d’HRPAIE est
cependant présent.
• Les commissions ont été présentées en introduction du sujet.
• La table MANDAT_SEN permet de retrouver l’historique des mandats sénatoriaux.
• La table FONCTION_SEN permet de retrouver l’historique des fonctions des sénateurs (Président du
Sénat, Président de Commission, Questeur, etc.)
108
SYNTAXE DES REQUÊTES LDAP
La syntaxe des requêtes d’interrogation LDAP est définie par la RFC2254 (Représentation sous forme de chaîne
des filtres de recherche LDAP).
La forme générale d’une requête LDAP est une série de filtres placés entre parenthèses et précédés d’un
opérateur :
(operateur(filtre)(filtre)...)
• Égalité attribut=valeur
• Supérieur attribut>valeur
• Inférieur attribut<valeur
Le caractère générique astérisque (*) représente toute chaîne de caractères et permet d’effectuer des
recherches approchées :
Exemple :
• (&(objectClass=Senateur)(nomPersonne=Bou*)(!(prenomPersonne=Martin)))
• Recherche toutes les entrées
o Qui sont de la classe « Senateur »
o ET dont le nom commence par « Bou »
o ET dont le prénom n’est pas « Martin ».
109
ORGANIGRAMME DU SÉNAT
Bureau du Sénat
Président et Questeurs du Sénat
110
ÉPREUVES ORALES D'ADMISSION
- un exposé oral d’une durée de dix minutes sur un sujet tiré au sort ;
- des questions, pendant trente minutes, ayant pour point de départ l’exposé oral et pouvant
porter sur d’autres sujets.
(préparation 20 minutes – durée 40 minutes – coefficient 4)
- un exposé oral d’une durée de cinq minutes présentant un cas concret tiré de l’expérience
professionnelle du candidat (projet, stage ou travail d’étude) ;
Pour cette épreuve, le jury dispose d’une fiche de renseignements individuelle, préalablement
remplie par les candidats et ne faisant l’objet d’aucune notation.
(durée 30 minutes – coefficient 6)
111
ÉPREUVE ORALE PORTANT SUR DES
CONNAISSANCES TECHNIQUES
PROFIL « ADMINISTRATION DES
SYSTÈMES »
SUJET N° 1
112
Vous pouvez faire les hypothèses techniques qui vous semblent appropriées. Vous devrez les indiquer.
Tous les choix doivent être justifiés
Le Sénat dispose de deux salles informatiques dont l'une est équipée avec l'ensemble des serveurs et
la seconde, plus récente, n'est pour le moment connectée qu'à l'infrastructure réseau. Le Sénat
pouvant être amené à siéger tous les jours de la semaine, en journée et la nuit, il existe une
contrainte de disponibilité forte. Pour certaines applications, la Direction des Systèmes
d’Information (DSI) doit donc assurer un service sans interruption même en cas de problème ou de
sinistre (énergétique / matériel / réseau / système / logiciel / sanitaire /...) et souhaite utiliser les
deux salles. Les applications concernées s'appuient sur une solution de virtualisation. Elles sont
multi-tiers (avec ou sans base de données) et proposent aux utilisateurs des services Web
accessibles en HTTPS.
Questions :
- Quelle est la différence entre un PCA et un PRA ? Qu'évoquent pour vous les termes de RPO
(ou PDMA) et de RTO (ou DMIA) ?
- Que faut-il mettre en œuvre pour assurer cette continuité de service ?
113
ÉPREUVE ORALE PORTANT SUR DES
CONNAISSANCES TECHNIQUES
PROFIL « ADMINISTRATION DES
SYSTÈMES »
SUJET N° 2
114
Vous pouvez faire les hypothèses techniques qui vous semblent appropriées. Vous devrez les indiquer.
Tous les choix doivent être justifiés
Le Sénat dispose d'une solution de stockage centralisé en iSCSI utilisée avec son infrastructure de
virtualisation. La solution matérielle est aujourd'hui abandonnée par son éditeur/constructeur. Il est
donc nécessaire de réfléchir à son remplacement, en utilisant ou non la même technologie.
Le commercial de l'éditeur/constructeur nous présente sa nouvelle solution à base d'hyper-
convergence. Par ailleurs, au cours des prochaines années, le Sénat envisage de virtualiser son parc
de 1200 postes de travail.
Questions :
- Présentez succinctement les technologies de stockage adaptées à la virtualisation de serveurs.
- L'hyper-convergence serait-elle adaptée au projet de virtualisation des postes de travail ?
115
ÉPREUVE ORALE PORTANT SUR DES
CONNAISSANCES TECHNIQUES
PROFIL « ADMINISTRATION DES
SYSTÈMES »
SUJET N° 3
116
Vous pouvez faire les hypothèses techniques qui vous semblent appropriées. Vous devrez les indiquer.
Tous les choix doivent être justifiés
Le Sénat met à disposition de ses utilisateurs internes plusieurs applications accessibles depuis
Internet : webmail, gestion d'agendas, accès à certaines applications métiers. Il n'est pas possible de
mettre à jour certaines de ces applications et pour d'autres la gestion des droits est très complexe. Il
est envisagé la mise en place d'un VPN, mais la très grande majorité des utilisateurs n'a pas de profil
technique, peu ont un mot de passe complexe, et aucun n’utiliserait un ordinateur fourni par le Sénat
pour cet accès VPN.
Questions :
- Qu'est-ce qu'un VPN ? Décrivez plusieurs technologies de VPN.
- Quelle technologie choisissez-vous ? Quelles nouvelles contraintes cela impose-t-il ?
117
ÉPREUVE ORALE PORTANT SUR DES
CONNAISSANCES TECHNIQUES
PROFIL « DEVELOPPEMENT »
SUJET N° 1
118
Le Sénat produit trois types de comptes rendus des débats en utilisant le traitement de texte
Microsoft Word :
- le compte rendu intégral de la séance publique (CRI), qui est un verbatim (compte rendu en termes
exacts) de ce qui se dit en séance publique ;
- le compte rendu analytique (CRA) qui est un compte rendu résumé de ce qui se dit en séance
publique ;
- le compte rendu détaillé des commissions (CRED).
Ces trois types de compte rendu sont publics et font l’objet d’une publication HTML sur le site web
du Sénat, ainsi qu’en open data sur une plateforme dédiée.
Chaque type de compte rendu est réalisé à partir de développements de macros sous Word, mal
documentées et mal maintenues par la Direction des Systèmes d’Information (DSI) du Sénat. Les
utilisateurs souhaiteraient des évolutions :
- les rédacteurs du CRA souhaiteraient que leur travail soit mieux inséré dans le site web du Sénat
(accès à partir des fiches biographiques des sénateurs, accès à partir des textes en cours de
discussion,…), mais leur compte rendu, en Word, ne permet pas de faire le lien avec diverses
données du SI qui servent à générer ces accès sur le site Internet ;
- les rédacteurs du CRED sont très attachés à la convivialité et à la facilité d’utilisation de Word et
craignent que tout changement de leur outil conduise à rendre plus difficile leur travail. Par ailleurs,
férus de nouvelles technologies, ils se demandent s’il ne serait pas possible, compte tenu des
progrès récents, d’utiliser des techniques de transcription automatique de la parole pour les aider ;
- les sénateurs trouvent que leurs interventions ne sont pas suffisamment mises en valeur et
souhaiteraient que leurs propos soient regroupés de manière intelligible sur la notice biographique
de chacun.
La DSI, en raison de ses effectifs réduits, a du mal à maintenir trois produits différents. Elle
constate, par ailleurs, que les rédacteurs sont amenés à changer de rôle (rédacteur du CRI puis du
CRED par exemple) en cours de carrière, et sont perdus lorsqu’ils passent d’un outil de rédaction à
un autre. C’est pourquoi, elle souhaiterait remplacer les trois outils de compte rendu par un seul
produit en l’inscrivant dans sa stratégie d’abandon de Word au profit d’outils permettant de produire
des données structurées.
Vous êtes chargé de mener à bien ce projet : comment l’abordez-vous ? Quels en sont les
points clefs ? Quelles étapes et quelle organisation du projet souhaiteriez-vous mettre en
place ?
119
ÉPREUVE ORALE PORTANT SUR DES
CONNAISSANCES TECHNIQUES
PROFIL « DEVELOPPEMENT »
SUJET N° 2
120
À l’occasion de la refonte de son site internet, le Sénat souhaite rénover le moteur de recherche de
ce dernier.
Ce moteur a été mis en place il y a quinze ans. Le cœur de ce moteur a été développé par un petit
éditeur logiciel français. Le Sénat a développé autour, en Java, de nombreuses interfaces avec ses
bases de données documentaires afin de donner accès à l’ensemble de leur contenu public. Cette
brique logicielle est aussi utilisée dans des développements internes au Sénat pour des applications
dont les données ne sont pas publiques. L’interface utilisateur pour effectuer les recherches est
également un développement spécifique en Java.
Serveur web du Sénat et moteur de recherche sont hébergés sur les infrastructures techniques du
Sénat. Lors de la refonte, la Direction des Systèmes d’Information (DSI) s’interroge sur l’intérêt et
la possibilité d’une externalisation partielle ou totale de ces infrastructures.
Lors d’un contact commercial avec l’éditeur, la DSI comprend que la recherche documentaire n’est
plus vraiment la priorité de ce dernier qui s’oriente plutôt vers tout ce qui tourne autour du « Big-
Data ». Par ailleurs, l’Assemblée nationale nous fait part de ses projets d’externaliser son propre
moteur de recherche vers un fournisseur de solution en mode SaaS, solution moins précise en
termes de pertinence mais indexant beaucoup plus rapidement et permettant de mettre en place des
alertes en temps réel (le fait de pouvoir enregistrer une recherche et d’être prévenu par mail lors de
la publication d’un nouveau document qui correspond à la recherche). Des chercheurs auditionnés
par le Sénat ont fait état de leurs travaux permettant d’améliorer les recherches documentaires par
de l’IA. Les informaticiens de la DSI avouent ne pas être très au courant des derniers
développements en matière de recherche documentaire.
Beaucoup d’utilisateurs internes nous font savoir qu’ils utilisent plus volontiers Google pour
trouver des informations. Nos bases documentaires publiant systématiquement leurs informations
sur le site web du Sénat, toutes les informations sont bien indexées par Google. A contrario, la
Direction de la Bibliothèque et des Archives nous précise qu’elle tient absolument à notre approche,
qui à la différence de Google, regroupe dans les résultats de recherche les documents qui sont
structurellement liés (par exemple, les différentes versions d’un texte au cours de la navette entre
l’Assemblée nationale et le Sénat).
La Cellule Internet qui gère le site nous fait savoir que plusieurs internautes se plaignent de ne pas
trouver par le moteur les pages les plus importantes du site web. Aucune statistique globale
d’utilisation du moteur n’est disponible.
La Direction de la Législation et du Contrôle nous fait savoir qu’elle regrette le manque de visibilité
des travaux parlementaires du Sénat.
Vous êtes chargé de mener à bien ce projet, comment l’abordez-vous ? Quels en sont les points
clefs ? Quelles étapes et quelle organisation du projet souhaiteriez-vous mettre en place ?
121
ÉPREUVE ORALE PORTANT SUR DES
CONNAISSANCES TECHNIQUES
PROFIL « DEVELOPPEMENT »
SUJET N° 3
122
Au sein de la Direction des Affaires financières et sociales (DAFS) du Sénat, deux divisions sont
chargées des prestations sociales.
• La Division de la protection sociale (DPS) assure la gestion du Régime autonome de
sécurité sociale du Sénat et liquide les prestations familiales versées aux sénateurs et aux
fonctionnaires.
• La Division du budget et de la paie (DBP) liquide les prestations familiales versées aux
contractuels qui sont par ailleurs affiliés au régime général.
Les prestations familiales sont gérées dans le progiciel de gestion RH/Paie « HRAccess » installé
dans les locaux de la Direction des Systèmes d’Information (DSI) du Sénat et dont le paramétrage
est assuré par cette direction.
Les prestations assurance-maladie sont gérées dans le progiciel ESQUIF hébergé sur un site distant
et sous contrat d’infogérance.
Chaque année, au début du mois d’octobre, la DAFS adresse une « déclaration sur l’honneur » à
l’ensemble des sénateurs et des personnels pour actualiser leur situation. Il s’agit d’un formulaire
papier permettant de recueillir diverses informations personnelles et confidentielles - concernant les
enfants et les conjoints - nécessaires à la liquidation des prestations familiales dans HRAccess et à
la mise à jour du dossier des assurés dans ESQUIF. Les assurés retournent le formulaire signé,
accompagné des pièces justificatives utiles.
À leur réception par la DAFS, les formulaires des contractuels sont remis à la DBP tandis que les
autres sont remis à la DPS. La DPS contrôle le formulaire et les pièces jointes, met à jour les
données ESQUIF puis les données HRAccess. La DBP contrôle le formulaire et les pièces jointes
puis met à jour les données HRAccess.
C’est pourquoi la DAFS souhaite dématérialiser les déclarations sur l’honneur. Un formulaire en
ligne serait ouvert à destination des sénateurs et des personnels pour établir leur déclaration sur
l’honneur et déposer leurs pièces justificatives sous forme numérique. Les données collectées
seraient accessibles à la DAFS pour validation et une interface est envisagée vers le progiciel
HRAccess pour une mise à jour automatique des données.
L’Assemblée nationale a mis en place un module ESQUIF pour des déclarations dématérialisées. Si
ce système convenait à la DPS, il ne couvrirait en revanche pas tous les besoins de la DBP pour qui
l’interface vers le système RH/Paie est un point important du projet.
Vous êtes chargé de mener à bien ce projet : comment l’abordez-vous ? Quels en sont les
points clefs ? Quelles étapes et quelle organisation du projet souhaiteriez-vous mettre en
place ?
123