Seguridad en SAP

Recientemente recibimos un curso de Seguridad en SAP durante el que se analizaron los aspectos más importantes en la seguridad de estos entornos y los errores más comunes que pueden encontrarse en una implantación SAP. SAP es un sistema de planificación de recursos empresariales o ERP que permiten, mediante módulos, la integración y control de todas las operaciones relacionadas con la compañía, y como podrán imaginarse una reducción de costes para ésta. Se compone de una serie de módulos que realizan una función en concreto, como la gestión de almacenes (WM), producción (PP-PI), gestión de calidad (QM), gestión de materiales (MM), etc. Cada uno de estos módulos proporcionan al entorno SAP un mayor número de funcionalidades. En esta entrada de Security Art Work se comentarán, de forma resumida, los procesos correctores más comunes en el ámbito de la seguridad dentro de un sistema de estas características.

Los aspectos más habituales de seguridad SAP se centran en la parametrización general del sistema, la configuración de transacciones incompatibles desde el punto de vista operativo en el entorno de los procesos de negocio, la segregación de funciones y la gestión de identificación y autenticación de usuarios. Pero antes de comenzar a tratar cada uno de los puntos expuestos con anterioridad, debemos presentar el concepto de mandante. Un mandante es un subsistema o unidad independiente dentro de un sistema SAP. Las acciones que se realizan dentro de cada mandante reciben el nombre de transacción. Éstas son órdenes que llaman a un programa escrito en ABAP, que a su vez realiza transacciones a través del core de SAP, consultando en la mayoría de los casos la base de datos.

Desde el punto de vista de seguridad, los mandantes deben estar cerrados y no permitir las modificaciones a objetos del repositorio y la parametrización no dependiente del mandante. Para ello hay que restringir las transacciones SE06 y SCC4 indicando que no son modificables, no se debe permitir la comparación de customizing ni admitir cambios no dependientes del mandante, se debe seleccionar el nivel 2 de protección e indicar que el rol del mandante es de tipo productivo. Otras transacciones críticas a tener en cuenta a la hora de restringir su acceso son la SV01 (gestión de usuarios), SN01 (transacciones que se pueden realizar) y SCC5 (borrar el mandante).

Los mandantes por defecto en todo sistema SAP son 000, 001 y 066. Si no existe usuario para estos mandantes se podrá acceder a este mediante el usuario SAP* y la contraseña PASS, de la misma forma que si existen los usuarios por defecto, estos serán SAP* y DDIC, con contraseña 06071992 y 19920706 respectivamente. Otros usuarios por defecto son SAPCPIC y EARLYWATCH (sólo mandante 066), todos ellos con permisos de administración. Por tanto es importante en toda implantación SAP -como en toda implantación a secas- cambiar las contraseñas por defecto de dichos usuarios mediante el report RSUSR003.

En el entorno SAP existen una serie de transacciones que deben ser limitadas, incluso impedir desde cualquier usuario su llamada, debido a los riesgos de seguridad que implican. Principalmente se trata de la SE11, SE16, SE30, SA38, SM30, SE16m y SM49, y debemos prestar especial atención a RSBDCOS0, SM38 (shell de sistema), SM49 (creación de órdenes del sistema) y SM59 (ejecución de órdenes en el sistema). Otro punto de control a tener en cuenta son aquellas transacciones desarrolladas a medida para la empresa por un equipo de desarrollo no perteneciente a SAP y que, por tanto, no han pasado por el equipo técnico de calidad de SAP. Estas transacciones se identifican por la primera letra del nombre de la transacción (letra Z o letra Y) y son las llamadas transacciones Z* o Y*. Deben cumplir con unos requerimientos mínimos de seguridad que limiten su ejecución a los usuarios autorizados para ello; estas restricciones específicas se conocen con el nombre de authority-check y sin ellas cualquier usuario con acceso a la transacción de lanzamiento SE38 o SA38 podría ejecutar dichas transacciones (existe el report RSRSCAN1 que permite comprobar si se están realizando los correspondientes comprobaciones de autorización).

Otro aspecto de seguridad en el ámbito de SAP es el relacionado con la gestión de usuarios; de entrada, no se debe permitir a un usuario saltar a otro mandante distinto al asignado, para lo que aquellos usuarios que se conecten de forma remota (ya sea mediante la interfaz Web o mediante el cliente R/3) deben de estar configurados como usuarios de fondo y NO como diálogo. De la misma forma, es recomendable la aplicación de políticas de seguridad que fuercen al uso de contraseñas seguras, por ejemplo empleando la transacción SM30 → USR40 para especificar, mediante expresiones regulares, qué contraseñas no son válidas y un diccionario de palabras no permitidas. Adicionalmente, mediante el uso del report RSPARAM, se pueden parametrizar aspectos como el número de logins incorrectos, longitud mínima de la contraseña, seguimiento de la inactividad, etc.

Finalmente, pero no por ello menos importante, debemos hablar de una segregación de funciones correcta en SAP, que no permita a un determinado usuario acceso a determinadas combinaciones de transacciones; para ayudar en esta segregación de funciones, SAP dispone del report RSVR008_009_NEW, que permite indicar las combinaciones críticas existentes en el sistema.

Seguiremos añadiendo algún post de este mundo -SAP- que hasta el curso que hemos comentado, desconocía por completo y que, una vez hemos comenzado a entrar en él, se adivina inmenso -y conflictivo- desde el punto de vista de su seguridad.

Comments

  1. Buen tema, sí señor. Pero también complejo, seguro que todo lo que escribáis será muy ilustrativo. Últimamente he visto varios trabajos en conferencias de hacking sobre seguridad en SAP, quizás podríais darles un poco de caña también. Slds!

  2. Felicidades por el post, en un tema tan extenso como el que tratas das directrices genéricas útiles.
    Gracias

  3. Saben si existe una recomendación de SAP, de poner más de un objeto de autorización a una transacción desarrollada.

  4. Muy buen Post. Alguna recomendación de reglas de segregación de funciones?

  5. Buenas, quisiera saber si al configurar una nomina internacional me puede afectar a la nomina ya existente (nacional). Las configuraciones estarían en diferentes mandantes pero compartirían el mismo servidor, por lo que, tengo la duda de como se comportarían los objetos (tablas, programas, etc) que son independientes de mandantes

Trackbacks

  1. […] This post was mentioned on Twitter by Security Art Work, Maite. Maite said: Seguridad en SAP http://bit.ly/dm97zC […]

  2. […] Seguridad en SAP Recientemente recibimos un curso de Seguridad en SAP durante el que se analizaron los aspectos más importantes en la seguridad de estos entornos y los errores más comunes que pueden encontrarse en una implantación SAP. […]