David Bohm

Hay dos frases que definen mi manera de pensar:
Realmente no hemos prestado mucha atención al pensamiento como un proceso; hemos participado en pensamientos, pero sólo hemos prestado atención al contenido, no al proceso.
La capacidad de percibir o pensar de manera diferente es más importante que el conocimiento adquirido.
Ambas son de David Bohm.

viernes, 24 de abril de 2020

Como tener la posibilidad de instalar paquetes snap en Linux Arch

Hace unos 3 o 4 años, los paquetes snap se empezaron a convertir en una forma "universal" de instalar paquetes, fuese la distribución que fuese y es verdad que poco a poco lo están consiguiendo. Es muy útil tener esta opción en Arch, así que veamos como agregar snap para realizar instalaciones de este tipo de paquetes.

Lo haremos a través de los paquetes AUR (Arch Users Repository), algo que ya configuramos en el último paso que dimos al terminar de instalar Arch en nuestro equipo en esta entrada.

El proceso de compliación manual es el método de instalación soportado por Arch, así que lo primero que hacemos es clonar el repositorio git de snapd, compilar e instalar:


   # git clone https://aur.archlinux.org/snapd.git
   # cd snapd
   # makepkg -si

Ahora tendremos que habilitar el conector:

   # systemctl enable --now snapd.socket

Para habilitar el típico soporte de snap, tendremos que crear un enlace simbólico:


   # ln -s /var/lib/snapd/snap /snap

Por último o cerramos sesión y volvemos a iniciarla, o lo mas sencillo es reiniciar:


   # reboot

A partir de aqui ya podemos utilizar snap para buscar e instalar un paquete, veamos un ejemplo, buscamos el paquete:

   # snap search telegram

E instalamos:

   # snap install telegram-desktop

SaluDOS

jueves, 23 de abril de 2020

Como descargar mp3 o videos desde youtube en elementaryOS o Ubuntu Desktop

Existen multitud de programas para descargar los videos o audios de youtube, pero creo que cuando tienes un linux entre las manos, este programa es el mejor. Se que es en linea de comandos, pero lo que hace lo hace bien, rápido y permite bastantes variantes. Aqui mostraremos como descargar los videos y audios y varios ejemplos muy sencillos. Como siempre la web del repositorio oficial está aquí donde se puede consultar la funcionalidad completa.

INSTALACIÓN

Primero instalamos el programa, como primera opción está desde los repositorios oficiales:

   # apt install youtube-dl -y

Aunque de esta forma instalamos la última versión, que es lo mas interesante ya que youtube tiende a hacer cambios continuos y si tenemos una versión obsoleta es posible que no podamos descargar.

Si previamente tenemos versión instalada es mejor que la desinstalemos:

   # apt remove youtube-dl

Instalamos desde el repositorio original con la versión: latest

   # curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl

Ajustamos los permisos:

   # chmod a+rx /usr/local/bin/youtube-dl

Si al utilizarlo muestra error de python, recordad que tenemos que tener python instalado y para no tener problemas con la ejecución de este programa y olvidarnos de lanzarlo a través de python como en este ejemplo:

   # python3 /usr/local/bin/youtube-dl

O instalamos python:

   # apt install python-minimal

O podemos hacer un enlace simbólico:

   # ln -s /usr/bin/python3 /usr/local/bin/python

EJEMPLOS DE USO

Tenemos la opción de bajar el video directamente y es así de fácil solo necesitamos la url, es decir dirección web, que nos presenta youtube en nuestro navegador:

   # youtube-dl <url del video en youtube>

Si queremos bajar en un formato concreto, primero podemos consultar los formatos disponibles:

   # youtube-dl -F <url del video en youtube>

Nos mostrará una lista de formatos con un código asociado en la primera columna, la descripción, resolución, etcétera. Si por ejemplo queremos el número 136:

   # youtube-dl -f 136 <url del video en youtube>

Si queremos bajar el audio, por ejemplo en mp3, tendríamos que ejecutar:

   # youtube-dl -x --audio-format mp3 <url del video en youtube>

Para bajar una playlist entera o parte de ella en formato mp3 podriamos- ejecutar:

   # youtube-dl -x --audio-format mp3 --playlist-start 1 --playlist-end 5 <url de la playlist en youtube>

Si quisieramos bajar los videos de la playlist completa, ejecutariamos primero la búsqueda para que nos de los valores posibles de descarga. Nos fijaremos en el señalado como "best":

   # youtube-dl -F --yes-playlist <url de la playlist en youtube>

Y ejecutariamos la descarga por ejemplo para el valor 18 señalado en la búsqueda, obteniendo todos los videos de la lista:

   # youtube-dl -f 18 --yes-playlist <url de la playlist en youtube>


No tiene desperdicio como funciona y lo facil que es bajarte el video que desees para poder verlo mas tarde sin conexión a internet.

SaluDOS

miércoles, 22 de abril de 2020

Que programas instalar en Linux para tener un equipo totalmente funcional (I)

Veamos la lista de programas que instalaríamos para llegar a tener un Linux Arch con el que podamos realizar todas las tareas cotidianas que necesitemos.

Lo clasificaremos por tipo de programas:

- Configuración y administración

   + vim

   + wget

   + lxterminal o tilix

   + htop

   + gufw

   + remmina 

   + Eddy (Elementary)

- Multimedia y gráficos

   + vlc

   + audacity

   + gimp

   + kdenlive

   + obs-studio

- Internet, mensajería y ofimática

   + firefox

   + chromium

   + thunderbird

   + telegram-desktop

   + libreoffice

- Programación

   + python

   + code (VSCode)

   + pycharm 

   + git

- Servidor

   + cups

   + LAMP:
      - apache
      - mariadb
      - php

   + virtualbox
      - tor-browser
      - filezilla
      - rtorrent

   + docker
      - portainer


- Seguridad

   + keepass

   + veracrypt

   + crashplan

   + nmap

   + wireshark

- Juegos

   + gnuchess

   + steam

- Compatibilidad con Windows

   + wine

   + playonlinux

Este último grupo ya casi no lo uso pero es interesante tenerlos en la lista. Creo que no se me olvida ninguno importante. :-)

SaluDOS

martes, 21 de abril de 2020

Pacman es un juego y el gestor de paquetes de Linux Arch

El gestor de paquetes de Arch se llama pacman, efectivamente como el videojuego, parece potente y sencillo de manejar, algo que se agradece si no tienes mucha experiencia y tienes que instalar o actualizar desde la consola.

En este caso vamos a resumir algunos comandos útiles, se puede consultar la documentación oficial aquí. Vamos a poner de ejemplo el grupo de paquetes xorg:

Para buscar paquetes en los respositorios:

   # pacman -Ss xorg

Si queremos información de un paquete:

   # pacman -Si xorg

Si queremos información de un grupo de paquetes, por ejemplo xorg:

   # pacman -Sg xorg

Para sincronizar los repositorios:

   # pacman -Sy

Para instalar un paquete:

   # pacman -S xorg

Al igual que otros gestores de paquetes, para instalar varios paquetes:

   # pacman -S org-server org-server-devel ...

Y si queremos combinar estas dos acciones, en un único comando para sincronizar repositorios y después instalar un paquete:

   # pacman -Sy xorg

Para actualizar el sistema:

   # pacman -Syu

En caso de que sepamos que un paquete está ya instalado, podremos buscarlo con este comando:

   # pacman -Qs xorg

Si lo que queremos es información detallada de un paquete que ya tengamos instalado:

   # pacman -Qi xorg

Y por último en cuanto a la eliminación, para eliminar un paquete sin sus dependencias:

   # pacman -R xorg

Si queremos eliminar un paquete y las dependencias no utilizadas:

   # pacman -Rs xorg

Si tenemos un archivo en una ruta y nos gustaría saber a que paquete pertenece ese archivo:


   # pacman -Qo <rutadelarchivo>

Para localizar los paquetes huérfanos:


   # pacman -Qet

Una cosa que me sorpendió de pacman y que es importante tener en cuenta, es que guarda una caché de las últimas versiones anteriores conforme actualiza paquetes, y NO SE BORRAN. Para eliminar la caché de todos los paquetes no instalados podemos utilizar pacman:

   # pacman -Sc
Pero para trabajar con esta cache tenemos el comando paccache. Para eliminar todos los paquetes anteriores excepto las 3 últimas versiones, que es lo predeterminado:

   # paccache -r

Para establecer el número de versiones anteriores que deseamos guardar, por ejemplo 2:

   # paccache -rk2

Para tratar con los paquetes desinstalados usamos el modificador k, para eliminar todos esos paquetes:

   # paccache -ruk0

Bueno, creo que hasta aquí es mas que suficiente para una primera sencilla inmersión.

SaluDOS

sábado, 18 de abril de 2020

¿Tienes un nuevo portátil, quieres instalar Linux Arch y tienes problemas con grub?

Si tienes un portatil, nuevo y quieres instalar Linux Arch, seguramente te enfrentarás a varios problemas añadidos en el proceso. Un problema común al instalar grub es un mensaje odioso que nos dice: /boot/efi doesn't look like an EFI partition

Tendremos que cambiar el proceso de instalación un poco, así que voy a tratar de resumirlo por fases, según esta entrada en la que explico la instalación inicial.

Es probable que si tiene hardware mas actualizado el disco no se llame /dev/sda, tendrá un nombre del estilo /dev/nvme0n1 o algo similar, serguramente tendremos que cambiar los nombres especificados en la entrada, pongamos un ejemplo:

   /dev/sda   será   /dev/nvme0n1
   /dev/sda1   será   /dev/nvme0n1p1
   /dev/sda2   será   /dev/nvme0n1p2
   /dev/sda3   será   /dev/nvme0n1p3

En el Paso 3 de particionado, antes de crear las particiones, tendremos que especificar que la tabla de particiones la queremos en modo dos, para ello dentro de fdisk pulsamos la letra o. Si pulsamos m veremos que en la ayuda nos dice Create a new label, o create a new empty DOS partition table:

   # fdisk /dev/sda
   > o

Confirmaremos que queremos sobreescribir la tabla de partición existente. Es probable que tengamos que reiniciar para que la tabla se escriba en el disco duro y podamos continuar con los pasos.

Vamos a crear las mismas particiones pero para la partición sda1 la vamos a formatear de otra forma. Ejecutaremos:

   # mkfs.fat -F32 /dev/sda1

En el Paso 4 de instalación y configuración, vamos a montar esta partición de otra forma. Una vez que hemos montado la partición /dev/sda3 en el punto de montaje /mnt ejecutaremos:

   # mkdir -p /mnt/boot/efi
   # mount /dev/sda1 /mnt/boo/efi 


Seguiremos con la instalación y cuando lleguemos a la instalación de grub, cambiaremos un poco los pasos a dar. En mi caso concreto añado intel-ucode pero esto puede variar:

   # pacman -S efibootmgr
   # pacman -S intel-ucode
   # pacman -S grub
   # grub-install --bootloader-id=Arch_Linux --efi-directory=/boot/efi --recheck --target=x86_64-efi
   # grub-mkconfig -o /boot/grub/grub.cfg

Y terminamos la instalación y configuración.

SaluDOS

Linux Arch, seguimos configurando hasta el deseado entorno gráfico

Tras la instalación que realizamos en esta entrada vamos a seguir dando pasos hasta encontrar una configuración que nos encaje. Una vez que tenemos Arch Linux funcionando podríamos seguir las recomendaciones generales oficiales aqui. Veamos los pasos más básicos que suelo dar yo...

RED

Una cosa que no hicimos del todo en la entrada de instalación, porque hay que ir aprendiendo que Arch no es una distribución cualquiera, es que hay que configurar la red, no es algo que pase de forma mágica. Como siempre podríamos consultar la documentación oficial aqui pero vamos a ver mi propia fórmula.

Comprobamos el controlador de red:
   # lspci -k

Deberemos encontrar algo llamado Ethernet Controller y comprobar que está en uso. Seguramente hasta aqui ha ido todo bien.

Imaginemos que necesitamos instalar un paquete como net-tools, para por ejemplo poder hacer un ifconfig y ver la configuración del adaptador de red. Pero no tenemos red, por lo que no podemos hacerlo. Utilizaremos este caso de uso por si se nos ha olvidado algo importante y queremos hacer un apaño, se que no es imprescindible en esta configuración pero lo usaremos a modo de ejemplo.

Para ello volveremos a reiniciar el equipo con el CD de Arch y veremos como agregar estos paquetes siguiendo parte de los pasos que hicimos al realizar la instalación:
   # loadkeys es
   # fdisk -l
   # mount /dev/sda3  /mnt
   # arch-chroot /mnt

   # pacman -S net-tools
   # exit
   # reboot

Ahora configuraremos la red, así que primero miramos como se llama el adaptador:
   # ip link

En mi caso el adaptador de red se llama enp0s3, así que crearemos el archivo de configuración para ese adaptador:
   # vim /etc/systemd/network/wired.network

Y su contenido será el nombre del adaptador y la configuración de IP dinámica:
   [Match]
   Name=enp0s1
   [Network]
   DHCP=ipv4

Es muy probable que tengas otro adaptador de red, esta vez wifi, en mi caso se llama wlp0s20f3, así que repetimos los pasos:

   # vim /etc/systemd/network/wifi.network

Y su contenido será el nombre del adaptador y la configuración de IP dinámica:
   [Match]
   Name=wlp0s20f3
   [Network]
   DHCP=ipv4

Configuramos los DNS:

   # vim /etc/resolv.conf

Y su contenido, por ejemplo:
   nameserver 1.1.1.1
   nameserver 1.0.0.1

Iniciamos el servicio y lo activamos para que se active en el arranque:
   # systemctl start systemd-networkd
   # systemctl enable systemd-networkd

Comprobamos la conectividad haciendo un ping:
   # ping google.es

Si no tenemos conectividad podemos realizar un reinicio:
   # reboot

NUEVO USUARIO

Creo que lo mas importante, antes de empezar a trastear con el sistema, es crear un usuario que nos permita trabajar con la máquina y dejar de usar root.
Creamos el usuario con su propio directorio en home:

   # useradd -m usuario

Y configuramos su contraseña:

   # passwd usuario

Ahora bien, como Arch está absolutamente limpio tenemos que instalar sudo, si, exactamente tal y como has leido, sudo no está disponible :-) y queremos utilizarlo cada vez que vayamos a lanzar un comando con privilegios elevados.

   # pacman -S sudo

Pero para que el nuevo usuario pueda lanzar sudo, tenemos que agregarlo como sudoer. Para ello vamos a ver el contenido del archivo sudoers y decidimos:
   # cat /etc/sudoers

A partir de ## User privilege specification. Veremos la única línea que no está comentada: root ALL=(ALL) ALL y después se defnien varios grupos: wheel y sudo. Vamos a descomentar la primera linea de wheel:
   %wheel ALL=(ALL) ALL

Este cambio habilita a los usuarios que pertenezcan al grupo wheel para que puedan ejecutar comandos con sudo como si fuesen administradores. Solo queda agregar al nuevo usuario a ese grupo:
   # usermod -a -G wheel usuario


Creo que es muy recomendable tener un usuario normal y corriente para el uso cotidiano y/o para hacer pruebas, con los dos primeros comandos de antes lo creamos:
   # useradd -m usuarionormal
   # passwd usuarionormal

ENTORNO GRÁFICO

Ya sabeis que todo lo referente al entorno gráfico podeis consultarlo en la documentación oficial aqui.

Tenemos un montón de alternativas para elegir a nivel de entorno gráfico, pero primero tendremos que instalar el servidor de pantalla. Iremos al tradicional xorg, si lo queremos hacerlo sencillo instalamos todo, incluso el código fuente con el grupo xorg:
   # pacman -S xorg

Si quieres ver que contiene este grupo antes de instalarlo, observarás que no son pocas cosas las que contiene, podrías lanzar este comando:
   # pacman -Sg xorg

Si queremos afinar un poco mas, podriamos de momento instalar:
   # pacman -S xorg-server xorg-xinit xorg-server-utils

Antes de nada, y es algo que se suele pasar por alto, tendremos que ver que gráfica tenemos para instalar los drivers adecuados. Vamos a volver a lanzar el mismo comando de antes y buscamos la línea que empieze por VGA:
   # lspci -k

Salvo que sea una máquina virtual, obtendremos un indicio de la gráfica, pondrá referencia al fabricante, como intel, nvidia o ATI por ejemplo. Si nos vamos a los drivers de código abierto, podemos encontrarlos todos con el comando:
   # pacman -Ss xf86-video

O ya que nos basamos en xorg, podríamos hacer la búsqueda así:
   # pacman -Ss xorg-drivers

Veremos que aparecen vesa, voodoo, intel, ati, los de código abierto de nvidia llamados nouveau, etcétera. Elegimos el mas apropiado para nuestro hardware y lo instalamos, por ejemplo para ATI:
   #  pacman -S xf86-video-ati

Veamos otro ejemplo, si tenemos una nvidia, podremos optar por los drivers propietarios y sus utilidades:
   # pacman -S nvidia nvidia-utils

O podriamos optar por los de código abierto:
   # pacman -S xf86-video-nouveau

Y ahora, al fin, veamos ejemplos de como instalaríamos los entornos de escritorio mas típicos, porque realmente es muy personal la elección. Veamos algunos ejemplos, su instalación y activación. Hay que tener en cuenta si tiene o no soporte oficial, esto se puede ver aqui.  En el nombre del entorno os dejo el link a la documentación oficial.

GNOME: Instalamos los dos grupos y el administrador de pantalla.
   # pacman -S gnome gnome-extra
   # pacman -S gdm
   # systemctl enable gdm
   # reboot

KDE: Instalamos el grupo plasma, el conjunto de aplicaciones y el administrador de pantalla.
   # pacman -S plasma kde-applications
   # pacman -S sddm
   # systemctl enable sddm
   # reboot

XFCE: Instalamos el grupo xfce4, el grupo de plugins con utilidades y el administrador de pantalla.
   # pacman -S xfce4 xfce4-goodies
   # pacman -S lxdm
   # systemctl enable lxdm
   # reboot

BUDGIE:Instalamos el paquete budgie-desktop, el grupo gnome y el administrador de pantalla.
   # pacman -S budgie-desktop gnome
   # pacman -S gdm
   # systemctl enable gdm
   # reboot

Obviamente podemos instalar MATE, CINNAMON, LXDE e incluso PANTHEON.

Por último, para que nos sea mas sencillo de manejar la instalación de paquetes a través del entorno gráfico, podemos instalar el gestor de aplicaciones llamado pamac, tendremos que instalarlo sin ser usuario root, veamos como:

   $ pacman -S --needed base-devel git wget yajl
   $ cd /tmp
   $ git clone https://aur.archlinux.org/package-query.git
   $ cd package-query
   $ makepkg -si && cd /tmp/ $ git clone https://aur.archlinux.org/yaourt.git
   $ cd yaourt
   $ makepkg -si
   $ yaourt -S pamac-aur

A disfrutarlo, pero recuerda que todavía quedará mucho por hacer...

SaluDOS

viernes, 17 de abril de 2020

kdenlive y la edición de videos en elementaryOS

No había probado todavía este programa para montar un video. Dentro de la simplicidad de video que he tenido que realizar, con un fin familiar, me ha sorprendido gratamente. Al final con este tipo de programas solo busco que sea sencillo, poner 4 videos, 4 fotos, una música de fondo y poco mas.

Se puede consultar su web aqui. Por aclarar porque tiene ese nombre, como indican en su página kdenlive es un acrónimo de KDE Non Linear Video Editor, es Freeware y se puede instalar en diferentes sistemas operativos. Para instalarlo en elementaryOS:

   # apt install kdenlive -y

Aparecerá en el menú de Aplicaciones desde donde podremos lanzarlo. Su manejo es sencillo. Tiene bastantes efectos, transiciones y recursos on line que se pueden integrar.

Desde el menú Project con Add Clip podremos introducir los elementos al proyecto, como videos, fotos o audios. Y tenemos disponible la opción de introducir un Clip con título, estabilizar el clip, etcétera.

Desde la lista de efectos de la propia pantalla principal, tenemos efectos para video, audio y personalizados. Se puede ver todos o seleccionar el tipo de efecto que quieres aplicar, es útil ya que la lista es bastante larga.

Si agregas el efecto, en el apartado de propiedades tienes los elementos a configurar, duración, niveles de aplicación, etcétera, dependiendo del efecto seleccionado pueden ser mas o menos propiedades.

En los diferentes tracks de video o audio se pueden ir insertando los elementos agregados al proyecto. Tenemos la herramienta para seleccionar, cortar o espaciar. Se maneja de forma ágil el recortar y recolocar los elementos multimedia.Podemos previsualizar el video, pausarlo, adelantar o atrasar la reproducción y jugar con zonas.

Una vez que tienes el montaje hecho, para exportarlo tenemos el botón Render. Se puede elegir diferentes formatos de video en diferentes calidades, audio o incluso secuencias de imágenes. Se puede lanzar para todo el proyecto para una zona, elegimos la ruta de salida y lo ejecutamos. Puede tardar mas o menos de acuerdo a la complejidad de nuestro montaje Una vez finalizado el proceso ya tenemos el fichero generado para utilizarlo. He probado varios formatos y es verdad que según la calidad y el formato para un video sencillo el tiempo de espera es un poco largo.

Seguro que tiene muchas mas opciones que no he utilizado pero en general me ha parecido un programa mas que adecuado para un uso esporádico o amateur.

Programa recomendable. El último punto a comentar, si quieres poner kdenlive en otro idioma, solo tienes que ir al menú Help y seleccionar Switch Application Language...  Cerrando y abriendo este se presentará en el idioma seleccionado. No he repesado las traducciones pero tienen buena pinta.

SaluDOS

domingo, 12 de abril de 2020

Linux Arch, instalación básica

Creo que cuando ya le has pillado el truco a cualquier distribución linux, es conveniente moverte y salir de tu zona de confort. Cuando ya sabes usar las distribuciones típicas como las que parten de red hat o debian, te has enfrentado a la consola y has ganado la batalla, prueba arch linux. No lo dudes y lanzate al vacio.
Todavia recuerdo esa sensación, el tener una consola delante y no tener una instalación asistida, como hace años, eso sí, en la recta final está un entorno muy estable y para los amantes del entorno gráfico, en la meta encontrareis una distribución que merece la pena conocer.

Veamos los pasos y algunos detalles importantes para ser capaces de instalar esta distribución. Estos pasos son los que sigo yo, pero recuerda que puedes seguir la documentación oficial aqui, ya no lo recuerdo pero creo que no la sigo al pie de la letra pero poco variará.

PASO 1: ARRANQUE

Me salto la parte de descargar la imagen .iso, y crear por ejemplo la máquina virtual o generar el pendrive autoarrancable, supongo que si se va a instalar Arch ya se domina algo así.
Para la creación de este manual he cogido la última imagen existente ahora mismo, la versión 5.5.13

Una vez arrancado el equipo a través de la imagen ISO, aparece el menú que te permite seleccionar varias opciones como arrancar el sistema operativo existente en el caso de que ya haya uno en el disco duro,  hacer un test de memoria RAM u obtener información del hardware. Elegiremos la primera opción: Boot Arch Linux
Una vez arrancado Arch tenemos una consola con acceso de root. Empieza la fiesta.

PASO 2: CONFIGURACIÓN BÁSICA

Lo primero es configurar la distribución del teclado, en mi caso:
   # loadkeys es
Siempre compruebo con la tecla ñ, el guión - o el interrogante ?
Es muy recomendable comprobar la fecha y la hora para evitar cosas raras, así que lanzamos el comando:
   # date

Si tenemos que cambiar la fecha y/o la hora podemos primero comprobar si tenemos conexión a internet:
   #  ping google.es

Si tenemos conexión a internet configuramos la zona y activamos ntp:
   # timedatectl set-timezone Europe/Madrid
   Si no sabes exactamente que zona, puedes listar todas y por ejemplo hacer un grep de la parte que conozcas. De todas formas es mas facil utilizar google :-)
   # timedatectl list-timezones | grep Europe
   # timedatectl set-ntp true

Si no tenemos conexión a internet o simplemente no queremos dar tantas vueltas, miramos el reloj y configuramos de forma manual, por ejemplo con el comando:
   # date --set "2020-04-04 17:21"

PASO 3: PARTICIONADO

Vamos a mostrar los discos y particiones existentes:
   # fdisk -l

Lo normal si el equipo es nuevo o la máquina virtual es de reciente creación, encontraremos por ejemplo:
   Disk /dev/sda --> El disco duro local sobre el que queremos instalar.
   Disk /dev/loop0 --> El disco CD con la imagen ISO desde done estamos instalando.

Si tenemos instalado otro sistema operativo aparecerán mas particiones, pero eso sí hay que tener mucho mucho cuidado con lo que haces.

Comprobamos bien los discos y/o particiones para saber donde instalar. Yo elegiré /dev/sda

La elección de las particiones es un poco personal, yo suelo diferenciar por ejemplo /var de la raiz y a veces también una partición /tmp o /home. Depende un poco del rol de la máquina, si es un puesto de usuario, un servidor, etcétera.

Lo vamos a hacer lo mas sencillo posible para empezar, vamos a crear tres particiones, que son las mínimas imprescindibles:

/ --> Partición raiz, en ella irá todo el sistema operativo, nuestra home, programas y demás contenido de la distribución. Le pondremos el tamaño que nos sobre una vez configuradas las otras dos particiones.

/swap --> Partición de intercambio, aqui cada maestrillo tiene su librillo, y es verdad que tiende a desaparecer en las nuevas distribuciones de otro tipo por las características del los nuevos equipos. Habitualmente se pone la mitad del tamaño de la memoria RAM, yo normalmente la configuraba con el mismo tamaño de la RAM. Actualmente los equipos físicamente tienen tanta memoria RAM que con 1 GB o 2 GB de tamaño es mas que suficiente, incluso 512 MB vale por si llegasemos a ocupar toda la RAM y necesitase el sistema utilizar el disco duro.

/boot --> Partición de arranque, en ella se instalará el gestor de arranque grub. Se suele recomendar diferenciarla, con un tamaño de 512 MB también mas que suficiente, la documentación de Arch recomienda 260 MB

Para crear las particiones en el disco duro sda ejecutaremos:
   # fdisk /dev/sda

Para crear una nueva partición pulsaremos la tecla: n
Para decirle que es primaria pulsaremos la tecla: p
Al mostrarnos el primer sector pulsaremos la tecla: Enter
Para indicarle el último sector, es decir el tamaño, introduciremos: +512M

Esta será la partición de arranque.

Para crear una nueva partición pulsaremos la tecla: n
Para decirle que es primaria pulsaremos la tecla: p
Al mostrarnos el primer sector pulsaremos la tecla: Enter
Para decirle el último sector, es decir el tamaño, introduciremos: +1024M
(se puede poner tambien +1G)

Esta será la partición de intercambio.

Para crear la partición raiz seguimos los mismos pasos, pero para decirle el tamaño pulsaremos la tecla: Enter, así seleccionamos el resto del tamaño.

Antes de salir de fdisk hay que escribir los cambios realizados así que pulsaremos la tecla: w
Comprobamos la tabla de particiones:
   # fdisk -l

Veremos que se han creado:
   /dev/sda1
   /dev/sda2
   /dev/sda3

Creamos el sistema de archivos en las particiones: ext4
   # mkfs.ext4 /dev/sda1
   # mkfs.ext4 /dev/sda3

Activamos swap en la partición de 2G:
   # mkswap /dev/sda2
   # swapon /dev/sda2

Comprobamos con free que la partición swap está activa:
   # free

La instalación la realizaremos sobre la partición /dev/sda2 en el siguiente paso.

PASO 4: INSTALACIÓN Y CONFIGURACIÓN
Como estamos ejecutando desde un liveCD, vamos a montar la partición raiz para poder trabajar sobre ella:
   # mount /dev/sda3 /mnt

La partición de arranque, la mapeamos en un directorio que previamente habremos creado en la raiz:
   # mkdir /mnt/boot
   # mount /dev/sda1 /mnt/boot

Instalamos justo lo imprescindible para que se pueda ejecutar el sistema operativo, los paquetes base, el kernel de linux y un firmware genérico:
   # pacstrap /mnt base linux linux-firmware

Piensa que mas adelante podrás personalizar e instalar nuevos paquetes para dejar todo como quieras. De momento con esto Arch debería funcionar.

Crearemos un archivo fstab
   # genfstab -U /mnt >> /mnt/etc/fstab

Cambiamos la raiz al nuevo sistema instalado:
   # arch-chroot /mnt

Configuramos la zona horaria del nuevo sistema, recuerda que depende de donde vivas tendrás que adaptar la región y ciudad, primero mostramos la información de zonas y luego configuramos:
   # ls /usr/share/zoneinfo
   En mi caso es /Europe/Madrid:
   # ln -sf /usr/share/zoneinfo/Europe/Madrid /etc/localtime

Configuramos el reloj:
   # hwclock --systohc --utc

Configuramos la configuración local y el idioma del sistema. En mi caso:
   # locale-gen
   # echo LANG=es_ES.UTF-8 > /etc/locale.conf

Configuramos la distribución de teclado:
   # echo KEYMAP=es > /etc/vconsole.conf

Configuramos el nombre del equipo, por ejemplo ARCH:
   # echo ArchLinux > /etc/hostname

Instalamos un editor de texto, la tradición me obliga a que sea vim:
   # pacman -S vim

Configuramos el fichero hosts:
   # vim /etc/hosts
   Introducimos el siguiente contenido:
   127.0.0.1   localhost
   ::1              localhost
   127.0.0.1   ArchLinux.local ArchLinux

Cambiamos la contraseña de root:
   # passwd

Instalamos el gestor de arranque con pacman:
   # pacman -S grub
   # grub-install /dev/sda
   # grub-mkconfig -o /boot/grub/grub.cfg

Por si acaso actualizamos el sistema:
   # pacman -Syu

Salimos del sistema de archivos que acabamos de instalar con exit y desmontamos la unidad:
   # exit
   # umount -R /mnt

Reiniciamos:
   # reboot

Y ya deberíamos de poder entrar en Arch con el usuario root y la contraseña que hemos introducido al cambiarla. Eso sí, consola pura y dura, sin entorno gráfico, eso para la próxima entrega.

SaluDOS

sábado, 28 de marzo de 2020

Control remoto a servidores Windows desde elementary OS

Sigo tratando de obtener un equipo plataformado en linux con el que sea capaz de realizar mi día a día como administrador de sistemas e incluso que pudiese ser adaptado a usuario final.

En mi caso parece sencillo, pero cuando mezclas plataforma Windows con Linux, almacenamientos, switches o routers todo se complica aunque poco a poco vamos recorriendo el camino. Además de mis labores de administrador también tengo funciones de usuario final, correo, ofimática, etcétera.

En esta entrada nos centraremos en un punto importante, el poder coger control remoto de los servidores. En Windows hay muchas herramientas que son muy útiles, de las cuales a día de hoy yo destacaría dos:

   - Microsoft Remote Desktop Connection Manager (RDCMan), con posibilidad de agrupar conexiones RDP. Muy útil cuando tienes mucho servidor Windows que administar.

   - MobaXTerm, con versión gratuita con límite de conexiones, para entornos pequeños es perfecto y con versión de pago bastante asequible. Además de RDP, te permite configurar conexiones ssh, vnc y un largo etcétera de opciones, agrupar las conexiones, realizar scp de forma directa, establecer entorno gráfico para conexiones linux y muchas mas opciones.

Hay que tener en cuenta que cuando te conectas a un servidor Linux, un switch o un almacenamiento necesitas por ejemplo ssh, no vale solo con RDP. :-)

Ahora bien, cuando se trata de conectarte desde un programa sobre plataforma Linux, aunque también hay bastantes opciones la mejor a mi personalmente me parece Remmina. Esta es su página web y ofrece la posibilidad de configurar conexiones RDP, SSH y VNC.

Como dicen directamente en su página web, se puede instalar en cualquier sistema operativo, tiene multiples funcionalidades, plugins y además es libre con copyleft.

