Nuestros administrador de sistemas y experto en seguridad nos habla de las buenas prácticas en la gestión de servidores, los ataques más comunes en Internet y las posibles soluciones a estas amenazas. Abordamos soluciones prácticas de diferente nivel (empezando por las más sencillas) para la protección de servidores evitando que usuarios malintencionados tengan acceso a este. ¡Aprende a proteger tu servidor!
Más info: http://www.nominalia.com/server/serverded.html
2. Índice seguridad servidores
• Gestión remota de servidores (Buenas prácticas)
• Sistemas de defensa de servidores
• Ataques más comunes en internet y contramedidas
2
Importancia de la seguridad de los servidores en la actualidad
3. • Importancia de las contraseñas
(www.passwordmeter.com)
• zapatero 9%
• Zapatero 27%
• Z@p@t3r0 91%
• Z@p@t3r0! 100%
• @Z@p3t!0r 100% (@Z - @p – 3t - !0r)
• Gestión de contraseñas
(http://keepass.info)
• Creación de contraseñas complejas
• Cifrado robusto
• Comodidad y portabilidad
Gestión remota servidores
Contraseñas
3
4. Gestión remota servidores
Equipo Cliente
• Anti shoulder surfing
• Tiempo limitado en portapapeles
• Disponible en todas las plataformas
4
11. Sistemas de defensa de servidores
Hardening
• Protocolo SSH (Básico)
• Cambio del puerto standard
• Usar solo versión 2
• No permitir el usuario root en el login inicial
• Aumentar el cifrado a 2048 bits
• Usar intercambio de claves y denegar el acceso por password
• ssh-keygen
• ssh-copy-id
• Tiempo limitado para iniciar sesión
• Limitar acceso a usuarios
• Usar sftp para la transferencia de archivos
11
12. Sistemas de defensa de servidores
Hardening
• Protocolo SSH (Avanzado)
• Knockd
• Cambiar puertos por defecto
12
13. Defensa de los servidores
Hardening
• Soluciones opensource
• ConfigServer Firewall
(http://configserver.com/cp/csf.html)
• Integración con Webmin
• IDS/IPS
• Anti-DDOS
• Fácil gestión de Iptables
• Puntuación de la seguridad del servidor
13
14. Defensa de los servidores
Hardening
Ejemplo puntuación servidor CSF
14
15. Ataques más comunes en Internet
• Escaneo de vulnerabilidades
• Ataques comunes y contramedidas
• Explotar register_globals en php
• Remote code execution
• Sql injection
• DDOS
15
17. Ataques más comunes en Internet
17
• Ataque explotando register_globals en php:
Es una propiedad de php orientada a facilitar el desarrollo de programas pasando variables por formularios, cookies o sesiones,
dejándolas disponibles en el ámbito global del programa.
Pagina: http://www.tiendaejemplo.com/carrito.php?promo_codigo=superbarato10
If(promo_codigo == ‘superbarato10’){
$descuento = 0.05;
}
If(isset($descuento)){
$total -= $precio * $descuento
}
18. Ataques más comunes en Internet
18
• Ataque explotando register_globals en php (2):
ATAQUE (Conseguimos un descuento del 90%)
Pagina:
http://www.tiendaejemplo.com/carrito.php?promo_codigo=meloinvento&descuento=0.9
// si inicializamos aquí descuento a 0 parcheamos el problema
$descuento=0;
If(promo_codigo == ‘superbarato10’){
$descuento = 0.05;
}
If(isset($descuento) && descuento > 0){
$total -= $precio * $descuento
}
19. Ataques más comunes en Internet
19
• Remote code execution (eval)
ATAQUE (Conseguimos ejecutar un comando)
Pagina: http://www.tiendaejemplo.com/carrito.php?cp=system(ifconfig)
<?php
$codigo_postal=$_GET[‘cp'];
eval($codigo_postal);
?>
20. Ataques más comunes en Internet
20
• SQL INJECTION
consulta = "SELECT * FROM usuarios WHERE email = '"
+ email +"' AND pass = '" + pass + "';";
SELECT * FROM usuarios WHERE email = ‘pablo@ejem
plo.com' AND pass = ‘zapatero';
SELECT * FROM usuarios WHERE email = ‘pablo@ejem
plo.com' AND pass = '' OR '1' = '1';
Email: pablo@ejemplo.com
Password: ' OR '1' = '1
21. Ataques más comunes en Internet
Hardening
21
• SQL INJECTION(2)
• Solución: COMPROBAR Y FILTRAR ENTRADAS
• FUNCION: mysql_real_escape_string()
SELECT * FROM usuarios WHERE email = ‘pablo@ejem
plo.com' AND pass = ‘x’;DROP TABLE usuarios; --’;
Email: pablo@ejemplo.com
Password: x'; DROP TABLE usuarios; --
22. Ataques más comunes en Internet
22
• Ataque DDOS(Distributed Denial of Service)
• Contramedida básica para ataques DDOS en el puerto 80
• iptables -I INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m
recent –set
• iptables -I INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m
recent --update --seconds 45 --hitcount 10 -j DROP
• Escaner de ip’s conectadas a nuestro servidor
• netstat -ntu | tail -n +3 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c
| sort –n
• Baneo de ip’s
• iptables -A INPUT -s <ip atacante> -j DROP
23. Conclusiones
• Mantener el equipo cliente actualizado y usarlo con un
usuario sin privilegios.
• Establecer medidas de seguridad preventivas y
configurar alertas para la protección de nuestro
servidor.
• Realizar auditorias de seguridad periodicas para
mantener un estándar de seguridad.
23
DADA brand architecture
25. DOMAINS & ADVERTISING
¡Muchas gracias por tu atención!
Encontrarás este material y mucho más
en www.escueladeinternet.com
¡Síguenos también en las redes sociales!
https://www.facebook.com/nominalia
https://twitter.com/_nominalia_
https://plus.google.com/+nominalia
http://www.youtube.com/user/NominaliaDada