SlideShare a Scribd company logo
1 of 23
Download to read offline
Seguridad en 
desarrollo fullstack. 
Marc Pàmpols 
@mpampols
Plone (Python) y Php 
Setrill (Php) Django (Python) 
59.700 Usuarios 
400 Usuarios 
MySQL 
PostgreSQL 
Node.js 
Memcached 
Varnish 
Debian 
Debian 
… 
…
Fullstack? 
• Configuración de servidores y redes 
• Conceptos de programación y bases de datos 
• Programación Back-end y Front-end 
• UX: Experiencia de usuario 
• Negocios
Seguridad aplicada a 
• Servidores y redes 
• Programación y bases de datos 
• Front-end 
• Seguridad también para tus usuarios
“No atribuyas a un ‘hacker’ lo que 
puede explicar la estupidez.” 
@SergioEfe
Servidores y redes 
• Encriptar comunicaciones 
SSL · SFTP · VPN 
• Un servicio de red por servidor 
Apache / Nginx · Base de datos · Aplicación web · … 
• Revisar permisos en ficheros y carpetas 
• Actualizar 
apt-get update && apt-get upgrade
Servidores y redes 
• Política de seguridad 
Desactivar login de root y generar claves de acceso con contraseña. 
• Configurar firewall 
• Menos software = menos vulnerabilidades 
• Sistemas de detección de intrusos (NIDS) 
• Monitorización y auditorias 
• Controlar los puertos abiertos 
netstat -tulpn
Servidores y redes
Servidores y redes
Aún así… 
• 2010 Uno que trabajaba con Windows… 
Se infectó con malware y le robó las claves de acceso a 
servidores almacenadas en plano. Era un bot. 
• 2011 Mail Relay abierto. Unos 50k correos spam / día 
Mxtoolbox Blacklist Alerts (¡gratis!) 
http://mxtoolbox.com/services_servermonitoring2.aspx 
• Y más…
Más lecciones aprendidas 
• No fue un hacker, sino nuestra estupidez. 
• Quien te garantiza un 100% de protección, 
miente. 
• No te conformes con una ligera explicación de 
lo sucedido. No te fíes de nadie y llega siempre 
hasta el final.
Programación y BBDD 
• Elige un framework conocido y probado. 
Pylons, Laravel, Django, CodeIgniter, Meteor, Symfony, Spring, … 
• Revisa permisos de usuarios de la base de datos. 
• Almacena correctamente las contraseñas. 
Cómo implementarlo correctamente, paso a paso: 
http://crackstation.net/hashing-security.htm 
• La seguridad por oscuridad: error y falacia. 
Ejemplo 1: Internet Explorer (y con este es suficiente)
Principios de Kerckhoff 
• Si el sistema no es teóricamente irrompible, al menos debe serlo en 
la práctica. 
• La efectividad del sistema no debe depender de que su diseño 
permanezca en secreto. 
• La clave debe ser fácilmente memorizable de manera que no haya 
que recurrir a notas escritas. 
• Los criptogramas deberán dar resultados alfanuméricos. 
• El sistema debe ser operable por una única persona. 
• El sistema debe ser fácil de utilizar. 
Fuente: http://es.wikipedia.org/wiki/Principios_de_Kerckhoffs
Programación y BBDD 
• Cross-site request forgery (CSRF) 
Ejecutar acciones que el usuario no quiere 
• Clickjacking 
• Cross-site Scripting 
Persistente VS No-persistente 
• Aprende a evitar inyecciones SQL 
SELECT * FROM users WHERE email = ‘$email_input’;
Programación y BBDD 
El famoso XSS y “han hackeado la web de…” 
No. 
Haz unfollow a los cuñados que suelten esta clase de chorradas ;)
Front-end 
• Jamás confíes en el navegador. 
Valida todos los datos antes y después. 
• XSS 
• Cross-Origin resource sharing. 
Que sólo tú puedas enviar peticiones al servidor 
Access-Control-Allow-Origin: * 
• HTML5 
http://html5sec.org
Seguridad para tus usuarios 
• Automatiza el control de Spam. 
• Detecta y expulsa rápido a los scammers. 
• Expulsa a usuarios que atacan a otros usuarios.
Nuestra experiencia en 
YoteConozco.com
Los más fáciles de detectar…
Lista negra de dominios y direcciones
Usuarios contra usuarios 
• 10 - 15s entre envíos 
• Muy difíciles de detectar 
• Los mismos usuarios denuncian 
y nosotros comprobamos. 
(Mensajes públicos)
Algunos trucos… 
• Dejamos que los spammers se registren… 
o eso creen ellos. 
• Escondemos campos por CSS que los bots rellenan… 
y sabemos si eres un bot, porque tu no. 
• Controlamos el tiempo entre acciones. Un usuario 
real no tarda siempre los mismos segundos.
Fin. 
¯_(ツ)_/¯