Para instalarla en elementary OS solo tenemos que ejecutar:

   # apt install remmina -y

Ya podemos abrir desde las aplicaciones el programa. Tiene un interfaz absolutamente reducido y con las opciones imprescindibles para manejarlo. Me encanta.

Al hacer clic sobre el botón + podremos agregar conexiones, definiendo todos los parámetros necesarios. Para agrupar las conexiones, solo tienes que escribir el nombre del nuevo grupo, este se agregará después a la lista de conexiones. En las siguientes conexiones creadas, podrás elegir a que grupo pertenece. Se pueden crear agrupaciones como: Switches, Windows Servers, Linux Servers, Routers, Firewalls, etcétera. De tal forma que agrupando por tipo de elemento de red cuando vayas a conectarte, a un servidor windows o linux, sabes claramente a que agrupación tienes que ir.

En el botón de opciones, podremos ir a preferencias para establecer el comportamiento de la aplicación. Creo que solo destacaría un detalle, cuando creas una conexión si falla algo y no funciona, la sensación que da Remmina es que no se puede editar esa conexión. Una vez que la has creado, haces doble clic sobre la conexión y directamente trata de establecerla.

Obviamente se puede editar la conexión, así que la primera opción que me parece interesante configurar en las preferencias: Ve a la ficha opciones y en la opción: 'Double-click action' selecciona edit settings. De esta forma cada vez que lances una conexión, primero aparecerá la configuración de la conexión, si necesitas cambiar algo lo cambias y después puedes conectar o guardar y conectar dependiendo de si has editado o no alguna opción.

Habitualmente, según la resolución de la conexión remota necesitamos ajustarla cuando ya estamos en control remoto, por ello asegurate que la opcón 'remmember last view mode for each connection' está activada. De esta forma los ajustes que realizas en directo serán recordados.

Se puede también establecer el directorio para la captura de pantalla, resoluciones y teclas rápidas. Hay bastante que puedes retocar.

Si quieres apoyar al desarrollo de la aplicación, marca la opción 'Send periodic usage statistics to remmina developers'. Yo a nivel personal lo tengo activado porque manejo tres cosas en casa, pero a nivel profesional nunca lo activo. No quiero que se envie nada a nadie.

Opciones interesantes a tener claras como las quieres configurar son por ejemplo las de apariencia, si se ven las barras de herramientas en formato pantalla completa, botones o menús, la vista predeterminada a aplicar, etcétera. Las opciones de teclado por ejemplo yo no las configuro, no necesito grandes atajos del teclado, me meto en el elemento de red que estoy manejando y me ovido de todo. Pero supongo que son útiles para otras personas.

Opciones varias sobre ssh, terminal o RDP hay también unas cuantas. Creo que cuando manejas el terminal si que es interesante que el esquema de colores te resulte útil, pero esto es ya muy personal.

Una opción importante es el mapa de teclas en las conexiones remotas a servidores que están en otros paises o con otros idiomas. A mi me pasa con teclados con distribución inglesas y francesa. Por lo tanto la opción 'Keyboard layout' hay que tenerla presente.

Y poco mas que comentar, creo que es una herramienta muy útil para centralizar las conexiones de toda tu infraestructura y sencilla de manejar.

SaluDOS

jueves, 26 de marzo de 2020

Algunos comandos útiles para Linux (I)

Se que hay miles de páginas que resumen cientos de comandos a utilizar en Linux, pero como el título del blog dice: estos son mis apuntes. :-)

Voy a tratar de recopilar los comandos habituales mas frecuentes cuando trabajas en un terminal Linux. Aumentaremos poco a poco el nivel en varias entregas y empezaremos por los más básicos. Espero que sean útiles.

Para profundizar en los comandos y ver opciones disponibles con diferentes argumentos, prueba a mostrar la ayuda con --help.

   Por ejemplo:

      # clear --help


TERMINAL...

   Para limpiar el terminal, subes hasta arriba todos los comandos anteriores y dejan de verse, pero están ahí. Si el terminal es una ventana en entorno gráfico puedes utilizar la barra de desplazamiento para verlos.

      # clear

   Para reiniciar la sesión del terminal, reinicia la sesión, por lo que se pierde totalmente los comandos y resultados anteriores.

      # reset

   Para ver el historial de los comandos utilizados. Tiene opciones interesantes que veremos en otro momento.

      # history

   Conocer la ruta en la que nos encontramos, muy útil cuando vas entrando en mil directorios y ya no te acuerdas de donde estás.

      # pwd

   Listar directorios y archivos:

      # ls

   Listar directorios y archivos con detalles (-l) y mostrando ocultos (-a). Profundizaremos en el resto de opciones con mas tranquilidad en otro momento, este es el mas utilizado.

      # ls -la

   Para desplazarnos por los directorios podemos utilizar el comando cd (change directory):

      # cd /root

   Si queremos volver a la raiz del sistema de archivos:

      # cd /

   Si queremos subir un nivel hacia arriba:

      # cd ..


SISTEMA...

   Conocer la arquitectura y versión del kernel, con la opción all (-a) veremos toda la información excepto procesador y hardware si es desconocida.

      # uname -a

   Usuarios conectados al equipo en este momento. Con la opción all (-a) veremos toda la información. Se puede abreviar ejecutando w mostrando la información mas relevante, como que es lo que el usuario está haciendo

      # who -a
      # w

   Cuando administras un servidor, con diferentes usuarios, muchas veces pierdes la noción de quien eres, por eso podemos preguntarle al sistema, especialmente útil si el prompt no te muestra con que usuario estás logueado.

      # whoami

   Mostrar la fecha del sistema en este momento. Se puede cambiar el formato o incluso reestablecer la fecha, para mas adelante.

      # date

   A veces viene bien ver cuantos meses o años lleva un servidor linux funcionando de forma ininterrumpida.

      # uptime

   Si queremos mostrar la actividad del procesador, memoria y mostrar las tareas que maneja el kernal en tiempo real podemos usar el siguiente comando, recuerda pulsar la tecla 'q' o 'ctrl+c' para salir.

      # top

   Si además queremos saber lo que está haciendo el kernel con respecto a un usuario concreto, podemos añadir:

      # top -u aliasdelusuario

   Para mostrar la actividad del usuario en el sistema, general de todos o especificando el usuario concreto:

      # last
      # last aliasdelusuario

   Para realizar búsquedas de ficheros o directorios dentro del sistema de ficheros, el comando find busca ficheros, directorios y cadenas de caracteres. Por ejemplo, buscamos el texto usb empeando en la raiz:

      # find / -name usb

   Por último, para conocer los ficheros abiertos por el sistema, lsof es muy útil (ls open files):

      #  lsof

   Se puede especificar el usuario para el que deseamos consultar los ficheros abiertos:

      # lsof -u aliasdelusuario


HARDWARE...

   Aunque algunas distribuciones no tienen este comando, se puede instalar:

      # apt install hwinfo

   Para mostrar información sobre el hardware del equipo, deberemos ejecutar concatenando con more para paginar la salida. Ojo, porque lo que vomita el comando es muy muy extenso pero tiene información muy útil.

      # hwinfo | more

   Se puede mostrar un resumen añadiendo --short

      # hwinfo --short

   Para ver información de algo concreto, se puede añadir el elemento. En la opción anterior obtenemos el resumen en relación a los diferentes items existentes como cpu, memory, network o storage:

      # hwinfo --memory
      # hwinfo --cpu

   Para ver como tenemos la memoria RAM y el swap tenemos este comando que es un clásico. Si se te amontona ver la información en Kilobytes, puedes mostrarlo en formato "humano" añadiendo -h.

      # free
      # free -h

   Para mostrar las particiones y como está el espacio en el sistema de ficheros. En formato humano solo tenemos que añadir -h. Es muy interesante porque muestra tamaño, espacio usado, libre y el punto de montaje.

      # df -h

   Aunque fdisk es mucho mas que un comando que muestre cosas, sirve para modificar discos y particiones, de momento podemos listar las particiones, algo muy util en nuestro día a día:

      # fdisk -l

   /proc, en este directorio vamos a encontrar cosas muy interesantes, aunque muchas ya las hemos visto con los comandos anteriores. Si listamos su contenido, veremos ficheros virtuales como cpuinfo o meminfo. Tenemos que mostrar su contenido con cat:

      # cat /proc/cpuinfo
      # cat /proc/meminfo
      # cat /proc/version
      # cat /proc/partitions

De momento dejamos aqui esta primera entrega.

SaluDOS


martes, 24 de marzo de 2020

El mundo del revés: Microsoft Teams en Linux...

Experimentando en el plataformado de un equipo con elementary OS que sea capaz de suplir a Windows 10, acabo de tener una sensación muy extraña.

Vaya por delante que sigo enamorado de Libre Office.

Está claro que con las nuevas versiones on line de Microsoft Office, a través de un navegador tipo firefox o chrome, se simplifica mucho el poder utilizar Office en una distribución Linux. Aunque es todo en línea, como la información realmente está en onedrive y en mi caso no utilizo formatos y plantillas que se me descuadren al utilizar las versiones on line, todo va bastante bien.

Al entrar a Microsoft Teams, me ha ofrecido la posibilidad de bajar el cliente para linux, y aunque ya hacía tiempo que venía evitándolo, me he lanzado al vacio. Así, sin pensármelo dos veces.

He bajado el paquete .deb para 64 bits, Eddy, el gestor de paquetes, ha interceptado la descarga y lo ha instalado sin complicaciones. Está ha disposición también paquete .rpm para distribuciones con base Red Hat.

Sorprendentemente he abierto la aplicación, he introducido mis credenciales y listo, Teams en elementary OS. Sin palabras, sentimientos encontrados al probar la aplicación.

Como esta aplicación concentra todo, chat, calendario, reuniones, acceso a onenote y onedrive, planner, etcétera. Y al acceder a los archivos de onedrive, podemos abrir pdfs, docx o xlsx. Dentro de la propia aplicación, abre la suite de ofimática on line embebida en la ventana de Teams. Es decir, en una única ventana tenemos la suite ofimática de Microsoft. Lo que estaba claro es que por ejemplo los archivos access no puede abrirlos, pero bueno, el avance es brutal.

Seguiremos experimetando. Esperemos que estos avances y acercamientos de Microsoft hacía las distribuciones linux no estropen nada de nuestro espíritu de libertad y pasión por el software libre.

SaluDOS.

domingo, 22 de marzo de 2020

Como tener Telegram Desktop en Elementary OS

Una vez que tenemos snap instalado en nuestra distribución, podemos instalar cientos de programas de la forma mas sencilla. Veamos el ejemplo con telegram desktop.

   # snap install telegram-desktop

Una vez que obtenamos el siguiente mensaje:

   telegram-desktop 1.9.21 from Telegram FZ-LLC (telegram.desktop) installed

Ya podemos utilizar Telegram. A disfrutarlo!!!

SaluDOS.

sábado, 14 de marzo de 2020

Como instalar Anydesk en elementary OS

Vamos a instalar el programa de control remoto Anydesk en la distribución elementary OS en su versión Hera.

Se que el rey de la fiesta es Teamviewer para esta funcionalidad, pero yo sigo pensando que Anydesk es un buen candidato y llegado el momento de un uso profesional su licenciamiento no es disparatado.

Veamos que pasos seguir para instalarlo. Primero añadimos la clave para confiar en el proveedor de aplicaciones:

   # wget -qO - https://keys.anydesk.com/repos/DEB-GPG-KEY | apt-key add -

Añadimos el repositorio:


   # echo "deb http://deb.anydesk.com/ all main" > /etc/apt/sources.list.d/anydesk-stable.list


Actualizamos la caché de apt:

   # apt update


E instalamos el programa:

   # apt install anydesk

Y ya lo tenemos en el menú Aplicaciones.

SaluDOS.

viernes, 13 de marzo de 2020

PyCharm en elementary OS

Pycharm es uno de esos IDE que realmente no te decepcionan en su versión community, aunque todo sea dicho de paso la versión de pago no es muy cara.

Veamos como instalarlo en elementary OS en su versión Hera.

Actualizamos nuestro sistema operativo e instalamos snap:

   # apt update -y

   # apt install snapd -y

Reiniciamos para que las rutas de snap se actualicen correctamente.

Ya podemos realizar la instalación de pycharm:

   # snap install pycharm-community --classic


A teclear en python :-)

SaluDOS.

jueves, 8 de agosto de 2019

Monitorizar el hardware de tu equipo en elementary OS

Por casualidad me he topado con un software interesante llamado Wingpanel System Monitor Indicator (WSMI). Permite monitorizar CPU, memoria y red en la parte superior de la pantalla.

Veamos como instalarlo. Lo primero instalamos las dependencias a mano:

   # sudo apt-get install git libglib2.0-dev libgtop2-dev libgranite-dev libgtk-3-dev libwingpanel-2.0-dev meson valac
Vamos a la carpeta Downloads de nuestro usuario por ejemplo y clonamos el repositorio de github:
   # cd /home/usuario/Downloads
   # git clone https://github.com/PlugaruT/wingpanel-indicator-sys-monitor.git
Una vez descargado el software, hacemos la construcción del mismo y lo instalamos:
   # meson build --prefix=/usr && cd build/ && ninja
   # sudo ninja install
Una vez que lo tenemos a la vista en nuestro escritorio, podemos hacer clic derecho para poder acceder a la configuración y decidir que queremos que aparezca o no en la barra de monitorización.
Creo que puede ser útil cuando tenemos dudas de si al ir elementary lento es por que la CPU, la memoria o simplemente la tarjeta de red está echando fuego :-)
SaluDOS.

sábado, 11 de mayo de 2019

Visual Studio Code en elementaryOS

Hace unos meses me recomendaron este editor de código de mi tan "criticado" Microsoft. La verdad es que funciona muy bien, aunque solo utilizo sus características básicas para scripts.

Lo podemos descargar aqui: https://code.visualstudio.com/Download

Para elementaryOS elegiremos el paquete .deb y en mi caso para 64 bits. Se descargará el archivo, en estos momentos es el code_1.33.1-1554971066_amd64.deb

Desde la consola podemos ir a la ruta de descargas e instalarlo:

   sudo dpkg -i code_1.33.1-1554971066_amd64.deb

Si dpkg se queja de que faltan dependencias, para solucionar el problema ejecutaremos:

   sudo apt -f install

Ya podemos ir a las aplicaciones y abrimos Visual Studio Code.

SaluDOS

sábado, 13 de octubre de 2018

Kali Linux en Windows 10 (Parte 2) - Entorno gráfico

Aqui es donde le damos a Kali en el WSL (Windows Subsystem Linux) un entorno gráfico, basándonos en xfce. Si consultamos lo que dice la wikipedia sobre este entorno gráfico: "es un entorno de escritorio libre para sistemas tipo Unix como GNU/Linux, BSD, Solaris y derivados. Su objetivo es ser rápido y ligero, sin dejar de ser visualmente atractivo y fácil de usar. Consiste en varios componentes empaquetados por separado que en conjunto proporcionan la funcionalidad completa del entorno de escritorio, pero se pueden seleccionar por separado para que el usuario pueda adaptar el ambiente de trabajo a sus necesidades."

Veamos como instalarlo. Accedemos a Kali a través de menú inicio/ejecutar, tecleamos la palabra kali y pulsamos enter. Sigo no acostumbrandome a tener un linux dentro de Windows :-)

Una vez que estemos dentro de Kali, descargamos el script que va a realizar todo el trabajo:

   $ wget https://kali.sh/xfce4.sh

Damos permisos de ejecución al script:

   $ chmod +x xfce.sh

Y lanzamos el script:

   $ sudo ./xfce4.sh

Atención, va a tardar un buen rato en terminar, así que se recomienda tener muuucha paciencia. Cuando el script termina, nos indica el dato importante:

   [+] Configuring XRDP to listen on port 3390 (but not starting the service)...

Es decir, tenemos que iniciar el servicio y nos conectaremos al entorno de escritorio a través del puerto 3390. Para arrancar el servicio podemos ejecutar:

   $ sudo service xrdp start

y obtendremos algo como esto:

[....] Starting Remote Desktop Protocol server: xrdp-sesman xrdp[20181013-01:57:16] [DEBUG] Testing if xrdp can listen on 0.0.0.0 port 3390.
[20181013-01:57:16] [DEBUG] Closed socket 6 (AF_INET6 :: port 3390)
. ok

Abrimos en Windows una conexión de escritorio remoto y nos conectamos a:

   127.0.0.1:3390

Igual que lo anterior pero mas facil de teclear:

   localhost:3390

Tenemos que validarnos con nuestras credenciales del WSL, que las creamos en una entrada anterior, cuando instalamos el subsistema.

La primera vez que lo iniciamos, Kali nos muestra un mensaje de bienvenida:

   Welcome to the first start of the panel
   Choose below witch setup you want for the first startup
   [use default config] [one empty panel]

Pulsamos "use default config" y a jugar con kali!!!

SaluDOS


miércoles, 10 de octubre de 2018

Modificar el mensaje del día

Al hilo de la entrada anterior, en la que activabamos ssh en Kali Linux, un punto a personalizar, y es una tontería pero se puede poner algún mensaje interesante recordando ciertas normas por ejemplo, es el banner del día.

Para personalizarlo solo hay que editar el siguiente archivo:

   # vim /etc/motd

Y editamos poniendo algo como esto para probar:

The programs included with the Kali GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Kali GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

H         H AAAAA CCCCC K     K  EEEEEE RRRRR     ! ! !
H         H A         A C            K   K    E             R        R     ! ! !
HHHHH AAAAA C            K k       EEE        RRRRR     ! ! !
H         H A         A C            K   K    E             R   R          ! ! !
H         H A         A CCCCC K     K  EEEEEE R     R
                                                                                     R     ! ! !

Al conectarnos por ssh desde otra máquina, aparece el mensaje.

SaluDOS

Abrir ssh en Kali Linux

Si queremos conectarnos a una máquina Kali a través de ssh desde otro ordenador, podemos hacer lo siguiente:

Instalamos openssh-server:

   # apt install openssh-server

Iniciamos el servicio y lo hacemos persistente:

   # systemctl start ssh
   # systemctl enable ssh

También podriamos lanzar el siguiente comando para activar el servicio cada vez que arranca:

   # update-rc.d -f ssh enable 2 3 4 5

Cambiamos la keys por defecto, son genéricas y un atacante podría llegar a acceder por esta razón:

   # cd /etc/ssh
   # mkdir keys_originales
   # mv ssh_host_* keys_originales

Creamos unas nuevas keys:

   # dpkg-reconfigure openssh-server

Si no es capaz de reiniciar el servicio, lo reiniciamos:

   # systemctl restart ssh

Para poder acceder como root a través de otra máquina, podemos editar el archivos de configuración:

   # vim /etc/ssh/ssh_config

      Y cambiamos la línea:

         PermitRootLogin without-password

      Por:

         PermitRootLogin yes

Lo ideal es que no usemos root para conectarnos y lo hagamos con otro usuario administrador.

Reiniciamos el servicio y listo:

   # systemctl restart ssh

Si hemos estado trasteando intentando conectarnos, es muy posible que nuestro cliente ssh nos diga algo así:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:haT1L2EXIOd/F4UvYeAbr+HFnuPgCaK8dajK77R9m8I.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /root/.ssh/known_hosts:3
  remove with:
  ssh-keygen -f "/root/.ssh/known_hosts" -R "192.168.1.203"
ECDSA host key for 192.168.1.203 has changed and you have requested strict checking.
Host key verification failed.
---------------------------------------------------------------------

Es tan sencillo como lanzar el comando para la ip que identifica la máquina linux:

    # ssh-keygen -f "/root/.ssh/known_hosts" -R "192.168.x.x"

Una vez que se regenere el fingerprint, ya podremos conectarnos.

SaluDOS.

martes, 12 de junio de 2018

Instalar Qemu

Qemu es un emulador y virtualizador de máquinas genérico y de código abierto. Es una herramienta gratuita que permite a los usuarios crear y gestionar máquinas virtuales dentro del sistema operativo del host.

Los recursos del sistema operativo host, tales como disco duro, memoria, procesador, etcétera serán divididos y compartidos por los sistemas operativos invitados, lo que denominamos máquinas virtuales.

Cuando se utiliza como un virtualizador, Qemu logra un rendimiento casi nativo al ejecutar el código invitado directamente en la CPU del host.

Qemu tiene dos modos de funcionamiento:

  • Emulación completa del sistema: En este modo, emula un sistema completo, un PC por ejemplo, incluyendo un procesador y varios periféricos. Se puede utilizar para iniciar diferentes sistemas operativos sin reiniciar el PC o para depurar el código del sistema.


  • Emulación en modo usuario, sólo host Linux: En este modo, Qemu puede iniciar procesos Linux compilados para una CPU en otra CPU. Por ejemplo, se puede utilizar para iniciar Wine o para facilitar la compilación y depuración cruzadas.


Después de esta brevísima introducción, vamos al grano.

En nuestro caso vamos a instalarlo sobre una máquina elementaryOS para realizar virtualizaciones completas de sistemas, entornos de pruebas, Linux, Windows, etc.

Previamente hacemos un update y upgrade del sistema y para realizar la instalación ejecutamos:

   $ sudo apt-get install qemu-kvm qemu virt-manager virt-viewer libvirt-bin

Ejecutamos un reinicio, y listo.

   $ init 6

No nos tenemos que olvidar de activar en BIOS las opciones de virtualización.

SaluDOS

martes, 5 de junio de 2018

Descargar una página web completa en Linux

Hoy no pensaba escribir ninguna entrada, pero a la que he estado ejecutando un comando...me he dado cuenta que no lo tenia apuntado en mis apuntes on line.

Descargar una página web completa es bastante sencillo en linux. Utilizaremos la herramienta wget. Veamos como, para empezar nos vamos a un directorio conocido y creamos una carpeta, acto seguido nos vamos dentro de esa ruta. La descarga se realizará en la ruta en la que nos encontremos.

   $ cd /home/usuario/Descargas

   $ mkdir pagina_descargada

   $ cd pagina_descargada

Ahora lanzamos wget para realizar la descarga, como ejemplo iremos a decargar una dirección inventada: http://www.paginaquemegusta.com/quieroesta/

   $ wget --recursive --level=20 -p --convert-links http://www.paginaquemegusta.com/quieroesta/

Analicemos lo que le estamos diciendo:

   --recursive realizará la descarga de forma recursiva, es decir, irá entrando en los diferentes niveles de la web

   --level=20 en este caso le hemos dicho que queremos profundizar 20 niveles. Yo reconozco que suelo utilizar --level=inf que es un poco bestia pero no le pones limite. Lo hago cuando tengo claro lo que voy a descargar y que no va a estar 3 horas descargando. Vamos que con inf descargamos todo el sitio web. Es por ello que suelo acompañarlo de --wait=30 de tal forma que espera 30 segundos entre descarga y descarga, de esta manera si es mucho lo que trae, le ponemos ciertos limites.

   -p le indica que descargue los archivos auxiliares

   --convert-links le indica que convierta los links, de la web a la ruta en la que estamos descargando, de esta forma la web será perfectamente utilizable.

Ejemplo alternativo con lo que hemos comentado:

   $ wget --recursive --level=inf -p --wait=30 --convert-links http://www.pagina.com/quieroesta/

Para saber que mas opciones tenemos, no dudes en lanzar:

   $ man wget

Creo que esta herramienta puede sorprender mucho.

Las páginas web pueden inhabilitar este tipo de descargas desde robots.txt. Una alternativa muy común a wget es httrack que tiene muchas configuraciones posible y para los que no encajan en la consola, tiene un interfaz gráfico. Aunque suele estar en los repositorios, puedes descargarlo aqui: http://www.httrack.com/

SaluDOS


lunes, 4 de junio de 2018

Instalación de Python y Jupyter en Linux

Vamos a ver como instalar un entorno de trabajo en python en nuestra distribución de Linux, en mi caso sobre elementary OS.

Antes de nada tenemos que hacer un update y un upgrade de nuestro sistema:

   $ sudo apt update

   $ sudo apt upgrade -y

Para empezar instalamos python de los repositorios oficiales, para ello lanzamos:

   $ sudo apt install python3 -y

Instalamos el compilador de c llamado g++, la mayoria de módulos van a estar en este lenguaje y necesitarán que los compilemos

   $ sudo apt install g++ -y

Instalamos pip, que es un gestor de paquetes, para instalar módulos de python. Podemos realizar busquedas en su web para ver que módulo nos puede interesar instalar. Web: https://pypi.org/ Vamos a instalar el pip para la versión 3:

   $ sudo apt install python3-pip

Con pip podremos hacer instalaciones con el comando:

   $ sudo pip3 install paquete

Depende de lo que vayamos a realizar con python, podriamos instalar ciertas librerias de base. Ponemos un ejemplo con la libreria sympy. Cuando son librerias pesadas y conocidas, podemos en vez de instalarlo con pip hacerlo con apt, de tal forma que tiramos de los repositorios de la distribución y además ya están precompilados. Muchas veces tarda bastante en compilarse.

   $ sudo apt install python3-sympy

Si lo quisieramos hacer con pip lanzariamos:

   $ sudo pip3 install sympy

Podriamos instalar por ejemplo numpy y requiere una compilación especial, por ello nos facilitaría mucho ejecutar:

   $ sudo apt install python3-numpy

Un ejemplo a instalar con pip puede ser jupyter:

   $ sudo pip3 install jupyter

Con este comando instala el paquete y todas sus librerias asociadas.

Para ejecutar jupyter podriamos poner un modificador para que no abra el navegador predeterminado:

   $ jupyter-notebook --no-browser

Al lanzarlo así, se lanza el servicio y nos indica la dirección a la que conectarnos. Vamos aun navegador y ponemos dicha dirección. Si queremos pararlo, vamos a la consola y hacemos ctrl-c

Jupiter es una especie de cuaderno de apuntes en el que podemos ir lanzando instrucciones, comprobando su ejecución y comentando.

Tiene la opción de insertar celdas de comentarios para apuntar nosotros ciertas instrucciones o apuntes (markdown) en modo html y también insertar código python.

Con Enter editamos el contenido de cada celda y con ESC lo dejamos en modo lectura. Esto tanto para celdas de código como de markdown.

Si sobre una celda de código realizamos shift-Enter entonces ejecutamos el código y muestra el resultado.

Quizás haga algún día una pequeña entrada de como utilizar Jupyter. Todo lo que hacemos en Jupyter se guarda, lo que comentemos, el código y la salida del código. Es muy interesante cuando empezamos en el mundo de Python.

En Windows si instalamos WinPython ya lleva integrado Jupyter. Lo podemos descargar desde: https://winpython.github.io/. Creo que para empezar es una muy buena opción.

SaluDOS

domingo, 3 de junio de 2018

Ficheros comprimidos en LInux

Vamos a ver el grueso de los formatos utilizados para comprimir y descomprimir archivos y/o directorios. Además puntualizaremos algún detalle sobre los comandos que podemos lanzar para realizar ciertas tareas.

GZIP

gzip comprime fichero a fichero, no empaqueta varios ficheros en uno ni comprime
directorios. Luego comentamos una solución muy utilizada. Los ficheros tienen la extensión .gz

Como comprimir:

            # gzip fichero

Como descomprimir:

            # gzip ­d fichero.gz

Para comprimir varios ficheros y archivarlos en uno solo como podríamos hacer con los compresores zip o rar hay que combinar tar con gzip. El resultado sería ficheros que tienen la extensión .tar.gz Veamos un ejemplo:

Como comprimir:

            # tar ­czf archivo.tar.gz ficheros

Como descomprimir:

            # tar ­xvzf archivo.tar.gz

Como ver el contenido:

            # tar ­tzf archivo.tar.gz

BZIP2

bzip2 sólo comprime fichero a fichero, no comprime varios ficheros en uno ni comprime
directorios. Luego comentamos una solución muy utilizada. Los ficheros tienen la extensión .bz2

Como comprimir

            # bzip2 fichero

Como descomprimir

            # bzip2 ­d fichero.bz2

Para comprimir varios ficheros y archivarlos en uno solo como podríamos hacer con los compresores zip o rar hay que combinar tar con bzip2. El resultado sería ficheros que tienen la extensión .tar.bz2
Veamos un ejemplo:

Como comprimir:

            # tar ­c ficheros | bzip2 > archivo.tar.bz2

Como descomprimir:

            # bzip2 ­dc archivo.tar.bz2 | tar ­xv

Como ver contenido:

            # bzip2 ­dc archivo.tar.bz2 | tar ­t

ZIP

zip si que realiza compresión y descompresión de directorios y/o ficheros. En este caso vamos a realizar un apunte importante, ya que vamos a necesitar instalar dos herramientas diferentes, una para comprimir (zip) y la otra para descomprimir (unzip). Los ficheros tienen la extensión .zip

Como comprimir:

            # zip archivo.zip ficheros

Un ejemplo es que queremos comprimir todo lo que está en la ruta en el directorio en el que nos encontramos. Por ello podríamos hacer:

            # zip  fichero *

Aprovechamos para puntualizar que no es necesario especificar la extensión que va a tener el archivo zip, se añade automáticamente. Esto parece que no pero agiliza el tecleado de los comandos. Aburre repetir tanto "zip". De todas formas para diferenciar el archivo zip de otros archivos o modificadores seguiré marcando la extensión.

Para que la compresión se hiciese no solo del directorio en el que estamos sino también de todos los directorios que tenga:

            # zip -r fichero.zip *

Como descomprimir:

            # unzip archivo.zip

Aprovechamos para añadir algún otro modificador que es interesante. Reconozco que el formato que mas utilizo es .zip, ya que me permite jugar entre entornos windows y linux de una forma muy cómoda. Será la costumbre.

Por ejemplo si queremos hacer un test y obtener un resumen:

            # unzip -tq archivo.zip

En caso de que deseemos extraer un fichero que está dentro del archivo zip podemos ejecutar:

            # unzip archivo.zip documento.doc

Algo que se hace comunmente es descomprimir pero a una ruta concreta como /tmp, para luego borrarlo por ejemplo:

            # unzip archivo.zip -d /tmp

Como ver contenido:

            # unzip ­v archivo.zip
            # unzip -l archivo.zip

Si queremos borrar un fichero que esté dentro del archivo zip podemos ejecutar:

            # zip archivo.zip -d ficheroaborrar.doc

Existen un montón de opciones mas y variantes. Pero lo dejamos aquí y seguiremos con otros formatos de compresión. Recuerda que puedes lanzar la ayuda:

            # zip --help
            # man zip

            # unzip --help
            # man unzip

RAR

rar también realiza compresión y descompresión de directorios y/o ficheros. En este caso también vamos a utilizar dos herramientas, una para comprimir (rar) y otra para descomprimir (unrar), aunque veremos que se solapan, es algo bastante curioso. Los ficheros tienen la extensión .rar

Como comprimir:

            # rar a archivo.rar ficheros

Para borrar archivos en un archivo rar:

            # rar d archivo.rar ficheroaborrar.doc

Para recuperar archivos:

            # rar r archivo.rar

Como actualiar un fichero existente dentro del archivo comprimido:

            # rar u archivo.rar ejemplo.txt

Listar el contenido, para verificar por ejemplo el cambio realizado anteriormente:

            # rar l archivo.rar
            # rar v archivo.rar

Establecer contraseña en fichero rar. Tras lanzar el comando no solicitará dos veces la contraseña:

            # rar a -p archivo.rar

Al intentar descomprimir, nos solicitará la contraseña:

            # rar x archivo.rar

Podemos bloquear un archivo para que no se pueda extraer:

            # rar k archivo.rar

Como descomprimir:

            # unrar e archivo.rar

Para descomprimir en una ruta concreta:

            # unrar e archivo.rar /tmp

Para descomprimir en la estructura original:

            # unrar x archivo.rar

Si lo que queremos es listar previamente el contenido:

            # unrar l archivo.rar

Para realizar un test del fichero:

            # unrar t archivo.rar

