Doas: subejecutor de aplicaciones OpenBSD dedicado

Tres días de doas.

Comencé a trabajar en doas hace un tiempo después de algunos problemas personales con la configuración predeterminada de sudo. El "entorno seguro" estaba bajo revisión constante y regularmente me encontraba incapaz de ejecutar pkg_add o crear un puerto mejorado o de otra manera porque las variables esperadas se eliminaban del entorno. Si hubiera estado prestando atención, mantener informados a los sudoers probablemente no habría sido una prueba tan dura, pero no me gustan los cambios.

El quid de la cuestión era en realidad que a algunas personas les gusta usar sudo para crear marcos de trabajo de administración de sistemas elaborados con conjuntos muy elaborados de permisos y controles y equilibrios. A algunas personas (yo) les gusta usar sudo para obtener un shell raíz sin recordar dos contraseñas. Por lo tanto, hubo una tensión considerable al tratar de proporcionar una configuración predeterminada que funcionara principalmente con el segundo grupo, pero que no fuera demasiado permisiva para el primer grupo.

Escribir un reemplazo pequeño y simple significó que podríamos entregar algo en la base que era totalmente inadecuado para el grupo de administradores de sistemas Power. Sólo podría funcionar para mí y estaría feliz por ello. Mientras tanto, aquellos que realmente necesitaran toda la flexibilidad de sudo lo instalarían desde los puertos y estarían contentos.

El código ha estado en un árbol de fuentes alternativo durante bastante tiempo, ya que cualquier versión de software "como esta, pero diferente" resulta inmediatamente en una avalancha de correos electrónicos. "¡Es diferente!" Y a pesar de mi razonamiento anterior, parecía ser la única persona realmente descontenta con la situación, por lo que no había ninguna motivación para agregar el pulido necesario para alcanzar un nivel mínimo de reemplazo.

Sin embargo, cuando hablé con Deraadt y Millert, no estaba completamente solo. A algunos les preocupaba que sudo fuera demasiado grande y ejecutara demasiado código en un proceso privilegiado. Y también hubo un impulso para habilitar aún más opciones, ya que el conjunto de funciones proporcionadas en la base no era lo suficientemente grande. (Tal como viene con OpenBSD, el sudo compilado ya era cinco veces más grande que cualquier otro programa setuid). Hurra, tensión. No era el problema que intentaba resolver, pero era una apertura desde la que lanzar mi malvado plan.

Primero, necesitaba un nombre nuevo porque a nadie le gusta el nombre. Se hicieron algunas sugerencias. sux (ya tomado de su, ahora con más X). machtfrei (demasiadas letras). PowerShell (si solo). datass (enviado después de que finalice el concurso).

En los CV, sucedió como dos. Por cierto, doas parece ser una ortografía alternativa para duas, pero la validación inicial llegó unos días tarde para Laylat al-Qadr.

Y entonces podría comenzar el verdadero hackeo y corte. Siempre pensé que la característica más importante de sudo era que insultaba al usuario después de ingresar una contraseña incorrecta. Al parecer el mundo está lleno de mecanógrafos pobres; la primera diferencia a hacer fue agregar una opción de configuración noinsults. Desafortunadamente, este fue un compromiso deficiente que complicó la gramática y requirió documentación adicional, por lo que la función se eliminó por completo. También hubo otra propuesta para cambiar el mensaje de error "Permiso denegado" a "Lo siento" para que coincida con su, pero esta propuesta no se implementó. doas no se disculpará por tus fracasos.

La eliminación de una docena de líneas de insultos dio paso a una nueva característica. Una opción simple -s es casi compatible con sudo si la memoria muscular resulta demasiado difícil de superar.

La sintaxis del archivo de configuración está inspirada aproximadamente en pf.conf. En lugar de palabras clave aprobar y bloquear, existen palabras clave permitir y denegar. Hay algunas limitaciones. Intentar rechazar un solo comando puede ser complicado porque "ksh", "/bin/ksh" y "///bin/ksh" se interpretan de manera diferente. No hagas eso. Mi instinto me indicó que añadir la negación como forma de frustrar el permiso era un modismo natural; Ciertamente así es como funciona pf. Sin embargo, en retrospectiva, un conjunto de reglas de éxito predeterminado ya es el predeterminado, mientras que la autorización predeterminada ciertamente no lo es. Quizás la palabra clave debería ser escalar. Enmarcarlo como un intento de eliminar la escalada después de otorgarlo hace que el peligro potencial sea más claro.

Consideramos una sintaxis de configuración diferente que invierte el orden de los usuarios y los comandos. En lugar de un enfoque centrado en el usuario, especifique primero el comando y luego el conjunto de usuarios autorizados. La expresión debería ser equivalente, pero quizás el orden inverso animaría a los usuarios a pensar en permisos mínimos. No estoy del todo convencido, pero desearía que fuera al menos tan natural expresar una configuración segura y limitada como una cómoda y permisiva.

Al cerrar el círculo, la mayoría de los ajustes y mejoras de Doa ahora parecen haber regresado a...

