Coder Social home page Coder Social logo

chatear-via-socket's Introduction

chatear-via-socket

Servidor y Cliente en Python con Medidas de Seguridad

Funcion: Crea un servidor y un usuario que se conecta a traves de un socket en donde se pueden enviar mensajes, archivos, imagenes y documentos.

Denegacion de Servicio: Si usted manda datos infinitos como

while True:
   socket.send(data)

Usted derribara el servidor para proteger nuestro servidor debemos limitar la conexion acceptada se puede realizar de diferentes maneras.

  • Limitar el tamaño de los bytes recibidos
  • Restrigir el exceso de conexiones
  • Bloquear conexiones por direccion IP

Excepcion no Atrapada: Su servidor puede tener un error de codigo que puede derribar el servidor como una excepcion que no es atrapada es importante que todas las excepciones sean atrapadas.

Ejemplo:

int division = 0/0

Por realizar esta division en su servidor cerrara de manera inmediatamente y mostrara el siguiente error

ZeroDivisionError: division by zero

Inyeccion de Datos: Cuando el cliente inyecta datos de manera fraudulenta para recibir datos que estan restingidos como contraseñas.

Ejemplo:

socket.send(0)

Usted manda un 0 no recibira ningun dato si cambia el valor de el mensaje a un 1 recibira datos restringidos como una contraseña

Actividad Sospechosa: Debemos tener un algoritmo que detecte la actividad sospechosa para impedir cualquier accion maliciosa por parte de personas malitencionadas.

Pasos

  • Documentar la actividad del usuario
  • Almacenar el documento en una base de datos
  • Analizar la actividad del usuario

Con estos datos podemos diseñar un cortafuegos para impedir las actividades maliciosas.

Ejemplo:

socket.send(0x52)

Al verificar este mensaje recibido por un cliente se puede señalar que es diferente al que tendriamos que recibir esto es porque es una conexion fraudulenta al documentar estas acciones podemos crear un algoritmo de cortafuegos para rechazar estas conexiones.

Recuperacion de Cuenta: Una persona puede obtener nuestras credenciales como usuario y contraseña por diversas maneras intentara bloquear al propetario de la cuenta para no permitirle el ingreso para impedir esta accion podemos usar.

  • Verificacion por SMS: Para que este proceso de recuperacion sea seguro debemos darle proridad a los numeros telefonicos mas antiguos registrados.

  • Verificacion por Ubicacion: Podemos utilizar la ubicacion del usuario para poder comprobar el legitimo dueño del propietario de la cuenta.

  • Pregunta Secreta: Este metodo es subestimado y lo consideran anticuado no deben olvidar que este metodo de verificacion implementado es confiable.

No Permitir la Entrada de Robots: Un robot como Sophia de Microsoft puede entrar a nuestro servidor o un programa informatico como un bot puede hacer spam en nuestro sitio para evitar esto podemos utilizar.

  • Captcha: Es una prueba de la capacidad de una máquina para exhibir un comportamiento inteligente similar al de un ser humano puede ser implementado en sonido o imagen.

  • Deteccion de Errores: Una persona se equivoca en determinadas acciones cuando realizan peticiones con un patron perfecto puede ser considerado un robot.

  • Duracion de una Sesion: Una persona para escribir un mensaje se demora aproximamente 5 segundos y para enviarlo se demora 8 segundos aproximadamente cuando las peticiones se manda un tiempo imposible para un humano puede ser considerado un robot.

chatear-via-socket's People

Contributors

gtoranzo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.