More Related Content

What's hot

Explotación de vulnerabilidades recientes de Windows - Agosto 2017
Explotación de vulnerabilidades recientes de Windows - Agosto 2017Explotación de vulnerabilidades recientes de Windows - Agosto 2017
Explotación de vulnerabilidades recientes de Windows - Agosto 2017Websec México, S.C.
 
Desarrollo seguro en NodeJS (OWASP top ten y JWT)
Desarrollo seguro en NodeJS (OWASP top ten y JWT)Desarrollo seguro en NodeJS (OWASP top ten y JWT)
Desarrollo seguro en NodeJS (OWASP top ten y JWT)Raúl Requero García
 
Mecanismos de autenticación-identificación. Vulneración y cracking de contras...
Mecanismos de autenticación-identificación. Vulneración y cracking de contras...Mecanismos de autenticación-identificación. Vulneración y cracking de contras...
Mecanismos de autenticación-identificación. Vulneración y cracking de contras...Alejandro Ramos
 
Taller Gratuito Virtual de Introducción al Pentesting
Taller Gratuito Virtual de Introducción al PentestingTaller Gratuito Virtual de Introducción al Pentesting
Taller Gratuito Virtual de Introducción al PentestingAlonso Caballero
 
Seguridad en Internet
Seguridad en Internet Seguridad en Internet
Seguridad en Internet Safa100
 
Ataques Y Vulnerabilidades
Ataques Y VulnerabilidadesAtaques Y Vulnerabilidades
Ataques Y Vulnerabilidadeslamugre
 
Seguridad en los videojuegos - GoD Mode
Seguridad en los videojuegos - GoD ModeSeguridad en los videojuegos - GoD Mode
Seguridad en los videojuegos - GoD ModeZink Security
 
Curso Virtual Forense de Windows XP
Curso Virtual Forense de Windows XPCurso Virtual Forense de Windows XP
Curso Virtual Forense de Windows XPAlonso Caballero
 
R:\Navegadores
R:\NavegadoresR:\Navegadores
R:\NavegadoresNerea
 
Seguridad en Apache Web Server
Seguridad en Apache Web ServerSeguridad en Apache Web Server
Seguridad en Apache Web ServerChema Alonso
 
Seguridad informática
Seguridad informática Seguridad informática
Seguridad informática Maleja1106
 

What's hot (13)

Explotación de vulnerabilidades recientes de Windows - Agosto 2017
Explotación de vulnerabilidades recientes de Windows - Agosto 2017Explotación de vulnerabilidades recientes de Windows - Agosto 2017
Explotación de vulnerabilidades recientes de Windows - Agosto 2017
 
Desarrollo seguro en NodeJS (OWASP top ten y JWT)
Desarrollo seguro en NodeJS (OWASP top ten y JWT)Desarrollo seguro en NodeJS (OWASP top ten y JWT)
Desarrollo seguro en NodeJS (OWASP top ten y JWT)
 
Mecanismos de autenticación-identificación. Vulneración y cracking de contras...
Mecanismos de autenticación-identificación. Vulneración y cracking de contras...Mecanismos de autenticación-identificación. Vulneración y cracking de contras...
Mecanismos de autenticación-identificación. Vulneración y cracking de contras...
 
Taller Gratuito Virtual de Introducción al Pentesting
Taller Gratuito Virtual de Introducción al PentestingTaller Gratuito Virtual de Introducción al Pentesting
Taller Gratuito Virtual de Introducción al Pentesting
 
Curso Virtual de Nmap
Curso Virtual de NmapCurso Virtual de Nmap
Curso Virtual de Nmap
 
Seguridad en Internet
Seguridad en Internet Seguridad en Internet
Seguridad en Internet
 
Ataques Y Vulnerabilidades
Ataques Y VulnerabilidadesAtaques Y Vulnerabilidades
Ataques Y Vulnerabilidades
 
Seguridad en los videojuegos - GoD Mode
Seguridad en los videojuegos - GoD ModeSeguridad en los videojuegos - GoD Mode
Seguridad en los videojuegos - GoD Mode
 
