Vous êtes sur la page 1sur 11

Sécurité SAP

1. Qu’est-ce que la sécurité SAP ?

La sécurité SAP est un moyen de protéger les données et les systèmes de l’entreprise en
surveillant et en contrôlant les accès à la fois en interne et en externe. Les systèmes SAP sont
des logiciels ERP largement utilisés par toutes sortes d’entreprises et dans divers secteurs.

La sécurité SAP comporte divers aspects, tels que la sécurité de l’infrastructure, du réseau, du
système d’exploitation et de la base de données. Le niveau suivant est le code sécurisé, qui
concerne le maintien du code SAP et de la sécurité par le biais d’un code personnalisé.

Une configuration sécurisée des serveurs SAP est essentielle pour protéger les données
privées de l’entreprise et les maintenir hors de portée des cybercriminels. Elle concerne la
configuration sécurisée d’un serveur, l’activation de la journalisation de la sécurité, la sécurité
en termes de communication système ainsi que la sécurité des données. Les utilisateurs et les
autorisations sont également surveillés et suivis de manière critique.

2. Les éléments constituant la sécurité SAP

Compte tenu de la nature complexe et interconnectée des systèmes SAP, le maintien de la


sécurité de ces derniers s’avère être une tâche compliquée. Concernant la sécurité SAP, voici
un aperçu des différents aspects impliqués :

 Sécurité des infrastructures


 Sécurité Internet
 Sécurité du système d’exploitation
 Sécurité de la base de données
 Sécurité du code
 Configuration d’un serveur
 Activation de la journalisation de sécurité
 Communication système

Lorsque ces éléments sont correctement déployés, il est facile de maintenir la conformité du
système à l’aide d’une surveillance continue, d’audits et de la mise en place de stratégies
d’urgence.
3. Comment fonctionne la sécurité SAP ?

Etant donné que les systèmes SAP connectent différents départements et programmes pour
gérer l’entreprise de manière fluide, ils sont incroyablement compliqués. Ainsi, comme ils
sont complexes et uniques par nature, il est donc plus difficile de développer des mesures de
cybersécurité appropriées.

Au sein de la sécurité SAP, plusieurs mesures peuvent être prise pour empêcher les attaques :

3.1. Rôles et autorisations


SAP délivre les autorisations nécessaires de manière standard. Les concepts d’autorisations
liés au client sont configurés dans SAP, permettant ainsi d’attribuer les autorisations les plus
importantes. L’attribution des combinaisons d’autorisations (séparation des tâches,
SOD/Segregation of Duties) est cruciale.

L’attribution de combinaisons d’autorisations critiques doit être évitée et utilisée ou bien


attribuée uniquement dans des cas exceptionnels, comme dans le cas des comptes de type
firefighter. Un autre aspect complexe de la sécurité SAP est que les autorisations et les rôles
peuvent être modifiés dans SAP par des moyens standards propres à l’ERP.

Par conséquent, l’examen des autorisations et des combinaisons d’autorisations nécessaires


est d’une importance cruciale et représente un défi important pour les entreprises. De plus,
l’examen continu et automatisé des autorisations SAP est lui aussi d’une importance
essentielle.

Ces contrôles utilisent un catalogue de tests. Créer ce dernier de zéro demande beaucoup
d’efforts et est utile non seulement pour les autorisations au niveau de SAP Basis, mais
également pour les processus métier. Par exemple, si le principe des 4-6 yeux est entravé par
l’attribution des autorisations et des combinaisons d’autorisations nécessaires, alors dans ce
cas précis, il existe un réel risque d’exploitation ou de fraude.

Les contrôles SOD sont idéalement effectués non seulement en fonction des rôles SAP, mais
également en fonction des utilisateurs qui pourraient violer un soi-disant conflit SOD en
attribuant plusieurs rôles. En plus de l’évaluation des utilisateurs, il est essentiel de savoir au
final quels sont les rôles à l’origine de ce conflit de combinaisons. La transaction SAP SUIM
et son API permettent de contrôler des combinaisons d’autorisations critiques.
3.2. Gestion des correctifs
SAP est de plus en plus concerné par des failles de sécurité. Les menaces qui sont
actuellement traitées au niveau de la cybersécurité traditionnelle existent également au niveau
des systèmes SAP. Des publications régulières sont faites sous le nom de SAP Security Notes,
cependant, le défi pour les entreprises est de maintenir les systèmes SAP à jour et d’installer
les correctifs de manière systématique.

