.

Breaking News
recent

-

Configuración de NetworkManager en /home

Configuración de NetworkManager en /home

Buenas gente, les traigo una posible solución a "la falla" de seguridad en Ubuntu en cuanto a la falta de encrptación de contraseñas de redes inalámbricas almacenadas en el sistema.
Espero que les sirva!

Configuración de NetworkManager en /home:


Antes que nada decir que pueden encontrar más información sobre este problema en este post. Cabe destacar que dicho "problema" también lo encontré en Arch Linux, que es el sistema que yo uso, por eso ma pareció conveniente aportar una posible solución a este problema, que sirve en caso de que tengamos nuestra carpeta /home encriptada.


El programa NetworkManager (Gestor de red) en Ubuntu (y como comprobé, también en Arch y seguro tantas otras distros que usen este gestor de red en particular), almacena los archivos de configuración de Wi-Fi y VPN fuera de la carpeta home, dentro del directorio /etc/NetworkManager (A no ser que hayas desactivado la opción "Todos los usuarios deben conectarse a esta red" o "Disponible para todos los usuarios", junto con las contraseñas almacenadas como texto plano en estos mismos archivos.
Ese no es el comportamiento que esperás si tenés habilitada la encriptación par tu carpeta home

Precaución:
  • Los siguientes pasos estan hechos para ser implementados en sistemas con un solo usuario con encriptación de la carpeta home habilitada.
  • Un desarrollador de Ubuntu indicó que esta solución introduciría un agujero en la seguridad en caso de que un atacante tenga el control del sistema.



Pasos a seguir:

Crear carpeta, copiar y enlazar contenido:

Ya que mover completa la carpeta NetworkManager parece no funcionar, solo moveremos los subdirectorios relevantes:

1) Crear una carpeta para los archivos:


mkdir ~/.NetworkManager
sudo mv /etc/NetworkManager/system-connections ~/.NetworkManager/
sudo ln -s ~/.NetworkManager/system-connections/ /etc/NetworkManager/


Lo que hago aquí es:
  • primero crear la carpeta .NetworkManager en mi home.
  • Segundo muevo el contenido de la carpeta " /etc/NetworkManager/system-connections" a la carpeta que acabo de crear, y por último
  • creo un enlace simbólico (acceso directo) de la carpeta "~/.NetworkManager/system-connections/" a la carpeta "/etc/NetworkManager/"
Nota: Si notaste la carpeta VPN: Aparentemente no tiene que ser movida ya que NetworkManager también almacena los archivos de configuración de PPTP y OpenVPN en /system-connections.



Escribí un programa para reiniciar NetworkManager:

Para hacer que NetworkManager se "entere" de que sus archivos de configuración están disponibles nuevamente al iniciar sesión o volver de la suspensión, necesitamos reiniciarlo. Como el único usuario capaz de reiniciarlo es el superusuario, necesitamos crear un programa en formato binario para poder agregarle el bit SUID. De esa forma podemos reiniciar el servicio de NetworkManager como usuario regular.

1)Creamos un archivo de C:


cd ~/.NetworkManager
nano restartnetworkmanager.c



2) Agregamos lo siguiente y guardamos:


#include <stdlib.h>
int main()
{
setuid(0);
return system("sudo service network-manager restart";
}



3) Compilamos:


gcc restartnetworkmanager.c -o restartnetworkmanager



4) Se fijan el propietario, los permisos y se agrega el bit SUID:


sudo chown root restartnetworkmanager
sudo chmod u+s restartnetworkmanager



5) Se mueve el ejecutable a nuestra carpeta de binarios:


sudo mv restartnetworkmanager /usr/local/bin/




Hacer que se inicie automáticamente al inicio del sistema:

1) Agregar un archivo .desktop de inicio automático:


nano ~/.config/autostart/restartnetworkmanager.desktop



2) Insertar lo siguiente:


[Desktop Entry]
Type=Application
Name=Restart NetworkManager
Comment=Mirá http://echt.guth.so/moving-networkmanager-config-files-to-home/ Exec=restartnetworkmanager




Ejecutarlo al volver de la suspensión:


1) Hacer un script:


sudo nano /etc/pm/sleep.d/restart-wifi



2) Insertar lo siguiente:


#!/bin/bash
case "${1}" in

resume|thaw)
/usr/local/bin/restartnetworkmanager
;;
esac



3) Hacerlo ejecutable:


sudo chmod +x /etc/pm/sleep.d/restart-wifi




Recursos útiles:
http://askubuntu.com/questions/22174/where-does-network-manager-store-wpa-keys-when-available-to-all-users-is-ticke



Si les gustó este aporte:

redes

Y como siempre:

Wifi

Configuracion

Todo comentario desubicado, irrespetuoso y/o fuera de lugar será borrado y en caso de que sea necesario el usuario será bloqueado.

No hay comentarios:

Publicar un comentario

-

Con la tecnología de Blogger.