[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Conectar desde clientes "enjaulados" vía SSH a MySQL.



El 24 de enero de 2018 0:37:07 CET, Cristian Mitchell <mitchell69uk@gmail.com> escribió:
>El 23 de enero de 2018, 20:32, Cristian
>Mitchell<mitchell69uk@gmail.com>
>escribió:
>
>>
>>
>> El 23 de enero de 2018, 19:40, Ramses<ramses.sevilla@gmail.com>
>escribió:
>>
>>> El 23 de enero de 2018 23:20:09 CET, Cristian Mitchell <
>>> mitchell69uk@gmail.com> escribió:
>>> >El 23 de enero de 2018, 15:26, Ramses<ramses.sevilla@gmail.com>
>>> >escribió:
>>> >
>>> >> El 23 de enero de 2018 18:24:23 CET, Matias Mucciolo <
>>> >> mmucciolo@suteba.org.ar> escribió:
>>> >> >On Tuesday, January 23, 2018 5:29:07 PM -03 Ramses wrote:
>>> >> >> Hola a tod@s,
>>> >> >>
>>> >> >> Tengo instalado MySQL Server con su proceso habitual.
>>> >> >>
>>> >> >> Ahora quiero dar acceso a Clientes vía SSH, pero no quiero que
>>> >esos
>>> >> >usuarios
>>> >> >> puedan ejecutar comandos de la Shell de Linux mediante el
>comando
>>> >> >"system"
>>> >> >> de MySQL.
>>> >> >>
>>> >> >> Parece ser que no hay forma de impedir los Usuarios de MySQL
>>> >puedan
>>> >> >ejecutar
>>> >> >> el comando "system" y la única forma de limitar el uso de los
>>> >> >comandos del
>>> >> >> Shell de Linux es enjaular (chroot jail) estos Usuarios SSH, y
>>> >sólo
>>> >> >copiar
>>> >> >> en la jaula los comandos que les permito y sus librerías
>>> >asociadas.
>>> >> >>
>>> >> >> Bien, tengo ya el entorno "chroot jail" configurado y el
>Usuario
>>> >SSH
>>> >> >se
>>> >> >> conecta.
>>> >> >>
>>> >> >> He copiado el fichero de arranque "/usr/sbin/mysql" en el
>>> >directorio
>>> >> >> "enjaulado".
>>> >> >>
>>> >> >> Con el comando "ldd /usr/sbin/mysql" averiguo las librerías
>>> >asociadas
>>> >> >y las
>>> >> >> he copiado en el directorio "enjaulado".
>>> >> >>
>>> >> >> Ahora, cuando se conecta un Usuario "enjaulado" vía SSH y
>ejecuta,
>>> >> >por
>>> >> >> ejemplo, "/usr/sbin/mysql -u root -p", MySQL pide la password,
>>> >pero
>>> >> >al
>>> >> >> introducirla, da un error de socket diciendo que no encuentra
>>> >> >> "/var/run/mysqld/mysqld.sock", y ahí estoy estancado...
>>> >> >>
>>> >> >> ¿Hay alguien que haya hecho esto y pueda comentarme qué pasos
>me
>>> >> >faltan por
>>> >> >> hacer?
>>> >> >>
>>> >> >>
>>> >> >> Gracias y saludos,
>>> >> >>
>>> >> >> Ramses
>>> >> >
>>> >> >obviamente se estan tratando de conectar mediante el socket
>>> >> >que crea mysql y los clientes enjaulados no pueden acceder.
>>> >> >creo que mysql tiene una opcion para que la "conexion"
>>> >> >sea por tcp...eso deberia funcionar..
>>> >> >
>>> >> >saludos
>>> >> >Matias
>>> >>
>>> >> Matías, gracias por contestar.
>>> >>
>>> >> Pero, ¿sabes si tengo que copiar algún fichero de configuración,
>como
>>> >el
>>> >> my.cnf a la "jaula"?.
>>> >>
>>> >> Hasta el momento sólo copiado programas y librerías al entorno
>>> >"enjaulado".
>>> >>
>>> >> Y estoy buscando información tanto en Linux genérico y Debian,
>como
>>> >en
>>> >> MySQL, y no encuentro lo que me aclare este tema...
>>> >>
>>> >>
>>> >> P.D.: Disculpas Matías, el otro se me fue al personal...
>>> >>
>>> >>
>>> >> Saludos y gracias,
>>> >>
>>> >> Ramses
>>> >>
>>> >>
>>> >como te estas logueando a mysql?
>>>
>>> Cristian, ¿te refieres a esto que ponía en mi correo?
>>>
>>> El cliente se conecta vía SSH a un entorno "enjaulado" y ejecuta:
>>>
>>> /usr/sbin/mysql -u root -p
>>>
>>
>> alguien comentaba esto
>>  si haces asi  nada mas te estas conectado por socket el cual
>nesesitas
>> acceso
>> pero si haces mysql -h localhost -u myname -ppassword mydb
>> esto evita tu problema de sock
>>
>>
>>
>>
>>>
>>>
>>> Saludos,
>>>
>>> Ramses
>>>
>>>
>>
>>
>> --
>> MrIX
>> Linux user number 412793.
>> http://counter.li.org/
>>
>> las grandes obras,
>> las sueñan los santos locos,
>> las realizan los luchadores natos,
>> las aprovechan los felices cuerdo,
>> y las critican los inútiles crónicos,
>>
>>
>si no tu otra opción es
>
>
>mount -o bind,noexec /var/run/mysqld/mysqld.sock (al chroot)

Cristian, buenos días,

¿Te refieres a ejecutar el comando "mount -o bind,noexec /var/run/mysqld/mysqld.sock" desde la sesión de un usuario "enjaulado" antes de lanzar el "/usr/sbin/mysql"?

Creo haberlo ejecutado ayer y no me dejaba. Copié el "mount" y sus librerías asociadas a la jaula y al ejecutarlo me decía que sólo podía ejecutar ese comando el "root", y ahí me quedé. A parte del "mount" y las librerías, ¿habría que copiar a la jaula algún otro fichero?.


Saludos y gracias,

Ramses


Reply to: