¿Qué tan seguro es el acceso a la banca por Internet a través de una biblioteca https?

2

Mi banco no tiene una API, por lo que quiero que mi servidor inicie sesión y verifique los pagos recibidos para notificarme si un cliente ha pagado o no.

Me gustaría que el servidor inicie sesión y raspe usando Beautifulsoup y luego cierre la sesión automáticamente una vez al día.

Si almaceno mi nombre de usuario y contraseña en el servidor y no en un archivo y solo permito el inicio de sesión en SSH: ¿sería esta una manera suficientemente segura de hacerlo?

edit

déjeme aclarar, almacenaré el nombre de usuario y la contraseña con sal y hash, pero la clave de descifrado almacenaré en los servidores memcache y no hubo archivos, luego exportar manualmente esta clave a la memoria en cada reinicio de la máquina. También el inicio de sesión solo será a través de una clave

    
pregunta Dr Manhattan 06.08.2015 - 11:22
fuente

2 respuestas

0

La aplicación en sí sería lo más segura posible. Hay algunos escollos como:

  • No se tratan las excepciones SSL correctamente. Si se encuentra un certificado no válido, el comportamiento obvio es abortar la conexión. Algunas bibliotecas pueden aceptar certificados inválidos por defecto.
  • Almacenamiento inseguro de datos desde el sitio web bancario
  • Uso de bibliotecas vulnerables, como versiones anteriores de OpenSSL

Un problema sería almacenar las credenciales bancarias en la aplicación o el servidor. Dijiste que los hash, pero eso no puede funcionar porque necesitas las credenciales en texto claro para que cada conexión y hash no se puedan descifrar. Tal vez quiso decir que almacena las claves cifradas simétricamente y las descifra manualmente cada vez, pero eso no es seguro porque un atacante puede manipular el código de autenticación bancaria y robar las credenciales cuando su aplicación se autentica en el banco. Esto no es un showstopper, solo significa que tiene que proteger todo el sistema que ejecuta la aplicación. Puede hacerlo fortaleciendo la seguridad del servidor y protegiendo las credenciales con las que inicia sesión en ese servidor.

    
respondido por el Cristian Dobre 07.08.2015 - 20:57
fuente
0

A través de su comentario, preguntó acerca de la seguridad de almacenar y recuperar sus credenciales de esa manera, pero también si es lo suficientemente seguro para usarlas después de iniciar sesión automáticamente en su cuenta bancaria.

Para la primera parte, primero debe evaluar la seguridad de su servidor y, dado que desea recuperar las credenciales mediante SSH, es posible que deba echar un vistazo a cómo asegurar un servidor SSH desde el sitio web de AskUbuntu . Pero la idea de crear hashing y su contraseña es algo interesante que hiciste, y hay tantas preguntas sobre este tema en este sitio web como este: ¿Por qué los hashes salados son más seguros para el almacenamiento de contraseñas?

Para usar BeautifulSoup para el inicio de sesión automático, es exactamente lo mismo que cuando usas Mecanizar , selenium u otras bibliotecas similares porque, después de todo, dependen del uso de la clase enlace y como puede leer en ese enlace:

  

Nota: el soporte de HTTPS solo está disponible si el módulo de socket era   compilado con soporte SSL.

Y supongo que sabes cómo usarlo en Python, por ejemplo:

>>> import httplib
>>> connectme = httplib.HTTPSConnection("mail.yahoo.com")
>>> connectme.request("GET", "/")
>>> response = connectme.getresponse()
>>> print response.status, response.reason
200 OK
    
respondido por el user45139 06.08.2015 - 12:42
fuente

Lea otras preguntas en las etiquetas