Home Hacking y Seguridad Protecciones Seguridad en /proc II

Ultimos Mensajes del Foro

Manual Aleatorio

Estudio de la etica hacker
Este documento estudia la etica hacker desde el punto de vista de la etica.
Leer más...
Seguridad en /proc II Imprimir E-mail
Hacking y Seguridad - Protecciones
/proc es un pseudo-sistema de archivos, ya que en realidad ni l ni ninguno de los archivos y directorios contenidos en su interior existen realmente. /proc nos facilita una interfaz para acceder y, en algunos casos, modificar, algunas estructuras de datos del ncleo del sistema operativo. PARTE 2

Texto Completo:
- Opciones de seguridad en Linux a través de /proc (II)                                  

Continuamos con la descripción de los parámetros de seguridad de las                            
máquinas que ejecutan Linux con el sistema de archivos virtual /proc.                           
											       
Los parámetros que vamos a ver a continuación muestran como podemos                             
controlar la forma en que un sistema actúa en determinadas                                      
circunstancias. Estos parámetros nos van a ayudar a fortalecer la                               
seguridad del sistema operativo. Estos parámetros son un complemento a                          
las medidas de protección perimétricas, como pueden ser los cortafuegos.                        
										       
Mediante /proc no sólo podemos cambiar estos parámetros. Hay otras                              
muchas cosas interesantes que podemos hacer, como por ejemplo mejorar el                        
rendimiento del sistema de archivos, modificar la forma en que el                               
sistema gestiona la memoria virtual, incrementar el número máximo de                            
archivos abiertos de forma simultánea y otros cambios. Los lectores                             
interesados pueden encontrar información al respecto en la documentación                        
que acompaña al código fuente del núcleo de Linux.                                              
											       
Todos los mandatos que indicamos a continuación deben ser ejecutados por                        
el usuario root.                                                                                
											       
											       
Control del protocolo ICMP                                                                      
											       
-Ignorar las peticiones de repuesta a ping                                                      
											       
Dependiendo de la configuración de la red, puede ser interesante                                
configurar el sistema para que éste no responda cuando recibe un ping                           
(mensaje ECHO del protocolo ICMP). De esta forma, puede ser un poco más                         
difícil que un atacante descubra si el sistema está conectado a la red.                         
											       
Para desactivar las respuesta de forma temporal:                                                
											       
# sysctl -w net.ipv4.icmp_echo_ignore_all=1                                                     
											       
y para desactivarla de forma permanente, editar el archivo                                      
/etc/sysctl.conf y añadir las líneas                                                            
											       
net.ipv4.icmp_echo_ignore_all = 1                                                               
											       
(Nota= En los siguientes parámetros, si se desea realizar el cambio de                          
forma permanente deberá modificarse igualmente el archivo                                       
/etc/sysctl.conf, tal como hemos hecho para este parámetro).                                    
											       
											       
-No atender a las peticiones enviadas mediante broadcast                                        
											       
Cuando una máquina envía un paquete a la dirección de broadcast (por                            
ejemplo, 192.168.1.255), éste es entregado a todas las máquinas                                 
existentes en la red local. A continuación, todas las máquinas deben                            
enviar un mensaje ECHO del protocolo ICMP. Esto puede provocar una                              
congestión de la red, a la vez que permite determinar que sistemas están                        
activos en la red.                                                                              
											       
Para desactivar la recepción de paquetes enviados a la dirección de                             
broadcast:                                                                                      
											       
# sysctl -w net.ipv4.icmp_echo_ignore_broadcasts = 1                                            
											       
											       
-Protección ante mensajes de error mal formateados                                              
											       
Es posible que una red se transmitan mensajes de error mal formateados.                         
Para evitar que éstos sean procesados por el sistema:                                           
											       
# sysctl -w net.ipv4.icmp_ignore_bogus_error_responses = 1                                      
											       
											       
-Deshabilitar la aceptación de redirecciones                                                    
											       
Cuando el ordenador utiliza una ruta extinta o no-óptima para enviar un                         
paquete a un destino particular, los routers por donde circula el                               
paquete envían al origen un mensaje de redirección del protocolo ICMP                           
para informar de la ruta correcta a utilizar en el futuro.                                      
											       
Si un atacante tiene la capacidad de enviar mensajes de redirección                             
puede modificar las tablas de direccionamiento del ordenador, haciendo                          
por ejemplo que todo el tráfico fluya a través de una vía concreta.                             
											       
Para evitar el proceso de estos mensajes en el sistema:                                         
											       
# sysctl -w net.ipv4.conf.all.accept_redirects = 0                                              
# sysctl -w net.ipv4.conf.default.accept_redirects = 0                                          
											       
											       
Protección contra ataques DoS de inundación SYN                                                 
											       
