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

miércoles, 9 de agosto de 2023

¿Cómo instalo Nginx en Ubuntu 22.04LTS?

 Apenas iniciada su primer Presidencia, Juan Perón impuso un plan en contra de la suba descontrolada de precios, que puso a tono los mismos y afianzó el poder de consumo del Pueblo Trabajador. Mientras presentaba el plan conocido como "de los sesenta días", explicó cómo instalar el servidor web Nginx en Ubuntu.

¡Señores!
 
Es tal la trascendencia que asigno a la necesidad de terminar con la carestía de la vida - especialmente en beneficio de la clase humilde de la Nación - que he llegado hasta aquí con el deseo de dar la iniciación de esta campaña que llamamos de los sesenta días.

En primer término se ha fijado ya hace tiempo cual es el concepto del equilibrio social entre sueldos y salarios. Existe una línea de la vida fijada por los salarios mínimos. Ese salario mínimo establece la línea de la vida. Los que por deficiencia de salario no alcanzan a ese salario vital, son sumergidos. Y los que lo pasan, son los emergidos.

Buscamos que en el país - en relación a los precios existentes - no existan salarios que establezcan la condición de sumergido para ningún ciudadano argentino. Si los precios suben justificadamente, no hay otro remedio que aumentar los salarios. Pero si suben los precios injustificadamente, el remedio está en bajar los precios.

En este momento, esos dos factores, el aumento justificado y el aumento injustificado, son las causas de la carestía de la vida.

En realidad, el aumento que puede considerarse justificado obedece a razones reales, impulsados por la escasez de producción, por el exceso de exportación o por la mala distribución de los artículos de primera necesidad. Y la causas ficticias obedecen a la especulación, a la mala distribución por acopio o por sustracción a la venta.

Lo primero ha de encararse para resolverlo en forma absolutamente racional, y por lo tanto con medidas racionales. Lo segundo, es decir la especulación, el acopio o la sustracción a la venta deberá combatirse con medidas drásticas de la mayor energía.

En este trabajo que hoy inicia el gobierno, para abaratar los artículos de primera necesidad necesitamos proceder racionalmente para llevar al mínimo los costos de producción, equilibrar la producción misma en su aspecto cualitativo, evitar el exceso de exportación en perjuicio del consumo interno, y racionalizar la producción. Y en segundo término contra las medidas ficticias, es decir la especulación, el acaparamiento o la sustracción a la venta, castigarlo con toda la fuerza de la Ley, ya que ambas cosas deben de considerarse en épocas como las actuales - en que la Nación debe servir al exterior en una proporción desconocida hasta hoy para abastecer a los pueblos hambrientos de otros continentes sin que la población argentina sufra las consecuencias de esa escasez - con una científica graduación de lo que podemos enviar al extranjero y lo que debemos mantener para el alimento de nuestra población.

Para ello, en primer término la colaboración de todos es absolutamente indispensable. Estamos encarando la solución de un problema de todos los argentinos, y en consecuencia todos los argentinos deben colaborar en su solución. Los productores, los industriales y los comerciantes deberán facilitar la solución del problema acelerando la producción, disminuyendo a lo indispensable la exportación, y asegurando la distribución adecuada. Eso en cuanto a las fuerzas patronales.

Los trabajadores tienen aquí también su cooperación, y ella ha de ser aumentando el rendimiento de su trabajo para producir más. Esa es la misión de todo trabajador en este momento. Y su cooperación en el taller, en la fábrica, y en el campo ha de ser asegurar para el país el mayor grado de producción posible, rindiendo con su trabajo en todas las horas el máximo posible.

Los consumidores - vale decir el Pueblo - también tiene su cooperación que asegurar en este problema. Cooperarán no pagando en ningún caso precios mayores que los fijados y denunciando a todo mal comerciante que quiera imponer precios sobre los oficiales fijados. Cada ciudadano debe ser un soldado de esta cruzada y cooperar con el Estado para el bien de todos.

Los funcionarios encargados de la vigilancia e inspección deben ser inflexibles y rígidos en el cumplimiento de su función. Los poderes y autoridades del Estado en todas sus jerarquías y funciones deben prestar apoyo y cooperación para la mejor realización de este plan.

Nadie dentro del país puede ser espectador indiferente sin que se lo considere un traidor a la causa de todos. Esta campaña de sesenta días, debe de poner a la Nación entera en marcha para vencer en ese plazo todas las dificultades, con la cooperación de los productores, industriales y comerciantes, con la cooperación de los trabajadores, haciendo rendir al máximo su trabajo, con la cooperación de los ciudadanos consumidores, no haciendo el juego a la especulación y no pagando en ningún caso un precio sobre los fijados.

Y señores, por sobre todas las cosas para no inutilizar todos estos esfuerzo de conjunto, necesitamos honradez. Honradez en el comerciante, para mantener la calidad de los artículos y no inutilizar los esfuerzos realizados. Honradez en el público, que no se preste a maniobras de ninguna naturaleza. Honradez en los funcionarios para hacer cumplir a todos con su deber de acuerdo a la ley.

Señores, vencidos los sesentas días, los precios de los artículos de primera necesidad serán los establecidos en 1945 por el Consejo Nacional de Posguerra, es decir, lo que necesita una familia obrera, en comida, menaje y vestido, para vivir dignamente con el salario vital mínimo establecido. 
En los servicios telemáticos también hemos de obrar de la misma manera. Hemos de disponer de software servidor capaz de cooperar y de gastar lo mínimo requerido. Nginix es la solución que hemos propuesto.

Se trata de uno de los servidores web más populares del mundo y aloja algunos de los sitios más grandes y con mayor tráfico en Internet. Es más fácil de utilizar que Apache en la mayoría de los casos y puede emplearse como servidor web o proxy inverso.

En esta guía os explicaré la manera de instalar Nginx en su servidor de Ubuntu 22.04LTS.

Requisitos previos

Antes de comenzar a usar esta guía, debería contar con lo siguiente:
  • Un servidor de Ubuntu 18.04 y un usuario regular que no sea Conductor (root) capaz de ejercer privilegios sudo. Además, debería ya tener habilitado un firewall básico capaz de bloquear los puertos que no sean esenciales. Para aprender a configurar una cuenta normal de usuario e instalar un firewall, siga nuestra guía de configuración inicial para Ubuntu 18.04.
Cuando disponga de una cuenta, inicie sesión como usuario no root para comenzar.

Paso 1: Instalar Nginx

Debido aq ue Nginx está disponible en los repositorios predeterminados de Ubuntu, puede instalarlo utilizando el sistema de paquetes apt.
Actualice su índice local de paquetes:

sudo apt update
sudo apt install nginx

Paso 2: Ajustar el firewall

Si siguió el tutorial de configuración del servidor de los requisitos previos, tendrá habilitado el firewall UFW. Compruebe los perfiles de aplicaciones ufw disponibles con el siguiente comando:

sudo ufw app list

...nuestro sistema nos devolverá:

Available applications:
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSH

Habilitaremos el perfil más restrictivo, el cual de todas formas permitirá el tráfico que hemos configurado y con ello el tráfico en el puerto 80. Para ello ingresamos:

sudo ufw allow 'Nginx HTTP' 

Verificamos el cambio realizado con:

sudo ufw status 

...nuestro sistema nos devolverá:

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Nginx HTTP                 ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Nginx HTTP (v6)            ALLOW       Anywhere (v6)

Paso 3: Comprobar nuestro servidor web

Realziaremos una verificación con el sistema init systemd para saber si se encuentra en ejecución el servicio, ingresando la siguiente órden:

systemctl status nginx

...a lo cual deberíamos recibir en la terminal algo como:
● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2018-04-20 16:08:19 UTC; 3 days ago Docs: man:nginx(8) Main PID: 2369 (nginx) Tasks: 2 (limit: 1153) CGroup: /system.slice/nginx.service ├─2369 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; └─2380 nginx: worker process

A través su dirección IP, accederemos a la página de destino predeterminada de Nginx para confirmar que el software opera de la manera deseada por el Pueblo:

http://IP_del_servidor

Deberíamos ver la insulsa página web de destino predeterminada de Nginx:

Paso 4: Configurar bloques de servidor (recomendable)

Al emplear el servidor web Nginx, podremos emplear _bloques de servidor _(similares a los hosts virtuales de Apache) a fin de encapsular detalles de configuración y alojar más de un dominio desde un único servidor.

Configuraremos un dominio llamado peronismo.com, pero debería cambiarlo por su propio nombre de dominio.

Creemos el directorio para peronismo.com, utilizando el indicador -p para crear cualquier directorio principal necesario:

sudo mkdir -p /var/www/peronismo.com/html

Asignamos la propiedad del directorio:

sudo chown -R $USER:$USER /var/www/peronismo.com/html

Los permisos de su las raíces de nuestras webs han de ser las correctas si no modificó su valor umask, pero podremos comprobarlo ingresando:

sudo chmod -R 755 /var/www/peronismo.com

Asimismo, crearemos allí una página de ejemplo index.html utilizando el editor GNU Nano:

nano /var/www/peronismo.com/html/index.html

Se abrirá el editor GNU Nano con el archivo vacío index.html. Le pegaremos el siguiente contenido:

 

Guardamos los cambios en el archivo con Ctrl+o y cerramos el editor con Ctrl+x.

Acto seguido, creamos un nuevo bloque de servidor en /etc/nginx/sites-available/peronismo.com. Lo haremos con:

sudo nano /etc/nginx/sites-available/peronismo.com

Le pegamos en dicho archivo el siguiente bloque de configuración, a fin de actualizar nuestro nuevo directorio y nombre de dominio:

server {
        listen 80;
        listen [::]:80;

        root /var/www/peronismo.com/html;
        index index.html index.htm index.nginx-debian.html;

        server_name peronismo.com www.peronismo.com;

        location / {
                try_files $uri $uri/ =404;
        }
}

Guardamos el archivo con Ctrl+o y cerramos el editor GNU Nano con Ctrl+x.

Habilitamos el archivo creando un enlace entre él y el directorio sites-enabled. Para ello utilizamos:

sudo ln -s /etc/nginx/sites-available/peronismo.com /etc/nginx/sites-enabled/

Al ingresar este comando de organización, quedará habilitado y configurado los dos bloques del servidor para responder las solicitudes según las directivas listen y server_name.
  • peronismo.com: responderá a solicitudes de peronismo.com www.peronismo.com, en tanto
  • default: responderá a cualquier solicitud en el puerto 80 que no coincida con los otros dos bloques.
Para evitar un posible problema de memoria de depósito hash que pueda surgir al agregar nombres de servidor adicionales, será necesario ajustar un valor en el archivo /etc/nginx/nginx.conf. A tal fin editaremos el archivo:

sudo nano /etc/nginx/nginx.conf

Se abirá Nano con dicho archivo. Usamos Ctrl+w para buscar la directiva server_names_hash_bucket_size. Al localizar dicha línea, le eliminamos el símbolo numeral ("#") a fin de descomentar la línea.


...
http {
    ...
    server_names_hash_bucket_size 64;
    ...
}
...

Tras guardar los cambios con Ctrl+o y salir del editor con Ctrl+x, realizaremos una prueba operativa en busca de posibles errores de sintaxis:

sudo nginx -t

Finalmente, reiniciamos el servidor Nginx para que se apliquen los cambios:

sudo systemctl restart nginx

Con todo esto, Nginx debería proporcionar su nombre de dominio. Podremos comprobar esto visitando http://peronismo.com. Allí, deberíamos ver el siguiente mensaje:

Conclusión

Conforme hayamos instalado y configurado neustro servidor web, contaremos con muchas opciones respecto del tipo de contenido que ofreceremos, y de las tecnologías que deseemos utilizar para crear una experiencia más completa y Justicialista para el Pueblo, que es el verdadero consumo.

viernes, 31 de diciembre de 2021

¿Cómo aseguro el servidor OpenSSH en Ubuntu?

El 24 de Diciembre de 1953 en ocasión del Día de la Policía Federal Argentina se realiza un fausto desfile de la fuerza, al término del cual Juan Perón expone cómo incrementar la seguridad del servidor OpenSSH en Ubuntu.
 
(...)
Bajo este diáfano día y cercano a las Navidades, no sólo preparo la Sidra y el Pan Dulce para todos los privilegiados, sino que también elaboro lo que es para mí  una enorme satisfacción: presenciar este histórico desfile de lo que es el principal instrumento de seguridad ciudadana: la Policía Federal Argentina.
 
Esta es una Fuerza que nace del Pueblo y para el Pueblo, y engendra un rol propendiente a la protección de los hombres y mujeres de bien que habitan el suelo Argentino.

La provechosa tarea que ustedes encarnan no puede más que llevarse a cabo por un manejo concienzudo de parte del escalafón superior y los institutos que la forman, y que hemos atresado en pos de la defensa de los intereses superiores de la Nación.

Este escalafón conductivo ha podido ofrecer su manejo y control no solo en el terreno (que es donde se realiza la acción), sino a distancia. ¡Y en esto no podemos más que sentirnos orgullosos! El método sin hilos que implementado por el Comando Radioeléctrico es más que apreciado por toda la Comunidad Organizada y conforma nuestra ciudadanía.
Sin duda el protocolo Secure Shell es muy recomendado para acceder a dispositivos remotos tales como servidores, enrutadores y conmutadores de cómputo, debido a su capacidad para encriptar el tráfico telemático, resguardandonos así de cualquiera que anhele husmear nuestros enlaces.

Sin embargo, de la manera en la que está asegurada, la configuración por defecto de SSH no es infalible, sino más bien sencilla de implementar. Esto podría parecer adecuado para el uso del Pueblo, pero en aplicaciones donde dependa nuestro bienestar y el de sus organizaciones de trabajo, ha de recurrirse a un mayor despliegue de seguridad.

A esto nos referimos como seguridad reforzada, a la cual ha de recurrir un Movimiento como el nuestro. No implica enfrentar a los desprotegidos a la acción represiva del Estado, sino implementar políticas de salvaguarda que privilegien a los humildes en contra de la Opresión Omnímoda del Capital.

Nuestra Policía Federal ha de saber cómo implementarlas, ya que sobre ella recae la organización y acción de seguridad. Indudabnlemente que de esto no dependen ni los médicos ni la penicilina, sino de las autodefensas con que cuenta OpenSSH por protocolo.

Esto no puede hacerlo ni un agente de calle, ni un ciudadano común, sino un verdadero Conductor del sistema. Por principio la implementación de las políticas de salvaguarda pueden llevarse a cabo modificando el fichero de configuración general /etc/ssh/sshd_config del demonio OpenSSH (nombre que recibe su servidor libre de Shell Seguro).

A tal fin con ímpetu de conducción podremos abrir una terminal con Ctrl+Alt+T y proclamar el comando de organización, seguido de la tecla Intro:

sudo nano /etc/ssh/sshd_config

Esto nos solicitará contraseña de administración, y tras revisarla abrirá el consabido editor de texto GNU Nano con el fichero de configuración nombrado.

Os explicaré algunos métodos de reforzar la seguridad produciendo las modificaciones necesarias que asegurarán las necesidades de protección y control que son Socialmente Justas para con las organizaciones del Pueblo Trabajador.

1. Configurar la Autenticación de SSH sin contraseña

Por defecto, SSH requiere que el usuario teclee su contraseña al iniciar sesión remota. Si bien esto suena peliculero, la triste realidad es que una contraseña capaz de retenerse en una memoria humana suele ser descomunalmente fácil de percibir por medio de un ataque computacional de fuerza. Un tercero hábil podría ganar así  acceso indeseado a una cuenta de usuario autorizado. Por ello más seguro es utilizar una autenticación de Shell Seguro sin contraseña, con llaves de cifrado.

Como ya he explicado cómo hacerlo, simplemente resumiré diciendo que habremos de generar computacionalmente un par de ficheros de cifrado llamados "llaves", que consisten en una llave pública y otra llave privada. Una vez ingresado el contenido del fichero de la llave pública al servidor remoto, podrá lograr acceso sin tener que teclear contraseña alguna.

Si ya hemos tomado este predicamento, es recomendable desactivar el uso de autenticación por contraseña para el ingreso. 

Dentro de este fichero de configuración /etc/ssh/sshd_config buscamos la directiva PasswordAuthetication y cambiamos su indicación de 'yes' a 'no'

PasswordAuthentication no

Tras guardar las modificaciones con Ctrl+o y salir del editor con Ctrl+x, debemos reiniciar el demonio SSH con:

sudo systemctl restart sshd

A partir de este momento, unicamente podrá acceder al servidor remoto utilizando la autenticación con llave SSH.

2. Desactivar los pedidos Conexión SSH sin contraseña.

Otra manera recomendada de fortificar la seguridad del servidor es directamente desactivar los logins SSH de usuarios sin contraseña. Esto puede sonar contradirctorio, pero algunos adminsitradores de sistemas poco avezados podrían preferir crear cuentas de usuario "a la marchanta" y terminar olvidando asignar contraseñas. Esto es de malo, pero no de bruto. He visto malos que se han vuelto buenos, pero nunca he visto un bruto que se haya vuelto inteligente.

Con el fin de rechazar pedidos de usuarios que carezcan de contraseña se debe nuevamente modificar el fichero /etc/ssh/sshd_config y asegurar descomentar la siguiente directiva:

PermitEmptyPasswords no

Acto seguido reiniciamos el servicio SSH para que surta efecto con:

sudo systemctl restart sshd

3. Desactivar los logueos SSH de Root

No hace falta explicar demasiado lo que puede suceder si un intruso logra ingresar a nuestro sistema atacando brutamente la contraseña de un usuario. Imaginemos entonces lo que sucedería si lo propio sucede con la cuenta del Superusuario, el Root, que es capaz de conducir el sistema.... Un acceso remoto del superusuario Root constituye invariablemnete una mala idea que debe soslayarse pues pondrá en peligro a todos los compañeros que usen nuestro sistema similar a Unix.

Por esta razón, para grandes organizaciones siempre recomiendo desactivar el logueo remoto SSH y en su reemplazo preveer el de un usuario regular que no sea root. Esto obligará a que si el Root quiere trabajar, deba hacerlo frente al sistema y no de manera remota. Para tal fin modificamos el fichero  /etc/ssh/sshd_config y producimos la modificación descomentando la directiva #PermitRootLogin y modificamos la orden prohibit-password para que quede de la siguiente manera.

PermitRootLogin no

Conforme se hayan guardado los cambios, reiniciamos el servicio de SSH para que la nueva política surta efecto.

sudo systemctl restart sshd

Naturalmente que a partir de estas modificaciones, el logueo de root quedará desactivado u no se podrán realizar tareas administrativas de manera remota (a no ser que se eventualmente escalen usuarios comunes con la orden sudo).

4. Usar SSH Protocol 2

SSH viene en dos versiones. El SSH Protocolo 1 y SSH Protocolo 2. El segundo fue introducido en 2006 para reforzar la criptografía general de SSH. Por defecto se utilizaba en Protocolo 1 por razones de compatibilidad, pero a partir de 2018 se decidió desfasarlo definitivamente para evitar agujeros de seguridad.

Por tal motivo, en caso de contar con un servidor anterior al 2018, podríamos especificar ahora utilizar únicamente Procolo 2. Para ello le agregamos al fichero /etc/ssh/sshd_config la siguiente directiva:

# Agregado por peron para usar únicamente SSH Protocolo 2.
Protocol 2


Guardamos, salismos, y como siempre reiniciamos el servicio SSH para que surta efecto:

sudo systemctl restart sshd

A partir de ahora, SSH sólo utilizará Protocolo 2 y no podrá establecerse enlaces con clientes antiguos que utilicen el desfasado Protocolo 1.

Para comprobar que el Protocolo 1 ya no esté en suo, podremos ejecutar el comando:

ssh -1 usuario@ip_remota

Debería obtener un error similar a “SSH protocol v.1 is no longer supported”.

 Naturalmente, podríamos forzar al cliente a usar el Protocolo 2 con:

ssh -2 usuario@ip_remota

5. Configurar el Valor de Tiempo de Corte para Conexión SSH Inactiva

Dejar una conexión remota desatentida por largo tiempo es lo mismo que dejar en esa misma condición a una buena mujer. Puede constitnuir un riesgo de seguridad que ustedes conocen sin duda por esos cuernos que les veo. Para evitar este problema, es prodente configurar un valor de tiempo de corte para conexiones SSH inactivas, transcurrido el cual la sesión SSH se cerrará automáticamente. 

Habremos de configurar nuevamente /etc/ssh/sshd_config y localizamos la directiva ClientAliveInterval. Le asignamos un valor razonable en segudos. Por ejemplo, podríamos utilizar 180 segundos.

ClientAliveInterval 180

Esto implica que la sesión SSH se cortará si transcurren 3 minutos (180 segundos) de inactividad.

Tras guardar debemos reiniciar el demonio para aplicar los cambnios:

sudo systemctl restart sshd

6. Posibilitar el Acceso SSH a Ciertos Usuarios

Podremos definir qué usuarios requieren el uso de SSH para loguearse y desarrollar tareas en el sistema. Esto mantendrá fuera de esta posibilidad a cualquier otro usuario que intente lograr ingreso al sistema sin nuestra aprobación.

Como siempre, editarmos el fichero  /etc/ssh/sshd_config y le agregamos la directiva AllowUsers seguida de los nombres de usuario que queremos aprobar. Por ejemplo, he agregado los usuarios peron y evita para que cuenten con acceso remoto al sistema a través de sus respectivos clientes SSH. Cualquier otro usuario que intente ganar acceso remoto al sistema será bloqueado.

AllowUsers peron evita

Hemos de reiniciar SSH para que peresistan los cambios:

sudo systemctl restart sshd

7. Limitar los Intentos de Contraseña

