Mostrando entradas con la etiqueta ciberseguridad. Mostrar todas las entradas
Mostrando entradas con la etiqueta ciberseguridad. Mostrar todas las entradas

jueves, 10 de junio de 2021

Los niveles de usuarios en Mac (habilitar root)

 El sistema operativo macOS nos ofrece 5 niveles de seguridad (en realidad son 3 que parecen 5, o más bien, 5, pero sólo se muestran 3), mejor hay que explicarlo más a detalle:



macOS ofrece tres niveles de usuario final: 
  • Administrador
  • Estándar
  • Para compartir
Los usuarios Administradores son aquellos que tienen permiso para instalar aplicaciones, borrarlas, cambiar la configuración del sistema, etc. Tiene libertad casi total.
Los usuarios estándar son aquellos que solamente tienen permiso total sobre sus propios archivos.
Los usuarios para compartir, compartidos o shared son los más limitados: solamente pueden ver los archivos o fólders que han sido compartidos, y se les puede limitar para que solamente los puedan leer. Los usuarios para compartir se usan para macs en redes, donde los usuarios de otra mac se pueden conectar a la tuya, entrar a sesión usando el usuario para compartir y ver solamente los archivos que has compartido, por eso son tan limitados.
El nivel de cada usuario se debe especificar cuando se crea, solamente los usuarios estándar se pueden convertir en administradores. La creación de usuarios se hace en Preferencias del sistema → Usuarios y grupos:

En esta pantalla, la opción para agregar a un usuario (el símbolo +) aparece ghosteado (bloqueado):

Para desbloquearlo hay que hacerle click al candado y escribir el password del usuario administrador:

Desbloquear la pantalla "Usuarios y grupos" también permite que un usuario estándar obtenga permisos de administrador mediante la opción "Permitir al usuario administrar esta computadora".


Una vez desbloqueado se puede dar click al botón "+" para crear a un usuario. Esta ventana también permite asignarle un nivel de acceso al usuario:


El cuarto nivel de acceso es llamado usuario "Huésped" o "Guest". Igual que el usuario "Para compartir", tiene accesos muy limitados: la diferencia principal con un usuario compartido es que el invitado está pensado para accesar desde la misma computadora. Esto está pensado para usuarios ocasionales que necesiten usar la computadora o cuando los niños quieran jugar algún videojuego en la mac. En casos así es buena idea cerrarles el paso al acceso a documentos de contabilidad personal, passwords o prohibir el acceso a sitios porno.

El usuario invitado ya viene instalado y configurado en todas las macs. Solamente hay que activarlo en la ventana "Usuarios y grupos",


El quinto nivel de acceso es el superusuario o "root". A primera vista, el usuario root parecería el mismo que el usuario "Administrador"; la diferencia estriba en que el usuario administrador tiene todos los permisos sobre usuarios, las aplicaciones y accesos, pero no sobre el funcionamiento interno del sistema, todos esos eventos y comandos extraños que solamente se pueden ver con la terminal.
Aquellos geeks y nerds experimentados en los ambientes Linux y Unix, ya sabrán que el superusuario root es todopoderoso dentro del sistema, pero también es increíblemente peligroso  porque puede borrar o dañar a un sistema hasta el grado que haya que reinstalar para que vuelva a funcionar. Apple lo sabe y ha diseñado macOS para que sea lo más seguro posible. En macOS, el usuario root existe, pero está deshabilitado por default. Solamente si se necesita, puede uno habilitarlo.
Para habilitar el usuario root, hay que meterse a la ventana de "Usuarios y grupos", desbloquearla y seleccionar la opción "Opciones de inicio":

                   

En esta ventana, oprimir el botón "Acceder" de la opción "Servidor de cuentas de red". Se abre la siguiente ventana:

Oprimir el botón "Abrir Utilidad de Directorios". Se abre la ventana de utilidad de directorios. Esta ventana está bloqueada, así que hay que desbloquearla con el password de algún usuario administrador:

Una vez desbloqueada, uno puede activar al usuario root a través del menú "Edición".

Al activar el usuario root, el sistema lanza una ventana para que uno pueda teclear su password.


Una vez activo y con su password definido, el sistema lo reconoce como otro usuario más. Por seguridad no le asigna imagen ni muestra el nombre "root" o "Usuario root" o algo, la pantalla de login de usuarios lo muestra como "Otros" ("Other...", cuando se activa el usuario root, su configuración toma todos los valores por default, entre ellos el idioma):

