[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, 04:55, Ramses II<ramses.sevilla@gmail.com> escribió:
Cristian, buenos días de nuevo,

Bien, por TCP parece que ya funciona:

----------------------------------------------------------------------------------------------------------------
-bash-4.2$ /usr/bin/mysql -h 127.0.0.1 -u root -p --protocol=tcp
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 46
Server version: 5.5.59-0+deb7u1 (Debian)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>
mysql> quit
Bye
-bash-4.2$
----------------------------------------------------------------------------------------------------------------

Ahora sólo queda ver si hay forma de hacerlo por socket de MySQL.

Si ejecuto en la sesión "enjaulada" el comando que me has comentado:

----------------------------------------------------------------------------------------------------------------
-bash-4.2$ mount -o bind,noexec /var/run/mysqld/mysqld.sock
mount: only root can do that
-bash-4.2$
----------------------------------------------------------------------------------------------------------------

Lo que te comentaba, que dice que sólo lo puede ejecutar "root".

De cualquier forma, si ejecuto sólo "mount", tampoco va:

----------------------------------------------------------------------------------------------------------------
-bash-4.2$ mount
warning: failed to read mtab
-bash-4.2$
----------------------------------------------------------------------------------------------------------------


Gracias y saludos,

Ramses

El día 24 de enero de 2018, 0:37, 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)
>
> --
> 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,
>


buenos dia

cabe aclara que la idea del tcp fue de Matias
yo solo la aclare y la amplie
y para montar un cualquier recurso bajo estas circunstancias
tenes que agregar la linea en fstab y darle permisos de usuario
pero en tu caso como el chroot lo debe levantar el mysql,
lo agregas en el inicio del servidor o el inicio del servicio


--
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,


Reply to: