In SAP esistono oggetti autorizzativi che, se assegnati senza controllo agli utenti finali, aprono la porta a rischi gravi: dalla possibilità di bypassare qualsiasi controllo di sicurezza, alla modifica diretta di dati in tabella, fino all'esfiltrazione non autorizzata di informazioni verso l'esterno. Questi oggetti vengono definiti critici e la loro gestione richiede regole precise e non derogabili.
Non esiste un elenco ufficiale e vincolante pubblicato da SAP, ma la letteratura ufficiale (ad esempio la SAP Security Baseline Template) e i corsi SAP (in particolare ADM940 e ADM950) forniscono un riferimento consolidato. A partire dalla release SAP_BASIS 7.55, SAP ha inoltre introdotto un attributo esplicito di "criticità" direttamente nell'anagrafica degli oggetti autorizzativi, tramite la revisione della transazione SU21 (nota OSS 2986858).
Regola generale: gli oggetti autorizzativi critici devono essere riservati esclusivamente agli amministratori di sistema. Nessun utente finale dovrebbe averli nelle proprie autorizzazioni in produzione.
La novità dalla release SAP_BASIS 7.55: l'attributo di criticità in SU21
Con la nota OSS 2986858, SAP ha completamente rivisto la transazione SU21, lo strumento per ricercare e gestire gli oggetti di autorizzazione, introducendo un attributo specifico chiamato "Criticality" (criticità) nell'anagrafica di ciascun oggetto autorizzativo. Questo valore è reperibile nella tabella TOBJVORFLG, campo FLAG3 = C.
L'effetto pratico di questo attributo è importante: se un oggetto autorizzativo viene marcato come critico, non è possibile disattivarne il controllo nelle transazioni SU22 e SU24. In altri termini, SAP impedisce esplicitamente che questi oggetti vengano esclusi dai controlli autorizzativi, confermando così la loro natura critica a livello di sistema.
Rientrano automaticamente nella categoria critica tutti gli oggetti della classe Basis (pattern S_*) e tutti gli oggetti HCM (pattern P_* e oggetto PLOG).
Anche gli oggetti di avvio: S_TCODE, S_SERVICE, S_RFC e S_START sono considerati critici: assegnare un asterisco (*) come valore in questi oggetti equivale a non avere nessun controllo di accesso, in particolare per le utenze personali.
Principali oggetti autorizzativi critici SAP per categoria
Di seguito le categorie più rilevanti, con i relativi oggetti autorizzativi e le indicazioni operative. L'elenco non è esaustivo, ma copre le aree di rischio più frequenti.
Sviluppi in SAP
È l'oggetto autorizzativo più critico dell'intero sistema: consente di creare, modificare ed eseguire programmi ABAP, bypassando di fatto qualsiasi altro controllo autorizzativo.
S_DEVELOP— ABAP Workbench
Indicazione operativa: non deve essere assegnato ad alcun utente nel sistema produttivo con attività operative. La sua presenza in produzione è ammessa solo per profili tecnici dedicati e strettamente controllati.
Esecuzione di programmi
Ogni transazione o applicazione SAP richiama un programma sottostante. Gli oggetti seguenti consentono l'esecuzione diretta di programmi, ad esempio tramite le transazioni SA38 o SE38.
S_PROGRAM— ABAP: Program Flow ChecksS_PROGNAM— Generic Program Start
Indicazione operativa: non devono essere assegnati con il campo gruppo programmi valorizzato ad asterisco (*).
Consultazione e modifica di dati in tabella
Questa famiglia di oggetti (S_TABU*) consente l'accesso diretto alle tabelle del sistema, con possibilità di lettura e modifica dei dati. È una delle aree di rischio più rilevanti per la sicurezza e la conformità.
S_TABU_CLI— Cross-Client Table MaintenanceS_TABU_DIS— Table Maintenance (es. tramite SM30)S_TABU_LIN— Authorization for Organizational UnitS_TABU_NAM— Table Access by Generic Standard ToolsS_TABU_RFC— Client Comparison and Copy: Data Export with RFCS_TABU_SQL— SQL Command Editor
Indicazione operativa: non devono essere assegnati con il campo gruppo tabelle o tabella valorizzato ad asterisco (*). Per un approfondimento dedicato: S_TABU_NAM e S_TABU_DIS in SAP.
Chiamate RFC dall'esterno
Questo oggetto autorizzativo governa le chiamate remote al sistema SAP tramite RFC (Remote Function Call). Una gestione non corretta apre canali di esfiltrazione dati verso l'esterno.
S_RFC— Authorization Check for RFC Access
Indicazione operativa: non deve essere assegnato con il campo gruppo funzioni valorizzato ad asterisco (*).
Gestione delle query
Le query SAP consentono l'estrazione di dati in modo flessibile e, se non governate, possono diventare un canale di accesso non controllato a informazioni sensibili.
S_QUERY— SAP Query Authorization
Indicazione operativa: per un approfondimento completo sulla gestione sicura delle query consulta: SAP Query Security.
Gestione dei job in background
I job SAP sono programmi pianificati in modo ricorrente per svolgere attività automatiche: fatturazione, generazione di report, elaborazioni batch. Gli oggetti di questa famiglia consentono di creare, modificare, rilasciare e monitorare questi processi.
S_BTCH_ADM— Background AdministratorS_BTCH_API— Special Authorizations for APIS_BTCH_EXT— External SchedulerS_BTCH_JOB— Operations on Background JobsS_BTCH_NA1— Batch Processing: User Name and ProgramS_BTCH_NAM— Background User NameS_BTCH_TMP— Operations on Job Templates
Indicazione operativa: solo gli utenti che gestiscono i job devono avere questi oggetti. Nessun utente finale ne ha necessità, con un'unica eccezione: S_BTCH_JOB con valore RELE può essere assegnato agli utenti finali se si vuole consentire loro di rilasciare immediatamente i propri job senza l'intervento di un amministratore.
Autorizzazioni di amministrazione del sistema
L'oggetto S_ADMI_FCD raccoglie le autorizzazioni tipiche degli amministratori di sistema. Nessun utente finale ha necessità operativa di averlo assegnato. I valori dell'oggetto coprono un'ampia gamma di funzioni amministrative, tra cui:
SM21— Analisi del System LogST22— Cross-Client Dump AnalysisPADM— Amministrazione dei processi (SM04, SM50)T000— Creazione di nuovi clientTLCK— Lock/unlock delle transazioniUADM— Update AdministrationDBA— Database AdministrationRFCA— RFC Administration (SM59)ICFA— ICF Administration (SICF)HMAC/HMAD— Security Audit Log: generazione e download HMACSPAD/SP01— Spool AdministrationSQMA/SQMD— SQL Monitor Administration- e molti altri valori relativi a gestione buffer, tracce, lingue, memoria e strumenti di sistema
Indicazione operativa: questo oggetto deve essere riservato esclusivamente ai profili di amministrazione del sistema. Assegnarlo a utenti funzionali o finali costituisce una delle vulnerabilità più comuni rilevate negli audit SAP.
Come gestire gli oggetti autorizzativi critici in produzione
La gestione degli oggetti autorizzativi critici non è un'attività una tantum: richiede un approccio strutturato e continuativo. Alcuni principi operativi fondamentali:
- Revisione periodica delle assegnazioni. Verificare regolarmente che nessun utente finale abbia accesso a oggetti critici in produzione, anche a seguito di modifiche ai ruoli o di aggiunte temporanee mai rimosse.
- Nessun asterisco nei campi chiave. Assegnare un valore generico (
*) nei campi di oggetti comeS_RFC,S_TABU_DIS,S_PROGRAMequivale a non avere nessun controllo. Ogni campo va valorizzato in modo specifico. - Segregazione tra ambiente di sviluppo e produzione. Oggetti come
S_DEVELOPpossono essere presenti in ambienti di sviluppo o test, ma devono essere assenti o strettamente limitati in produzione. - Monitoraggio tramite Security Audit Log. L'utilizzo di oggetti critici deve essere tracciato. Il Security Audit Log, se correttamente configurato, consente di rilevare utilizzi anomali o non autorizzati.
Domande frequenti sugli oggetti autorizzativi critici SAP
Esiste una lista ufficiale SAP degli oggetti autorizzativi critici?
Non esiste un elenco ufficiale e vincolante pubblicato da SAP. Il riferimento principale è la documentazione SAP e i corsi ufficiali ADM940 e ADM950. A partire dalla release SAP_BASIS 7.55, SAP ha introdotto un attributo di criticità nella transazione SU21 che segnala esplicitamente gli oggetti considerati critici, impedendone la disattivazione nei controlli.
Cosa significa che un oggetto autorizzativo SAP è "critico"?
Un oggetto marcato come critico in SAP non può essere disattivato nei controlli autorizzativi tramite le transazioni SU22 e SU24. In termini pratici, significa che SAP ne impone sempre la verifica a runtime, riconoscendone il potenziale impatto sulla sicurezza del sistema.
Qual è l'oggetto autorizzativo più critico in SAP?
S_DEVELOP (o S_DBG) è generalmente considerato l'oggetto più critico: consente di creare e modificare programmi ABAP, bypassando di fatto qualsiasi altro controllo autorizzativo del sistema. Non deve essere presente in nessun profilo utente del sistema produttivo con attività operative.
Come si verifica se un utente SAP ha oggetti autorizzativi critici?
È possibile analizzare le autorizzazioni degli utenti tramite le transazioni standard SAP (SU01, SU10, report SUIM) filtrando per gli oggetti critici di interesse. Per un'analisi sistematica e continuativa su larga scala, è consigliabile l'utilizzo di strumenti dedicati di SAP Security o GRC (Governance, Risk and Compliance).
Un utente finale può avere S_DEVELOP in produzione?
No. S_DEVELOP non deve essere assegnato ad alcun utente finale nel sistema produttivo. La sua presenza costituisce una delle vulnerabilità più gravi che emergono durante gli audit SAP, poiché consente di modificare la logica applicativa del sistema senza vincoli autorizzativi.