El usuario root es muy poderoso, pero muy especial: Apple permite su activación solamente para administración del sistema. No le asigna fólder home, ni se puede configurar su ambiente. Aunque teóricamente tiene todos los permisos sobre todos los archivos del sistema, estos solamente son válidos en la Terminal, dentro de Aqua, la GUI de macOS, el usuario root está muy limitado.

Una vez activo, puede uno entrar a sesión de root y lanzar la terminal. Dado que usar root es bastante peligroso si no sabe uno exactamente lo que está haciendo, se recomienda entrar a sesión como algún administrador del sistema, y desde la terminal hacer un su o su –


Por último, se recomienda fuertemente desactivarlo cuando se haya dejado de usar.


Fecha espacial: 6765.12

viernes, 21 de mayo de 2021

Postgres en Mac: primeros pasos de ciberseguridad

La instalación de postgreSQL crea automáticamente un usuario postgres para uso interno del sistema, no para uso del usuario DBA.

Cuando uno piensa en ciberseguridad, generalmente uno se imagina en las más recientes técnicas de ciberescudos, vacunas y escaneos profundos de las computadoras; algo así como las mejores tecnologías de contraespionaje. Dejando todo lo hollywoodense a un lado, el 90-95% de la ciberseguridad es puro sentido común y utilizar una configuración pensada en técnicas recomendadas, nada más.
La ciberseguridad en PostgreSQL empieza con una configuración correcta.

Esto se puede comprobar en la terminal con el comando:

dscl . list /Users | grep -v '_'

Y se puede comprobar su "accesibilidad" al usuario final en Preferencias del Sistema → Usuarios y Grupos. Los usuarios que aparecen ahí son los llamados "accesibles" al usuario:

La instalación original de EDB instala un usuario postgres solamente accesible para el sistema. Yo creé un usuario postgres antes de la instalación para evitar problemas.

El problema de "accesibilidad" puede evitarse creando un usuario postgres antes de empezar el proceso de instalación y, de hecho, ejecutar la instalación con este usuario.

Otra característica de la instalación mediante el paquete EDB de postgrreSQL en Mac es que instala y configura scripts para el inicio automático del servidor (también llamado motor de DB) de PostgreSQL. Esto es deseable a veces y a veces no. Casi siempre es deseable que el servidor de PostgreSQL inicie automáticamente con la máquina y además que el DBA tenga control sobre el inicio o parada (reseteo) del servidor.
El archivo de inicio automático es:

     /Library/LaunchDaemons/com.edb.launchd.postgresql-13.plist

los. archivos .plist en macOS son archivos de configuración y son simplemente archivos de texto en formato XML 1.0. Se pueden editar manualmente con cualquier editor de texto. Las líneas de texto que controlan el inicio automático del servidor PostgreSQL son:
 <key>RunAtLoad</key>

     <true/>

si se quiere cambiar la configuración de default, arrancando al inicio, se debe cambiar la línea <true/> a <false/>.


Hay que notar que el archivo pertenece a root, si se quiere editar este archivo, hay que iniciar sesión como administrador del sistema, habilitar el usuario root, iniciar como usuario root, entrar a terminal y editar el archivo. Técnicamente la edición podría hacerse con la sesión de cualquier otro usuario mediante su o sudo, pero hacerlo directamente en sesión de root es más fácil y directo.

Pantalla de inicio de sesión del usuario root.

Nota: hay que recordar que en macOS el usuario root está deshabilitado por default. Para poder iniciar sesión con root primero hay que habilitarlo. Apple proporciona esta facilidad en macOS para poder hacer administración en el sistema, pero también hay que deshabilitarlo cuando se termina de usar. Dejarlo habilitado es una grave violación a la ciberseguridad.

Una vez editado el archivo .plist de postgresql, se puede reiniciar la Mac y revisar procesos en la terminal, el servidor postgres ya no debe estar arriba. O se puede reiniciar el motor de postgres mediante

     pg_ctl stop -D/Library/PostgreSQL/13/data y
  pg_ctl start -D/Library/PostgreSQL/13/data

Reinicio del servidor PostgreSQL en macOS; una de las ventajas  del arranque mediante comando, es que uno puede controlar los diversos parámetros de apertura, por ejemplo, la creación de logs.


Fecha espacial 6746.97