Monday 19 December 2016

Setuid Binary Options

Mount Opciones para los sistemas de archivos NFS El texto siguiente enumera algunas de las opciones que pueden seguir el indicador - o cuando está montando un sistema de archivos NFS. Para obtener una lista completa de opciones, consulte la página de manual mountnfs (1M). Estas opciones se pueden utilizar para seleccionar el comportamiento de reintento si falla un montaje. La opción bg hace que los intentos de montaje se ejecuten en segundo plano. La opción fg hace que el intento de montaje se ejecute en primer plano. El valor predeterminado es fg. Que es la mejor selección para sistemas de archivos que deben estar disponibles. Esta opción impide el procesamiento posterior hasta que se complete el montaje. Bg es una buena selección para sistemas de archivos no críticos porque el cliente puede realizar otro procesamiento mientras espera que se complete la solicitud de montaje. Esta opción mejora el rendimiento de grandes transferencias secuenciales de datos. Los datos se copian directamente en un búfer de usuario. No se realiza almacenamiento en caché en el núcleo del cliente. Esta opción está desactivada de forma predeterminada. Anteriormente, todas las solicitudes de escritura fueron serializadas tanto por el cliente NFS como por el servidor NFS. El cliente NFS se ha modificado para permitir que una aplicación emita escrituras simultáneas, así como lecturas y escrituras simultáneas, en un solo archivo. Puede habilitar esta funcionalidad en el cliente mediante la opción de montaje forzado. Cuando utiliza esta opción, está habilitando esta funcionalidad para todos los archivos dentro del sistema de archivos montado. También puede habilitar esta funcionalidad en un solo archivo en el cliente mediante la interfaz directio (). A menos que esta funcionalidad haya sido habilitada, las escrituras a los archivos serán serializadas. Además, si se están produciendo escrituras simultáneas o lecturas y escrituras simultáneas, la semántica POSIX ya no se admite para ese archivo. Para obtener un ejemplo de cómo utilizar esta opción, consulte Uso del comando mount. Con esta opción, puede acceder a archivos de más de 2 Gbytes en un servidor que ejecuta la versión de Solaris 2.6. Si se puede acceder a un archivo grande sólo se puede controlar en el servidor, por lo que esta opción se omite silenciosamente en NFS versión 3 montajes. A partir de la versión 2.6, por defecto, todos los sistemas de archivos UFS se montan con archivos grandes. Para montajes que utilizan el protocolo NFS versión 2, la opción largefiles hace que el montaje falle con un error. Esta opción para montajes UFS garantiza que no pueden existir archivos grandes en el sistema de archivos. Consulte la página de manual de mountufs (1M). Dado que la existencia de archivos grandes sólo puede controlarse en el servidor NFS, no existe ninguna opción para nolargefiles cuando se utilizan montajes NFS. Los intentos de montar NFS en un sistema de archivos mediante esta opción se rechazan con un error. A partir de la versión de Solaris 10, la opción nosuid es equivalente a especificar la opción nodevices con la opción nosetuid. Cuando se especifica la opción nodevices, no se permite la apertura de archivos especiales del dispositivo en el sistema de archivos montado. Cuando se especifica la opción nosetuid, el bit setuid y bit setgid en archivos binarios que se encuentran en el sistema de archivos se ignoran. Los procesos se ejecutan con los privilegios del usuario que ejecuta el archivo binario. La opción suid es el equivalente a especificar la opción devices con la opción setuid. Cuando se especifica la opción devices, se permite la apertura de archivos especiales del dispositivo en el sistema de archivos montado. Cuando se especifica la opción setuid, el bit setuid y el bit setgid en los archivos binarios que se encuentran en el sistema de archivos son honrados por el kernel. Si no se especifica ninguna opción, la opción predeterminada es suid. Que proporciona el comportamiento predeterminado de especificar la opción devices con la opción setuid. La tabla siguiente describe el efecto de combinar nosuid o suid con dispositivos o dispositivos de nodo. Y setuid o nosetuid. Tenga en cuenta que en cada combinación de opciones, la opción más restrictiva determina el comportamiento. Comportamiento desde las opciones combinadas La opción nosuid proporciona seguridad adicional para los clientes NFS que acceden a servidores potencialmente no fiables. El montaje de sistemas de archivos remotos con esta opción reduce las posibilidades de aumento de privilegios mediante la importación de dispositivos no confiables o la importación de archivos binarios setuid no confiables. Todas estas opciones están disponibles en todos los sistemas de archivos Solaris. Esta opción fuerza el uso del identificador de archivo público al ponerse en contacto con el servidor NFS. Si el servidor admite el identificador de archivo público, la operación de montaje es más rápida porque no se utiliza el protocolo MOUNT. Además, como no se utiliza el protocolo MOUNT, la opción pública permite que el montaje se produzca a través de un cortafuegos. Las opciones - rw y - ro indican si un sistema de archivos se debe montar de lectura-escritura o de sólo lectura. El valor predeterminado es lectura-escritura, que es la opción adecuada para directorios remotos, directorios de cola de correo u otros sistemas de archivos que necesitan ser cambiados por los usuarios. La opción de sólo lectura es apropiada para los directorios que los usuarios no deben cambiar. Por ejemplo, las copias compartidas de las páginas de manual no deben ser escritas por los usuarios. Puede utilizar esta opción para especificar el mecanismo de autenticación que se utilizará durante la transacción de montaje. El valor para el modo puede ser uno de los siguientes. Utilice krb5 para el servicio de autenticación de Kerberos versión 5. Utilice krb5i para Kerberos versión 5 con integridad. Utilice krb5p para Kerberos versión 5 con privacidad. Utilice ninguno para ninguna autenticación. Utilice dh para la autenticación Diffie-Hellman (DH). Utilice sys para la autenticación UNIX estándar. Los modos también se definen en /etc/nfssec. conf. Un sistema de archivos NFS que se monta con la opción soft devuelve un error si el servidor no responde. La opción hard hace que el montaje continúe reintentando hasta que el servidor responda. El valor predeterminado es difícil. Que debe utilizarse para la mayoría de los sistemas de archivos. Las aplicaciones frecuentemente no comprueban los valores devueltos de los sistemas de archivos montados en soft, lo que puede hacer que la aplicación falla o puede dar lugar a archivos dañados. Si la aplicación comprueba los valores devueltos, los problemas de enrutamiento y otras condiciones aún pueden confundir la aplicación o provocar daños en el archivo si se utiliza la opción suave. En la mayoría de las situaciones, la opción suave no debe usarse. Si un sistema de archivos se monta utilizando la opción hard y no está disponible, una aplicación que utiliza este sistema de archivos se bloquea hasta que el sistema de archivos esté disponible. Estoy usando una secuencia de comandos VPN para el protocolo Junipers Secure Access aquí. Que ejecuta un binario ubicado en /.junipernetworks/networkconnect/ncsvc con los permisos siguientes: Pero cuando lo hago, obtengo el siguiente error: /.junipernetworks carpeta para, por ejemplo, / Opt / juniper (con los mismos permisos del dueño), no consigo el error. En el hilo del foro en Ubuntuforums alguien señaló que su probablemente porque he cifrado mi / home y por lo tanto un problema con ecryptfs. ¿Cómo puedo solucionar esto sólo puedo pensar en dos trabajo alrededor de la partición cifrada / inicio. Si se conecta a una VPN a través de un sitio web, inicie firefox con: sudo firefox ya que es probable que su / root no esté cifrado. Después de conectar la red comienza usted puede cerrar el browser y dejar el cliente que funciona en el fondo. Esto es de lo que se mencionó antes. Básicamente, el cliente se ejecuta fuera de una partición cifrada: Después de lo anterior comenzar y proceder con la instalación de red volver a conectarse. Esta vez se instalará en /opt/.junipernetworks. Buscar binarios setuid en Linux y BSD Encontrar binarios setuid para sistemas Linux y BSD ¿Por qué setuid Los binarios con el bit setuid habilitado, se están ejecutando como si estuvieran ejecutándose bajo el contexto del Usuario root Esto permite a los usuarios normales (no privilegiados) usar privilegios especiales, como abrir sockets. Aunque esto parece innecesario para un usuario normal, en realidad es necesario para comandos simples como ping. Búsqueda de archivos con el bit setuid Para descubrir todos los archivos con el bit setuid, podemos usar el comando find. Dependiendo de la distribución, puede utilizar algunos parámetros específicos y opciones especiales. Por ejemplo, en Linux se puede usar - perm con la notación de barras (por ejemplo, / 4000). Esto significa que si alguno de los bits de permisos de archivo coincide, se mostrará el resultado. Sin embargo, esta opción no funciona para los sistemas BSD, como NetBSD. Correspondencia exacta Una de las mejores alternativas que hemos descubierto es usar el parámetro - perm con el valor octal. Sin embargo, sólo proporcionando el valor, significaría que tenemos que buscar el modo específico (como 4555 en el ejemplo de abajo). Encontrar binarios setuid con comando find Esta coincidencia exacta puede ser útil para arreglar archivos que tienen permisos incorrectos y son muy específicos. En nuestro caso, este no es el caso. Queremos todos los archivos con el setuid bit set, lo que significa efectivamente 822048221. Para obtener este tipo de búsqueda, podemos añadir un guión antes de la modalidad octal. Esto también coincidirá con el archivo si se encuentra el primer bit. Como se puede ver en el ejemplo, el archivo rcmd coincidirá. Sin embargo, en lugar de usar -4555, podemos simplificar la búsqueda a -4000. Los ceros dicen al comando find que cualquiera de los valores está bien para los otros bits de permiso. Por lo tanto, también incluirá archivos que normalmente tienen 755 (o 4755). Excluir otros dispositivos / montajes Otra adición útil para descubrir los binarios correctos, es buscar desde la raíz. Estamos interesados ​​en directorios como / bin, / sbin y / usr / (s) bin. Puesto que no estamos interesados ​​en archivos de otros sistemas de archivos montados debajo de /, podemos excluir los primeros. Esto se hace con el parámetro - xdev. Usuario específico Ahora queremos sólo los archivos propiedad del usuario root. Los archivos con root como propietario en combinación con setuid, se ejecutan con privilegios de root. Todos los demás archivos no son interesantes. Así que para que sea verdad, agregamos el parámetro root - user. Bit Setgid también Para completar nuestra búsqueda, también queremos descubrir archivos que tienen el conjunto de bit setgid similar. Esto ejecutaría los archivos con el permiso del grupo. Podemos hacer esto con una declaración lógica 8220 o 8221. Así que queremos archivos con el primer bit a ser 4 o 2. Esta es una de las formas más rápidas de buscar en el sistema de archivos, omitiendo cualquier archivo que no son propiedad del usuario root y saltar archivos del dispositivo. Qué hacer con los resultados La mayoría de los sistemas revelarán algunos archivos con setuid o setgid bit set. Así que tener unos cuantos en su sistema no es un problema, pero todavía hay margen de mejora. Let8217s echar un vistazo a las opciones: Quitar el paquete A veces nos encontramos con archivos que simplemente don8217t necesidad de nuestro sistema. Debian / Ubuntu: dpkg - s / path / to / binario o dpkg-query - S / path / to / binario Sistemas basados ​​en Red Hat: rpm - qf / path / to / binario Para sistemas basados ​​en Debian con la utilidad dpkg, Se parece a esto: Quitar el bit Otra opción lógica es quitar el bit del sistema. Por ejemplo, cuando el sistema no tiene usuarios normales, ¿por qué permitir que cualquier software utilice derechos especiales? Con chmod u-s podemos quitar el bit setuid de los permisos de archivo. Del mismo modo chmod g-s eliminará el bit setgid. Linux: Supervisar el uso con auditoría Si aún no desea modificar su sistema, otra opción sería agregar el sistema a una regla de auditoría de Linux. De esta manera podemos rastrear el uso del archivo. Un ejemplo para monitorear la ejecución de los binarios es con la siguiente regla de auditoría de Linux: Esta regla monitoreará los archivos / bin / ps y / bin / ls y activará un evento al ejecutarse (permx), con los binarios de etiquetas (binarios). Para obtener más información sobre la auditoría con el marco de auditoría, eche un vistazo a nuestra publicación anterior: Lynis Enterprise Esta publicación de blog es parte de nuestra serie de seguridad de Linux y la misión de obtener sistemas basados ​​en Linux y Unix más seguros. ¿El endurecimiento del sistema toma mucho tiempo, o tiene algún cumplimiento en su empresa? Consulte Lynis Enterprise. O empiece hoy mismo con el escáner de seguridad de código abierto Lynis (GitHub) Navegación de mensajes Acerca de Linux Audit Este blog forma parte de nuestra misión: ayudar a individuos y empresas a escanear y asegurar sus sistemas. Simplemente nos encanta la seguridad de Linux, el endurecimiento del sistema y las preguntas relacionadas con el cumplimiento. Además del blog, tenemos nuestra herramienta de auditoría de seguridad Lynis. De código abierto, GPL, y libre de usar. Para aquellos con necesidades empresariales, o desea auditar sistemas múltiples, existe una versión Enterprise. QuotUna solución de seguridad para auditar, endurecer y asegurar sus sistemas Linux / UNIX. quot Disfrute de los artículos Mensajes recientes Recibir actualizaciones Mejore a sus colegas y reciba las últimas actualizaciones. Contacto Este blog es parte de nuestra misión de compartir valiosos consejos sobre la seguridad de Linux. Estamos accesibles vía linuxaudit CISOfy De Klok 28, 5251 DN, Vlijmen, Países Bajos 31202260055 Automatización de seguridad Linux y UNIX Lynis es un escáner de seguridad de código abierto y gratuito. Ayuda con las auditorías automatizadas de seguridad de sistemas basados ​​en Linux y UNIX. Detecta vulnerabilidades y proporciona sugerencias para el endurecimiento del sistema.


No comments:

Post a Comment