Guía de Configuración avanzada de Servidor Linux basado en Ubuntu Server 12.04 LTS



Documentos relacionados
Implementando NAT64 / DNS64

INSTALACIÓN DE UBUNTU SERVER 12.4 EN MÁQUINA VIRTUAL

Tipos de conexiones de red en software de virtualizacio n: VirtualBox y VMware

Configuracion Protcolo SNMP

Figura 1. Red de ejemplo para DHCP Server

Luis Eduardo Peralta Molina Sistemas Operativos Instructor: José Doñe Como crear un Servidor DHCP en ClearOS

Servidor DNS sencillo en Linux con dnsmasq

INSTALACIÓN DE UBUNTU SERVER 12.4 EN MÁQUINA VIRTUAL

Servicio de resolución de nombres (DNS)

Una vez instalada podremos seleccionar los paquetes que deseamos instalar de una lista.

virtual appliance guía de inicio rápido

UNIDAD DIDACTICA 11 CONFIGURACIÓN DE LA RED EN GNU/LINUX

Administración de la red

virtual appliance guía de inicio rápido

CONFIGURACIÓN DEL SERVIDOR

UNIDAD DIDACTICA 13 INICIAR SESIÓN EN LINUX DE FORMA REMOTA

UNIDAD DIDACTICA 15 CONVERTIR UN EQUIPO LINUX SERVER EN CONTROLADOR DE DOMINIO

labs Linux para Administradores de Elastix Elastix Certification ELASTIX CERTIFICATION

INSTALACIÓN DEL SISTEMA BASE

4.2- Instalación y Configuración de un Servidor DNS Dnsmasq en Ubuntu sin DHCP

Profesor Santiago Roberto Zunino. Página 1

Instalación, creación y configuración del servicio FTP

Servicio de configuración de red (DHCP)

Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez. Matrícula:

Oprima el enlace "Hosts" hacia la izquierda de la página inicial de Nagios para ver lo que se ha configurado por defecto.

5.2.- Configuración de un Servidor DHCP en Windows 2003 Server

INSTITUTO TECNOLOGICO DE LAS AMERICAS (ITLA) Nombre: Brayhan E. Acosta Hiciano. Matricula: Materia: Sistema Operativo III

Software de Comunicaciones. Práctica 7 - Secure Shell. SSH

SERVICIO DNS EN CENTOS 6.3 Publicado por Beatriz Vergara

Módulos: Módulo 1. Hardware & Arquitectura de sistemas - 20 Horas

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

Servidor de correo en Linux/ubuntu

DHCP. Dynamic Host Configuration Protocol. Protocolo de Configuración Dinámica de Host. Administración de Redes de Computadores

CAPÍTULO HTML Y DHCP DE H0/H2-ECOM100 CONFIGURACIÓN. En este capítulo...

Agente local Aranda GNU/Linux. [Manual Instalación] Todos los derechos reservados Aranda Software [1]

Bloque IV: El nivel de red. Tema 10: Enrutamiento IP básico

Ficheros de configuración de Nagios (ejemplo con nrpe y snmp)

ADMINISTRACION DE REDES PARA INICIADOS

CONFIGURACIÓN DEL ADAPTADOR DE RED EN LINUX

CÓMO CONFIGURAR DHCP EN SUSE LINUX

INSTITUTO TECNOLÓGICO DE COLIMA LIC. EN INFORMÁTICA

INSTALACIÓN DE SERVIDOR DE CORREO ELECTRÓNICO

Instituto Tecnológico de Las Américas

Configuración del encaminamiento en Linux

Instituto Tecnológico de Las América. Materia Sistemas operativos III. Temas. Facilitador José Doñe. Sustentante Robín Bienvenido Disla Ramirez

UNIVERSIDAD DE ALCALÁ - DEPARTAMENTO DE AUTOMÁTICA Área de Ingeniería Telemática LABORATORIO DE COMUNICACIÓN DE DATOS (CURSO 2011/2012)

En caso de que el cliente nunca haya obtenido una concesión de licencia de un servidor DHCP:

* El servidor NOC:!! * Su enrutador:!!! N.254 * El switch dorsal:!!

Gestión de Registros Parte I: rsyslog

Guía de Instalación Rápida

Configuración del firewall en Linux con IPtables

RealPort. Escenario: Conector de fuente de poder con seguro incluido Fuente: Elaboración Wamtech (año 2013)

Vielka Mari Utate Tineo Instituto Tecnológico de las Américas ITLA. Profesor José Doñé. Sistema Operativo 3 PRACTICA NO. 16, SERVIDOR

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO Facultad de Ingeniería Redes de Datos Práctica 6 Capa2 Modelo OSI

Actividad de Packet Tracer 7.5.2: Reto al WRT300N inalámbrico

Guia sobre como instalar un servidor DNS en ubuntu

Actualizaciones de GateDefender Performa desde un servidor web local

Direcciones IP IMPLANTACIÓN DE SISTEMAS OPERATIVOS 1º ASIR. En redes IPv4.

Universidad Luterana Salvadoreña Cátedra: Redes I Docente: Ing. Manuel de Jesús Flores Evaluación: Defensa Final Fecha de entrega: 30/05/2015 Linux

SERVICIOS. UF 1- Servidor DHCP

DHCP. Simplificando la gestión de direcciones IP. El protocolo DHCP permite manejar rangos de direcciones IP de forma dinámica y automatizada.

HOW TO SOBRE REMOTE ACCESS VPN MODE EN LINUX

INTRANET M2M. Manual de Instalación y Configuración: Conector Intranet M2M

INSTITUTO TECNOLÓGICO DE LAS AMÉRICA ITLA

Gestión de Registros Parte I: rsyslog

Ejercicios con SNMP, parte I ======================

TUTORIAL - DHCP. RAFAEL BRITO HERNÁNDEZ ( ) Sistema III-Grupo 1 Profesor: José Doñe

MANUAL DE CONFIGURACION DE BIND 9

GUIA DE LABORATORIO # Nombre de la Practica: Antivirus Laboratorio de Redes Tiempo Estimado: 2 Horas y 30 Minutos

Laboratorio de PCs. Práctica 3: Montaje de una red de Área local

7º Unidad Didáctica. Protocolos TELNET y SSH. Eduard Lara

Instalación y configuración básica de Cacti en Debian para monitorizar un host

WINDOWS : TERMINAL SERVER

PRÁCTICA 1-2: INSTALACIÓN Y ADMINISTRACIÓN DE UN SERVIDOR DNS (PRIMARIO Y ZONA DE RESOLUCIÓN DIRECTA E INVERSA EN WINDOWS 2008 SERVER)

Configuracion Escritorio Remoto Windows 2003

Tekla Structures Guía Rápida de Licencias. Versión del producto 21.1 agosto Tekla Corporation

Introducción a las redes TCP/IP en Linux

Redirección de puertos

PRACTICA NO.30: HOW TO INSTALL AND CONFIGURE SNMP

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

WINDOWS : SERVIDOR DHCP

Servidor DHCP. Existen tres métodos de asignación en el protocolo DHCP:

Paso 1 - Servidor de correo en Ubuntu: Instalar Apache 2

REQUIERE ATENDER DESCONFIGURACIÓN DEL C.P.U.

PRACTICA 7 SAMBA SAMBA

Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez. Matrícula:

Redes I Soluciones de la Práctica 1: /etc/network/interfaces, tcpdump y wireshark

Servidor FTP en Ubuntu Juan Antonio Fañas

Práctica de laboratorio 9.6.2: Práctica de laboratorio de reto de configuración de EIGRP

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD ADOLFO LÓPEZ MATEOS - ZACATENCO

How to. Servidor Proxy Squid

INSTALACIÓN FIREWALL IPCOP

Infraestructura Tecnológica. Sesión 8: Configurar y administrar almacenamiento virtual

Guía de Instalación. Instalación rápida de la Consola Maestra de VEO y el Agente Remoto para los Usuarios

Configuración del Servidor de DHCP

Configuración de la red

Práctica 1 Configuración de un agente de gestión

MANUAL CONFIGURACION SIPTAR Y ADAPTADOR VOIP

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

Transcripción:

Jorge Armando Medina, Sistemas LinuxRed. Copyright 2014 Jorge Armando Medina Se otorga permiso para copiar, distribuir y/o modificar éste documento bajo los términos de la Licencia de Documentación Libre GNU, Versión 1.2 o cualquier otra posterior publicada por la Fundación de Software Libre; sin secciones invariantes, sin textos en portada y contraportada. Una copia de la licencia se incluye en la sección titulada Licencia de Documentación Libre GNU [GnuCopyright.htm]. 2015/01/04 Historial de revisiones Revisión 0.1 03 Oct 2014 jm - jmedina@sistemaslinuxred.com.mx Versión inicial. Revisión 0.20 20 Dec 2014 jm - jmedina@sistemaslinuxred.com.mx Pequeñas correcciónes y notas para mejoras futuras. Resumen Este articulo es el cuarto dedicado a la instalación y configuración de servidores de red basado en Ubuntu Server 12.04, en esta ocasión dedicaremos tiempo a realizar las tareas de configuración avanzada post instalación, al realizar estas tareas dejaremos un ambiente funcional y personalizado para que sea integrarlo a cualquier ambiente con requisitos de tipo empresarial. Tabla de contenidos Introducción 2 Objetivos. 2 Audiencia 2 Definición de Requisitos. 3 Configurar los parámetros de red TCP/IP del sistema.. 3 Como desactivar el soporte del protocolo IPv6 4 Como configurar el nombre del host. 4 Como configurar de forma estática el nombre de la interfaz de red 5 Como configurar una dirección estática a la interfaz de red principal. 6 Como configurar la resolución de nombres local 6 Como configurar el gateway o puerta de enlace predeterminado. 7 Como configurar los servidores y sufijo de resolución DNS 7 Como validar las configuraciones de los parámetros de red. 8 Actualizar el sistema desde Internet usando las herramientas APT 9 Instalar el conjunto de paquetes base para la administración de servidores 10 Configurar el servicio NTP para mantener sincronizado el reloj del sistema. 11 1

Configurar el servidor syslog con archivos locales y servidor remoto. 12 Configurar y asegurar el servidor de acceso remoto SSH.. 13 Configurar el agente SNMP para monitorizar el uso de recursos de sistema. 15 Configurar las herramientas sysstat para análisis de rendimiento del sistema 17 Configurar la herramienta vnstat para generar estadísticas de uso de ancho de banda. 18 Configurar el servicio SMTP con Postfix en modo smarthost para enviar notificaciones de sistema. 18 Configurar la herramienta LogWatch para el envío de reportes de análisis de logs de sistema.. 21 Configurar la herramienta apticron para el envío de notificaciones de actualizaciones de paquetes.. 23 Conclusiones. 25 Recursos adicionales.. 25 Introducción Este articulo es el cuarto dedicado a la instalación y configuración de servidores de red basado en Ubuntu Server 12.04, en esta ocasión dedicaremos tiempo a realizar las tareas de configuración avanzada post instalación, al realizar estas tareas dejaremos un ambiente funcional y personalizado para que sea integrarlo a cualquier ambiente con requisitos de tipo empresarial. Objetivos Las tareas de configuración avanzada del servidor que vamos a realizar son las siguientes: Configurar los parámetros de red TCP/IP del sistema. Actualizar el sistema desde Internet usando las herramientas APT. Instalar el conjunto de paquetes base para la administración de servidores. Configurar el servicio NTP para mantener sincronizado el reloj del sistema. Configurar el servidor syslog con archivos locales y servidor remoto. Configurar y asegurar el servidor de acceso remoto SSH. Configurar el agente SNMP para monitorizar el uso de recursos de sistema. Configurar las herramientas sysstat para análisis de rendimiento del sistema. Configurar la herramienta vnstat para generar estadísticas de uso de ancho de banda. Configurar el servicio SMTP con Postfix en modo smarthost para enviar notificaciones de sistema. Configurar la herramienta apticron para el envío de notificaciones de actualizaciones de paquetes Configurar la herramienta LogWatch para el envío de reportes de análisis de logs de sistema Al final los lectores aprenderán a personalizar no solo el sistema si no también algunas de las herramientas que facilitan la administración del mismo. Audiencia Este documento esta enfocado a ayudar a administradores de sistemas, desarrolladores y otros interesados en como realizar las configuraciones avanzadas en un servidor de red con Ubuntu Server 12.04. 2

Definición de Requisitos Todas las tareas que se describen en esta guía las realizaremos la línea de comandos usando el shell bash y editaremos archivos de texto usando el editor vim(1). Recomiendo encarecidamente aprender el editor de textos vim usando el tutorial integrado, para esto ejecute el programa vimtutor(1) y dedique unos 30 minutos para aprender a ser un maestro de vim. $ vimtutor es Nota Si no se siente cómodo con el editor de textos vim, puede usar uno más simple como nano o incluso mcedit. Si no esta muy familiarizado con el uso de la línea de comandos recomendamos lea la pagina del manual de bash(1) o que lea cualquier guia de fundamentos Unix o Linux. Para aquellos que desean adquirir mejores habilidades en los sistemas GNU/Linux recomendamos leer el documento tituloado Guía de Administración de Sistemas GNU/Linux, lo puede encontrar en la página de TLDP-ES. Vea las referencias al final del documento. En los temas siguientes introducimos configuraciones relacionadas a la conectividad de red TCP/IP y servicios de red, por lo que se requiere que se tengan conocimientos de los fundamentos de redes de computadoras basadas en los protocolos TCP/IP. Configurar los parámetros de red TCP/IP del sistema En esta sección mostrare como configurar los parámetros de red en el sistema, algunos de estos parámetros ya fueron establecidos desde el proceso de instalación y otros no, por lo que aquí mostrare como mostrarlos y cambiarlos. Importante Los cambios aquí mostrados solo aplican al protocolo IPv4, el soporte para el protocolo IPv6 es desactivado ya que está demostrado que al hacerlo obtenemos mejor rendimiento. En esta sección asumimos que el equipo a configurar se va a conectar a una red TCP/IP basada en IPv4, el servidor tiene un solo adaptador de red que se conecta a un switch. El servidor también tendrá conectividad a Internet a través de un router en la red LAN. Las actividades que realizaremos serán: Desactivar el soporte IPv6 del sistema. Configurar el nombre del host. Configurar de forma estática el nombre de la interfaz de red. Configurar una dirección estática a la interfaz de red principal. Configurar la resolución de nombres local. Configurar el gateway o puerta de enlace predeterminado. 3

Configurar los servidores y sufijo de resolución DNS. Validar las configuraciones de los parámetros de red. Para poder realizar correctamente estas actividades es recomendable documentar la información relevante para aplicar los cambios, para esto requerimos responder las siguientes preguntas: El sistema va a incluir soporte IPv6: No. Cual es el nombre de host asignado al equipo: neti01. Cual es la dirección MAC del adaptador de red: 52.54:00:e2:ab:8f. Cual es la dirección IP que va a asociar al equipo: 192.168.122.189. Cual es la mascara de subred: 255.255.255.0. Cual es la dirección IP del router o gateway predeterminado: 192.168.122.1. Cual es el nombre dominio DNS o sufijo DNS: example.com. Cual es la dirección IP del servidor DNS primario: 192.168.122.1. Cual es la dirección IP del servidor DNS secundario: 192.168.122.2. Ahora que tenemos bien en claro los parámetros a configurar empezamos a relizar las actividades mencionadas. Como desactivar el soporte del protocolo IPv6 En Ubuntu Server 12.04 el soporte del protocolo IPv6 está incorporado en el kernel por lo que para desactivarlo tenemos que pasar el parámetro ipv6.disable=1 a la línea que carga el kernel al arranque del sistema. Por lo tanto tendremos que modificar las entradas del gestor de arranque, en este caso GRUB2. Para GRUB2 edite el archivo /etc/default/grub y agregue el parametro ipv6.disable=1 a la línea del kernel, por default esta así: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" Cambiela a: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1" Ahora actualice la configuración de grub: $ sudo update-grub2 Se recomienda reiniciar el sistema para que el cambio tome efecto: $ sudo reboot Para validar que el soporte IPv6 este desactivado en el kernel, use ifconfig y vea si en las interfaces de red aparece las direcciones IPv6. Como configurar el nombre del host Ahora que hemos desactivado IPv6 es recomendable es configurar correctamente el nombre del equipo o host, en Ubuntu Server el nombre debe ser una sola palabra y se almacena en el archivo /etc/hostname. 4

El comando hostname(1) es usado para mostrar el nombre del host y también para cambiarlo. Para mostrar el nombre del host, usamos el siguiente comando: $ hostname neti01 Para cambiar el nombre del host usamos: $ sudo hostname nuevonombre Para cambiar el nombre del equipo de forma permanente podemos usar el siguiente comando: $ sudo su -c 'echo "neti01" > /etc/hostname' También puede editar el archivo hostname directamente: $ sudo vim /etc/hostname Como configurar de forma estática el nombre de la interfaz de red En Ubuntu Server se usa udev para la configuración de los dispositivos, cuando el sistema arranca, udev detecta un adaptador de red Ethernet en el sistema y en base a la dirección MAC le asocia un nombre a la interfaz. En la mayoría de los casos esto lo hace todo en automático y siempre tendremos la primer interfaz de red con el nombre eth0. La regla de udev que asigna el nombre de la interfaz de red en base a la dirección MAC del adaptador Ethernet se almacena en el archivo /etc/udev/rules.d/70-persistent-net.rules Veamos el contenido de dicho archivo en un servidor recien instalado con un solo adaptador de red: # cat /etc/udev/rules.d/70-persistent-net.rules # This file maintains persistent names for network interfaces. # See udev(7) for syntax. # # Entries are automatically added by the 75-persistent-net-generator.rules # file; however you are also free to add your own entries. Como podemos ver en este servidor no tiene reglas en especifico, solo comentarios, esto es normal ya que el servidor solo tiene una interfaz, y por lo menos en Ubuntu Server 12.04 siempre asocia el nombre eth0 a la primer interfaz de red. Si queremos establecer una configuración explicita para el adaptador de red con dirección MAC 52.54:00:e2:ab:8f con el nombre de interfaz de red eth0, editamos el archivo y al final agregamos la regla siguiente: $ sudo vim /etc/udev/rules.d/70-persistent-net.rules # PCI device SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52.54:00:e2:ab ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" 5

Nota Guía de Configuración avanzada Auxiliese de los comandos ifconfig(8), ethtool(8) ó mii-tool(8) para identificar cual tarjeta fisica tiene enlace. Como configurar una dirección estática a la interfaz de red principal Para establecer de forma persistente los parámetros de red como dirección IP, mascara de subred, puerta de enlace predeterminada, sufijo y servidores DNS debemos de configurar dichos parámetros en el archivo /etc/network/interfaces. Cuando el sistema arranca, el script de inicio /etc/init.d/networking inicializa las interfaces de red configuradas en el archivo networking(5). Para que una interfaz de red sea inicializada de forma automática al inicio del sistema es necesario que exista una línea con el parámetro auto seguido del nombre de la interfaz de red. En el siguiente ejemplo podemos ver la configuración para la interfaz principal eth0 con direccionamiento estático: $ sudo vim /etc/network/interfaces # The primary network interface auto eth0 iface iface eth0 inet static address 192.168.221.189 netmask 255.255.255.0 Para aplicar los cambios sin tener que reiniciar el sistema usamos las herramientas ifdown(8) e ifup(8), por ejemplo: $ sudo ifdown --force eth0 && sudo ifup eth0 Enseguida veremos como validar que esta configuración este correctamente aplicada. Como configurar la resolución de nombres local Una vez que hemos establecido y configurado el nombre del host y la dirección IP de la interfaz de red principal, es recomendable configurar la asociación de dirección IP a nombre, es decir, configurar la resolución de nombres local, esto se hace agregando o modificando dos entradas en el archivo /etc/hosts, por ejemplo: $ sudo vim /etc/hosts Agregar las siguientes dos líneas: 127.0.0.1 localhost.localdomain localhost 192.168.1.198 neti01.example.com neti01 Habrá notado que en este archivo, al final se pueden ver lineas que corresponden a direcciones IPv6, ya que hemos desactivado el soporte de IPv6 podemos eliminar o comentar dichas líneas, por ejemplo: # The following lines are desirable for IPv6 capable hosts #::1 ip6-localhost ip6-loopback #fe00::0 ip6-localnet #ff00::0 ip6-mcastprefix 6

#ff02::1 ip6-allnodes #ff02::2 ip6-allrouters Guía de Configuración avanzada Enseguida veremos como validar que esta configuración este correctamente aplicada. Como configurar el gateway o puerta de enlace predeterminado Para definir la dirección del gateway o puerta de enlace predeterminado de forma persistente, usamos el parámetro gateway en la definición de la interfaz de red principal, en este caso, en eth0. Editamos el archivo el archivo de configuración de las interfaces de red: $ sudo vim /etc/network/interfaces # The primary network interface auto eth0 iface eth0 inet static address 192.168.221.189 netmask 255.255.255.0 gateway 192.168.221.1 Para aplicar los cambios sin tener que reiniciar el sistema usamos las herramientas ifdown(8) e ifup(8), por ejemplo: $ sudo ifdown --force eth0 && sudo ifup eth0 Enseguida veremos como validar que esta configuración este correctamente aplicada. Como configurar los servidores y sufijo de resolución DNS Para definir el sufijo y servidores DNS de forma persistente, usamos los parámetros dns-search y dns-nameservers en la definición de la interfaz de red principal, en este caso, en eth0. Editamos el archivo el archivo de configuración de las interfaces de red: $ sudo vim /etc/network/interfaces # The primary network interface auto eth0 iface eth0 inet static address 192.168.221.189 netmask 255.255.255.0 gateway 192.168.221.1 dns-search example.com dns-nameservers 192.168.122.1 192.168.122.2 Para aplicar los cambios sin tener que reiniciar el sistema usamos las herramientas ifdown(8) e ifup(8), por ejemplo: $ sudo ifdown --force eth0 && sudo ifup eth0 Enseguida veremos como validar que esta configuración este correctamente aplicada. 7

Como validar las configuraciones de los parámetros de red Para validar que la interfaz de red este arriba y con los parámetros correctos use el comando ifconfig(8), por ejemplo: $ ifconfig eth0 Es importante notar, que cuando se configura una interfaz de red con una dirección IP esta crea una ruta a la subred a la que corresponde el equipo, esto lo podemos validar con el comando route(8), por ejemplo: $ route -n Tabla de rutas IP del núcleo Destino Pasarela Genmask Indic Métric Ref Uso Interfaz 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 Como se puede ver, la ruta incluye la dirección de la subred, la mascara de subred y la interfaz de red por la que llega a esa red. Para validar que tienen conectividad de red puede usar el comando ping(8) para ver si puede alcanzar a otros equipos en la red, si no conoce la dirección IP de algún otro host, haga ping a la dirección del gateway predeterminado, por ejemplo: $ sudo ping 192.168.122.1 Para validar que el nombre de host y la resolución de nombres local está correctamente configurado, usamos el comando hostname de la siguiente manera: Mostramos el nombre corto: $ hostname Mostramos el nombre largo o FQDN: $ hostname -f Mostramos la dirección IP asociada al nombre de host propio: $ hostname -i Para validar que el gateway predeterminado fue correctamente configurado usamos el comando route(8), por ejemplo: $ route -n Para validar que tiene conectividad a otras redes a través del default gateway puede usar los comandos ping(8) y traceroute(1). Para validar que el sufijo y servidores DNS fueron correctamente configurados mostramos el contenido del archivo /etc/resolv.conf, por ejemplo: $ cat /etc/resolv.conf search example.com nameserver 192.168.122.1 nameserver 192.168.122.2 Para validar que puede resolver nombres DNS use el comando los comandos host(1) o dig(1), por ejemplo: $ dig yahoo.com ; <<>> DiG 9.9.5-3-Ubuntu <<>> yahoo.com ;; global options: +cmd 8

;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11129 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4000 ;; QUESTION SECTION: ;yahoo.com. IN A ;; ANSWER SECTION: yahoo.com. 1084 IN A 206.190.36.45 yahoo.com. 1084 IN A 98.139.183.24 yahoo.com. 1084 IN A 98.138.253.109 ;; Query time: 11 msec ;; SERVER: 192.168.122.1#53(192.168.122.1) ;; WHEN: Sat Dec 20 12:30:44 CST 2014 ;; MSG SIZE rcvd: 86 En las consultas tanto a nombres de hosts internos como en Internet, es importante poner atención en las primers línas, especialmente en el valor de status, también puede ver información sobre las respuestas, quien responde, los tiempos de respuesta y tamaños de los mensajes recibidos. Actualizar el sistema desde Internet usando las herramientas APT Una vez que la conexión de red local y hacía Internet han sido establecidas deberá configurar el sistema de administración de paquetes, en especial los depósitos de paquetes para APT. Edite el archivo /etc/apt/sources.list para definir los depósitos de paquetes recomendados, a continuación se muestran las configuraciones especificas para Ubuntu Server 12.04: $ sudo vim /etc/apt/sources.list # # Precise # deb http://mx.archive.ubuntu.com/ubuntu/ precise main restricted deb-src http://mx.archive.ubuntu.com/ubuntu/ precise main restricted deb http://mx.archive.ubuntu.com/ubuntu/ precise-updates main restricted deb-src http://mx.archive.ubuntu.com/ubuntu/ precise-updates main restricted deb http://mx.archive.ubuntu.com/ubuntu/ precise universe deb-src http://mx.archive.ubuntu.com/ubuntu/ precise universe deb http://mx.archive.ubuntu.com/ubuntu/ precise-updates universe deb-src http://mx.archive.ubuntu.com/ubuntu/ precise-updates universe deb http://mx.archive.ubuntu.com/ubuntu/ precise multiverse deb-src http://mx.archive.ubuntu.com/ubuntu/ precise multiverse deb http://mx.archive.ubuntu.com/ubuntu/ precise-updates multiverse deb-src http://mx.archive.ubuntu.com/ubuntu/ precise-updates multiverse deb http://security.ubuntu.com/ubuntu precise-security main restricted 9

deb-src http://security.ubuntu.com/ubuntu precise-security main restricted deb http://security.ubuntu.com/ubuntu precise-security universe deb-src http://security.ubuntu.com/ubuntu precise-security universe deb http://security.ubuntu.com/ubuntu precise-security multiverse deb-src http://security.ubuntu.com/ubuntu precise-security multiverse Nota Opcionalmente puede habilitar otros depósitos de paquetes como los backports, partner y extras. En caso de que salga a Internet a través de un proxy HTTP configure APT de la siguiente manera: # vim /etc/apt/apt.conf.d/88apt-proxy // HTTP Proxy: Acquire::http::Proxy "http://192.168.122.1:3128"; Actualizamos lista de paquetes: $ sudo apt-get update ó $ sudo aptitude update Realizamos actualización segura: $ sudo apt-get upgrade ó $ sudo aptitude safe-upgrade ó $ sudo aptitude full-upgrade En Ubuntu Server, los paquetes asociados a algún servicio de red reinician dicho servicio o proceso después de actualizarlo, por lo tanto recomendamos que sea cuidadoso con no reiniciar servicios que ya están en operación y también validar el correcto funcionamiento de dichos servicios después de actualizar. Es posible que si apt encontró que hay actualizaciones de los paquetes del kernel tenga que reiniciar el servidor para poder arrancar con la última versión del kernel que instaló. Instalar el conjunto de paquetes base para la administración de servidores Recomiendo tener instalado el siguiente conjunto de paquetes de herramientas de sistema, trabajo en consola, herramientas de administración, de resolución de problemas y otros: $ sudo apt-get install bash-completion man-db screen vim \ bzip2 less unzip wget rsync cron logrotate mlocate multitail \ openssh-server ntp ntpdate snmpd snmp htop iftop dnsutils vnstat \ ethtool tcpdump tshark smbclient smbfs sysstat rsyslog En las siguientes secciones veremos como configurar algunos de los servicios recién instalados. 10

Configurar el servicio NTP para mantener sincronizado el reloj del sistema Es sumamente importante tener el reloj del sistema correctamente configurado y mantenerlo actualizado. Para mantener actualizado el reloj del sistema se recomienda sincronizar el reloj local contra una fuente externa, para esto existe el protocolo NTP (Network TIme Protocol). Para mantener sincronizado el reloj del sistema contra una fuente externa usando el protocolo NTP debemos instalar un cliente NTP e indicarle contra que servidores actualizarse. Editamos el archivo de configuración de ntpd: $ sudo vim /etc/ntp.conf Cambie los servidores: server ntp.ubuntu.com Por: server 0.mx.pool.ntp.org server 1.mx.pool.ntp.org server 2.mx.pool.ntp.org server 3.mx.pool.ntp.org Si tiene un servidor preferido utilice: server fwproxy.example.com prefer server 0.mx.pool.ntp.org server 1.mx.pool.ntp.org server 2.mx.pool.ntp.org server 3.mx.pool.ntp.org También se recomienda desactivar el soporte ipv6 en servidor NTP, comente las siguientes líneas: #restrict -6 default kod notrap nomodify nopeer noquery #restrict ::1 Para aplicar los cambios debemos reiniciar el servicio NTP: $ sudo /etc/init.d/ntp restart Espere un par de minutos y verifique la sincronización con los servidores peer usando programa ntpq(1): # ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== -192.33.214.47 129.194.21.195 2 u 53 1024 377 194.645-12.014 9.967 +ntp1.as34288.ne 85.158.25.72 2 u 332 1024 377 143.233 10.202 7.732 -ns.goline.ch 193.204.114.105 2 u 526 1024 377 166.430 17.105 12.898 +arthur.testserv 162.23.41.56 2 u 674 1024 377 214.064 0.399 7.638 *193.239.220.29.MRS. 1 u 497 1024 377 145.252 5.178 5.650 Si queremos ver las direcciones IP de los servidores con los que nos sincronizamos pase el parámetro -n, por ejemplo: 11

# ntpq -pn remote refid st t when poll reach delay offset jitter ============================================================================== -192.33.214.47 129.194.21.195 2 u 60 1024 377 194.645-12.014 9.967 +81.94.123.17 85.158.25.72 2 u 338 1024 377 143.233 10.202 7.732-185.54.81.3 193.204.114.105 2 u 531 1024 377 166.430 17.105 12.898 +77.245.18.26 162.23.41.56 2 u 677 1024 377 214.064 0.399 7.638 *193.239.220.29.MRS. 1 u 500 1024 377 145.252 5.178 5.650 En México existen dos entidades que tienen servidores NTP públicos, estas son la UNAM y el CENAM, sus servidores son: UNAM astronomía: ntp.astrosmo.unam.mx. CENAM: cronos.cenam.mx. Estos dos servidores en lo personal he encontrado que no son muy confiables, por lo tanto recomiendo usar otros servidores más confiables como los del pool de Suiza, los cuales puede configurar así: server 0.ch.pool.ntp.org iburst server 1.ch.pool.ntp.org iburst server 2.ch.pool.ntp.org iburst server 3.ch.pool.ntp.org iburst server swisstime.ee.ethz.ch iburst TODO: Documentar cuales puertos de red requieren estar abiertos en caso de que haya algún firewall intermediario entre el cliente y el servidor NTP. Configurar el servidor syslog con archivos locales y servidor remoto En Ubuntu Server se instala el programa rsyslog como el servidor syslog predefinido, rsyslog tiene compatibilidad con el viejo y clásico demonio sysklogd y klogd. El demonio rsyslog usa los valores definidos en el archivo /etc/default/rsyslog para tomar los parámetros de ejecución. De ser necesario modifique los parámetros de ejecución del servidor rsyslog: $ sudo vim /etc/default/rsyslog La configuración de las reglas de logs locales se definen en el archivo /etc/rsyslog.d/50-default.conf. Hacemos una copia de respaldo del archivo de configuración: $ sudo cp /etc/rsyslog.d/50-default.conf{,.orig} Edite el archivo de configuración del servidor rsyslog: $ sudo vim /etc/rsyslog.d/50-default.conf La configuración predefinida ha cambiado a la configuración que se usaba hace años por default en los demonios syslog de las distribuciones basadas en Debian. 12

En lo personal prefiero modificar las reglas de configuración para logs en archivos locales realizando los siguientes cambios: Habilitamos la regla para registrar los mensajes de cron por separado, descomentamos la siguiente línea: cron.* /var/log/cron.log Comentamos reglas de mensajes de facilities mail y news por prioridad: #mail.info #mail.warn #mail.err #news.crit #news.err #news.notice -/var/log/mail.info -/var/log/mail.warn /var/log/mail.err /var/log/news/news.crit /var/log/news/news.err -/var/log/news/news.notice Excluimos los mensajes de los facility cron y mail de la regla del archivo /var/log/syslog: *.*;auth,authpriv.none;\ mail.none;cron.none -/var/log/syslog Excluimos mensajes de los facility cron, daemon, mail y news de la regla del archivo /var/log/messages: *.=info;*.=notice;*.=warn;\ auth,authpriv.none;\ cron,daemon.none;\ mail,news.none -/var/log/messages Para envíar una copia de cada mensaje generado localmente a un servidor syslog remoto debemos agregar una regla donde el selector sea *.* y el destino un servidor syslog que usa el protocol UDP agregamos la siguiente regla al final del archivo de configuración: *.* @syslog.example.com Para envíar los mensajes a un servidor syslog que usa el protocolo TCP la línea debería de ser así: *.* @@syslog.example.com Para aplicar los cambios, reiniciamos el servidor rsyslog: $ sudo /etc/init.d/rsyslog restart TODO: Documentar cuales puertos de red requieren estar abiertos en caso de que haya algún firewall intermediario entre el cliente y el servidor SYSLOG. Configurar y asegurar el servidor de acceso remoto SSH Para conectarse al servidor SSH desde una estación de trabajo GNU/Linux sin proveer una contraseña, es decir, usando autenticación por clave pública debe primero crear un par de llaves RSA o DSA: miusuario@midesk:~$ ssh-keygen -t dsa \ 13

-C "Llave SSHv2 DSA de root@mail.example.com (Aug 2010)" \ -f.ssh/id-root-at-mail.example.com.dsa Copie la llave al servidor remoto: miusuario@midesk:~$ ssh-copy-id -i -f.ssh/id-root-at-mail.example.com.dsa root@192.168.1.1 Conectese desde su desktop al servidor xen: miusuario@midesk:~$ ssh root@192.168.1.10 Editamos el archivo principal del servidor sshd: $ sudo vim /etc/ssh/sshd_config Solo permitir accesso SSH usando la vesión 2: Protocol 2 Cambie el puerto predeterminado del servidor SSH: Port 8591 Importante Asegurese que el puerto elejido no haga conflicto con algún otro puerto en uso, puede usar "netstat -plutn" para verificar que puertos están en uso. Configure los tipos de llaves aceptadadas para la autenticación: Solo hacer uso de llaves DSA: Comente la línea que carga la versión RSA: #DEF#HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key - Solo permitir acceder como root mediante autenticación por llaves. PermitRootLogin without-password Limitar el acceso a ciertos usuarios: AllowUsers administrador root Importante Si habililto PermitRootLogin con without-password también debe lista la cuenta root. Desactivar el soporte TCP Forwarding y X11 Forwarding en el servidor: AllowTcpForwarding no X11Forwarding no Configurar tiempos para mantener conexiones vía keepalive: ClientAliveInterval 60 14

ClientAliveCountMax 60 Guía de Configuración avanzada Re iniciar servicio sshd: $ sudo /etc/init.d/ssh restart TODO: Documentar cuales puertos de red requieren estar abiertos en caso de que haya algún firewall intermediario entre el cliente y el servidor SSH. Configurar el agente SNMP para monitorizar el uso de recursos de sistema El protocolo SNMP es el estándar de la industria para la administración de dispositivos de red, principalmente se utiliza para monitorizar el uso de recursos de equipos de red. En un paso anterior instalamos el programa snmpd el cual es el servidor o agente SNMP, este agente tiene acceso a los recursos del sistema, normalmente entrega la información a un equipo externo. En los entornos empresariales se tiene un equipo de monitorización que utiliza el protocolo SNMP para tomar muestreos de la utilización de los recursos en los equipos de una red. En este caso configuraremos el agente SNMP para que algún otro programa realice el muestreo y recolecte información del uso de recursos, la configuración usa el protocolo SNMPv2, y permite la conexión al mismo host local vía la interfaz loopback y a un equipo remoto que llamaremos nms (Network Management System) usando la comunidad public en read only. Primero respaldamos configuración original: $ sudo mv /etc/snmp/snmpd.conf{,.orig} Creamos nuevo archivo de configuración para el servidor SNMPD: $ sudo vim /etc/snmp/snmpd.conf # # Archivo de configuración para Agente SNMPD # # # Definimos Listas de Control de Acceso (ACLs) # com2sec local 127.0.0.1/32 public com2sec nms 192.168.122.14/32 public # # Mapeo de Grupos a ACLs # Local group GrupoRO v1 local group GrupoRO v2c local group GrupoRO usm local # CACTI 15

group GrupoRO v1 cacti group GrupoRO v2c cacti group GrupoRO usm cacti # Ramas MIB que se permiten ver # name incl/excl subtree mask(optional) view all included.1 80 # Establece permisos de lectura y escritura # group context sec.model sec.level prefix read wri access GrupoRO "" any noauth exact all non # Habilitar monitoreo de particiones/sistemas de archivos disk /boot disk / disk /var disk /tmp # Informacion de Contacto del Sistema syslocation NETI01 at EXAMPLE.COM syscontact Net Admin <netadmin@example.com> Si se van a monitorear desde un host externo entonces deberá de configurar snmpd para que escuche peticiones en la dirección IP de la red desde la que hará la monitorización. Para que el servicio escuche peticiones en más de una dirección IP edite el archivo: $ sudo vim /etc/default/snmpd Al final de la variable SNMPDOPTS agregar la dirección IP de la red local, por ejemplo: SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1 192.168.122. Para aplicar los cambios reiniciamos el servicio snmpd: $ sudo /etc/init.d/snmpd restart Realizamos una consulta al servidor SNMP para mostrar información del host: $ snmpwalk -v 1 -c public localhost system SNMPv2-MIB::sysDescr.0 = STRING: Linux ubuntu 2.6.24-24-server #1 SMP Fri Sep 18 16:47:05 U SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (547804) 1:31:18.04 SNMPv2-MIB::sysContact.0 = STRING: Net Admin <netadmin@example.com> (configure /etc/snmp/sn SNMPv2-MIB::sysName.0 = STRING: neti01 SNMPv2-MIB::sysLocation.0 = STRING: NETI01 at EXAMPLE.COM (configure /etc/snmp/snmpd.local. SNMPv2-MIB::sysORLastChange.0 = Timeticks: (2) 0:00:00.02 SNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance SNMPv2-MIB::sysORID.2 = OID: SNMP-MPD-MIB::snmpMPDCompliance SNMPv2-MIB::sysORID.3 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB SNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB SNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip SNMPv2-MIB::sysORID.7 = OID: UDP-MIB::udpMIB SNMPv2-MIB::sysORID.8 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup 16

