security - sistemas - plataformas de pago online
Procesadores de pago: ¿qué debo saber si deseo aceptar tarjetas de crédito en mi sitio web? (9)
¿Por qué molestarse con el cumplimiento de PCI? En el mejor de los casos, te ahorrarás una fracción de porcentaje de tus tarifas de procesamiento. Este es uno de esos casos en los que debe estar seguro de que es lo que quiere hacer con su tiempo tanto en el desarrollo como en el tiempo para mantenerse al día con los últimos requisitos.
En nuestro caso, lo más sensato fue utilizar una puerta de enlace de suscripción inteligente y emparejar eso con una cuenta de comerciante. La puerta de enlace savy de suscripción le permite omitir todo el cumplimiento de PCI y no hacer nada más que procesar la transacción propiamente dicha.
Utilizamos TrustCommerce como nuestra puerta de enlace y estamos contentos con su servicio / precios. Tienen código para un montón de idiomas que hace que la integración sea bastante fácil.
Esta pregunta habla sobre los diferentes procesadores de pago y su costo, pero estoy buscando la respuesta a lo que debo hacer si deseo aceptar pagos con tarjeta de crédito.
Supongamos que necesito almacenar números de tarjetas de crédito para los clientes, de modo que no esté disponible la solución obvia de confiar en el procesador de la tarjeta de crédito para hacer el trabajo pesado.
PCI Data Security , que aparentemente es el estándar para almacenar información de tarjetas de crédito, tiene muchos requisitos generales, pero ¿cómo se implementan ?
¿Y qué pasa con los proveedores, como Visa , que tienen sus propias mejores prácticas?
¿Necesito tener acceso de llavero a la máquina? ¿Qué hay de protegerlo físicamente de los hackers en el edificio? O incluso, ¿qué pasaría si alguien tuviera en sus manos los archivos de respaldo con los archivos de datos del servidor SQL?
¿Qué pasa con las copias de seguridad? ¿Hay otras copias físicas de esos datos alrededor?
Consejo: si obtiene una cuenta de comerciante, debe negociar que le cobren "intercambio más" en lugar de precios por niveles. Con precios por niveles, le cobrarán diferentes tarifas según el tipo de Visa / MC que se utilice, es decir, Te cobran más por las tarjetas con grandes recompensas asociadas a ellas. El intercambio más la facturación significa que usted solo le paga al procesador lo que Visa / MC les cobra, más una tarifa fija. (Amex y Discover cargan sus propias tarifas directamente a los comerciantes, por lo que esto no se aplica a esas tarjetas. Encontrará que las tarifas de Amex están en el rango del 3% y Discover podría ser tan bajo como el 1%. Visa / MC está en el rango del 2%). Se supone que este servicio hace la negociación por usted (no lo he usado, no es un anuncio y no estoy afiliado con el sitio web, pero este servicio es muy necesario).
Esta publicación de blog ofrece un resumen completo del manejo de las tarjetas de crédito (específicamente para el Reino Unido).
Tal vez haya redactado mal la pregunta, pero estoy buscando consejos como estos:
Asegúrese de controlar el trabajo adicional y el presupuesto requerido para PCI. PCI puede requerir enormes honorarios de auditoría externa y esfuerzo / soporte interno. También tenga en cuenta las multas / sanciones que se le pueden imponer unilateralmente, a menudo enormemente desproporcionadas a la escala de la "ofensa".
Como otros han mencionado, la forma más fácil de Nochex a esta área es mediante el uso de Paypal , Google Checkout o Nochex . Sin embargo, si pretende realizar una gran cantidad de negocios, puede buscar "actualizar" a servicios de integración de sitios de nivel superior como WorldPay , NetBanx (Reino Unido) o Neteller (EE . UU . ) . Todos estos servicios son razonablemente fáciles de configurar. Y sé que Netbanx ofrece una integración conveniente en algunas de las soluciones de carros de la compra, como Intershop (porque escribí algunas de ellas). Más allá de eso, está considerando la integración directa con los sistemas bancarios (y sus sistemas APAX), pero eso es difícil y en ese momento también debe demostrar a las compañías de tarjetas de crédito que está manejando los números de las tarjetas de crédito de manera segura (probablemente no valga la pena considerarlo si no estás tomando $ 100k por mes).
Desde el primer hasta el último, el costo / beneficio es que las opciones tempranas son mucho más fáciles (más rápidas / baratas) de configurar, puesto que usted paga los costos de manejo bastante altos por cada transacción. Los últimos son mucho más costosos de configurar pero pagas menos a largo plazo.
La otra ventaja de la mayoría de las soluciones no dedicadas es que no es necesario mantener seguros los números de tarjeta de crédito cifrados. Ese es el problema de alguien más :-)
El documento PCI 1.2 acaba de salir. Proporciona un proceso sobre cómo implementar el cumplimiento de PCI junto con los requisitos. Puedes encontrar el documento completo aquí:
https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml
En pocas palabras, cree un segmento de red separado para los servidores que se dedicarán a almacenar información de CC (generalmente servidores de base de datos). Aísle los datos tanto como sea posible y asegúrese de que solo esté presente el acceso mínimo necesario para acceder a los datos. Encripta cuando lo guardes. Nunca almacene PAN''s. Purgue los datos antiguos y gire sus claves de cifrado.
Ejemplo de no hacer:
- No permita que la misma cuenta que puede buscar información general en la base de datos busque información de CC.
- No mantenga su base de datos de CC en el mismo servidor físico que su servidor web.
- No permita el tráfico externo (Internet) en el segmento de red de su base de datos CC.
Ejemplo Dos:
- Utilice una cuenta de base de datos separada para consultar la información de CC.
- No permitir todo el tráfico excepto el requerido al servidor de base de datos CC a través de firewall / listas de acceso
- Restrinja el acceso al servidor de CC a un conjunto limitado de usuarios autorizados.
Hágase la siguiente pregunta: ¿por qué quiere almacenar números de tarjetas de crédito en primer lugar ? Lo más probable es que no. De hecho, si los almacena y logra que le roben uno, podría estar considerando alguna responsabilidad grave.
He escrito una aplicación que almacena números de tarjetas de crédito (ya que las transacciones se procesaron fuera de línea). Aquí hay una buena manera de hacerlo:
- Obtenga un certificado SSL!
- Crea un formulario para obtener CC # del usuario.
- Cifre parte (no todas) del CC # y guárdela en su base de datos. (Sugeriría los 8 dígitos del medio.) Use un método de cifrado fuerte y una clave secreta.
- Envíe por correo el resto del número de CC a quienquiera que procese sus transacciones (probablemente usted mismo) con el ID de la persona a procesar.
- Cuando inicie sesión más tarde, escribirá la ID y la parte enviada por correo del CC #. Su sistema puede descifrar la otra parte y recombinarse para obtener el número completo para que pueda procesar la transacción.
- Finalmente, borre el registro en línea. Mi solución paranoica fue sobrescribir el registro con datos aleatorios antes de la eliminación, para eliminar la posibilidad de una recuperación.
Esto parece mucho trabajo, pero al nunca grabar un CC # completo en ningún lugar, hace que sea muy difícil para un pirata informático encontrar algo de valor en su servidor web. Confía en mí, vale la pena la paz de la mente.
Hay mucho en todo el proceso. La forma más sencilla de hacerlo es usar servicios similares a paypal, para que nunca maneje los datos de la tarjeta de crédito. Aparte de eso, hay un montón de cosas para aprobar para ofrecer servicios de tarjeta de crédito en su sitio web. Probablemente debería hablar con su banco y con las personas que emiten su ID de comerciante para ayudarlo a configurar el proceso.
Me gustaría añadir un comentario no técnico sobre el que tal vez desee reflexionar.
Varios de mis clientes tienen sitios de comercio electrónico, incluida una pareja que tiene tiendas moderadamente grandes. Ambos, aunque ciertamente podrían implementar una pasarela de pago, no eligen también, toman el número de cc, lo almacenan temporalmente encriptado en línea y lo procesan manualmente.
Hacen esto debido a la alta incidencia de fraude y el procesamiento manual les permite tomar cheques adicionales antes de completar un pedido. Me dicen que rechazan un poco más del 20% de todas sus transacciones: el procesamiento manual ciertamente requiere más tiempo y en un caso tienen un empleado que no hace nada más que procesar transacciones, pero el costo de pagar su salario es aparentemente menor que el de su salario. exposición si acaban de pasar los números de cc a través de una puerta de enlace en línea.
Ambos clientes están entregando bienes físicos con valor de reventa, por lo que están particularmente expuestos y para elementos como software donde una venta fraudulenta no resultaría en una pérdida real que su millaje variaría, pero vale la pena considerar los aspectos técnicos de una pasarela en línea. Si implementar tal es realmente lo que quieres.
EDITAR: Y luego de crear esta respuesta, me gustaría agregar una historia de advertencia y decir que ya pasó el tiempo en que fue una buena idea.
¿Por qué? Porque sé de otro contacto que estaba tomando un enfoque similar. Los datos de la tarjeta se almacenaron encriptados, se accedió al sitio web mediante SSL y los números se eliminaron inmediatamente después del procesamiento. Seguro que piensas?
Ninguna máquina en su red se infectó con un troyano de registro de claves. Como resultado, se los identificó como la fuente de varias falsificaciones de tarjetas de crédito y, en consecuencia, fueron alcanzados por una gran multa.
Como resultado de esto, ahora nunca le aconsejo a nadie que maneje las tarjetas de crédito. Desde entonces, las pasarelas de pago se han vuelto mucho más competitivas y rentables, y las medidas de fraude han mejorado. El riesgo ya no vale la pena.
Podría eliminar esta respuesta, pero creo que lo mejor es dejarlo editado como una advertencia.
Pasé por este proceso no hace mucho tiempo con una empresa para la que trabajé y planeo volver a hacerlo pronto con mi propio negocio. Si tienes algún conocimiento técnico de la red, realmente no es tan malo. De lo contrario, será mejor utilizar Paypal u otro tipo de servicio.
El proceso comienza con la configuración de una cuenta de comerciante y se vincula a su cuenta bancaria. Es posible que desee consultar con su banco, ya que muchos de los principales bancos brindan servicios comerciales. Es posible que pueda obtener ofertas, porque ya es un cliente suyo, pero si no, puede darse una vuelta. Si planea aceptar Discover o American Express, estos serán por separado, ya que brindan los servicios comerciales para sus tarjetas, no hay forma de evitarlo. También hay otros casos especiales. Este es un proceso de solicitud, estar preparado.
A continuación, deseará comprar un certificado SSL que puede usar para proteger sus comunicaciones cuando la información de la tarjeta de crédito se transmite a través de redes públicas. Hay muchos vendedores, pero mi regla de oro es elegir uno que sea una marca de alguna manera. Cuanto mejor se conocen, es probable que su cliente haya oído hablar de ellos.
A continuación, querrá encontrar una pasarela de pago para usar con su sitio. Aunque esto puede ser opcional dependiendo de lo grande que seas, pero la mayoría de las veces no lo será. Usted necesitará uno. Los proveedores de la pasarela de pago proporcionan una forma de comunicarse con la API de la pasarela de Internet con la que se comunicará. La mayoría de los proveedores proporcionan comunicación HTTP o TCP / IP con su API. Ellos procesarán la información de la tarjeta de crédito en su nombre. Dos proveedores son Authorize.Net y PayFlow Pro . El enlace que proporciono a continuación tiene más información sobre otros proveedores.
¿Ahora que? Para empezar, hay pautas sobre lo que su aplicación debe cumplir para transmitir las transacciones. Durante el proceso de configuración de todo, alguien mirará su sitio o aplicación y se asegurará de que cumple con las pautas, como el uso de SSL y que tiene términos de uso y documentación de políticas sobre la información que le proporciona el usuario. para. No robes esto de otro sitio. Crea tu propio abogado, si es necesario, contrata a un abogado. La mayoría de estas cosas se incluyen en el enlace de seguridad de datos PCI que Michael proporcionó en su pregunta.
Si planea almacenar los números de las tarjetas de crédito, es mejor que esté preparado para implementar medidas de seguridad internas para proteger la información. Asegúrese de que el servidor en el que se almacena la información solo sea accesible para los miembros que necesitan tener acceso. Como cualquier buena seguridad, haces cosas en capas. Cuantas más capas coloques, mejor. Si lo desea, puede usar la seguridad del tipo de llavero, como SecurID o eToken para proteger la sala en la que se encuentra el servidor. Si no puede pagar la ruta del llavero, use el método de las dos teclas. Permitir que una persona que tiene acceso a la sala cierre la sesión de una llave, que va acompañada de una llave que ya tienen. Necesitarán ambas llaves para acceder a la sala. A continuación se protege la comunicación al servidor con políticas. Mi política es que lo único que se comunica a través de la red es la aplicación y que la información está encriptada. El servidor no debe ser accesible de ninguna otra forma. Para las copias de seguridad, uso truecrypt para cifrar los volúmenes en los que se guardarán las copias de seguridad. Cada vez que se eliminan o almacenan los datos en otro lugar, entonces nuevamente usa Truecrypt para cifrar el volumen en el que se encuentran los datos. Básicamente, donde quiera que esté la información, necesita estar encriptada. Asegúrese de que todos los procesos para obtener los datos lleven pistas de auditoría. use los registros para acceder a la sala de servidores, use cámaras si puede, etc. Otra medida es cifrar la información de la tarjeta de crédito en la base de datos. Esto garantiza que los datos solo se puedan ver en su aplicación, donde puede hacer cumplir quién ve la información.
Yo uso pfsense para mi firewall. Lo ejecuto desde una tarjeta flash compacta y tengo dos servidores configurados. Uno es para la conmutación por error para la redundancia.
Encontré esta publicación de blog de Rick Strahl que me ayudó enormemente a entender el comercio electrónico y lo que se necesita para aceptar tarjetas de crédito a través de una aplicación web.
Bueno, esto resultó ser una respuesta larga. Espero que estos consejos ayuden.
Tenga en cuenta que el uso de SSL para enviar un número de tarjeta desde un navegador a un servidor es como cubrir su número de tarjeta de crédito con su dedo pulgar cuando entrega su tarjeta a un cajero en un restaurante: su dedo pulgar (SSL) impide que haya otros clientes en el restaurante. (la Red) no puede ver la tarjeta, pero una vez que la tarjeta está en manos del cajero (un servidor web), la tarjeta ya no está protegida por el intercambio de SSL, y el cajero podría estar haciendo algo con esa tarjeta. El acceso a un número de tarjeta guardado solo puede ser detenido por la seguridad en el servidor web. Es decir, la mayoría de los robos de tarjetas en la red no se realizan durante la transmisión, sino que se realizan a través de la seguridad deficiente del servidor y el robo de bases de datos.