El ataque de denegación de servicio (DoS) por inundación SYN ("SYN                              
Flood") consigue consumir todos los recursos de la máquina, haciendo que                        
sea necesario reiniciarla para volver a funcionar con normalidad.                               
											       
Cada vez que se realiza una conexión TCP/IP existe una negociación de                           
tres pasos:                                                                                     
											       
1. El cliente envía un paquete (paquete 1) al servidor con el bit SYN                           
activado y permanece a la escucha.                                                              
2. El servidor responde al cliente con un paquete de confirmación                               
(paquete 2) y permanece a la escucha.                                                           
3. El cliente envía un tercer paquete (paquete 3) que consolida la                              
conexión.                                                                                       
											       
La información recibida en el paquete 1 se conserva dentro de una cola                          
para que pueda ser comparada con los datos recibidos en el paquete 3 y                          
dar por establecida la conexión. Esta cola es de un tamaño limitado y                           
tiene un tiempo de latencia muy elevado.                                                        
											       
El ataque de inundación SYN consiste en llenar esa cola, mediante el                            
envío de un gran número de paquetes 1 y nunca respondiendo con un                               
paquete 3. En el momento en que se llena la cola, el sistema es incapaz                         
de atender cualquier otra petición de conexión que reciba.                                      
											       
La protección contra este ataque consiste en añadir información en el                           
paquete 2, de forma que no sea necesaria conservar en el servidor ningún                        
dato sobre el cliente.

Para activar esta protección:                                                                   
											       
# sysctl -w net.ipv4.tcp_syncookies = 1                                                         
											       
Con este valor, el sistema utilizará el método de incluir la información                        
en el paquete 2 siempre que la cola de paquetes por procesar esté                               
saturada.                                                                                       
											       
											       
Protección contra direcciones IP no válidas                                                     
											       
Esta protección permite que la máquina no pueda utilizarse para el envío                        
de paquetes con direcciones IP no válidas. Este tipo de paquetes son                            
habitualmente enviados cuando la máquina está intentando realizar una                           
acción potencialmente ilegítima, como puede ser la suplantación de una                          
conexión o el envío de paquetes en un ataque de denegación de servicio.                         
											       
Para activar esta protección:                                                                   
											       
# sysctl -w net.ipv4.conf.all.rp_filter = 2                                                     
# sysctl -w net.ipv4.conf.default.rp_filter = 2                                                 
											       
El valor de los parámetros puede ser 0 (valor por omisión, no realizar                          
ninguna comprobación), 1 (rechazar únicamente las suplantaciones                                
evidentes) y 2 (realizar una comprobación exhaustiva). Aconsejamos                              
seleccionar la opción de comprobación exhaustiva.                                               
											       
Esta opción no debe utilizarse en aquellos sistemas que actúen como                             
cortafuegos o routers.                                                                          
											       
											       
Redireccionamiento IP                                                                           
											       
El redireccionamiento IP es que en un sistema con diversos interfaces                           
activos, se acepten paquetes en un interfaz con destino al otro. Si la                          
opción de rediccionamiento está activa, la máquina podrá actuar como un                         
router para el tráfico entre las redes existentes en cada uno de los                            
interfaces.                                                                                     
											       
Únicamente aquellos sistemas que actúan como cortafuegos o routers o                            
bien en circunstancias muy especiales deberían tener esta opción activa.                        
											       
Para verificar que se encuentra desactivada:                                                    
											       
# sysctl -w net.ipv4.ip_forward = 0                                                             
											       
Tal como hemos indicado anteriormente, en caso de activar con el valor 1                        
esta opción, también deberemos modificar el valor de                                            
net.ip4.conf.all.rp_filter y net.ipv4.conf.default.rp_filter.                                   
											       
											       
Control de rutas                                                                                
											       
Habitualmente un sistema no tiene ningún control sobre la ruta utilizada                        
por los paquetes en su camino hacia su destino. El protocolo TCP/IP                             
permite establecer la ruta exacta a seguir. Excepto en circunstancias                           
muy especiales, este soporte deberá ser desactivado para evitar que un                          
atacante pueda utilizar un sistema concreto como paso para saltarse las                         
protecciones establecidas en el tráfico.                                                        
											       
Para desactivar esta opción:                                                                    
											       
# sysctl -w net.ipv4.conf.all.accept_source_route = 0                                           
# sysctl -w net.ipv4.conf.default.accept_source_route = 0                                       
											       
											       
Registro de actividades sospechosas                                                             
											       
Un último valor de interés nos permite registrar en los archivos de                             
actividad del sistema aquellas situaciones potencialmente sospechosas:                          
intento de envío de paquetes con dirección no válida, paquetes con                              
cambio de rutas y otras situaciones similares.                                                  
											       
Se trata de una serie de situaciones que en un funcionamiento normal de                         
la red no pueden producirse en ninguna circunstancia. Un ejemplo puede                          
ser la recepción de un paquete a través de un interfaz Ethernet con                             
dirección origen igual a 127.0.0.1                                                              
											       
Para activar el registro de esta actividad:                                                     
											       
# sysctl -w net.ipv4.conf.all.log_martians = 1                                                  
# sysctl -w net.ipv4.conf.default.log_martians = 1                                              
											       
							Xavier Caballé