Como siempre, podemos utilizar la ayuda de las herramientas para ver la cantidad de opciones que poseen. En este caso no podemos hacer un rar --help o unrar -help

           # man rar
           # man unrar

OTROS FORMATOS DE COMPRESIÓN

Ficheros .lha

   Para comprimir:

            # lha a archivo.lha ficheros

   Para descomprimir:

            # lha x archivo.lha

   Para ver el contenido:

            # lha v archivo.lha
            # lha l archivo.lha

Ficheros .arj

   Para comprimir:

            # arj a archivo.arj ficheros

   Para descomprimir:

            # unarj archivo.arj
            # arj x archivo.arj

   Para ver el contenido:

            # arj v archivo.arj
            # arj l archivo.arj

Ficheros .zoo

   Para comprimir:

            # zoo a archivo.zoo ficheros

   Para descomprimir:

            # zoo x archivo.zoo

   Para ver el contenido:

            # zoo L archivo.zoo
            # zoo v archivo.zoo

No tengo referencia de los links de los que he ido extrayendo o consultando esta información, la verdad es que de vez en cuando buscaba en una u otra web y me decidí a resumir todo en un único sitio para consultarlo rápidamente en caso de necesidad.

Todos estos comandos son muy útiles para realizar volcados de un servidor a otro, a una memoria USB o para realizar copias de seguridad por ejemplo. Intentaré en alguna otra entrada poner ejemplos de scripts con los que automatizo ciertas tareas de administración.

SaluDOS

Ficheros empaquetados en LInux con tar

Vamos a ver de forma puntual como utilizar tar y lo peculiar que es, porque he visto como muchos lo tratan como un compresor del estilo .zip o .rar pero nada mas lejos de la realidad.

tar empaqueta varios archivos en un solo fichero pero no comprime.

Como empaquetar:

            # tar cf archivo.tar ficheros

            -c --create. Crea un nuevo archivo
            -f --file. Utiliza un archivo

Como desempaquetar:

            # tar ­xvf archivo.tar

            -x --extract. Extrae ficheros de una archivo
            -v --verbose. Lista los ficheros procesados detalladamente
            -f --file. Utiliza un archivo

Como ver el contenido:

            # tar ­tf archivo.tar

            -t --list. Muestra el contenido de un archivo
            -f --file. Utiliza un archivo

Si necesitamos ayuda, puede ser interesante consultar tar --help y comprobar la salida de la ayuda. La descripción de los operadores indicados aquí está sacados de esa ayuda.

SaluDOS

Introducción a Magerit

Hay que tener en cuenta que las organizaciones tiran el dinero gastando millones de euros en firewalls y dispositivos de seguridad sin cubrir los eslabones mas débiles de la seguridad. El mas débil es el usuario final y hay que concienciarlo.

La información es un activo esencial y decisivo para la viabilidad de una compañía. Como la información está cada vez mas interconectada, se encuentra expuesta a nuevas amenazas y vulnerabilidades.

Como objetivo podría estar la implementación de un conjunto adecuado de políticas, procesos, procedimientos, controles, hardware y software. Sobre todo otro objetivo importante podría ser medir el comportamiento ético de las personas que trabajan en la organización. Los objetivos generales de Magerit serían:

  • Concienciar a los responsables de las organizaciones de la existencia de riesos y la necesidad de gestionarlos.
  • Ofrecer un método sistemático para analizar los riesgos derivados del uso de tecnologías de la información y comunicación.
  • Ayudar a descubrir y planificar el tratamiento oportuno para mantener los riesgos bajo control
  • Preparar a la organización para procesos de evaluación, auditoría, certificación o acreditación, según corresponda en cada caso.

La gestión de riesgos es una parte fundamental para tener un buen gobierno de la compañía y además ayuda a tomar medidas de seguridad que sustenten con seguridad los usuarios de los servicios ofrecidos.

¿Cómo identificar los riesgos que afecten a la seguridad de la información? Mediante el análisis y gestión de riesgos.

Antes de iniciar con el análisis es necesario conocer a la empresa, realizar visitas y entrevistas, para tener un panorama claro del entorno que se va a evaluar. Las técnicas y herramientas que se utilizan previamente son:
  • Entrevista a directores, responsables y usuarios.
  • Encuestas dirigidas a todos los usuarios de la organización.
  • Observación de todos los actores y equipos presentes en el tratamiento de la información
  • Revisión de documentos
  • Checklist para toda la infraestructura a evaluar de la organización.
Se podría decir que con estas 5 técnicas, podemos tener un conjunto de información para empezar a trabajar, está claro que previamente hay que hacer un ejercicio y análisis de la organización y como realiza el tratamiento de la información, para que las entrevistas o encuestas sean fructiferas.

Magerit es la metodología de análisis y gestión de riesgos elaborada por el Consejo Superior de Administración electrónica de España. La primera publicación fue en 1997 y actualmente se encuentra en su versión 3. Esta metodología marca diferentes actividades enmarcadas a los activos que una organización posee para el tratamiento de la información.

Cuenta con tres libros de apoyo:

Además esta metodología está alineada con la normativa ISO 27002:2013 e incluye una herramienta llamada PILAR que ofrece asistentes y plantillas para facilitar el proceso. Permite hacer un análisis de riesgos sobre las dimensiones de valoración como son: Confidencialidad, Integridad, Disponibilidad, Autenticidad y Trazabilidad.

Esta metodología tiene 6 fases, veamos cuales son porque tiene mucho sentido hacerlo en este orden:
  • 1) ACTIVOS. Determinación de Activos. Es imprescindible tener un inventario actualizado.
    • Hay que agruparlos según funcionalidad: Servicios, Personal, Infraestructura, Conectividad, etc. Se va a determinar que no todos son de la misma "especie".
    • Realizar un inventario
    • Plano de la topología de la red para determinar la ubicación de los activos.
  • 2) DIMENSIONES. De un activo puede interesar calibrar diferentes dimensiones.
    • Dimensiones:
      • Integridad
      • Confidencialidad
      • Autenticidad
      • Trazabilidad
      • Disponibilidad
    • Estableceremos para cada activo unas dimensiones a calibrar.
  • 3) VALORACIÓN
    • Puede ser cuantitativa: Cantidad numérica.
    • Puede ser cualitativa: Escala de niveles.
    • Pueden ser valoraciones homogeneas o relativas.
    • Como ejemplo podríamos definir esta escala:
      • Valor Alto (A). Valor numérico 3. Criterio: Daño grave a la organización.
        • Ejemplo: Base de datos administrativa
      • Valor Medio (M). Valor numérico 2. Criterio: Daño importante a la organización.
        • Sistema administrativo o infraestructura de comunicaciones
      • Valor Bajo (B). Valor numérico 1. Criterio: Daño menor a la organización.
        • Servidor local y PCs
    • Ejemplos
      • Activos aplicaciones: Sistemas operativos, software de ofimática, software de desarrollo, navegadores, clientes de correo, software de control remoto, antivirus, SQL Server, IIS o el software de backup. Quizás en esta categoría serían mas criticos aquellos aplicativos que son el core de la organización, por ejemplo el software de ofimática o el gestor documental sobre el que se apoya un departamento concreto.
      • Activos equipos: Servidores, cámaras de videovigilancia, servidor antivirus, servidores linux, puntos de acceso wifi, teléfonos, PCs, switches, servidores de base de datos, servidores frontales, servidores en DMZ, servidores AD y AD FS, etc. En esta categoría los mas críticos serían por ejemplo el servidor de base de datos, ya que de el dependen las aplicaciones de gestión y el servidor de antivirus por ejemplo ya que es mu importante evitar propagar un virus por la red. Quizás otro ejemplo serían los frontales de sharepoint de un gestor documental, sin el acceso a estos frontales no se podría trabajar.
      • Activos servicios internos: Bases de datos, servicio de antivirus, servicio web, correo electrónico. Quizás destacaríamos los servicios de base de datos y antivirus tal y como se ha mencionado anteriormente, de ellos dependería la disponibilidad y estabilidad del sistema de información.
    • Identificamos además dependencias.
    • Magerit permite ciertas ponderaciones según funcionalidad o importancia.
  • 4) AMENAZAS. Determinar las amenazas que pueden afectar a cada activo identificado.
    • Las posibles amenazas se obtienen del catálogo de elementos que nos ofrece la metodología. Se definen unas categorías:
      • Desastres naturales. Ejemplos
        • Inundación
        • Corte eléctrico por tormenta
        • Nieve
      • De origen industrial o el entorno en el que se encuentra el activo. Ejemplos:
        • Fuga de agua en una tubería
        • Temperaturas o humedades por maquinaría cercana.
      • Errores y fallos no intencionados. Defectos en aplicaciones o causadas por las personas de forma accidental. Ejemplos:
        • Errores de usuarios
        • Errores del administrador
        • Escaeps y fugas de información no itencionados
      • Ataques intencionados. Causadas por las personas de forma deliberada. Ejemplos:
        • Abuso de privilegios
        • Acceso no autorizado
        • Modificación deliberada de la información
    • Se realiza una evaluación de amenazas basada en al frecuencia de materialización de la amenaza para lo cual definiriamos la frecuencia como: Posibilidad de que ocurra en función de la cantidad de veces que se puede materializar dicha amenaza en un año. Se utiliza una escala de este estilo:
      • 0,1 - una vez cada 10 años
      • 1 - todos los años
      • 10 - todos los meses
      • 100 - todos los días
    • Además tendremos que tener en cuenta la degradación que sufra el activo ante una amenaza. Para cada tipo de equipamiento se distingue una serie de averías, errores y eventos que vamos a valorar.
    • Cada uno afectará a una dimensión concreta a controlar en los activos.
  • 5) IMPACTO Y SALVAGUARDAS. Se miden los impactos y riesos a que estarían expuestos los activos si no se protegieran en absoluto.
    • Impacto: El análisis de impacto nos indica que las consecuencias de la materialización de una amenaza puede ser críticas para una serie de activos, por ejemplo SQL Server o el backup.
    • En la estimación de Impactos de las amenazas sobre los activos identificamos las vulnerabilidades críticas.
      • Hay que determinar el grado de riesgo al que está expuesto cada activo.
      • Se colorean mediante colores diferenciando los niveles de criticidad.
      • Hay que identificar el grado de madurez de cada activo y por lo tanto 
    • Se muestra con una escala de colores según un valor:
      • 5. Crítico. Rojo
      • 4. Muy alto. Rosado
      • 3. Alto. Amarillo
      • 2. Medio. Azul
      • 1. Bajo. Verde
      • 0. Despreciable
      • OFF. el activo o uno del que depende está marcado como no disponible.
    • Este código de colores facilita mucho visualmente la identificación de salvaguardas que van a ser prioritarias.
    • Observaremos que los riesgos son mas críticos para determinados activos como puedan ser los que estén relacionados con el backup o la base de datos o cierto software importante.
    • Determinación de los criterios de aceptación del riesgo. Tenemos que conocer el riesgo residual que pueda quedar en caso de explotación de una vulnerabilidad.
    • Determinación de las medidas de seguridad necesarias o salvaguardas.
      • Calculamos que activos están mas expuestos o cuales tienen mayor importancia
      • Se calcula el riesgo potencial y el acumulado
      • Se calculan riesgos sin salvaguardas en una primera fase
      • Después aplicando las salvaguardas se calcula el riesgo final obtenido.
