Seguridad en Web Service

Document Sample
Seguridad en Web Service Powered By Docstoc
					    Nicolás Guzmán
        Luis Ibarra
    Manuel Terraza
Juan Manuel Zavala
David Kouyoumdjian
   Durante el auge de Internet y entre un sin
    número de nuevas tecnologías creadas para
    mejorar los servicios es que encontramos un
    concepto llamado Web Service, según
    WebServices.org, Los WebServices se pueden
    entender como funciones encapsuladas,
    débilmente acopladas ofrecidas mediantes
    protocolos estándares.
   Un Web Services (WS) es una
    aplicación que puede ser
    descripta, publicada, localizada,
    e invocada a través de una red,
    generalmente Internet.

   Los WS son a los efectos del
    consumidor componentes que
    se encuentran dentro de una
    caja negra, que pueden ser
    utilizados sin preocuparse de
    cómo fueron implementados, y
    ser accedidos utilizando XML
    (SOAP), generalmente sobre
    HTTP.
   a. General: Investigar e implementar
    seguridad en Web Service.

   b. Específicos
        1. Comparar distintas metodologías de
    seguridad en WS.
        2. Investigación y e implementación de
    Web service mediante algún servidor.
   Para empezar a trabajar, primero se solicito
    una maquina virtual al departamento de
    informática de la UTFSM, para montar los
    servicios.
   Para la primera muestra del proyecto, se
    realizó lo siguiente:
   - Recopilación información
   - Montar Servidor
   - Crear Cliente
   Para montar el Servidor, se pidió por ticket, una
    maquina virtual en el DI para montar los servicios
    necesarios. Los servicios que se montaron fueron:
   - Apache
   - Tomcat
   - Axis 2
   En la maquina:
   - Ip: 204.87.169.19 (Ip publica)
   - Sistema operativo: Centos
   - Puerto 8080 habilitado
   Axis2 /Rampart
Axis2 /Rampart
services.xml:
<service>
  [***]

<parameter name="InflowSecurity">
  <action>
     <items>UsernameToken</items>
     <passwordCallbackClass>web.Oraculo</passwordCallbackClass>
  </action>
</parameter>

   [***]
</service>
Web.Oraculo.java
public class Oraculo implements CallbackHandler {
  public Oraculo() {
  }
  public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
    for (int i = 0; i < callbacks.length; i++) {
      Object opwcb = callbacks[i];
      WSPasswordCallback pwcb = (WSPasswordCallback)opwcb;
      if (pwcb.getUsage() == WSPasswordCallback.USERNAME_TOKEN_UNKNOWN) {
         if(pwcb.getIdentifer().equals("admin") && pwcb.getPassword().equals("admin")) {
            return; //1
         } else {
            throw new UnsupportedCallbackException(callbacks[i], "La comprobación no es válida");//2
         }
      }
    }
  }
}
Web.Oraculo.java
Ver plataforma
 Los Web Services permiten la comunicación entre
  plataformas heterogéneas por medio del protocolo
  HTTP(S) el cual es permitido por la mayoría de los
  Firewalls de red.
 Por otra parte, para utilizar Web Services se debe
  publicar una descripción completa del servicio en un
  registro público. Estas dos características representan
  una brecha de seguridad que puede ser aprovechada
  por usuarios maliciosos para cometer ataques a una
  organización para obtener información confidencial
  para realizar operaciones fraudulentas, y para
  degradar el nivel de servicio.
   Para prevenir y mitigar el riesgo de estas
    amenazas se recomienda utilizar un modelo
    de prevención y mitigación, o tomar medidas
    preventivas a priori para implementarlas en
    un corto plazo.
   Estas medidas dependerán del nivel de
    seguridad que se requiera, según la
    información que se quiera resguardar, y de los
    requerimientos establecidos.
 http://ws.apache.org/axis/java/user-guide.html
 http://www.adictosaltrabajo.com/tutoriales/tutori
  ales.php?pagina=webservicesAxis
 http://labs.safelayer.com/es/tecnologia/integratio
  nes/axisexcates/239-axis-xml-encryption
 http://www.ibm.com/developerworks/ssa/library/j
  -jws6/index.html
 http://www.ibm.com/developerworks/ssa/webser
  vices/library/j-jws16/
 http://msdn.microsoft.com/en-
  us/library/bb498017.aspx
 http://netbeans.org/kb/docs/websvc/gs-axis.html
    Nicolás Guzmán
        Luis Ibarra
    Manuel Terraza
Juan Manuel Zavala
David Kouyoumdjian

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:12
posted:2/25/2012
language:
pages:15