Par conséquent, de nombreux systèmes SAP peuvent ne pas être corrigés pendant une période
assez longue et présentent donc de graves failles de sécurité. Pour aggraver la situation, avec
la sortie des nouveaux correctifs, des informations sont publiées sur la localisation des
vulnérabilités et la manière avec laquelle elles peuvent être exploitées. Ainsi, non seulement
les correctifs sont essentiels, mais la détection des vulnérabilités exploitées, aussi appelées
exploits zero-day, l’est également.

3.3. Surveillance des transactions

SAP propose un grand nombre de transactions critiques et de modules fonctionnels qui sont
même disponibles à distance. Il est possible de créer des comptes via l’API du système SAP,
de les doter d’autorisations, puis de les utiliser à distance. D’autres blocs de construction et
modules fonctionnels peuvent ensuite charger ou modifier des données à partir du système
SAP.

Là encore, l’attribution des autorisations joue un rôle, car elle restreint l’utilisation des
transactions. Il est également crucial de surveiller en continu, et quasiment en temps réel,
l’exécution des transactions, les modules RFC ou les rapports SAP. L’accès aux systèmes
SAP depuis l’extérieur, via les interfaces d’un système SAP, par exemple via l’interface RFC,
doit également être surveillé.

3.4. Sécurité du code SAP

La sécurité du code est également un élément essentiel de la sécurité SAP. Dans les systèmes
SAP, il revient souvent aux développeurs d’assurer la sécurité du code ABAP. Le codage est
assemblé dans les transports et est transféré depuis les systèmes de développement vers ceux
de production, souvent sans un examen suffisant du codage.

De plus, SAP offre aux attaquants des options intéressantes pour l’injection de code, car le
codage peut même être généré et exécuté au moment de l’exécution (runtime). La
manipulation de transports importants et urgents n’est qu’un moyen d’acheminer dans un
système SAP des programmes malveillants non détectés au préalable. SAP fournit un
inspecteur de code, avec des modules tels que le Code Vulnerability Analyzer (l’analyseur de
vulnérabilité de code), pour vérifier ce dernier.

3.5. Les paramètres du système


Les paramètres système sont la base de la sécurité SAP et les options au niveau des paramètres des
systèmes SAP sont nombreuses. Le paramétrage est effectué au niveau de la base de données par des
transactions SAP également appelées SAP Profile Parameters, qui sont stockées dans des fichiers. Le
déploiement d’un système SAP doit se conformer à un ensemble de règles concernant les paramètres
système, qui se trouvent dans un manuel d’utilisation SAP Basis.

3.6. Configuration RFC


La passerelle (Gateway) RFC peut être décrite comme le pare-feu interne de SAP et doit être
configurée avec précision (RegInfo, SecInfo), afin d’éviter un accès distant non autorisé depuis les
systèmes et les applications.

Les recommandations en matière de bonnes pratiques SAP, ou celles émanant de groupes


d’utilisateurs SAP tels que DSAG, contiennent des paramètres et des catalogues de test éprouvés et
axés sur la sécurité.

4. La sécurité SAP et la lecture des logs d’accès

La sécurité SAP couvre également un ensemble de logs de sécurité. Ces derniers doivent être
activés et contrôlés en parallèle.

Les logs les plus critiques sont les logs d’audit de la sécurité SAP (SAP Security Audit Log –
SM20), qui contiennent un ensemble d’événements pertinents pour la sécurité et l’audit. Les
logs de modification (Change Logs – SCU3) des tables de base de données sont disponibles,
ainsi que les documents dits de modification (Change Documents) des utilisateurs et des
objets métier (SCDO). Le log de la passerelle SAP RFC SMGW transporte les logs de la
passerelle RFC, ceux de SAP Internet Communication Manager ainsi que le répartiteur Web.

Le log d’accès en lecture SAP (SAP Read Access Log) stocke l’accès en lecture et en écriture
à des champs de transactions spécifiques, à des rapports ou programmes. Cette option permet
de fournir un élément essentiel pour répondre aux exigences du règlement de l’UE sur la
protection des données (RGPD ou DS-GVO), à savoir la journalisation de l’accès aux
données personnelles
Le log d’accès en lecture SAP (SAP Read Access Log) stocke l’accès en lecture et en écriture
à des champs de transactions spécifiques, à des rapports ou programmes. Cette option permet
de fournir un élément essentiel pour répondre aux exigences du règlement de l’UE sur la
protection des données (RGPD ou DS-GVO), à savoir la journalisation de l’accès aux
données personnelles