Utilizando la herramienta Pilar podemos gestionar todas estas fases. Conforme vayamos realizando los análisis y vayamos aplicando las contramedidas, se va observando como cambian los riesgos asociados a cada activo crítico.

Finalmente se calcula una madurez de los controles sin y con salvaguarda y se comparan los resultados finales. Habitualmente Magerit facilita realizar el estudio y el análisis de riesgos, garantizando la seguridad de los activos que intervienen en el tratamiento de la información.

Permite además mejorar la madurez de los sistemas y las políticas de seguridad. Si siempre realizamos la gestión de riesgos periódicamente con la misma metodología, podremos comparar los resultados obtenidos.

LINKS CONSULTADOS

https://youtu.be/W95lFy7XCJc
https://youtu.be/_nvctgOUBEA
https://youtu.be/Bpn5dggxt68
https://youtu.be/JF0RIYmH6No
https://www.administracionelectronica.gob.es/pae_Home/pae_Documentacion/pae_Metodolog/pae_Magerit.html#.WxL4kGMzbDc
https://www.administracionelectronica.gob.es/pae_Home/dam/jcr:fb373672-f804-4d05-8567-2d44b3020387/2012_Magerit_v3_libro1_metodo_es_NIPO_630-12-171-8.pdf
https://www.administracionelectronica.gob.es/pae_Home/dam/jcr:5fbe15c3-c797-46a6-acd8-51311f4c2d29/2012_Magerit_v3_libro2_catalogo-de-elementos_es_NIPO_630-12-171-8.pdf
https://www.administracionelectronica.gob.es/pae_Home/dam/jcr:130c633a-ee11-4e17-9cec-1082ceeac38c/2012_Magerit_v3_libro3_guia-de-tecnicas_es_NIPO_630-12-171-8.pdf

SaluDOS

sábado, 2 de junio de 2018

Conceptos básicos de Gestión de Riesgos

Vamos a comentar por encima los conceptos básicos que van a facilitan el llevar a cabo un análisis y valoración adecuado. En alguno nos entretendremos un poco mas, sobre todo porque no se le suele dar importancia. Comencemos!!!

CONCEPTOS BÁSICOS

Activo: Cualquier información o sistema relacionado con el tratamiento de la misma que tenga valor para la organización.

Inventario de activos: Imprescindible en cualquier Sistema de Gestionón de la Seguridad del Información (SGSI). Se podría decir de forma genérica que deberíamos registrar para todos los activos una serie de campos. Es muy frecuente que no se realice un correcto inventario de activos en las empresas y es imprescindible para un correcto análisis de riesgos. Para que veamos que no es trivial y hacen falta bastantes datos veamos un ejemplo:

  • Número de Serie (Hardware) / Número de Licencia (Software: Nº, Tipo de Licencia, Instalaciones, Cantidad con Licencia, Exceso o Falta de Licencia). En el caso de activos como PCs, servidores, impresoras, dispositivos móviles y cualquier otro ítem susceptible de ser etiquetado como unitario, normalmente va asociado a un número de serie único e identificable. Cuando se trata de activos del grupo de aplicaciones, cabría detallar los campos anteriormente mencionados:
  • Localización física: ciudad o edificio donde se encuentra el activo. De esta manera podrán implementarse medidas físicas, de prevención y de gestión del riego, en función de su ubicación y el nivel de madurez de los controles implantados.
  • Formato: puede que sea papel o digital por ejemplo.
  • Tipo: grupo en el que se encuentra clasificado (entorno general, servicio/activo de información, aplicación Software, PC como fijo o portátil, impresora, servidor, red, etc.)
  • Nombre: único e identificativo
    • Identificador de licencia,
    • El tipo de licencia de la que se trata,
    • Euántas instancias de la misma existen en el parque informático, y
    • Qué nivel de licenciamiento real existe actualmente para este software
  • Empresa de Soporte: definir bien la empresa encargada del mantenimiento, reparaciones y eventual sustitución del activo cuando aplique, así como aquella que pueda prestar cualquier servicio alrededor del mismo, y que implique un cierto grado de compromiso o relación más allá de la adquisición
  • ID de Contrato: es la forma de ubicar el momento de la compra del activo, o el inicio de la relación con el proveedor en lo que a ese activo se refiere. De esta forma se podrá contar con una referencia a la hora de comunicar con el proveedor de servicio, indicar la partida exacta de compra, condiciones de la misma y, por tanto, los detalles que éste necesita a la hora de prestar el servicio contratado
  • Fecha Vencimiento Soporte: guarda relación con el campo anterior, tanto en cuanto será el contrato aquel documento donde podremos identificar la fecha de firma o comienzo de soporte para el activo. Si bien este campo apunta al vencimiento y, por tanto, fecha en la que se debería renovar el soporte o servicio sobre el activo, si así fuese necesario
  • Sección/Área/Departamento que le da uso: grupo de personas interactuando con el activo, de forma habitual. Puede no corresponderse con el propietario del activo.
  • Propietario (Responsable del Activo): el responsable del Activo es lo que se denomina Propietario del Activo. Las tareas encargadas al responsable del activo son:
    • Asociar o aprobar asociaciones entre activos
    • Asociar o aprobar asociaciones ente el Activo y los procesos de negocio
    • Ajustar las dependencias o dependientes del Activo
    • Tomar las decisiones en torno al activo: creación, acceso, modificación y eliminación
  • Custodio: aquel que “guarda con cuidado y vigilancia” el activo. No tiene por qué ser el mismo que hace uso de él, como tampoco el propietario del mismo.
  • Clasificación: este campo determinará el grupo de medidas y controles de seguridad a aplicar al activo en concreto.
  • Descripción/Observaciones: cuando se desee remarcar alguna de las cualidades del activo, o aplique algún tipo de singularidad o condición no genérica al mismo
Amenaza: Evento que puede desencadenar un incidente produciendo daños materiales o inmateriales en los activos.

Vulnerabilidad: Es la debilidad que tienen los activos o grupos de activos que pueden ser aprovechada por una amenaza.

Impacto: Consecuencia de la materialización de una amenaza sobre un activo.

Riesgo: la estimación del grado de exposición de un activo a que una amenaza se materialice sobre el causando daños a la compañía. Indica lo que le podria pasar a los activos si no se protegen adecuadamente.

Riesgo intrínseco: Posibilidad de que se produzca un impacto determinado en un activo o en un grupo de activos.

Salvaguarda: Práctica, procedimiento o mecanismo que reduce el riesgo. Puede actuar disminuyendo el impacto o la probabilidad.

Riesgo residual: Riesgo que queda tras la aplicación de la salvaguarda.

ANALISIS DE RIESGOS

Por muy bien que protejamos los activos es imposible eliminar el riesgo al 100% por lo que siempre quedará un riesgo residual que la compañía debe asumir y vigilar.

Un análisis de riesgos al fin y al cabo consiste en identificar los riesgos de seguridad en nuestra compañía, determinar su magnitud e identificar las áreas que requieren implantar salvaguardas. Con este análisis conoceremos el impacto económico de un fallo de seguridad y la probabilidad realista de que ocurra ese fallo.

Hay que cubrir las necesidades de seguridad de la organización teniendo siempre en cuenta los recursos económicos y humanos con los que cuenta. La inversión en seguridad debe ser proporcional al riesgo.
[ Equilibrio en las inversiones. Proporcionales al riesgo ]
El ejemplo del vídeo que se ha consultado y cuyo enlace dejo abajo es bastante claro: Si tenemos un servidor que tiene información de valor bajo, pero lo protegemos con un lector de huellas, uno de retina y después el técnico tiene que hacer acrobacias para acceder a el, está claro que las medidas han sido desproporcionadas.
[ Objetividad ]
Un análisis de riesgos aporta objetividad a los criterios en los que se apoya la seguridad ya que se centra en proteger los activos mas críticos. Basándonos en los riesgos propios, se realiza la toma de decisiones.

Hay que contar con diferentes personas de la organización para dar valor a los activos.
[ Debe ser un equipo multidisciplinar para dar un valor objetivo ]
Hay que ir haciendo el análisis de forma progresiva conforme la compañía evoluciona en sus medidas de seguridad.

El análisis de riesgos se basa en un buen inventario de activos. Si es grande, se puede hacer un análisis solo de los activos mas críticos.
[ Es por ello que el inventario es tan importante ]
Después se identifican las amenazas que pueden afectar a los activos. Se realiza una valoración en función del impacto de la amenaza si esta se materializa. Se analizan las vulnerabilidades de los activos y se valoran. Si un activo está expuesto a una amenaza pero no tiene una vulnerabilidad que permita que esta se materialice, el riesgo es menor que si existe.

Realizaremos un análisis de las salvaguardas o medidas de seguridad ya implantadas.

Finalmente se realiza el estudio del riesgo y el impacto de todas las variables sobre los diferentes activos. Obtendremos los resultados del análisis de riesgos y se establecerá el nivel de riesgo de la compañia.

Todo debe estar perfectamente documentado para justificar las acciones a desarrollar para el nivel de seguridad que la compañía quiere alcanzar.

Existen multitud de metodologías y herramientas para facilitar la elaboración de forma sistemática. Así los sucesivos análisis serán comparables y la información reutilizable.
[ Realizamos el análisis cada cierto tiempo con la misma metodología]
METODOLOGÍAS

Existen multitud de metodologías para gestión del riesgo de la información, por ejemplo:

  • Magerit 
  • ISO/IEC 27005
  • Octave
  • NIST SP 800-30


En futuras entradas iremos viendo Magerit: Metodología de Analisis y Gestión de Riesgos de los Sistemas de Información. Es una metodología para conocer el riesgo al que está sometida la información y si está está segura o no. Es de carácter público, pertenece al Ministerio de Hacienda y Administraciones Públicas

LINKS CONSULTADOS

https://youtu.be/g7EPuzN5Awg
http://www.govertis.com/que-es-el-invectivos-parte-i
https://www.administracionelectronica.gob.es/pae_Home/pae_Documentacion/pae_Metodolog/pae_Magerit.html#.WxL4kGMzbDc
http://slideplayer.es/slide/1644740/6/images/7/Metodolog%C3%ADa+MAGERIT+Riesgo+Agenda+Amenazas+Valor+Impacto+Frecuencias.jpg
http://metodologiasderiesgo.blogspot.com/

SaluDOS