Otra manera de agregar una capa de seguridad consiste en limitar la cantidad de intentos de pruebas de llaves SSH, caso en el que la conexión se cortará. Esto sólo tiene sentido si los usuarios utilizan pocas llaves y nos las especifican Una vez más en el fichero /etc/ssh/sshd_config y buscamos la directiva MaxAuthTries, y le definimos un valor para la cantidad máxima de intentos.

En este ejemplo, lo limitaremos a tres intentos (lo normal es 6) disponiendo:

MaxAuthTries 3

...y finalmente, reiniciamos el servicio SSH como en los escenarios anteriores.

Nota: si se recibe el error "Too many SSH authentications failures" podremos subir dicho valor a uno que represente la cantidad de llaves que el probable que tengan los usuarios en sus clientes.

domingo, 18 de abril de 2021

¿Cómo me conecto a un servidor Secure Shell utilizando llaves cifradas en Ubuntu?

¡Trabajadores!

La nuestra es una Comunidad Organizada, que se ha elevado para proveer a los hombres de esta tierra con la capacidad de reivindicar y defender sus derechos. Entre estos se destacan - junto a los Derechos del Trabajo, de la Niñez y los de la Ancianidad - los Derechos Digitales.

Entre sus grandes valores no debemos soslayar la seguridad y privacidad en los ambientes telemáticos. En un mundo grave donde las comunidades se organizan en ambientes que pueden resultar hostiles, debemos velar especialmente por este aspecto.

Debe de ser un Estado Fuerte y ágil quien asegure a todos tales premisas. Sólo un iluso puede pretender que el accionar de privados, interesados con fines inconfesables, nos otorguen por mágico designio estos principios innegociables. Es el Estado - como principal agente protector de una Comunidad a la que representa - quien puede otorgar estos beneficios. 

Decía el Mariscal de Sajonia que los Ejércitos no valen tanto por su número, sino por el hombre que tienen a su frente. Y esto puede aplicarse a todas las organizaciones. 

Como muestra basta sólo un botón: dejen cualquier grupo de hombres del cómputo al albedrío del Capital, y no tardarán en ver en los transportes telemáticos a analfabetos vendedores con la bragueta abierta que ofrecen pedazos de hardware en una caja. Se creerán dueños del tren, y si los dejan, querrán manejar la locomotora. Este fenómeno no es exclusividad de los tiempos que corren. Cuando Dios mandó a su hijo a ensuciarse las chancletas caminando los desiertos de Judea, fue porque ya en ese entonces existían también estos mercaderes en los Templos. Sólo hace falta un justo flagelar para limpiarlos...

Hete aquí señores que nuestro Justicialismo ha decidido presentar enconada lucha a estas excrecencias, y ofrece hoy una infraestructura del cómputo salvador, capaz de servir a todos bajo la autoridad de un Conductor que se ha formado y capacitado en este quehacer.

Nadie desconoce que en los sistemas operativos multiusuario, el sistema de Shell Seguro (SSH) constituye un factor de singular importancia. En él, lo normal ha sido siempre utilizar las llamadas "contraseñas de acceso" para gran seguridad. No son estas mas que claves secretas capaces de operar para su cometido básico: el de establecer contacto cifrado a un entorno de terminal de cómputo.

Sin embargo, este proceder suele contar con algunos inconvenientes que es necesario sopesar. El primero es lógico, y consiste en la natural obligatoriedad de recordar estas contraseñas si es que deseamos acceder. El segundo implica el compromiso en el cual tales contraseñas pueden caer, llevando a graves inconvenientes de seguridad, y para colmo de forma generalizada.

Para suplir tales deficiencia, nuestro Movimiento ha previsto al Shell Seguro la deseable característica de utilizar el llamado mecanismo de "par de llaves cifradas", en lugar de afectar contraseñas. 

Este cometido en beneficio de todos hube de defenderlo con toda mi autoridad. Consiste en dar uso a dos ficheros de cifrado, uno de los cuales es secreto y permanece en nuestro poder, mientras que el otro que se hace público y es utilizado para la certificación. Obrar así nos permite una comunicación enormemente más segura en las redes de datos.

Para usar este tipo de llaves asiduamente es necesario seguir - por única vez - cuatro paso, el cual instruiré de manera detallada.

Crear un par de llaves de cifrado

En primer lugar habrán de abrir una terminal en vuestro sistema local mediante Ctrl+Alt+T, y crear allí un par de llaves cifradas específicas para tal dispositivo. Esto puede hacerse mediante los siguientes comandos de organización:

cd ~/.ssh/ ;
ssh-keygen -t ed25519

El ordenador presentará un mensaje similar a este:

Generando un par de llaves púbico/privado tipo ed25519.
Ingresa el nombre de fichero para la llave (/home/fulano/.ssh/id_ed25519):

Este mensaje solicita proveer un nombre que identifique los ficheros del par de llaves.



Habrán de introducir entonces un nombre, que puede ser descriptivo para las llaves de cifrado. Háganlo en lo posible sin utilizar espacios, acentos ni eñes. Napoleón fue un hombre que solía decir que un ejemplo podía verter luz sobre todo. En esta ejemplificación, si nos llamamos Fulano y desde el equipo lugar compu1 anhelamos conectarnos  al servidor remoto llamado nodopj.org, bien podríamos utilizar el nombre de llave llave_nodopj_compu1_de_fulano.key.

Se generarán así dos ficheros que conforman las llaves criptográficas, en este caso llamados llave_nodopj_compu1_de_fulano.key llave_nodopj_compu1_de_fulani.key.pub. Ambos ficheros quedarán a resguardo en una carpeta local denominada ~/.ssh/. Ya no te será necesario volver a crear este par de llaves, al menos en este equipo local.

Revisar la llave pública

En segundo lugar debe revisarse el contenido del fichero que supone la llave pública de este equipo local compu1. Siguiendo el ejemplo que he propuesto, podrían hacerlo con el comando siguiente:

cat ~/.ssh/llave_nodopj_compu1_de_fulano.key.pub

Se mostrará en la terminal el contenido del fichero llave_nodopj_compu1_de_fulano.key.pub que compone vuestra llave pública. Debería presentar una apariencia similar a esta:
ssh-ed25519 EstaEsLaLlaveCifradaYFormaUnaUnicaLineaAlfanumericaQueDebeMandar fulano@compu1
Habrán de asegurarse de copiar este contenido, pues será necesario pegarlo más adelante en el archivo authorized_keys del equipo remoto.

Agregar la llave pública al equipo remoto

En tercer lugar agregaremos la llave pública de nuestro usuario al equipo remoto. Podremos hacerlo con:

ssh-copy-id -i ~/.ssh/llave_nodopj_compu1_de_fulano.key.pub fulano@nodopj.org

En caso de no contar con ssh.copy-id, se debe operar en forma naual. Para tal fin conectarán al equipo remoto nodopj.org por medio de una sesión SSH con contraseña. En este caso propuesto, deberían utilizar:

ssh fulano@nodopj.org

Conforme haya establecido una conexión remota introduciendo la contraseña como siempre, habrán de editar el fichero .ssh/authorized_keys remoto y pegarle el contenido de la clave pública anteriormente copiada. 

Para ello abriremos el fichero con el editor GNU Nano. Utilizaremos el comando:

nano ~/.ssh/authorized_keys

...el cual abrirá el editor.

Han de saber que dentro de este fichero, cada contenido de llave pública va colocada en una línea de texto individual. Pegamos el contenido de la llave pública en el fichero.