4.1. Sécurité SAP : les meilleures pratiques

Avec tant de risques et tant d’éléments à organiser, il peut être difficile de mettre en œuvre un
plan. Voici donc une checklist rapide et simple pour vous aider à vous lancer si vous cherchez
à améliorer votre sécurité SAP.

Pour assurer la sécurité de vos données, vous devez effectuer un certain nombre d’évaluations
différentes :

 Évaluation interne du contrôle d’accès


 Évaluation de la procédure de changement et de transport
 Évaluation des paramètres réseau et de l’architecture du paysage
 Évaluation de la sécurité du système d’exploitation
 Évaluation de la sécurité du SGBD (DBMS)
 Évaluation de la sécurité SAP NetWeaver
 Évaluation de divers composants SAP (comme SAP Gateway, SAP Messenger Server,
SAP Portal, SAP Router, SAP GUI)
 Évaluation de la conformité aux normes SAP, ISACA, DSAG, OWASP

Après avoir effectué ces évaluations, vous devrez encore franchir d’autres étapes. Avec un
plan en place, vous serez sans aucun doute en avance sur la plupart des entreprises et des
cybercriminels. Voici un processus simple en 4 étapes pour vous aider à démarrer et à
surveiller votre sécurité SAP :

1. Ayez des paramètres cohérents : assurez-vous que vos paramètres soient tous
configurés pour être en phase avec votre structure organisationnelle. Vous devez
également former vos équipes et vérifier que toutes les mesures de sécurité en place
soient respectées.
2. Créez des procédures d’urgence : En cas d’urgence, vous devez avoir un plan en
place pour y faire face rapidement et efficacement. Vous devez notamment être sûr
que vos administrateurs réseau puissent facilement révoquer l’accès et les privilèges
selon les besoins.
3. Nettoyez et vérifiez : Ensuite, vous devez toujours surveiller vos systèmes SAP.
Assurez-vous également que la liste des autorisations soit mise à jour régulièrement,
en particulier lorsque vous avez de nouvelles recrues ou que des employés changent de
rôle.
4. Utilisez des outils de sécurité : Enfin, il est crucial d’avoir les bons outils de sécurité
en place pour pouvoir observer ce qui se passe et détecter toute activité suspecte. De
cette façon, vous pourrez plus facilement empêcher qu’une cyberattaque ou qu’une
violation de données n’ait lieu.

Langage de programmation SAP

1. ABAP (Advanced Business Application Programming)

ABAP est un langage de programmation qui s'exécute dans l'environnement d'exécution SAP
ABAP, créé et utilisé par SAP pour le développement de programmes d'application,
notamment :

 Rapports
 Programmation de pool de modules
 Interfaces
 Formulaires
 Conversions de données
 Exits utilisateur

Toutes les applications de R/3 et même certaines parties de son système de base ont été
développées en ABAP.

ABAP est un langage de programmation piloté par les événements. Les actions de l'utilisateur
et les événements du système contrôlent l'exécution d'une application.

ABAP est également appelé ABAP/4. Le "4" dans ABAP/4 signifie "langage de quatrième
génération" ou 4G.
2. ABAP Workbench

L'ABAP Workbench est utilisé par SAP pour le développement de logiciels d'application
standard et personnalisés. L'ABAP Workbench est également utilisé pour créer des objets de
dictionnaire. Il se compose des éléments suivants :

 L'éditeur ABAP est utilisé pour gérer les programmes.


 ABAP Dictionary est utilisé pour gérer les objets du dictionnaire.
 Repository Browser est utilisé pour afficher une structure hiérarchique des
composants dans un package.
 Menu Painter est utilisé pour développer des interfaces utilisateur graphiques, y
compris des barres de menu et des barres d'outils.
 Screen Painter est utilisé pour gérer les composants d'écran pour les programmes en
ligne.
 Repository Information System contient des informations sur les objets de
développement et d'exécution, tels que les modèles de données, les types de
dictionnaires et les structures de tables, les programmes et les fonctions.
 Outils de test et d'analyse, tels que le Contrôle syntaxique et le Débogueur.
 Function Builder, qui permet de créer et de gérer des groupes de fonctions et des
