{"id":2675,"date":"2018-08-31T09:31:55","date_gmt":"2018-08-31T09:31:55","guid":{"rendered":"https:\/\/esferas.org\/msqlu\/?p=2675"},"modified":"2018-08-31T09:31:55","modified_gmt":"2018-08-31T09:31:55","slug":"enjaulando-usuarios-cual-vulgares-animalejos","status":"publish","type":"post","link":"https:\/\/esferas.org\/msqlu\/2018\/08\/31\/enjaulando-usuarios-cual-vulgares-animalejos\/","title":{"rendered":"Enjaulando usuarios cual vulgares animalejos &#8230;"},"content":{"rendered":"<p>&#8230; es s\u00f3lo cuesti\u00f3n de decidirse por el m\u00e9todo: suave o por las bravas.<\/p>\n<p><!--more--><\/p>\n<p>A riesgo de padecer alg\u00fan tipo de implosi\u00f3n cerebral voy a volver a hablar del acceso de usuarios para copias de seguridad y la propia seguridad del servidor.<\/p>\n<p>Es algo cansino, lo s\u00e9, pero cuanto m\u00e1s me adentro en la construcci\u00f3n de algo sencillo m\u00e1s me percato de lo que estoy omitiendo. Linux tiene un mecanismo bastante bueno para enjaular la actividad de un usuario conectado al mismo e impedir que acceda a ciertos archivos y\/o ejecute determinados programas: se llama chroot; no es perfecto, hay varias formas de salt\u00e1rselo, pero es un buen primer paso para asegurar el sistema.<\/p>\n<p>Como el sistema de copias que estoy construyendo y retocando necesita un acceso seguro y discreto opt\u00e9 por las conexiones v\u00eda SSH. Y hasta aqu\u00ed muy bien, porque <a href=\"https:\/\/esferas.org\/msqlu\/2017\/11\/24\/adduser-cuando-necesitas-anadir-muchas-cuentas\/\">ya dije<\/a> c\u00f3mo conseguir perfiles de usuario ce\u00f1idos a un prop\u00f3sito, pero luego me he encontrado con varios detalles que me est\u00e1n complicando la vida.<\/p>\n<ol>\n<li>C\u00f3mo accede el usuario al sistema<\/li>\n<li>Qui\u00e9n activa la jaula<\/li>\n<li>Qu\u00e9 puede ejecutar all\u00ed y cu\u00e1les son sus l\u00edmites<\/li>\n<\/ol>\n<p>La respuesta a la primera pregunta ya est\u00e1 contestada: SSH. Y tiene tambi\u00e9n la posibilidad de activar la jaula para el usuario pero est\u00e1 muy limitada en cuanto a qu\u00e9 se puede ejecutar despu\u00e9s; b\u00e1sicamente un programa para la copia v\u00eda <em>scp<\/em> y <em>sftp<\/em>. Si quieres algo m\u00e1s entonces debes cambiar el enfoque: dejar acceso al usuario y limitar a nivel de cuenta la interacci\u00f3n con el sistema. Dado que lo habitual es emplear un <em>shell<\/em> existe uno adaptado justo a lo que queremos: <em>rssh<\/em>.<\/p>\n<p>Empleando esta herramienta como <em>shell<\/em> de usuario se abren m\u00e1s posibilidades, m\u00e1s protocolos de transferencia de datos, pero el mecanismo tiene un precio: el programa auxiliar que utiliza para activar la jaula debe ser propiedad de <em>root<\/em> y <strong>tener activo<\/strong> el bit <em>SUID<\/em> correspondiente.<\/p>\n<p style=\"padding-left: 30px;\">Esto supone un riesgo de seguridad, pero dado que <em>rssh<\/em> funciona bajo el identificador del usuario que acaba de conectarse, y debe activar la jaula, no hay otra opci\u00f3n.<\/p>\n<p>Otra de las <em>limitaciones<\/em> de emplear <em>rssh<\/em> es que los usuarios deben tener definido su directorio de trabajo con la ruta completa de la jaula. Esto es, si una cuenta tiene su directorio <em>home<\/em> en <em>\/home\/usuario<\/em>, y la jaula est\u00e1 en <em>\/chroot<\/em>, se debe dar de alta como <em>\/chroot\/home\/usuario<\/em>.<\/p>\n<p>La raz\u00f3n para ello es que estamos <em>empleando SSH<\/em> para acceder al sistema y la jaula s\u00f3lo se monta cuando se ha producido la conexi\u00f3n; para el resto del sistema cualquier cosa relacionada con el usuario (como claves de acceso SSH) debe ser accesible directamente.<\/p>\n<p>Resumiendo: <em>SSH<\/em> proporciona el acceso y la transmisi\u00f3n de datos y <em>rssh<\/em> el entorno de ejecuci\u00f3n limitado en espacio y en herramientas.<\/p>\n<p>Hay m\u00e1s documentaci\u00f3n al respecto en el repositorio donde mantengo el software: <a href=\"https:\/\/git.astillas.net\/msat\/tree\/topics\/sb\">https:\/\/git.astillas.net\/msat\/tree\/topics\/sb<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8230; es s\u00f3lo cuesti\u00f3n de decidirse por el m\u00e9todo: suave o por las bravas.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","webmentions_disabled_pings":false,"webmentions_disabled":false,"footnotes":""},"categories":[2],"tags":[727,729,93,780],"class_list":["post-2675","post","type-post","status-publish","format-standard","hentry","category-software","tag-chroot","tag-rssh","tag-ssh","tag-suid"],"_links":{"self":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/2675","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/comments?post=2675"}],"version-history":[{"count":3,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/2675\/revisions"}],"predecessor-version":[{"id":2678,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/2675\/revisions\/2678"}],"wp:attachment":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/media?parent=2675"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/categories?post=2675"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/tags?post=2675"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}