Simplemente debe presionarse la tecla Intro para crear una nueva línea, y en esta nueva línea pegar el contenido de la nueva  llave_nodopj_compu1_de_fulano.key.pub

Nota: Si se diese el caso que ya existan una o más llaves públicas preexistentes en este fichero, no deben eliminárselas. Sólo deben eliminarse las llaves si se las desea inutilizar. 

Una vez guardados los cambios al fichero mediante Ctrl+o, se puede salir del editor GNU Nano por medio de Ctrl+x.

No suele venir mal modificar los permisos de directorio y fichero adecuados para este servicio de Secure Shell:

chmod 700 ~/.ssh ;
chmod 600 ~/.ssh/authorized_keys

Verificar la configuración

Conforme se haya finalizado el agregado de la llave pública en el servidor remoto, será útil evaluar la efectividad de la conexión con llave. Esto lo verificaremos logueándonos al servidor remoto nodopj.org mediante un comando que especifique manualmente el fichero de la llave. En este ejemplo, desde el cliente compu1 ingresaríamos:

ssh -i .ssh/llave_nodopj_compu1_de_fulano.key fulano@nodopj.org

Deberíamos poder conectarnos al servidor usando la llave, y ahora sin necesidad de ingresar la contraseña. Sin embargo, como este comando es bastante incómodo para escribir asiduamente pues es bastante largo, podremos proceder a configurar el cliente para que establezca en enlace con la llave específica automáticamente.

Configurar el uso de la llave el el sistema local

Para usar la llave sin tener que especificarla en el comando cada vez que desees conectarte, es necesario modificar en el equipo local el archivo de configuración ~/.ssh/config de manera acorde. Para ello en el equipo compu1 debe ingresarse:

nano ~/.ssh/config

...se abrirá el editor GNU Nano con dicho fichero. Al final de todo agrega el contenido que armonice la configuración para el servidor remoto nodopj.org, por ejemplo utilizando un contenido similar a este:

# Llave para nodopj.org
Host nodopj
Port 22
User fulano
IdentityFile ~/.ssh/llave_pirulo_compu1_de_fulano.key
HostName nodopj.org

Conforme esté preparada la configuración para vuestro caso particular, podrán guardarse los cambios con Ctrl+o y abandonar el editor con Ctrl+x. Nuevamente, no es imprescindible pero suele ser muy recomendable introducir a continuación los permisos de directorio y ficheros adecuados en este dispositivo, con el fin utilizarlos asiduamente:

chmod 700 ~/.ssh/ ;
chmod 600 ~/.ssh/config

Todo esto se realizar por única vez.

Conectarse por SSH sin contraseña

Al haber configurado el cliente y el servidor como os he indicado, de ahora en más podrán conectarse al servidor nodopj.org de manera segura y sencilla. Simplemente introduzcan el comando en el equipo cliente:

ssh nodopj

...Y se establecerá el enlace seguro y cifrado con un comando simple de escribir y recordar, y además utilizando la llave en lugar de una contraseña. 


Tengan presente conservar la contraseña en un lugar seguro, pues en caso de necesidad podrá continuar utilizándola para acceder al servidor remoto.

Es adecuado notar que en ciertas ocasiones reservadas a ambientes de seguridad certificada, podrían bien desear omitir el uso de contraseñas, y sólo habilitar el empleo del par de llaves cifradas de acceso. Este proceder puede configurarse así en el equipo remoto. Normalmente no es el temperamento que suelo recomendar, pues deja el acceso a merced de la existencia efectiva del fichero de llave pública.

Nota: Si se diese el caso de contar con otros equipos locales (compu2, compu3, etc) - desde los cuales se hace necesario también acceder asiduamente al usuario del servidor remoto nodopj.org - debe repetirse el paso de creación de un par llaves para cada uno de estos equipos locales. Asimismo, deberán agregarse el contenido de las llaves públicas al archivo de configuración .ssh/authorized_keys sito en el servidor remoto.

En conclusión, el uso de un par de llaves cifradas permite encriptar los enlaces a un servidor remoto, y permiten hacerlo de manera simple una vez configurado todo.

lunes, 23 de abril de 2018

¿Cómo configurar la unión de interfases de red en Ubuntu?

¡Compañeros!

Su alegría es mi alegría, sus anhelos son mi guía, y mis realizaciones no tienen otra finalidad que la dicha de mi pueblo. No hacen más que colmar el corazón de este viejo soldado, pues me hacen sentir el más feliz de los hombres. Puedo decir con el más sano de los orgullos, que me han convertido en un verdadero vínculo de unión entre los hombres que trabajan.

He dicho muchas veces que a este país o lo arreglamos entre todos, o no lo arregla nadie. Indudablemente que de la unión sale la fuerza, pero las masas no valen por su mero número, sino por la calidad de los hombres que tienen al frente.

Esta referencia ha de ser motriz de nuestro Movimiento, y si es cierta en la política, mucho más lo será en los sistemas informáticos, pues aquella es la inspiración que estos tienen. Debemos copiar de la naturaleza, ya que su realización es Divina.

Vean señores, la unión de interfaces de red es un mecanismo empleado en el ambiente de los servidores Linux bien atresados, ya que su accionar unificado se utiliza para proveer a la Masa de un mayor ancho de banda que la posible por una única interfaz. Naturalmente esto será así si contamos con dos o más proveedores de comunicaciones. También podremos emplear la unión de interfaces para otorgar  la necesaria redundancia de enlaces que nos tornará inconmovibles en caso de fallos de cableado. Este tipo de redundancia de enlace tiene múltiples nombres en Linux, como Bonding, Teaming, o Grupos de Agregación en Enlace (LAG).

Ahora bien, para usar un mecanismo de enlace de red en los sistemas operativos basados en Ubuntu o Debian, debemos primeramente instalar el módulo de unión en el Kernel y probar si el controlador de unificación está cargado a través del comando modprobe.

Para ello abrimos una terminal con Ctrl+Alt+T e ingresamos el siguiente Comando de Organización:

sudo modprobe bonding

En las versiones más antiguas de Ubuntu/Debian debíamos instalar el paquete ifenslave con el comando

sudo apt-get install ifenslave

Para crear un vínculo de unión de las dos primeras interfaces físicas de nuestro sistema, lo primero es identificarlas. Normalmente las interfaces solían llamarse eth0 (la primera), eth1 (la segunda), etc. Sin embargo en las versiones más novedosas del kernel estas nomenclaturas podrían cambiar. Para saber qué interfaces contamos en nuestro sistema, bien podremos ingresar el consabido comando de organización:

ifconfig

Y nos devolverá un listado de las mismas con las características. Podríamos encontrar que las mismas ahora se llaman por ejemplo enp4s0 o enp5s0, o variantes. También podría suceder que se sigan llamando ethx como antaño.

En cualquier sentido, debíamos adaptar el comando para asociar nuestras interfaces de red. Para ello, ingresábamos en la terminal los siguientes comandos.

sudo ip link add bond0 type bond mode 802.3ad
sudo ip link set eth0 master bond0
sudo ip link set eth1 master bond0


Sin embargo, este método era efímero, en el sentido que su efecto desaparecía al reiniciar el sistema.

Para crear una unión permanente, debíamos editar el archivo de configuración de interfases, por ejemplo con:

sudo nano /etc/network/interfaces

Y al final del archivo le agregábamos:

# La interfaz primaria de red
auto bond0
iface bond0 inet static
address 192.168.1.150
netmask 255.255.255.0   
gateway 192.168.1.1
dns-nameservers 192.168.1.1 8.8.8.8
dns-search domain.local
slaves eth0 eth1
bond_mode 0
bond-miimon 100
bond_downdelay 200
bound_updelay 200


Naturalmente, podremos cambiar las IP de los DNS cambiando la variable dns-nameservers. También podremos cambiar la dirección IP de la red unificada cambiando la variable address. En este caso se trata de una dirección estática. Debemos especificar los nombres de las interfaces de redes esclavas en la variable slaves.

Guardábamos el archivo con Ctrl+o y salíamos del editor GNU Nano con Ctrl+x.

Configurar en las versiones actuales de Ubuntu

Para activar las interfaces a unirse, debemos reiniciar el servicio de redes, desactivar la interfaz física y activar la interfaz unida, o reiniciar el sistema de forma que el kernel active la nueva interfaz unida.

sudo systemctl restart networking.service

...o si no,

sudo ifdown eth0 && ifdown eth1 && ifup bond0

La configuración de la interfaz unida puede revisarse ingresando los siguientes comandos de organización:

ifconfig

...o bien,

ip a

Ahora ya podremos conectar los cables Ehternet/LAN de distintos servidores a nuestro sistema, y la conexión se producirá de forma unida con la nomenclatura de red bond0. Si conectamos dos routers de diferentes proveedores de internet (por ejemplo, un servicio de cablemódem y otro de ADSL), las solicitudes de conexión se realizarán a ambos proveedores, y la distribución balanceada debería proveer a nuestro servidor de una velocidad de conexión mayor.

Naturalmente, esto no implica necesaria y obligatorioamente la suma matemática de ambos anchos de banda, pero si deberíamos lograr una mayor performance de funcionamiento.

Pueden obtenerse los detalles de la interfaz unida al mostrar los contenidos del archivo de kernel que respecta a estas configuraciones. Para ello hacemos

cat /proc/net/bonding/bond0



Para investigar otros mensajes de interfaces unidas o revisar el estado de los NICs físicos unidos, debemos ingresar en nuestra terminal los siguientes Comandos de Organización:

tail -f /var/log/messages

También podremos usar la herramienta mii-tool para revisar los parámetros del controlador de interfaz de red (NIC), como se muestra a continuación.

mii-tool

Os listaré los tipos de unión de red.

    mode=0 (balance-rr)
    mode=1 (active-backup)
    mode=2 (balance-xor)
    mode=3 (broadcast)
    mode=4 (802.3ad)
    mode=5 (balance-tlb)
    mode=6 (balance-alb)

jueves, 5 de octubre de 2017

¿Cómo instalo Mumble en Ubuntu?

Al exponer sobre el trazado de planes a seguir por el gobierno del Pueblo y sobre cómo instruir al mismo, Juan Perón enseña a utilizar Mumble, el comunicador de voz full-duplex peronista para juegos.

(...)
Estimados señores:

Puedo decir sin jactancia que, habituado a la rígida disciplina del soldado, conformé mi mente a los nuevos problemas que imponía el ritmo impar de la lucha del mundo de posguerra, elaborando un armónico plan de conjunto a desarrollar durante los seis años de mi gobierno. Sus lineamientos y estructura los conocen todos; a todos se los expliqué; utilicé todos los medios para hacerlo accesible a las masas, a los despreocupados, a los prevenidos y hasta a los niños en las escuelas.
Solamente un plan de gran envergadura corresponde una gran nación como lo es la República Argentina. Los timoratos, los pobres de espíritu y los mediocres prefieren siempre los pequeños proyectos. Las naciones grandes como la nuestra, con grandes aspiraciones e ilusiones, deben tener también grandes planes. Nada grande puede hacerse proyectando pequeñeces.

El Plan de Gobierno elaborado por el Poder Ejecutivo para llevarlo a término durante el quinquenio 1947-1951 es la exposición realizable de los postulados de la Revolución Nacional que ha de colocar a nuestra patria en el lugar que le corresponde en el concierto mundial. Su finalidad primordial es esencialmente social: colocar la economía del país en forma que, dejando de ser privilegio de pocos, sea patrimonio de todos, en proporción a su capacidad y al esfuerzo que en bien de la comunidad se realice. Esa finalidad primordial, como consecuencia de la movilización de la riqueza y de la intensificación de la producción, tiende a elevar el nivel económico de los ciudadanos y a dotar a todos los argentinos de una vida más culta y mas digna.

En el orden político, el pueblo argentino debe tener el derecho de decidir su propio destino y no que se lo decidan tres o cuatro señores por el solo hecho de haber nacido con varios apellidos. Los asuntos argentinos deben ser decididos siempre por la mayoría, porque así debe ser una democracia real y efectiva. La mayoría surgida del pueblo es la que mejor decide los asuntos de gobierno.


Mi interés siempre ha sido el de ir capacitando el encumbramiento de la masa por los cuadros dirigentes, diremos, porque nosotros hemos hablado de masas hasta que nos hicimos cargo del gobierno; después hemos hablado de pueblo, porque tenemos la aspiración de transformar esa masa "mutum ed unans pecus", como decían los romanos, en una organización con una conciencia social y una personalidad social.

Hoy nosotros ya no hablamos de la masa como al principio, estamos hablando ahora de Pueblo, porque las masas es muy difícil conducirlas y los pueblos son muy fáciles de conducir cuando uno lo hace de buena fe; de manera que, para esa ejecución, de nada vale todo el proceso racionalista de un método que nos conduce a la situación de la apreciación, a la resolución, y al plan de acción, si no tenemos preparado el instrumento para realizarla. El instrumento para realizarla es el pueblo organizado y encuadrado perfectamente, y la herramienta que puede comunicarnos es Mumble.


Mumble se trata de un software libre que sigue el modelo cliente-servidor, a fin de lograr conversaciones0 de voz de alta calidad y baja latencia. Es capaz de operar también en modo full-dúplex (varias comunicación al unísono).

Además de poderse hablar al Pueblo con él, está orientado originalmente al uso en juegos multijugador, y entre ellos aquellos pensados en 3D, ofrece audio posicional y cancelación de eco. Funciona bien con micrófonos convencionales, pero está pensado idealmente para aquellos que confluyen con un par de auriculares (populares para juegos de disparos en primera persona, simuladores de vuelo, etc). Os contaré que en mi caso lo uso con un micrófono de sobremesa Genius MIC-01A (bajo costo y excelente desempeño), y en caso de usar equipos portátiles uno incorporado en auriculares HS400 de Genius (calidad de voz normal).

Para ello abrimos una consola Terminal con Ctrl+Alt+T e ingresamos los siguientes Comandos de Organización:

sudo add-apt-repository ppa:mumble/release
sudo apt-get update


Para instalar el cliente en nuestro equipo (el programa que nos sirve para conectarnos a un servidor, debemos ingresar el comando:

sudo apt-get install mumble

Para ejecutar el programa debemos ir a Aplicaciones / Internet / Mumble

La primera vez que el programa se ejecute, intentará crear una Firma Digital. Esto se recomienda ampliamente, pero también se pueden hacer logueos a servidores mediante "usuario" y "contraseña" (siempre que el servidor así lo permita). El uso de una Firma Digital Pública es más seguro, y se administra a través de las facilidades que Ubuntu tiene para tales menesteres (específicamente, el programa "Contraseñas y Claves" al que podremos acceder desde Aplicaciones / Accesorios / Contraseñas y  Claves.

Acto seguido podremos usar el asistente de configuración de sonido, o hacer la configuración de registro de audio a mano. Dependiendo de nuestro hardware de audio, podríamos encontrarnos con opciones simples o más avanzadas (sobre todo si nuestro adaptador de audio cuenta con preamplificación de micrófono, "mic boost").

Como sistema de Audio en Ubuntu conviene usar Pulseaudio, y especificarle el dispositivo de entrada (en el caso de usar micrófono, suele ser Dispositivo Interno Analógico, pero ello puede cambiar si tenemos un micrófono USB o si disponemos de una webcam con micrófono).

A continuación podremos escoger transmisión por Actividad Vocal o por una acción (por ejemplo, configurar una Combinación de teclas para transmitir, o la pulsación de un botón de joystick específico).

En el caso de definir transmisión por Actividad Vocal, habremos de configurar si queremos el retorno por Amplitud o a través de la relación Señal/Ruido. Normalmente querremos por amplitud. Luego debemos hablar suavemente (casi susurrando) por el micrófono y evaluar la barra de amplitud resultante.

Debemos mover la barra "Habla por encima de" para demarcar cual es el nivel de retorno a partir del cual debe considerarse el habla. Y luego subir la barra "Silencio por debajo de" para delimitar cual es el "piso" de ruido que damos antes de que se "abra" el micrófono. Este debe estar dado por el nivel de ruido de la habitación cuando no emitimos palabra alguna.

Conforme hayamos especificado el audio, debemos presionar el botón Aplicar.


Ya podremos conectarnos a algún servidor que deseemos.


Y para configurar un servidor de Mumble podremos usar:

sudo apt-get install mumble-server
sudo dpkg-reconfigure mumble-server


Si no queremos lidiar con las condicionantes de montar un servidor local (lo cual recomiendo) bien podremos hacer de uno público o gratuito a través de diferentes webs que nos den host de Mumble. Por ejemplo, puedo recomendarles la web https://mumble.upmania.eu

sábado, 9 de noviembre de 2013

¿Cómo administro un equipo remotamente con la Terminal?

En una entrevista durante el año 1973 prestada en el Honorable Congreso de la Nación, Juan Perón se expresa sobre las características de una buena Conducción y sobre cómo administrar desde la Terminal un equipo servidor remoto Linux.

¡Distinguidos señores!

Muchas veces me han preguntado cómo es que alguien puede fungir tres veces de Presidente en una nación como la Argentina, y yo respondo que es fácil, simplemente porque soy un Conductor.

Como político no soy más que un aficionado, lo que verdaderamente soy es un Conductor. Mientras otros intentan vadear el río, yo navego sobre él, y esto es así porque durante toda mi vida me he formado para Conducir a los hombres en un Movimiento que no hace otra cosa que interpretar sus propios deseos, y hacer por reflejo lo que el Pueblo quiere.
La Conducción es algo que se aprende, pero más que eso se comprende. Y para lograr comprensión de algo, es necesario que hacerlo. La Conducción se basa en la realización de una tarea: hacer que otros lo hagan y que le den a usted el cŕedito.

Ahora bien, ¿cómo puedo llevar a cabo el Arte de la Conducción de forma remota en una consola? Pues a través del comando ssh. Este conocido comando me permite iniciar una sesión remota encriptada a otros equipos GNU con Linux en mi área local e incluso remotamente.

De no tenerlo en mi sistema, lo instalaré abriendo una terminal con Ctrl+Alt+T e ingresando el siguiente Comando de Organización:

sudo apt-get install openssh-client openssh-server

Para conectarme, simplemente he de ingresar:

ssh usuario@host

Por ejemplo, si estoy en una red LAN, podría conectarme a otro equipo ingresando:

ssh peron@computadora3.local

Tanto en redes locales como a través de internet, podría utilizar una dirección IP:

ssh peron@192.168.48

Indudablemente el sistema SSH es cifrado, por lo cual nos solicitará si deseamos etablecer conexión cifrada. Tras responder yes, el equipo remoto nos autorizará y podremos controlarlo por medio de la consola.

Ahora bien, hay paquetes de software libre que constituyen una ayudan irremplazable en este las tareas de Conducción de nuestro sistema local y de otros remotos. Son aquellos que nos dan estadísticas del funcionamiento del equipo, y nos permiten gracias a ello, tener una visión completa de lo que está aconteciendo. La ventaja de estas herramientas es que no necesitan un entorno gráfico para funcionar con eficacia, y al consumir muy pocos recursos, pueden utilizarse remotamente en una Terminal.


Para instalar todos estos paquetes podremos recurrir - dentro de una sesión de consola Terminal en el equipo que deseamos administrar - al siguiente Comando de Organización:

sudo apt-get install htop dstat bmon sysstat iftop ifstat iptraf mc iotop glances

Pues bien, una vez finalizada la tarea de descarga e instalación, nos encontraremos con una panoplia de herramientas.

htop es una de mis aplicaciones peronistas favoritas, y como las mejores herramientas, es una de las que primero instalo en todos mis equipos.
Nos lista los procesos cargados en la memoria, así como la carga de cada uno de los núcleos de nuestra Unidad Central de Proceso. Nos listará también la carga de la memoria RAM y de la partición de intercambio, junto con un listado general de la cantidad de usuarios adosados a nuestro sistema, el tiempo de encendido, y el promedio de carga. Por otro lado, podremos matar procesos zombies o "colgados" mediante F9, y una serie de opciones interesantes. Saldremos del mismo con F10.

bmon es una herramienta pensada para monitorear el ancho de banda de todos nuestros dispositivos de conexión, ya sea cableados (eth) como inalámbricos (wlan), seriales y paralelos (si los tuviésemos), y el loop general (lo). Básicamente, debemos escoger la interfaz de la lista, y podremos solicitar un velocigrama (obviamente, en modo texto) presionando la tecla "g". Allí se nos graficará los datos recibidos ("TX") y los emitidos ("TX"). Si no aparece, puede que requiera un mayor número de columnas verticales (28 estará bien). Si usamos la tecla "d" podremos ver los detalles de conexión. Para salir presionamos la tecla "q".
ifstat nos muestra un listado simplificado de los kilobitios de entrada y salida de todos los dispositivos. Si uso ifstat -z lista solamente las interfaces utilizadas. Podremos cerrar el programa con Ctrl+c.


dstat nos lista dinámicamente las estadísticas del sistema: su ancho de banda, transferencia de discos, uso de CPU, uso de memoria, y demás. Es un programa notablemente más completo que ifstat. Nos permitirá ver todos los recursos del sistema instantáneamente, incluso podremos monitorear (por medio de plugin incluido y el uso de ACPI) el porcentaje de batería, de velocidad de ventilador, frecuencia de CPU, etc. Es muy útil pues muestra rápidamente las unidades de trabajo, lo cual evita confusiones.
iftop en tanto, escucha el tráfico de red de una interfaz determinada (normalmente eth0), y muestra una tabla del ancho de banda ocupado por cada solicitud. También nos indicará la distribución entre datos recibidos ("RX") y emitidos ("TX"). Este programa, al interceptar y mostrar las IP, ha de usarse con permisos de administrador, de lo contrario no podrá funcionar:

sudo iftop
iptraf es otro programa ideal para la consola, que es un poco más complejo y por tanto, su funcionamiento no es tan ágil como los anteriores en conexiones remotas, pero sin duda es altamente recomendable disponer de él para una administración y monitoreo completo de todos nuestros dispositivos de red.
Lo ejecutamos con:


sudo iptraf

nmon es otra de las aplicaciones "todo en uno" cuya intención es convertirse en la navaja suiza de la administración de un sistema sin requerir permisos de administrador. En vez de seguir la filosofía UNIX de contar con herramientas individuales, todas se presentan integradas en una pantalla bajo demanda. La tecla h nos mostrará la ayuda, c presentarña la gráfica del uso de los núcleos de nuestra unidad central de proceso. m nos traerá el uso detallado de memoria, n de la red de trabajo, mientras que t replicará el comando top, informando sobre los procesos que consuman mayor cantidad de memoria. Con + y - aumentaremos o disminuiremos el período de refresco de la información. Tendremos algunas opciones más que lo convierten en una aplicación de monitoreo muy útil para dejar encendida todo el tiempo en un servidor.
iotop
IOTop es una herramienta capaz de reportar el uso y velocidad de acceso al disco (tanto en entrada y salida) por cada proceso, y se recomienda para servidores de disco con gran cantidad de usuarios activos a la vez. Es ideal para controlar el acceso las unidades de medios, y con la opción -u detalla el acceso de cada usuario. Se ejecuta con:

sudo iotop

glances
Se trata de una herramienta de monitoreo que se concentra en poder mostrar la mayor cantidad de información en una terminal de 80x24 (serial), pèro se acomodará con información adicional en caso de tener un tamaño mayor. Una vez activado el programa, con la tecla h desplegaremos la ayuda que nos permitirá conocer las amplias funciones de monitorización. Así mismo, podremos abandonarlo con q.

Midnight Commander
Lo bueno no se cambia, y si se puede, se mejora. No caben dudas que el Norton Commander era un excelente programa para un entorno privativo y opresivo, pero llevado al universo multitarea y multiusuario libre, nada puede superar al Midnight Commander de Miguel de Icaza. Se trata de un gestor de archivos y de tareas a dos paneles, compatible con SSH, FTP y varios protocolos de comunicación. Nos permite transferir ficheros y directorios fácilmente a través de SSH, y hacer de forma sencilla todas las tareas generales de mover ficheros. o ejecutamos con el comando:

mc

Esta herramienta sigue la clásica presentación del viejo norton commander. Cada panel tiene cuatro modos principales: Listado (por defecto), Vista Rápida, Información y Árbol.

Con Tab nos movemos entre los paneles, y nos desplazaremos en el árbol de directorios y archivos con las flechas del cursor y Enter. Podremos personalizar el panel Derecho y el Izquierdo para que presenten la misma información o se dispongan allí diferentes rutas.

Una vez que tengamos dos rutas, podremos mover o copiar (F5) archivos entre uno y el otro panel. Con F3 podremos ver un archivo, y mediante F4 modificarlo. Con F5 podremos copiarlo y con F6 moverlo. Con F7 podremos crear un directorio, con el peligroso F8 borrar archivo o directorios. Mediante F9 podremos desplegar la barra de menúes. Salimos del programa con F10.

Lo bueno es que podremos trabajar con archivos simples o en grupos de ellos, pudiendo seleccionar todos los archivos con "*", y sumar o restar ficheros a dicho grupo con "+" y "-".

Sus opciones son muchas, por lo cual los neófitos podrán encontrar una interesante guía de práctica en castellano para el Midnight Commander aquí.


 

miércoles, 9 de noviembre de 2011

Empathy no se loguea a MSN ¿Cómo lo arreglo?

Al regresar brevemente al país, Juan Perón se estableció en la mítica residencia de Gaspar Campos, en Vicente López, entablando una febril serie de encuentros políticos. Reunidos con representantes de la Juventud Peronista, el general les enseña a arreglar Empathy para que se conecte a Messenger.

(...)
Ahonda mi corazón este sentimiento de felicidad por encontrarme nuevamente en la Patria. Yo nada pido para mí, sino que doy todo por el Pueblo, y si vine es para hacer las cosas bien y no hacer el papel de los tontos. Nadie mas que yo quiere que la Argentina sea el paraíso que anhelamos, pero para ello todos tendremos que poner un poco de nuestro esfuerzo para salir adelante. Las mejoras han de plantearse día a día, y con la seguridad de hacer las cosas en beneficio de todos.
- Bueno general, ¡no se nos caliente! Nomás metimos unos caños por ahí.

- Está bien y encomio lo actuado, pero ahora soy un león herbívoro y tengo que arreglar este despelote. Y uno de ellos es los que tiene Empathy.
Sabemos ya que Empathy es el cliente de mensajería Nac&Pop, capaz de traer a nuestros amigos y contactos a la cálida cercanía que nos propugna el Justicialismo, y si bien ustedes están más cerca de tomar whisky que de comer caramelos, os enseñaré como solucionar un par de problemitas que el mismo puede llegar a tener con el protocolo Windows Live Messenger.

Vean señores, en Ubuntu 10.10 - la versión que utilizo - noté que el Empathy 2.32.1 dejó de funcionar satisfactoriamente, pues si bien se conectaba al resto de los servicios, no podía hacerse carne con Messenger, indicando "error de servidor". Tal menester no se solucionó al instalar la versión más reciente. Todo se agrava pues para todo peronista es necesaria una cuenta de Messenger: desde adentro será donde habremos de corroer aquel sistema de opresión que tanto castiga a nuestros Pueblos...

Es por ello que decidí poner todo mi empeño de Conductor en resolver este sencillo trance. Sucede que en la Argentina de la ignominia, tras actualizar ciertas librerías Python, el módulo telepathy-butterfly (que se encarga de establecer y gestionar los enlaces con diferentes servicios de mensajería) dejó de ser efectivo. Por fortuna, en el Software Libre tanto como en el Justicialismo donde existe una necesidad nace un derecho - y por nuestra acción - una solución convertida en Realidad Efectiva. En este caso la solución la proporciona el módulo telepathy-haze, que reemplaza al anterior, instaurado por la dictadura de Lanusse.

Para ello hemos de tomar el problema en nuestras manos, ir a Aplicaciones / Accesorios / Terminal e ingresar en la consola que aparezca estos 3 Comandos de Organización:

sudo killall telepathy-butterfly
sudo dpkg --purge telepathy-butterfly
sudo apt-get install telepathy-haze

Una vez instalado todo, podremos reiniciar nuestro sistema para que se cargue el nuevo Empathy.

Ahora habremos descubierto un nuevo proceder de conexión, que en verdad es similar al anterior pero permite algunas mejoras, como loguearnos a través del método HTTP (además del consabido servidor Messenger a través del puerto 1863). Os recomiendo por tanto eliminar y volver a crear el vínculo a vuestra(s) cuenta(s) de MSN. Para ello vamos a nuestra Miniaplicación de Indicadores de Sesión (que tendrá nuestro nombre personal, en mi caso "Peron"), y en el menú que se despliega elegirán "Cuentas de Chat".

Luego quitamos cualquier cuenta MSN que existiese y la volvemos a crear, ingresando nuestro usuario completo (con el @hotmail.com o el que corresponda) y la contraseña...

Una vez realizado esto, el sistema debería poderse loguear sin inconvenientes, y recibir contactos de Messenger, Facebook, o ICQ, lo cual no hará más que extender la Tercera Posición por todos los rincones del globo.