modules de fonctions.
 Data Modeler, un outil qui prend en charge la modélisation graphique.
 Workbench Organizer, qui maintient plusieurs projets de développement et gère leur
distribution.
3. Rapports

Les programmes de rapports produisent des listes et peuvent être divisés en rapports
classiques et rapports interactifs.

 Les rapports classiques ne permettent pas d'interaction avec l'utilisateur ; par


conséquent, la liste de base contient de nombreuses informations que l'utilisateur doit
souvent trier pour trouver les données pertinentes.
 Les rapports interactifs permettent l'interaction de l'utilisateur ; par conséquent,
l'utilisateur peut produire des listes secondaires détaillées de la liste de base en
choisissant les données pertinentes et en demandant plus d'informations.
 SAP Query ou Ad-hoc Query ou InfoSet Query est un outil qui permet à l'utilisateur
final de concevoir différentes requêtes basées sur différents paramètres d'entrée et de
sortie dans le système SAP en fonction des besoins. Il s'agit de l'un des outils de
reporting les plus utilisés dans le module RH pour extraire des données des bases de
données relationnelles. InfoSet Query est adapté à la création de rapports dans tous les
domaines du système SAP R/3.

Ad-Hoc query fournit trois différents types de rapports :

 Basic List - Rapports simples.


 Statistics - Rapports avec des fonctions statistiques telles que la moyenne, le
pourcentage, etc.
 Ranked List - Pour les rapports analytiques.

Le code de transaction utilisé pour accéder aux requêtes ad hoc est le suivant :

 SQ01 - Gérer les requêtes


 SQ02 - Afficher l'InfoSet
 SQ03 - Gestion des groupes d'utilisateurs

4. Saisie des données

La base de données SAP doit être remplie avant que les utilisateurs finaux puissent
commencer à travailler sur le processus de gestion à des fins d'analyse et de reporting.
Différentes méthodes sont utilisées pour transférer les données dans le système à différentes
étapes, en fonction de la complexité et du volume de données à transférer.
Les données peuvent être transférées de SAP à SAP ou de SAP à des systèmes non-SAP
(système hérité). Les données peuvent également être transférées par le biais de saisies
manuelles. Les outils utilisés pour le transfert de données sont les suivants :

- BDC (Batch Data Communication)

- IDOC (Intermediate Document)

- LSMW (Legacy System Migration Workbench).

- Interfaces par téléchargement de fichiers .txt ou Excel contenant des données.

- Saisie manuelle des données à l'aide de codes de transaction

5. Saisie des données

SAP génère une grande variété de documents tels que des commandes d'achat, des
commandes de vente, des factures, des bulletins de paie, etc. Vous pouvez imprimer ces
documents à tout moment. L'illustration suivante montre comment le processus d'impression
fonctionne dans un système SAP.

Différents types de méthodes d'impression sont nécessaires dans un système SAP,


notamment :

 L'impression locale
 L'impression à distance (réseau)
 Impression frontale (SAP GUI pour Windows)
 Impression frontale (SAP GUI pour HTML)
Un
e

fois que l'utilisateur a déclenché le processus d'impression, les demandes d'impression sont
envoyées au serveur spool, qui contient les processus de dialogue et de travail spool
nécessaires au traitement.

6. Programmation générale

Les programmes peuvent être écrits de manière interactive en utilisant les capacités du
système R/3. Les programmes peuvent être exécutés à la fois en ligne et en arrière-plan. Les
travaux en arrière-plan peuvent également être planifiés pour être exécutés à des intervalles
spécifiques.
 Module pool programming (ou programmation en ligne) implique la création d'un
pool de modules (une collection de modules ABAP) et d'un ou plusieurs écrans. Les
modules sont appelés par le processeur d'écran pendant l'exécution du programme.
 Le traitement par lot est utilisé pour assurer le transfert sécurisé des données dans le
système SAP. Ce processus est un transfert de données automatique et protégé vers le
système SAP qui utilise les transactions SAP pour valider les données à mesure
qu'elles alimentent la base de données SAP.
 ABAP contient des instructions conformes aux normes CPI-C (Common Program
Interface - Communications). Elles sont utilisées pour la programmation de
programmes de communication.
 ABAP peut lire et écrire des ensembles de données séquentielles.

Vous aimerez peut-être aussi