Integración de pasarela de pago, ¿alguna consideración de seguridad?

3

Estoy interesado en comprender qué consideraciones de seguridad hay en torno a la implementación de una pasarela de pago. Hasta ahora he pensado en:

  • tener un certificado SSL es un deber.
  • las acciones de registro son críticas.
  • una base de datos separada de internet.

¿Alguna otra recomendación?

Como fondo, mi aplicación está vendiendo productos al cliente mediante entrega electrónica. Cuando el usuario pague la tarifa a través de PayPal, le enviaré el 'código'. Y pueden usar el 'código' para canjear los productos, por ejemplo, activar el software o los elementos del juego.

    
pregunta Ted Wong 19.09.2011 - 17:41
fuente

2 respuestas

7

Nunca almacene los detalles de la tarjeta de crédito: número, ccv, exp, etc. Rara vez hay una situación en la que los necesite. En su lugar, simplemente almacene el código de respuesta y el número de referencia de su puerta de enlace. Esos son suficientes para emitir reembolsos cuando sea necesario.

De acuerdo, a partir de tus comentarios estás usando PayPal.

Paypal tiene varias puertas de enlace diferentes, voy a asumir que es la de PayFlow Pro.

Primero, como se indicó anteriormente, NO almacene la información de la tarjeta de crédito localmente. Simplemente acepte la publicación del usuario y envíe inmediatamente los datos utilizando la API de PayPal. Una vez que obtenga la respuesta, conserve el ID de transacción y guárdelo.

Bajo ninguna circunstancia debe "registrar" la información de la tarjeta de crédito. Los registros pueden ser pirateados y usted no quiere esa responsabilidad.

En el caso de que esté permitiendo que el usuario final se configure para pagos recurrentes, todavía NO ALMACENE LA INFORMACIÓN DE CC. La API de paypal puede manejar esto y le proporcionará los ID de transacción relevantes para guardar para futuras referencias.

A continuación, revise la documentación de PayPal para conocer sus mejores prácticas.

Finalmente, no almacene el número de tarjeta de crédito. Ni siquiera parte de ello. NO necesita un botón "recordar mis datos de pago". Esas son una muy mala idea y gritan "objetivo" a los hackers.

Bien, ¿ahora qué debes hacer? Primero, lea la literatura de cumplimiento de PCI. En segundo lugar, leer la literatura OWASP. Tercero, construya su sitio y asegúrelo. En cuarto lugar, contratar a una empresa de terceros para hacer una auditoría de seguridad. Quinto, arregle lo que sea que encuentren y pídales que hagan otra auditoría. Repita hasta que su sitio sea considerado "seguro" por alguien que no sea usted. Preferiblemente alguien con experiencia haciendo auditorías. No será barato. Si es así, entonces has contratado a la compañía equivocada.

En curso, manténgase actualizado con sus actualizaciones de Windows y la puerta de enlace. Si PayPal envía una nueva API, verifíquela, actualice su código e implemente.

Cada vez que MS envíe una actualización, aplíquela. No esperes, solo hazlo. Si algo se rompe, arréglalo entonces. Ya para cuando MS u otro proveedor emite un parche, casi siempre hay una vulnerabilidad implementada dentro de uno o dos días para ese parche. A veces el exploit ya estaba ahí.

    
respondido por el NotMe 19.09.2011 - 17:44
fuente
3

En realidad, muchas puertas de enlace recomiendan no mantener un registro, ya que lo hacen ellos mismos en entornos "considerados" como más seguros que los suyos. Por lo general, puede consultar cualquier transacción de ellos para fines de auditoría. Ciertamente nunca debes registrar un número de tarjeta. Esta es mi experiencia de haber trabajado con SagePay (anteriormente Protx) y DataCash.

Muchos proveedores también requieren que su servidor sea compatible con PCI: esta certificación generalmente puede ser proporcionada por compañías como McAfee Secure .

    
respondido por el Barry 19.09.2011 - 17:45
fuente

Lea otras preguntas en las etiquetas