1. Estilo de Vida
  2. »
  3. Ciencia

Usando Ubuntu (Parte 3)

Enlaces a las partes 1 y 2:


https://www.taringa.net/posts/ciencia-educacion/20231669/Usando-Ubuntu-Parte-2.html

Una vez Ubuntu esté instalado y configurado de manera correcta, y hayamos reducido las posibilidades de ataques en red, empezaremos a preocuparnos por nuestra seguridad a un nivel de aplicaciones.

Llegado el caso de que abriéramos un archivo malicioso, podría un hacker acceder a los archivos en nuestro sistema? Sus posibilidades serían muy pocas si ponemos algunas cosas en su lugar...

En ésta tercera parte nos daremos una idea de cómo funcionan los repositorios de Ubuntu, cúales deberíamos evitar, y cómo actualizarlos. También cómo importar perfiles adicionales de AppArmor para limitar los recursos que las aplicaciones pueden utilizar, y cómo aislar aplicaciones 'inseguras' del sistema operativo a través del "SandBoxing".

Si no vieron las partes anteriores, deberían hacerlo; y si igual no entienden nada, a futuro quizá haga un post más basíco pero ahora lo "primordial" me parece ésto. (Serán 4 partes en total).


Paso 1: Instalar las últimas actualizaciones de sistema


Parte de mantener un sistema seguro es simplemente tener instaladas todas las actualizaciones del sistema y sus aplicaciones.

Si están acostumbrados a Windows, lo más probable es que descarguen e instalen programas y juegos de diferentes páginas web de dudosa procedencia... Cosas inherentemente inseguras.

Linux maneja la instalación de software de manera diferente.

Ubuntu usa varios repositorios (servidores) que contienen paquetes (software y dependencias) mayormente auditados por Canonical, los desarrolladores de Ubuntu, y responsables de su seguridad.


Los repositorios se dividen en las siguientes categorías:


Main: Compuesto por las aplicaciones y el software libre principal; libremente distribuido y totalmente soportado por el equipo de Ubuntu. Incluye las más populares y confiables aplicaciones disponibles de código abierto, muchas de las cuales ya están incluidas por defecto al instalar el sistema. Seleccionadas en base a cuáles los desarrolladores, la comunidad, y los usuarios creen más importantes y están dispuestos a soportar.


Universe: Éste repositorio es una colección de software libre y de código abierto de un enorme rango de fuentes públicas. Canonical provee actualizaciones de seguridad regulares para el software de éste repositorio a medida que se van haciendo disponibles a la comunidad. Las aplicaciones más populares y con buen soporte pueden ser incluidas en el repositorio principal si los desarrolladores están dispuestos a cumplir con los estándares propuestos por el equipo Ubuntu.


Restricted: Ubuntu se compromete a solamente promover el uso de software libre, sin embargo hacen excepciones para un pequeño grupo de herramientas y controladores que hacen posible que el sistema y sus aplicaciones funcionen un rango de hardware mucho más amplio. Éstos drivers o controladores propietarios se mantienen en el repositorio restringido. Debemos considerar que quizás no le sea posible a los desarrolladores de Ubuntu proveer soporte completo para éste software ya que no pueden modificar el código, solamente escalar el problema a los verdadores autores. Solamente utilizarán software cerrado cuando no haya otra manera de instalar el sistema.


Multiverse: Éste repositorio contiene software que no es libre, o que no es gratuito. O por decirlo de otra manera, que no cumple con las políticas de licencias de Ubuntu. La resposabilidad sobre el uso de éste software recae en nosotros y muy probablemente acate términos de derechos de autor. No es 'oficialmente' soportado por la comunidad Ubuntu y no puede ser reparado o actualizado por ésta.


Deshabilitar los repositorios inseguros
Antes de actualizar cualquier paquete, abrimos la ventana de "Software & Updates" y en la pestaña de "Ubuntu Software" deshabilitamos los repositorios multiverse y restricted.


Ahora, en la pestaña "Other Software" des-tildamos las opciones de "CanonicalPartners".


Deshabilitar los Backports

Éstos ofrecen una manera de proveer nuevas versiones de software para versiones más antiguas de Ubuntu. El equipo de seguridad de Ubuntu no actualiza éstos paquetes, ya que comúnmente el equipo propio de los backports libera nuevas versiones de sus aplicaciones; y por ésta razón recomiendo deshabilitarlos desmarcando la opción "bionic-backports"


Por defecto, Ubuntu debería descargar e instalar actualizaciones automáticamente de manera diaria.

Buscar actualizaciones manualmente

Para ésto utilizamos el conjunto de comandos

sudo apt-get update && sudo apt-get dist-upgrade -y



Paso 2: Usar perfiles de AppArmor


AppArmor es una mejora de kernel que confina las aplicaciones y programas a un grupo limitado de recursos. Por ejemplo, podemos limitar el acceso a internet de un lector de PDF y determinados directorios del sistema. De ésta manera, si abriéramos un documento PDF malicioso, no permitiríamos que éste obtuviera y enviara información nuestra. Por defecto, estará instalado y habilitado en nuestra instalación. Podemos verificarlo con el comando

sudo aa-status

Instalar perfiles adicionales de AppArmor

Usamos el comando sudo apt-get install apparmor-profiles apparmor-utils para instalar los perfiles y utilidades



Habilitar cada perfil

Usamos el comando sudo aa-enforce para habilitar los perfiles recién agregados

Obviamente podemos crear nuestros propios scripts y perfiles, para comprender mejor AppArmor podemos ver los manuales con el comando man.

man apparmor

man aa-status

man aa-enforce


Paso 3: Archivos y aplicaciones en un entorno aislado


Firejail es una herramienta bastante "ligera" que aísla aplicaciones restringiéndolas a un entorno "contenido". En el GIF vemos como el lector PDF por defecto de Ubuntu abre un archivo 'inseguro'.


Usando Firejail y AppArmor conjuntamente podríamos estar casi seguros que uno podría compensar cualquier fallo del otro. Entre las características de Firejail:

Listas negras: Podemos denegar el acceso a archivos y carpetas específicos. Los intentos se reportan al syslog.

Listas blancas: Permitir solamente archivos y carpetas especificadas por nosotros.

Ficheros de sistema temporales: Monta copias de los archivos y directorios y los descarta al cerrar el entorno.

Home restringida: Solamente la /home del usuario actual estará disponible dentro del entorno.

Reduce la fuga de información de nuestro sistema: Restringe el acceso a carpetas sensibles como /boot /proc y /sys.

1) Descargar e instalar Firejail

La última versión es de hace 3 días al momento de hacer el post; Descargamos el archivo .deb.


En la terminal, podemos movernos y ver los archivos y carpetas con los comandos cd y ls .

cd /Downloads

sudo dpkg -i firejail_0.9.56~rc1_1_amd64.deb

La herramienta tiene demasiadas opciones como para varios post, por lo que voy a mostrar la que creo más nos va a interesar y mejor explica el uso en sí de Firejail.

Aislar Firefox con Firejail con el comando firejail --seccomp --nonewprivs --private --private-tmp firefox

Firefox se abrirá en un entorno contenido y desechará los archivos guardados en la /home temporal que hemos creado.

Ésto es sólo un ejemplo de muchísimos usos que se le pueden dar a Firejail. También pueden usar la interfaz gráfica Firetools.


Próximo y último post: Antivirus, monitoreo del sistema y auditoría



+56
15
0
15Comentarios