Curso Virtual Forense de Windows XP
Curso Virtual Forense de Windows XPCurso Virtual Forense de Windows XP
Curso Virtual Forense de Windows XP
 
R:\Navegadores
R:\NavegadoresR:\Navegadores
R:\Navegadores
 
Presentación1
Presentación1Presentación1
Presentación1
 
Seguridad en Apache Web Server
Seguridad en Apache Web ServerSeguridad en Apache Web Server
Seguridad en Apache Web Server
 
Seguridad informática
Seguridad informática Seguridad informática
Seguridad informática
 

Similar to Hack & beers lleida seguridad en desarrollo fullstack

Laboratorios de Entrenamiento en Seguridad Informática - FLISOL 2010
Laboratorios de Entrenamiento en Seguridad Informática - FLISOL 2010Laboratorios de Entrenamiento en Seguridad Informática - FLISOL 2010
Laboratorios de Entrenamiento en Seguridad Informática - FLISOL 20104v4t4r
 
Virus, el arte de algunos - Alberto García de Dios (/Rooted CON 2011)
Virus, el arte de algunos - Alberto García de Dios (/Rooted CON 2011)Virus, el arte de algunos - Alberto García de Dios (/Rooted CON 2011)
Virus, el arte de algunos - Alberto García de Dios (/Rooted CON 2011)Oskar Laguillo
 
Seguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPSeguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPMarcos Harasimowicz
 
Tema 4 mecanismos de defensa
Tema 4 mecanismos de defensaTema 4 mecanismos de defensa
Tema 4 mecanismos de defensaMariano Galvez
 
LOG craziness: Sistemas SIEM para humanos! [GuadalajaraCON 2013]
LOG craziness: Sistemas SIEM para humanos! [GuadalajaraCON 2013]LOG craziness: Sistemas SIEM para humanos! [GuadalajaraCON 2013]
LOG craziness: Sistemas SIEM para humanos! [GuadalajaraCON 2013]Websec México, S.C.
 
Gerardo Garcia Peña - Crypto Goofs... [rooted2018]
Gerardo Garcia Peña - Crypto Goofs... [rooted2018]Gerardo Garcia Peña - Crypto Goofs... [rooted2018]
Gerardo Garcia Peña - Crypto Goofs... [rooted2018]RootedCON
 
Seguridad en Servidores Dedicados
Seguridad en Servidores DedicadosSeguridad en Servidores Dedicados
Seguridad en Servidores DedicadosNominalia
 
Ransonware: introducción a nuevo Virus Informático
Ransonware: introducción a nuevo Virus InformáticoRansonware: introducción a nuevo Virus Informático
Ransonware: introducción a nuevo Virus InformáticoJuan Astudillo
 
Pentest - El Arte de la Guerra
Pentest - El Arte de la GuerraPentest - El Arte de la Guerra
Pentest - El Arte de la GuerraLuis Cortes Zavala
 
Cer tuy capacitaciones2011_v1
Cer tuy capacitaciones2011_v1Cer tuy capacitaciones2011_v1
Cer tuy capacitaciones2011_v1Andrés Gómez
 
Rooted con 2015 - Rojos y Azules: dos equipos con dos sabores
Rooted con 2015 - Rojos y Azules: dos equipos con dos saboresRooted con 2015 - Rojos y Azules: dos equipos con dos sabores
Rooted con 2015 - Rojos y Azules: dos equipos con dos saboresAlejandro Ramos
 
Seguridad informatica
Seguridad informaticaSeguridad informatica
Seguridad informaticaLorena Arroyo
 
TIA BASTIONADO y ASUME LA BRECHA 2018 (PART 2)
TIA BASTIONADO y ASUME LA BRECHA 2018 (PART 2)TIA BASTIONADO y ASUME LA BRECHA 2018 (PART 2)
TIA BASTIONADO y ASUME LA BRECHA 2018 (PART 2)Jhonny D. Maracay
 
Seguridad en Aplicaciones Web y Comercio Electrónico
Seguridad en Aplicaciones Web y Comercio ElectrónicoSeguridad en Aplicaciones Web y Comercio Electrónico
Seguridad en Aplicaciones Web y Comercio ElectrónicoRené Olivo
 
Análisis de estructura y funcionamiento de las redes de ordenadores compromet...
Análisis de estructura y funcionamiento de las redes de ordenadores compromet...Análisis de estructura y funcionamiento de las redes de ordenadores compromet...
Análisis de estructura y funcionamiento de las redes de ordenadores compromet...Adrian Belmonte Martín
 
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...RootedCON
 