Tres días de doas.

Comencé a trabajar en doas hace un tiempo después de algunos problemas personales con la configuración predeterminada de sudo. El "entorno seguro" estaba bajo revisión constante y regularmente me encontraba incapaz de ejecutar pkg_add o crear un puerto mejorado o de otra manera porque las variables esperadas se eliminaban del entorno. Si hubiera estado prestando atención, mantener informados a los sudoers probablemente no habría sido una prueba tan dura, pero no me gustan los cambios.

El quid de la cuestión era en realidad que a algunas personas les gusta usar sudo para crear marcos de trabajo de administración de sistemas elaborados con conjuntos muy elaborados de permisos y controles y equilibrios. A algunas personas (yo) les gusta usar sudo para obtener un shell raíz sin recordar dos contraseñas. Por lo tanto, hubo una tensión considerable al tratar de proporcionar una configuración predeterminada que funcionara principalmente con el segundo grupo, pero que no fuera demasiado permisiva para el primer grupo.

Escribir un reemplazo pequeño y simple significó que podríamos entregar algo en la base que era totalmente inadecuado para el grupo de administradores de sistemas Power. Sólo podría funcionar para mí y estaría feliz por ello. Mientras tanto, aquellos que realmente necesitaran toda la flexibilidad de sudo lo instalarían desde los puertos y estarían contentos.

El código ha estado en un árbol de fuentes alternativo durante bastante tiempo, ya que cualquier versión de software "como esta, pero diferente" resulta inmediatamente en una avalancha de correos electrónicos. "¡Es diferente!" Y a pesar de mi razonamiento anterior, parecía ser la única persona realmente descontenta con la situación, por lo que no había ninguna motivación para agregar el pulido necesario para alcanzar un nivel mínimo de reemplazo.

Sin embargo, cuando hablé con Deraadt y Millert, no estaba completamente solo. A algunos les preocupaba que sudo fuera demasiado grande y ejecutara demasiado código en un proceso privilegiado. Y también hubo un impulso para habilitar aún más opciones, ya que el conjunto de funciones proporcionadas en la base no era lo suficientemente grande. (Tal como viene con OpenBSD, el sudo compilado ya era cinco veces más grande que cualquier otro programa setuid). Hurra, tensión. No era el problema que intentaba resolver, pero era una apertura desde la que lanzar mi malvado plan.

Primero, necesitaba un nombre nuevo porque a nadie le gusta el nombre. Se hicieron algunas sugerencias. sux (ya tomado de su, ahora con más X). machtfrei (demasiadas letras). PowerShell (si solo). datass (enviado después de que finalice el concurso).

En los CV, sucedió como dos. Por cierto, doas parece ser una ortografía alternativa para duas, pero la validación inicial llegó unos días tarde para Laylat al-Qadr.

Y entonces podría comenzar el verdadero hackeo y corte. Siempre pensé que la característica más importante de sudo era que insultaba al usuario después de ingresar una contraseña incorrecta. Al parecer el mundo está lleno de mecanógrafos pobres; la primera diferencia a hacer fue agregar una opción de configuración noinsults. Desafortunadamente, este fue un compromiso deficiente que complicó la gramática y requirió documentación adicional, por lo que la función se eliminó por completo. También hubo otra propuesta para cambiar el mensaje de error "Permiso denegado" a "Lo siento" para que coincida con su, pero esta propuesta no se implementó. doas no se disculpará por tus fracasos.

La eliminación de una docena de líneas de insultos dio paso a una nueva característica. Una opción simple -s es casi compatible con sudo si la memoria muscular resulta demasiado difícil de superar.

La sintaxis del archivo de configuración está inspirada aproximadamente en pf.conf. En lugar de palabras clave aprobar y bloquear, existen palabras clave permitir y denegar. Hay algunas limitaciones. Intentar rechazar un solo comando puede ser complicado porque "ksh", "/bin/ksh" y "///bin/ksh" se interpretan de manera diferente. No hagas eso. Mi instinto me indicó que añadir la negación como forma de frustrar el permiso era un modismo natural; Ciertamente así es como funciona pf. Sin embargo, en retrospectiva, un conjunto de reglas de éxito predeterminado ya es el predeterminado, mientras que la autorización predeterminada ciertamente no lo es. Quizás la palabra clave debería ser escalar. Enmarcarlo como un intento de eliminar la escalada después de otorgarlo hace que el peligro potencial sea más claro.

Consideramos una sintaxis de configuración diferente que invierte el orden de los usuarios y los comandos. En lugar de un enfoque centrado en el usuario, especifique primero el comando y luego el conjunto de usuarios autorizados. La expresión debería ser equivalente, pero quizás el orden inverso animaría a los usuarios a pensar en permisos mínimos. No estoy del todo convencido, pero desearía que fuera al menos tan natural expresar una configuración segura y limitada como una cómoda y permisiva.

Al cerrar el círculo, la mayoría de los ajustes y mejoras de Doa ahora parecen haber regresado a...

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow