Munin

Objetivo El paquete munin permite monitorizar diversos parámetros de uno o varios sistemas, por ejemplo, el estado y carga de los servicios, temperaturas, espacio en disco, etc. munin funciona según una arquitectura cliente-servidor, en que un sistema servidor recoge y organiza datos recibidos de varios sistemas clientes. Para monitorizar sólo un servidor, debe instalarse y configurarse los paquetes cliente y servidor en el mismo sistema. Instalación Cliente Del lado del cliente, la instalación consiste en instalar el paquete cliente y algunos extras: Servidor Del lado del servidor es necesaria la instalación del paquete munin: Configuración Cliente La configuración del sistema cliente consiste en añadir la dirección del servidor, a la lista de direcciones que pueden establecer conexión con el cliente. La dirección debe añadirse en el formato de expressão regular. En nuestro caso, como el cliente y el servidor es lo mismo, es suficiente añadir la dirección 127.0.0.1. Esta configuración debe efectuarse en el archivo /etc/munin/munin-node.conf: El nombre del sistema cliente también puede ser configurado en este fichero: El servicio cliente debe ser reiniciado: Servidor En el servidor deben añadirse a la configuración las direcciones de los clientes a contactar, lo que puede hacerse en el archivo /etc/munin/munin.conf: En caso de que existan más clientes, sólo se requiere añadir los nombres respectivos y sus direcciones en bloques semejantes a los del listado. Deverá também ser configurada a integração do munin no servidor apache2. O munin fornece um ficheiro de configuração do apache que pode ser utilizado com algumas alterações. O ficheiro deverá ser colocado em /etc/apache2/conf.d/munin, o que pode ser feito recorrendo a um link simbólico:: También debe definirse un rango de direcciones IP, a partir de las cuales se pueda acceder a la interfaz web munin: la opción Allow from 192.168.1.0/24 sólo permite el acceso a partir de la red interna. En caso de que se pretenda acceder desde cualquier dirección, se debe especificar Allow from All. Esta configuración se almacena en el archivo /etc/apache2/conf.d/munin: Seguridad Debido a que munin ofrece mucha información acerca de las características del sistema, su nivel de acceso debe ser restringido. El servidor httpd apache2 puede proteger un directorio, dando acceso sólo a los usuarios devidamente autenticados y autorizados. Como se pretende el máximo de seguridad, la autenticación se realizará mediante el método de autenticación “Digest” del apache2, que transmite los datos de forma segura. La configuración se realiza en dos etapas. En primer lugar, debe crearse el archivo de autorizaciones para el recurso Munin en el servidor apache2, con los usuarios y sus respectivas contraseñas: La opción -c crea un archivo de nuevo. Para añadir otro usuario, esta opción debe ser omitida. En segundo lugar, modificamos la configuración de apache2 para exigir un usuario y contraseña válidos, para acceder al directorio /munin. Esto puede hacerse en el archivo /etc/apache2/conf.d/munin: El módulo de autenticación auth_digest debe estar activo: Reiniciar el servidor apache2: Verificación Verificar el funcionamiento de munin, Debe abrir un navegador de Internet e indicar http://192.168.1.100/munin en la barra de direcciones:

Servidor NTP

Network Time Protocol (NTP) es un protocolo de Internet para sincronizar los relojes de los sistemas informáticos a través del enrutamiento de paquetes en redes con latencia variable. NTP utiliza UDP como su capa de transporte, usando el puerto 123. Está diseñado para resistir los efectos de la latencia variable.

MikroTik

RouterOS es un sistema operativo destinado a dotar de las funciones necesarias a las placas RouterBoard para convertirlas en un router, aunque también funciona en equipos x86. En este nuevo tutorial os enseñaré como configurar vuestro router/pc RouterOS para dar acceso a Internet a los equipos de vuestra red interna de casa ó de la oficina. Podemos convertir un viejo PC/Portátil en un poderoso router con las más avanzadas opciones de los grandes routers. El «pero» de RouterOS es que es de pago, aunque podéis bajar la ISO y probarla durante 24 horas para ver todo su potencial. Y sin mas preámbulos, veamos nuestro ejemplo! ¿QUÉ ES RouterOS? RouterOS es un sistema operativo basado en GNU/Linux que implementa funcionalidades que los NSP e ISP tienden a implementar, como por ejemplo BGP, IPv6, OSPF o MPLS. RouterOS es un sistema versátil, con un gran soporte por parte de MikroTik, tanto a través de un foro como de su Sitio Wiki, proporcionando una amplia variedad de ejemplos de configuración. La venta de RouterOS, combinado con su línea de productos de hardware conocida como MikroTik RouterBOARD, está enfocada a los pequeños y medianos proveedores de acceso a Internet, que normalmente proporcionan acceso de banda ancha en áreas remotas. Recordad que cualquier duda o problema que tengáis, podeis escribir un comentario en la parte inferior del tutorial. 1.- ELEMENTOS UTILIZADOS EN ESTE TUTORIAL 2.- ESQUEMA DE RED El esquema de la red que queremos emular es el que se ve en la imagen siguiente. Como podemos ver, tenemos un router (MikroTik con Sistema Operativo RouterOS), un switch y un equipo cliente. El esquema puede ser incluso mas sencillo, eliminando el swicth y conectando directamente los equipos clientes al router MikroTik. El objetivo que queremos conseguir es tener Internet en los equipos de la LAN (PC0,PC1…PCn) configurando correctamente el router MikroTik con RouterOS: Esquema de red 3.- CONFIGURACIÓN INTERFACES DE RED El router deberá tener mínimo 2 interfaces de red, en este ejemplo ether1 y ether2 serán las dos interfaces de red de las que dispone el router. Ether1 será la tarjeta que conecte con Internet y ether2 la tarjeta que conecta con nuestra LAN. Para trabajar de forma más cómoda y sencilla, cambiaremos el nombre de las interfaces de red para no liarnos. Para ello, desde el terminal ejecutaremos los siguientes comandos: Si queremos hacerlo desde la interfaz gráfica con Winbox (puedes descargarlo de la web oficial de MikroTik) , desde el menú Interfaces -> Doble click encima de la interfaz y le cambiamos el nombre: Cambiar el nombre de las interfaces La interfaz ether1=INET obtiene su IP de forma dinámica de nuestro proveedor de internet por lo que debemos configurarla como cliente dhcp. La interfaz interna ether2=LAN tendrá una IP fija, en este caso 192.168.232.100/24. Para asignar las IPs a las interfaces y habilitarlas debemos ejecutar en consola estos 2 comandos: Para ver desde la consola las direcciones IPs que tienen las interfaces de red, hay que ejecutar el comando: En la siguiente imagen se pueden ver las 2 IPs, la dinámica tiene una D al principio: Listado de IPs y tarjetas de red Desde la administración gráfica con Winbox podemos configurar las direcciones IPs de las 2 interfaces. Para la interfaz ether1=INET debemos configurarla como cliente DHCP desde el menú IP -> DHCP Server, y haciendo click en el símbolo de + añadiremos la configuración para la interfaz ether1=INET como se ve en la siguiente imagen: Configuración DHCP Client para ether1=INET Para configurar la interfaz ether2=LAN con IP fija, debemos hacerlo desde el menú IP -> Address List. Haciendo click en + añadiremos la interfaz, la red a la que pertenece y su dirección IP: Configurar dirección IP fija ether2=LAN 4.- CONFIGURACIÓN DEL SERVIDOR DHCP PARA LA LAN El (los) equipos clientes tienen que tener configurada su dirección IP, máscara de red, puerta de enlace y servidores de DNS para poder navegar de forma correcta. Para evitar tener que configurar manualmente cada uno de los equipos, habilitaremos en el servidor MikroTik con RouterOS el servicio de Servidor de DHCP para que este proceso sea automático y de forma totalmente transparente para el usuario. Primero tenemos que crear el Pool de direcciones IPs. En este ejemplo empezaremos a entregar IPs desde la IP 192.168.232.150 hasta la IP 192.168.232.200. Crearemos un Pool con nombre DHCP con el siguiente comando y el siguiente rangos de IPs: Para crear/ver los Pool de direcciones desde el entorno gráfico, debemos ir desde el menú IP -> Pool: Crear Pool DHCP desde entorno gráfico Ahora tenemos que crear el servidor DHCP. Para ello asignaremos el nuevo servidor DHCP a la interfaz de red de la LAN, le asignaremos el Pool de direcciones IPs creadas anteriormente, le configuraremos un lease-time de 3 días, será de tipo autoritativo y estará activado: Desde la interfaz gráfica con Winbox podremos crear el servidor DHCP desde el menú IP->DHCP Server y añadiremos el servidor haciendo click en el símbolo +: Crear Servidor DHCP desde Winbox Con los pasos anteriores, el servidor DHCP ya estaría correctamente configurado, pero falta especificarle algunos parámetros necesarios a la hora de enviarle la información a los clientes. Se necesita configurar la puerta de enlace (Gateway) que usarán los clientes y los servidores de DNS. Para ello ejecutaremos el comando siguiente, el cual asigna como Gateway la IP de la interfaz de la LAN y usaremos 2 servidores DNS de Google: Desde el entorno gráficos, estos parámetros de configuración necesarios para que los clientes puedan navegar correctamente, está accesible desde IP -> DHCP Server -> Networks: Parámetros de DHCP necesarios Con estos pasos ya hemos terminado de configurar la parte del servidor de DHCP. Gracias a este servidor, los clientes solamente tendrán que conectarse a la red y de forma automática sus equipos se auto-configurarán de forma transparente para el usuario. 5.- CONFIGURACIÓN DEL NAT (Network Address Translate) Para compartir Internet, lo que haremos será usar NAT (Network Address Translate) para enmascarar las direcciones IPs de los equipos de la LAN con la IP Pública de la interfaz INET del router MikroTik. Esto es necesario porque en Internet no se puede navegar con un direccionamiento de IP Privada como por ejemplo 192.168.232.101. Es necesario crear una regla en el firewall la cual diga que: todo lo que venga de la LAN con destino 0.0.0.0 se envie por la interfaz INET y se enmascare con la IP Pública de Internet, en este ejemplo 80.80.80.2: Desde el entorno gráfico deberemos configurarlo en 2 pestañas desde IP -> Firewall -> General y en IP -> Firewall -> Action donde le diremos que haga «masquerade«: Nueva

Diagrama de la Red

El diagrama de una red casera Este manual tiene como objetivo integrar el servidor debian en un red casera típica y cerrada. El acceso a Internet se hace a través de un router/modem ADSL, con un firewall o cortafuegos. La puerta de enlace o «gateway» Un gateway es un dispositivo que posibilita el acceso a Internet a partir de una red interna o intranet. Este dispositivo tiene también otras funciones como filtrar o impedir accesos externos a la red interna. El gateway se convierte así en una barrera de seguridad (firewall) entre la red interna e internet. El router/firewall necesita una dirección IP estática para que sea fácil acceder a él desde todos los dispositivos de la red interna. En este ejemplo, el nombre router/firewall será gateway.home.lan y la dirección IP será 192.168.1.1. El servidor Puesto que el servidor Debian está integrado en la red interna, está también protegido de accesos indiscriminados y no deseados que provengan de internet. El servidor, igual que el router, necesita una dirección IP estática, para que sea fácil acceder a él desde los otros dispositivos de la red. El servidor, entre otras funciones, se puede configurar para asignar de forma automática toda la configuración de la tarjeta de red a los clientes que lo soliciten. El cliente recibirá de forma automática la dirección IP, la máscara de red, la IP de la puerta de enlace o gateway, las IP de servidores DNS, etcétera. En este ejemplo, el nombre del servidor es server.home.lan y la dirección IP es 192.168.1.100. Los clientes Los clientes son todos los dispositivos conectados a la red interna. Su configuración se realizará mediante varios servicios instalados y configurados en el servidor. El acceso al exterior se hace exclusivamente a través del gateway, lo que implica un entorno seguro, controlable y protegido de posibles accesos externos mal intencionados.

UFW

Uncomplicated Firewall (ufw) es un cortafuegos diseñado para ser de fácil uso desarrollado por Debian. Utiliza la línea de comandos para configurar las iptables usando un pequeño número de comandos simples.

Certificados SSL auto-firmados

Seguridad de la capa de transporte (en inglés: Transport Layer Security o TLS) y su antecesor Secure Sockets Layer (SSL; en español capa de puertos seguros) son protocolos criptográficos, que proporcionan comunicaciones seguras por una red, comúnmente Internet.

Cache web: Squid

Objetivo El paquete squid es un proxy Internet con una cache integrada. La ventaja de una cache internet es que se guardan localmente los datos pedidos previamente para que, en una utilización futura, sean servidos localmente, evitando accesos repetidos a servidores distantes. Instalación Configuración La configuración de squid se almacena en el archivo /etc/squid/squid.conf. squid acepta, por omisión, conexiones en el puerto 3128. Sin embargo, esto puede modificarse (el puerto 8080 también es muy común como puerto para el servicio de caché Internet): Por seguridad, squid sólo responderá a pedidos originados en la red local o en el propio servidor. Esta restricción es conseguida definiendo una lista de control de acceso oACL (Access Control List) (acl fimaz.net src 192.168.1.0/24) y autorizando el acceso sólo a los sistemas incluidos en esa lista (http_access allow fimaz.net): Definición de la lista de direcciones de la red interna en la sección acl: Definición de permisos de acceso a la sección http_access: El tamaño total de la cache de squid puede ser afinado hasta un valor adecuado, como por ejemplo, 2048Mb: La identificación del servidor proxy también puede ser definida: De manera opcional, también se puede configurar el límite máximo de los objetos que se guarden en el cache, al definir el parámetro maximum_object_size: Reiniciar el servicio squid: Configuración de clientes Es posible configurar el navegador Firefox para utilizar un proxy, accediendo al menú de Herramientas –> Opciones… –> Avanzadas –> Red –> Definiciones…. Aquí se puede activar la opción Configuración manual do proxy e incluir la dirección del servidor proxy (192.168.1.100) y el puerto (3128). Es posible definir excepciones para el propio (127.0.0.1) y para la red local (192.168.1.0/24): En el caso de los sistemas Linux, es posible declarar la variable “http_proxy” con la URL del proxy a utilizar: Pero, en la próxima sesión, la variable tendrá que se declarada nuevamente. Un método más duradero es declarar la variable automáticamente en cada login. Esto se obtiene al incluir la declaración en el archivo ~/.profile do utilizador: La declaración puede incluso efectuarse de modo automático para todos los usuarios, si se incluye en el archivo de sistema /etc/profiles: El mismo principio es aplicable para la variable ftp_proxy que define el proxy que se utilizará en las conexiones FTP.

Virtual Host

El alojamiento compartido o alojamiento virtual, en inglés Virtual hosting, es una de las modalidades más utilizadas por las empresas dedicadas al negocio del alojamiento web. Dependiendo de los recursos disponibles, permite tener una cantidad variable de dominios y sitios web en una misma máquina.1​

Es, generalmente, la forma más económica de alojamiento web y ha supuesto una pequeña revolución ya que sus reducidos costes (generalmente menos de 10€ al mes) han hecho posible que muchos profesionales hayan podido llevar su actividad también al mundo en línea.

Servidor HTTP

Apache2 Instalación Verificación En un navegador web, debemos escribir la dirección del servidor (http://192.168.1.100): SSL Objetivo La adición del soporte ssl al servidor web permite establecer conexiones seguras y encriptadas entre el servidor y el cliente. De este modo, es posible cambiar contraseñas, con la certeza de que éstas no podrán ser interceptadas por terceros. De esta forma, es posible usar conexiones seguras como base para la implementación de otros servicios como, por ejemplo, un servidor webmail. Configuración Durante la instalación de apache2 se crea una configuración para acceso seguro (https). Por tanto, esta configuración debe ser modificada para incluir los certificados auto-firmados generados previamente. Esta configuración se almacena en el archivo /etc/apache2/sites-available/default-ssl: Después, debe activarse el módulo ssl: Y el nuevo site también debe activarse: Finalmente, debe reiniciar el servicio: Verificación En un navegador de internet, inserte la dirección del servidor (https://192.168.1.100). Después aparecerá el aviso del certificado auto-firmado: PHP Objetivo Expandir la funcionalidad del servidor de internet, activando el soporte php. Instalación Reiniciar el servidor apache2: Verificación Para verificar la instalación del soporte php, basta con crear una página de Internet que muestre las características de la instalación php. En este caso, se creará una página en /var/www/html/phpinfo.php: Con el navegador de Internet y escribiendo la dirección http://192.168.1.100/phpinfo.php, se podrá acceder a la página: De la misma manera, también puede ser verificado el acceso seguro a través del protocolo https utilizando la dirección https://192.168.1.100/phpinfo.php. Una vez verificado el funcionamiento, deberá apagarse la página de pruebas, dado que las informaciones que ésta contiene pueden comprometer la seguridad del servidor: MySQL Objetivo Expandir la funcionalidad del servidor de Internet, activando el soportemySQL del php. Instalación Reiniciar el servidor apache: Verificación Para verificar la instalación del soportemySQL del php, basta con crear una página de Internet que muestre las características de la instalación php. En este caso, se creará una página en /var/www/phpinfo.php: En seguida puede buscarse la página en un navegador de internet, escribiendo la dirección http://192.168.1.100/phpinfo.php. La información sobre el controlador mysql debe aparecer: El controlador mysqli también debe aparecer disponible: Una vez realizada la prueba de funcionamiento, se debe apagar esta página de prueba, porque la información que contiene puede comprometer la seguridad del servidor: Userdir Objetivo Ofrecerle a cada usuario la posibilidad de crear páginas de Internet personales. Configuración Una vez que la instalación del servidor http concluye, la configuración del soporte para crear páginas personales se consigue con la activación del módulo userdir del servidor apache2: Activar soporte PHP La ejecución de scripts php está desactivada en las páginas personales. Para activarla, se necesita comentar la línea php_admin_value engine Off en el archivo /etc/apache2/mods-available/php.conf: En la línea 7 agregar AllowOverride All Luego, reiniciar el servidor apache2: De esta manera, queda activado el soporte para páginas personales en el servidor http. Utilización Las páginas personales son accesibles a través de una dirección del género “http://servidor/~usuario”. Cuando el servidor recibe un pedido de este género, intenta encontrar el contenido en un directorio específico llamado public_html en la carpeta home del usuario. Por tanto, para que cada usuario pueda crear sus propias páginas, debe primero, crear un directorio llamado “public_html” en su carpeta home, donde ubicará sus contenidos. Una vez creado el directorio, el usuario puede comenzar a crear contenidos. Verificación Utilizando un navegador, escriba una url que apunte hacia las páginas personales de un usuario: MySQL: MariaDB Objetivo Instalar el servidor de base de datos MySQL MariaDB, con una configuración mínima. Instalación Configuración Terminada la instalación, se debe ejecutar el comando mysql_secure_installation, que hace una serie de verificaciones e cambios en la configuración para garantizar la seguridad del servidor mysql. Verificación A partir de este momento, es posible acceder al monitor de MySQL: ProFTPd de ProFTPd (Puerto 21) Archivo de configuración de ProFTPd Solo cambiar lo siguiente Reiniciae el ProFTPd Probar la conexión con el FileZilla MySQL – Debian 10 (mejoras) Manejador de Base de Datos Puerto 3306 actualizar sources.list   Verificar lista de actualizaciones Instalar actualizaciones Reiniciar el sistema Instalar gnupg Ir al directorio /tmp Descargar el archivo Debian Instalar el paquete Instalar el servidor de default de MySQL Configurar los accesos de los usuarios PHPMyAdmin Interfaz Web para MySQL Puerto 80, 443 y 3306 Crear un directorio temporal /tmp y acceder a el. descargar el paquete de PHPMyAdmin Instalar unzip Descomprimir el archivo descargado Mover el archivo a /usr/share/phpmyadmin Cambiar los permisos Crear los accesos para PHPMyAdmin Crear phpmyadmin.conf activar el archivo creado Crear un directorio Cambiar los permisos del directorio Reiniciar el apache2

Servidor DHCP

El protocolo de configuración dinámica de host (en inglés: Dynamic Host Configuration Protocol, también conocido por sus siglas de DHCP) es un protocolo de red de tipo cliente/servidor mediante el cual un servidor DHCP asigna dinámicamente una dirección IP y otros parámetros de configuración de red a cada dispositivo en una red para que puedan comunicarse con otras redes IP. Este servidor posee una lista de direcciones IP dinámicas y las va asignando a los clientes conforme estas van quedando libres, sabiendo en todo momento quién ha estado en posesión de esa IP, cuánto tiempo la ha tenido y a quién se la ha asignado después. Así los clientes de una red IP pueden conseguir sus parámetros de configuración automáticamente. Este protocolo por primera vez se publicó en octubre de 1993 (RFC 1531) y su implementación actual para IPv4 está en la RFC 2131 (marzo de 1997); para IPv6 está descrita en RFC 3315 (julio de 2003).