Summer boot camp sciende umh
Summer boot camp sciende umhSummer boot camp sciende umh
Summer boot camp sciende umhAlejandro Quesada
 

Similar to Hack & beers lleida seguridad en desarrollo fullstack (20)

Laboratorios de Entrenamiento en Seguridad Informática - FLISOL 2010
Laboratorios de Entrenamiento en Seguridad Informática - FLISOL 2010Laboratorios de Entrenamiento en Seguridad Informática - FLISOL 2010
Laboratorios de Entrenamiento en Seguridad Informática - FLISOL 2010
 
Virus, el arte de algunos - Alberto García de Dios (/Rooted CON 2011)
Virus, el arte de algunos - Alberto García de Dios (/Rooted CON 2011)Virus, el arte de algunos - Alberto García de Dios (/Rooted CON 2011)
Virus, el arte de algunos - Alberto García de Dios (/Rooted CON 2011)
 
Seguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPSeguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASP
 
webminar ataques de fuerza bruta kali linux
webminar ataques de fuerza bruta kali linux webminar ataques de fuerza bruta kali linux
webminar ataques de fuerza bruta kali linux
 
Tema 4 mecanismos de defensa
Tema 4 mecanismos de defensaTema 4 mecanismos de defensa
Tema 4 mecanismos de defensa
 
LOG craziness: Sistemas SIEM para humanos! [GuadalajaraCON 2013]
LOG craziness: Sistemas SIEM para humanos! [GuadalajaraCON 2013]LOG craziness: Sistemas SIEM para humanos! [GuadalajaraCON 2013]
LOG craziness: Sistemas SIEM para humanos! [GuadalajaraCON 2013]
 
Gerardo Garcia Peña - Crypto Goofs... [rooted2018]
Gerardo Garcia Peña - Crypto Goofs... [rooted2018]Gerardo Garcia Peña - Crypto Goofs... [rooted2018]
Gerardo Garcia Peña - Crypto Goofs... [rooted2018]
 
Seguridad en Servidores Dedicados
Seguridad en Servidores DedicadosSeguridad en Servidores Dedicados
Seguridad en Servidores Dedicados
 
Seguridad informatica
Seguridad informaticaSeguridad informatica
Seguridad informatica
 
Ransonware: introducción a nuevo Virus Informático
Ransonware: introducción a nuevo Virus InformáticoRansonware: introducción a nuevo Virus Informático
Ransonware: introducción a nuevo Virus Informático
 
Pentest - El Arte de la Guerra
Pentest - El Arte de la GuerraPentest - El Arte de la Guerra
Pentest - El Arte de la Guerra
 
Cer tuy capacitaciones2011_v1
Cer tuy capacitaciones2011_v1Cer tuy capacitaciones2011_v1
Cer tuy capacitaciones2011_v1
 
Rooted con 2015 - Rojos y Azules: dos equipos con dos sabores
Rooted con 2015 - Rojos y Azules: dos equipos con dos saboresRooted con 2015 - Rojos y Azules: dos equipos con dos sabores
Rooted con 2015 - Rojos y Azules: dos equipos con dos sabores
 
Seguridad informatica
Seguridad informaticaSeguridad informatica
Seguridad informatica
 
TIA BASTIONADO y ASUME LA BRECHA 2018 (PART 2)
TIA BASTIONADO y ASUME LA BRECHA 2018 (PART 2)TIA BASTIONADO y ASUME LA BRECHA 2018 (PART 2)
TIA BASTIONADO y ASUME LA BRECHA 2018 (PART 2)
 
Seguridad en Aplicaciones Web y Comercio Electrónico
Seguridad en Aplicaciones Web y Comercio ElectrónicoSeguridad en Aplicaciones Web y Comercio Electrónico
Seguridad en Aplicaciones Web y Comercio Electrónico
 
3.redes seguridad
3.redes seguridad3.redes seguridad
3.redes seguridad
 
Análisis de estructura y funcionamiento de las redes de ordenadores compromet...
Análisis de estructura y funcionamiento de las redes de ordenadores compromet...Análisis de estructura y funcionamiento de las redes de ordenadores compromet...
Análisis de estructura y funcionamiento de las redes de ordenadores compromet...
 
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
rooted2020-Rootkit necurs no_es_un_bug,_es_una_feature_-_roberto_santos_-_jav...
 
Summer boot camp sciende umh
Summer boot camp sciende umhSummer boot camp sciende umh
Summer boot camp sciende umh
 

Recently uploaded

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 

Recently uploaded (12)

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 