SNMPv2-MIB::sysORDescr.1 = STRING: The SNMP Management Architecture MIB. SNMPv2-MIB::sysORDescr.2 = STRING: The MIB for Message Processing and Dispatching. SNMPv2-MIB::sysORDescr.3 = STRING: The management information definitions for the SNMP User SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for SNMPv2 entities SNMPv2-MIB::sysORDescr.5 = STRING: The MIB module for managing TCP implementations SNMPv2-MIB::sysORDescr.6 = STRING: The MIB module for managing IP and ICMP implementations SNMPv2-MIB::sysORDescr.7 = STRING: The MIB module for managing UDP implementations SNMPv2-MIB::sysORDescr.8 = STRING: View-based Access Control Model for SNMP. SNMPv2-MIB::sysORUpTime.1 = Timeticks: (2) 0:00:00.02 SNMPv2-MIB::sysORUpTime.2 = Timeticks: (2) 0:00:00.02 SNMPv2-MIB::sysORUpTime.3 = Timeticks: (2) 0:00:00.02 SNMPv2-MIB::sysORUpTime.4 = Timeticks: (2) 0:00:00.02 SNMPv2-MIB::sysORUpTime.5 = Timeticks: (2) 0:00:00.02 SNMPv2-MIB::sysORUpTime.6 = Timeticks: (2) 0:00:00.02 SNMPv2-MIB::sysORUpTime.7 = Timeticks: (2) 0:00:00.02 SNMPv2-MIB::sysORUpTime.8 = Timeticks: (2) 0:0neti01.example.com0:00.02 End of MIB Si no quiere registrar las conexiónes SNMP modifique los parámetros de ejecución del demonio: # vim /etc/default/snmpd #SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid' SNMPDOPTS='-Ln -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid' TODO: Documentar cuales puertos de red requieren estar abiertos en caso de que haya algún firewall intermediario entre el cliente y el servidor SNMP. Configurar las herramientas sysstat para análisis de rendimiento del sistema En un paso anterior instalamos el programa sysstat el cual es usado para obtener estadisticas del sistema, con las herramientas de sysstat, principalmente sar podremos obtener estadisticas de uso del sistema como CPU, memoria, disco duro, red. Se recomienda ejecutar systat a través de cron para almacenar la información recolectada y poder obtener estadisticas. Active el servicio sysstat: $ sudo vim /etc/default/sysstat ENABLED="true" Re inicie el servicio sysstat: $ sudo /etc/init.d/sysstat restart Use el comando sar para obtener información: $ sudo sar TODO: Documentar como generar reportes y las herramientas complementarias de sar. 17

Documentar la herramienta ksar para mostrar gráficas de la información de los reportes de sar. Configurar la herramienta vnstat para generar estadísticas de uso de ancho de banda Inicializar estatisticas para interfaz de red eth0 $ sudo vnstat -u -i eth0 NOTE: vnstat será ejecutado cada X minutos mediante un trabajo de cron para actualizar las estadisticas de uso. Para generar un reporte del día use: $ sudo vnstat -i eth0 -d Para generar un reporte del ancho de banda usado en la semana use: $ sudo vnstat -i eth0 -w Para generar un reporte de ancho de banda usado del més use: $ sudo vnstat -i eth0 -m TODO: Documentar ejemplos de reportes en línea de comandos. Documentar herramienta vnstat PHP frontend para generar reportes en formato web. Configurar el servicio SMTP con Postfix en modo smarthost para enviar notificaciones de sistema Modificamos el archivo de configuración principal de Postfix: $ sudo vim /etc/postfix/main.cf ############## CONFIGURACION POSTFIX ######################## ######## PARAMETROS GENERALES ############################### # Directorio en donde se encuentran los archivos README de Postfix # que describen como compilar, configurar y operar Postfix. readme_directory = /usr/share/doc/postfix # Banner SMTP con el que se anunca el servidor smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) 18

# Limites para tamaño de mensaje message_size_limit = 10240000 # Alias para correo local(8) alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases Guía de Configuración avanzada ######## NOMBRES DE HOST Y DOMINIOS ######################### # Nombre del Host FQDN myhostname = neti01.example.com # Nombre de dominio origen para correos generals localmente myorigin = example.com # Dominios locales en los que recibimos correo # No recibimos correo local, no listar los dominios virtuales aqui mydestination = $myhostname, localhost.localdomain, localhost # Mapeo de transportes: # Los mapas de transportes definen un nombre de dominio # y su destino final #transport_maps = hash:/etc/postfix/transport ####### PARAMETROS DE RED y CONTROLES DE ACCESO ############### # Interfaces de red en las que escucha peticiones inet_interfaces = lo # Redes locales de confianza mynetworks = 127.0.0.0/8 ############### PARAMETROS DE SEGURIDAD ##################### ############### PARAMETROS TLS/SSL ########################## # Parametros TLS del Servidor SMTP: smtpd(8). #smtpd_use_tls=yes #smtpd_tls_cert_file = /etc/ssl/certs/ldap.example.com.crt #smtpd_tls_key_file = /etc/ssl/private/ldap.example.com.key #smtpd_tls_cafile = /etc/ssl/certs/ca.crt #smtpd_tls_loglevel = 1 #smtpd_tls_received_header = yes #smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache #smtpd_tls_session_cache_timeout = 3600s #smtpd_tls_auth_only = yes # Parametros TLS del Cliente SMTP: smtp(8). #smtp_use_tls = yes #smtp_tls_cert_file = /etc/ssl/certs/ldap.example.com.crt 19

#smtp_tls_key_file = /etc/ssl/private/ldap.example.com.key #smtp_tls_cafile = /etc/ssl/certs/ca.crt #smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache ############### PARAMETROS SASL ############################# # Parametros SASL del Cliente SMTP: smtp(8). ####### PARAMETROS DE REGISTRO DE EVENTOS: LOGS ############# # Registrar todo tipo de eventos #notify_classes = delay, policy, protocol, resource, software #notify_classes = delay, resource, software ############### RESTRICCIONES SMTPD ######################### #smtpd_delay_reject = no # Restricciones a Clientes SMTP (IP y Hostname) # Desactivado ya que se evalua en recipient restrictions # # smtpd_client_restrictions = # El servidor smtpd requiere que un helo smtpd_helo_required = yes # Restricciones a Sender SMTP # Desactivado ya que se evalua en recipient restrictions # # smtpd_sender_restrictions = # Desactivar pruebas de descubrimiento de cuentas disable_vrfy_command = yes # Restricciones Recipientes smtpd_recipient_restrictions = permit_mynetworks, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_destination, permit # Restricciones para etapa de revisión datos smtpd_data_restrictions = reject_unauth_pipelining, permit 20