Joven hacker sonriendo

Hackeamos su software

cero falsos positivos

Inteligencia experta + automatización eficaz

Establecer Control de Acceso a URL

Nuestros ethical hackers explican cómo evitar vulnerabilidades de seguridad mediante la programación segura en Java al establecer un control de acceso a URL. El control de acceso consta de un conjunto de reglas que definen la disponibilidad de los recursos para los usuarios de la aplicación.

Necesidad

Establecer control de acceso a URL mediante servidor de aplicaciones en Java

Contexto

A continuación se describen las circunstancias bajo las cuales la siguiente solución tiene sentido

  1. Se dispone de un servidor de aplicaciones conforme con las especificaciones empresariales de Java.

  2. Se han configurado los roles de seguridad necesarios por la aplicación en el servidor de aplicaciones.

  3. Se ha configurado la interfaz de autenticación para la aplicación web.

Solución

El control de acceso se define como un conjunto de reglas que, tal como su nombre lo indica, permite o rechaza el acceso a determinados componentes de un sistema. Para poder realizar dicho control, el usuario que solicita el acceso, por lo general, debe autenticarse ante el sistema para que este pueda identificar el rol que desempeña el usuario y así brindarle o negarle el acceso solicitado.

Por lo general, el control de acceso se hace con el fin de cumplir los siguientes objetivos:

Mantener la integridad de la información. Esto se refiere a que toda la información que se almacena sólo pueda ser modificada por las personas autorizadas.

Preservar la confidencialidad de la información. En este caso, se hace referencia a que la información confidencial únicamente pueda ser consultada o leída por los roles definidos para tal fin. Cualquier otro rol, no tendrá acceso a dicha información.

Mantener el control de acceso, es decir, tener siempre disponible información sobre quien y porque ha accedido a determinado recurso. Esto, con el fin de que, en caso de que suceda algún evento que comprometa la seguridad y la integridad de la información, saber quien, posiblemente, fue el responsable.

Entonces, para definir un control de acceso a urls mediante un servidor de aplicaciones en Java, se siguen los siguientes pasos:

  1. Dentro del archivo WEB-INF\web.xml de la aplicación web se deben configurar los roles requeridos en la aplicación.

    web.xml
    1
    2
    3
    4
    5
    6
     <security-role>
      <role-name>rol1</role-name>
    </security-role>
    <security-role>
      <role-name>rol2</role-name>
    </security-role>
    
  2. Posteriormente, se debe definir la restricción de seguridad para la dirección URL que se quiere proteger. Como es lógico esta URL solo puede ser accedida por determinados roles.

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
     <security-constraint>
      <display-name>Restricción de Seguridad 1</display-name>
      <web-resource-collection>
        <web-resource-name>Direcciones Protegidas</web-resource-name>
        <url-pattern>/restringido/*</url-pattern>
      </web-resource-collection>
      <auth-constraint>
        <role-name>rol1</role-name>
      </auth-constraint>
    </security-constraint>
    
  3. De esta forma, el acceso a todos los archivos contenidos en /restringido estará disponible solo a las personas que hayan sido autenticadas satisfactoriamente con los roles correspondientes, en este caso, rol1.




Haz un comentario

Estado de los servicios - Términos de Uso