Sé que la contraseña de sudo protege mi computadora de ser hackeada localmente por alguien que tiene acceso físico a ella ( edición: en realidad, no lo hace ) Mi contraseña es lo suficientemente segura para ese propósito, pero sé que no es lo suficientemente segura si alguien puede forzarla de forma remota.
¿ Alguien puede acceder a mi computadora en modo raíz usando mi contraseña de sudo sin acceso físico a la computadora, en una instalación de escritorio estándar de Ubuntu?
- Si tiene acceso a la red, definitivamente sí (respuesta corta)
- Si no presta suficiente atención a la seguridad, sí (respuesta larga)
- Si tiene "ssh" ejecutándose y no 2FA , sí ( comentarios y respuestas)
- Uno puede acceder a su computadora como root sin sudo / contraseña de usuario
Respuestas:
No quiero asustarte demasiado, pero si alguien tiene acceso físico, le entregaste el acceso a ellos sin importar cuán fuerte sea tu contraseña. Se necesitará 1 reinicio de alguien para que alguien pueda cambiar su contraseña de root (se puede hacer desde "grub rescue" sin la necesidad de proporcionar su contraseña actual). Por cierto: este método se considera válido y una característica, y un riesgo de seguridad aceptado (de lo contrario, nunca podría reparar su sistema en caso de que la contraseña se viera comprometida).
Aquí viene algo más en juego: un ROUTER debe ser lo suficientemente inteligente como para bloquear el acceso desde el exterior si se trata de una solicitud repetida que solicita la misma información en un corto período de tiempo. Básicamente, lo que tienes aquí es un ataque DOS (o un DDOS si 2+ computadoras te atacan). Un enrutador debe eliminar esa conexión y aplicar un período de espera antes de aceptar nuevas solicitudes de esa conexión.
Primero deben conectarse, luego proporcionar la contraseña de sudo. El modo "root" está deshabilitado y no puede iniciar sesión directamente en el indicador "#".
Tenga en cuenta que es posible abusar de un servicio. Si tiene "ssh" ejecutándose en esa máquina y ellos pueden "ssh" a su sistema, y obtener su nombre de usuario y contraseña para ese usuario (y como es un usuario administrador, su contraseña de sudo también) pueden acceder a su máquina y estropearlo Por cierto: si lo hacen así, primero deben tener conocimiento de su sistema (como su contraseña).
Pero luego hay un problema con eso (y cualquier otro método): ¿cómo obtuvieron su contraseña? NO pueden obtenerlo de su propio sistema. Y, en general, no vale la pena adivinar. Si fue diseñado socialmente ... entonces su problema está ahí, no con el modelo de seguridad de su sistema, Ubuntu o Linux en general.
Mientras su contraseña de sudo sea suya, estará / debería estar bien. Y será aún mejor si se trata de una contraseña segura (tal vez fácil de recordar para usted pero que otros no puedan adivinar). Un ejemplo que utilicé antes cuando discutí esto: si su perro se llama "Abwegwfkwefkwe" usando "Abwegwfkwefkwe" como contraseña es MALO aunque parezca bueno (ya que alguien podría preguntarle: '¿cómo se llama su perro?' Y lo intentan como una suposición gratis). Si no tiene relación con "Abwegwfkwefkwe", es una buena contraseña.
El mejor consejo que puedo dar:
no ingrese su contraseña de administrador cuando se la solicite, a menos que sepa que se esperaba que se le pidiera. Si abre un navegador y aparece una ventana emergente similar a nuestra "solicitud de contraseña de cuenta de administrador" ... deténgase ... y piense primero.
no deje su sistema desatendido cuando el período de gracia "sudo" esté activo.
sudo --reset-timestamp
elimina el período de gracia actual y volverá a solicitar la contraseña la próxima vez que use "sudo". Bloquee la pantalla cuando salga AFK.no instale servicios o software por el gusto de hacerlo. Si no necesita
ssh
, no instalessh
, si no utiliza un servidor web, no instale un servidor web. Y eche un vistazo a los servicios que se ejecutan actualmente. Si no utiliza BT en una computadora portátil, desactívela. Si no utiliza una cámara web, desactívela (si está activa). Elimine el software que ya no usa.y para los realmente paranoicos (y sí, paranoico Panda te estoy mirando): cambia la contraseña de vez en cuando. Incluso puede instalar cazadores de rootkits para verificar el acceso inapropiado.
respalde sus datos importantes en algo que mantenga fuera de línea. Por lo tanto, incluso si encuentra a alguien en su sistema, puede formatearlo y comenzar de nuevo con una nueva instalación y sus datos restaurados.
fuente
sudo --reset-timestamp
asudo -k
, osudo -K
para los verdaderamente paranoicos (solo es necesario si el atacante puede configurar la hora del sistema a valores arbitrarios, en ese punto probablemente ya haya perdido).Sí pueden.
Sin embargo, hay varias formas de hacerlo, y la fuerza bruta de la
sudo
contraseña probablemente no sea la primera.En primer lugar, la
sudo
contraseña es la contraseña de su usuario; así que realmente lo que necesitarían es su contraseña.Segundo, descifrar la contraseña de un usuario usando fuerza bruta para acceder a un sistema es probablemente el último recurso.
Hay formas mucho más elegantes (pero en su mayoría más efectivas) de entrar en otro sistema.
Por lo general, un atacante simplemente intentará explotar las vulnerabilidades más comunes (la más conocida probablemente sea obtener un shell de usuario por cualquier medio y explotar un ShellShock para obtener un shell raíz) o hacer un trabajo más fino en la línea de:
Forzar de forma bruta
sudo
la contraseña de / user puede ser un intento en caso de que no se pueda obtener un shell de root de otra manera, pero, por ejemplo, explotar un servicio que se ejecuta como root no requerirá que el atacante fuerce lasudo
contraseña de / user.fuente
sudo
contraseña. Aún mejor, si logra explotar un servicio que se ejecuta como root, es directamente root.sudo
derechos (= ~ un usuario en el que un atacante ha iniciado sesión pero cuyo atacante no conoce la contraseña) puede obtener una raíz shell simplemente explotando errores conocidos (en este caso el infame ShellShock).Si he aprendido algo en los últimos años sobre seguridad, entonces una cosa: nada es imposible .
Siempre que tenga acceso a una red, definitivamente. Cada servicio que se ejecuta en su sistema al que se puede acceder a través de la red es teóricamente vulnerable y, por lo tanto, una debilidad potencial.
Y por lo tanto, para un atacante con suficientes ideas es posible. Puede hacer que su sistema sea lo más seguro posible, pero nunca podrá llegar al 100% de seguridad.
Por lo tanto, es importante evaluar lo que es posible con un esfuerzo técnico justificable y lo que lo protege tan bien que usted mismo ya no puede trabajar.
fuente
sudo password no es solo para protección local, su propósito es agregar una capa adicional de seguridad al uso de privilegios de root. Una buena discusión se puede encontrar aquí /superuser//a/771523/467316
Su contraseña puede no ser tan fuerte como cree. En este momento estoy descifrando el 20-40% de los hashes de Active Directory de mi cliente para aquellos que he visto antes, aquellos que tienen reglas de contraseña incorrecta se están descifrando en un 70%. Recomiendo contraseñas complejas de 16 caracteres. Las tarjetas gráficas oclHashcat y Radeon pueden causar mucho daño. Agregue todos los volcados de contraseña de cada violación en los últimos 5 años y tiende a obtener un buen diccionario para trabajar.
Si está utilizando SSH, haga algunos ajustes en sshd_config
Los MUSTS salen de la puerta (el último para deshabilitar el servidor ftp si no lo está usando)
Guárdelo, reinicie ssh
Use el cifrado de clave pública Comience por crearse una clave en su máquina remota (usando puttygen o cualquier sabor que su sistema operativo tenga disponible). Copie la clave pública en su máquina Ubuntu bajo el usuario con el que desea iniciar sesión como archivo autorizado_keys (probablemente tendrá que crearla)
copie la clave pública en este formato
guárdelo y configure su sshd_config para permitir el inicio de sesión con clave pública
guardar y reiniciar ssh
Intente SSHing a su host ubuntu desde su computadora privada con clave utilizando encriptación de clave pública. Si todo salió bien, regrese al host de ubuntu y desactive la autenticación de contraseña.
Guardar y reiniciar ssh
Intente sshing desde una computadora privada con clave nuevamente para confirmar.
¿Quieres agregar más? configure una cuenta no privilegiada, desactive PermitRootLogin no, reinicie ssh, agregue su clave pública a las nuevas claves autorizadas de la cuenta, inicie sesión como cuenta no privilegiada, su a su cuenta raíz o privilegiada cuando necesite rootear o privilegiar su camino a través de las cosas.
fuente
El propósito de sudo no está relacionado con la contraseña, sino que brinda a ciertos usuarios capacidades de root-ish mientras restringe a otros en una máquina sin requerir que presenten el inicio de sesión de root (contraseña / clave / token de seguridad / etc.). Por ejemplo, en mi trabajo, los trabajadores del día a día solo pueden iniciar / cerrar / instalar y actualizar sus estaciones (desde un repositorio vetado por la compañía) a través de sudo. No se les otorgan otras libertades de raíz, como eliminar / formatear dispositivos a propósito, agregar y eliminar usuarios, decidir qué módulos del núcleo deben incluirse en la lista negra o qué se ejecuta en crontab (etc., etc., etc.). Mientras que en su casa, su sudo permite el acceso completo a la máquina. En cuanto a la contraseña, en realidad es la contraseña de su cuenta de usuario lo que requiere sudo (la misma que usaría para iniciar sesión, si el inicio de sesión automático no está habilitado).
Mala sugerencia : si desea hacer root una cuenta regular en un sudo habilitado para unix (linux / apple osx) ejecute lo siguiente
En este punto, la raíz tiene una contraseña normal, y puede simplemente cerrar sesión e iniciar sesión como raíz con la contraseña mencionada de la "forma tradicional".
En cuanto a la seguridad, si un programa (por ejemplo, servidor web, mysql, php daemon, sshd) se ejecuta como una cuenta elevada ... digamos root y tiene un exploit conocido, entonces los atacantes podrían no necesitar ninguna credencial de seguridad para obtener acceso. Pueden hacer uso de la vulnerabilidad del programa y generar un nuevo shell de este programa que se ejecute como root. Sin embargo, esto es bastante raro ya que los gerentes de distribución son conscientes de problemas similares y hacen un trabajo excepcional en la construcción de un entorno predeterminado bien pensado y generalmente seguro.
En el otro sistema operativo, una operación similar a sudo sería hacer clic derecho y ejecutar como Administrador del sistema (o el privilegio de UAC persistente).
fuente