Hack & beers lleida seguridad en desarrollo fullstack

  • 1. Seguridad en desarrollo fullstack. Marc Pàmpols @mpampols
  • 2. Plone (Python) y Php Setrill (Php) Django (Python) 59.700 Usuarios 400 Usuarios MySQL PostgreSQL Node.js Memcached Varnish Debian Debian … …
  • 3. Fullstack? • Configuración de servidores y redes • Conceptos de programación y bases de datos • Programación Back-end y Front-end • UX: Experiencia de usuario • Negocios
  • 4. Seguridad aplicada a • Servidores y redes • Programación y bases de datos • Front-end • Seguridad también para tus usuarios
  • 5. “No atribuyas a un ‘hacker’ lo que puede explicar la estupidez.” @SergioEfe
  • 6. Servidores y redes • Encriptar comunicaciones SSL · SFTP · VPN • Un servicio de red por servidor Apache / Nginx · Base de datos · Aplicación web · … • Revisar permisos en ficheros y carpetas • Actualizar apt-get update && apt-get upgrade
  • 7. Servidores y redes • Política de seguridad Desactivar login de root y generar claves de acceso con contraseña. • Configurar firewall • Menos software = menos vulnerabilidades • Sistemas de detección de intrusos (NIDS) • Monitorización y auditorias • Controlar los puertos abiertos netstat -tulpn
  • 10. Aún así… • 2010 Uno que trabajaba con Windows… Se infectó con malware y le robó las claves de acceso a servidores almacenadas en plano. Era un bot. • 2011 Mail Relay abierto. Unos 50k correos spam / día Mxtoolbox Blacklist Alerts (¡gratis!) http://mxtoolbox.com/services_servermonitoring2.aspx • Y más…
  • 11. Más lecciones aprendidas • No fue un hacker, sino nuestra estupidez. • Quien te garantiza un 100% de protección, miente. • No te conformes con una ligera explicación de lo sucedido. No te fíes de nadie y llega siempre hasta el final.
  • 12. Programación y BBDD • Elige un framework conocido y probado. Pylons, Laravel, Django, CodeIgniter, Meteor, Symfony, Spring, … • Revisa permisos de usuarios de la base de datos. • Almacena correctamente las contraseñas. Cómo implementarlo correctamente, paso a paso: http://crackstation.net/hashing-security.htm • La seguridad por oscuridad: error y falacia. Ejemplo 1: Internet Explorer (y con este es suficiente)
  • 13. Principios de Kerckhoff • Si el sistema no es teóricamente irrompible, al menos debe serlo en la práctica. • La efectividad del sistema no debe depender de que su diseño permanezca en secreto. • La clave debe ser fácilmente memorizable de manera que no haya que recurrir a notas escritas. • Los criptogramas deberán dar resultados alfanuméricos. • El sistema debe ser operable por una única persona. • El sistema debe ser fácil de utilizar. Fuente: http://es.wikipedia.org/wiki/Principios_de_Kerckhoffs
  • 14. Programación y BBDD • Cross-site request forgery (CSRF) Ejecutar acciones que el usuario no quiere • Clickjacking • Cross-site Scripting Persistente VS No-persistente • Aprende a evitar inyecciones SQL SELECT * FROM users WHERE email = ‘$email_input’;
  • 15. Programación y BBDD El famoso XSS y “han hackeado la web de…” No. Haz unfollow a los cuñados que suelten esta clase de chorradas ;)
  • 16. Front-end • Jamás confíes en el navegador. Valida todos los datos antes y después. • XSS • Cross-Origin resource sharing. Que sólo tú puedas enviar peticiones al servidor Access-Control-Allow-Origin: * • HTML5 http://html5sec.org
  • 17. Seguridad para tus usuarios • Automatiza el control de Spam. • Detecta y expulsa rápido a los scammers. • Expulsa a usuarios que atacan a otros usuarios.
  • 18. Nuestra experiencia en YoteConozco.com
  • 19. Los más fáciles de detectar…
  • 20. Lista negra de dominios y direcciones
  • 21. Usuarios contra usuarios • 10 - 15s entre envíos • Muy difíciles de detectar • Los mismos usuarios denuncian y nosotros comprobamos. (Mensajes públicos)
  • 22. Algunos trucos… • Dejamos que los spammers se registren… o eso creen ellos. • Escondemos campos por CSS que los bots rellenan… y sabemos si eres un bot, porque tu no. • Controlamos el tiempo entre acciones. Un usuario real no tarda siempre los mismos segundos.