Herramientas de usuario

Herramientas del sitio


tecnica:anotaciones_tecnicas_servidoresvirtuales

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
tecnica:anotaciones_tecnicas_servidoresvirtuales [2020/03/29 20:14]
fmolinuevo [Nagios]
tecnica:anotaciones_tecnicas_servidoresvirtuales [2023/05/01 12:19] (actual)
fmolinuevo [Sobre la configuración inicial]
Línea 1: Línea 1:
 ====== Anotaciones técnicas sobre servidores en máquinas virtuales ====== ====== Anotaciones técnicas sobre servidores en máquinas virtuales ======
 +
 +//Por Félix Molinuevo, [[axrglobal>​|AXR Global]]// **:::** //Fecha creación: **20200329**//​
  
 ===== Introducción ===== ===== Introducción =====
Línea 7: Línea 9:
 Sin embargo, es imprescindible realizar varios trabajos que posibiliten la recuperación en caso de desastres, incluyendo avisos de errores y backups remotos. Sin embargo, es imprescindible realizar varios trabajos que posibiliten la recuperación en caso de desastres, incluyendo avisos de errores y backups remotos.
  
 +Los pasos que indico acá someramente,​ son los que realizamos en AXR ((https://​axrglobal.com/​)) cuando instalamos un nueva instancia virtual.
 ===== Sobre la configuración inicial ===== ===== Sobre la configuración inicial =====
  
-Instalado el sistema operativo básico, y los utilitarios estándares,​ se instalará por ejemplo, si será destinado a hosting, un sistema de administración de los clientes y hosts virtuales, como Virtualmin ((https://​www.virtualmin.com/​)).+Instalado el sistema operativo básico, y los utilitarios estándares,​ se instalará por ejemplo, si será destinado a hosting, un sistema de administración de los clientes y hosts virtuales, como **Virtualmin** ((https://​www.virtualmin.com/​))
 + 
 +Para que los servicios funcionen adecuadamente,​ es imprescindible poner como hostname un FQDN (Fully Qualified Domain Name), por ejemplo srv01.dominio.com. Y ese FQDN debe tener su correspondiente registro A en el DNS, apuntando a la IP de la instancia.
  
 Virtualmin instalará todo lo necesario para un servidor de hosting, correo electrónico,​ scripting, bases de datos y muchos otros servicios. Virtualmin instalará todo lo necesario para un servidor de hosting, correo electrónico,​ scripting, bases de datos y muchos otros servicios.
  
-Adicionalmente,​ instalo habitualmente:​+Adicionalmente,​ instalo habitualmente ​varios utilitarios que facilitan la administración y el trabajo día a día:
  
-  apt install screen zsh htop mc iptraf-ng bsd-mailx mutt rsync ccze aptitude+  apt install screen zsh htop mc iptraf-ng bsd-mailx ​dnsutils ​mutt rsync ccze aptitude
  
 La configuración del shell **zsh** es lo que sigue a continuación,​ copiando el archivo .zshrc de algún servidor existente, y el prompt que utilizo para servidores de hosting virtuales. Luego se copia la configuración de **screen** en el archivo .screenrc y se prueba que todo funcione adecuadamente. La configuración del shell **zsh** es lo que sigue a continuación,​ copiando el archivo .zshrc de algún servidor existente, y el prompt que utilizo para servidores de hosting virtuales. Luego se copia la configuración de **screen** en el archivo .screenrc y se prueba que todo funcione adecuadamente.
  
-Luego se elimina firewalld y se instala Shorewall y Nagios NRPE:+Para monitorear el servidor con Nagios, necesitamos instalar **Nagios NRPE** ((https://​exchange.nagios.org/​directory/​Addons/​Monitoring-Agents/​NRPE--2D-Nagios-Remote-Plugin-Executor/​details)):
  
-  apt install ​shorewall ​nagios-nrpe-server+  apt install nagios-nrpe-server
  
-Y se los configura. El último paso es probar que el firewall haya quedado correctamente configurado y no haya puertos innecesarios abiertos.+Y se configura ​Nagios NRPE, tanto en el servidor como en el cliente. 
 + 
 +El último paso es activar ​el firewall ​**FirewallD** ((https://​firewalld.org/​)) y probar desde otra ubicación que  ​haya quedado correctamente configurado y no haya **puertos innecesarios abiertos**Para ello se puede usar por ejemplo, **Nmap** ((https://​nmap.org/​)). 
 + 
 +Para que cualquier mensaje enviado a root llegue a alguna cuenta de monitoreo, se debe agregar el correspondiente alias en **/​etc/​aliases**:​ 
 + 
 +  root: direcciondemonitoreo@dominio 
 + 
 +y ejecutar el comando **newaliases**. 
 + 
 +Es necesario también revisar la configuración de **fail2ban** ((https://​fail2ban.org/​)) para asegurarse que quede como corresponde,​ activando las jails necesarias según los servicios instalados. Además, configuro el tiempo de bloqueo de IPs en una semana en /​etc/​fail2ban/​jail.conf:​ 
 + 
 +  bantime ​ = 7d 
 + 
 +En algunos servidores virtuales quizá sea necesario configurar un archivo de swap. Aunque obviamente no es lo ideal, a veces es necesario. Para ello editar /etc/fstab, agregando una línea: 
 + 
 +  /​swapfile ​  ​none ​   swap    sw    0   0 
 + 
 +Y ejecutar los siguientes comandos: 
 + 
 +  fallocate -l 4G /swapfile 
 +  chmod 600 /swapfile 
 +  mkswap /swapfile 
 +  swapon -a
  
 ===== Pasos finales ===== ===== Pasos finales =====
Línea 36: Línea 64:
 ==== Backup de bases de datos ==== ==== Backup de bases de datos ====
  
-Para finalizar, copio un script de backup de todas las bases de datos MySQL, que las resguarda cada día, y otro  que borra los backups ​más viejos que un lapso determinado,​ habitualmente 30 días. Los backups de las bases se guardan en **/​srv/​backups/​mysql**+Para finalizar, copio un script de backup de todas las bases de datos MySQL, que las resguarda cada día, y otro  que borra los archivos ​más viejos que un lapso determinado,​ habitualmente 30 días. Los backups de las bases se guardan en **/​srv/​backups/​mysql**
  
-  10 0 * * * /​root/​archivos/​bkup-mysql | mail mail@dominio -s "​servidorXX:​ DBs backup"​ 2>&1 > /dev/null+  10 0 * * * /​root/​archivos/​bkup-mysql | mail correo@dominio -s "​servidorXX:​ DBs backup"​ 2>&1 > /dev/null
   50 6 * * 7 /​usr/​local/​bin/​eliminaFicherosViejos eliminar /​srv/​backups/​mysql gz 30 30   50 6 * * 7 /​usr/​local/​bin/​eliminaFicherosViejos eliminar /​srv/​backups/​mysql gz 30 30
  
-==== Backup ​del servidor ​====+==== Backup ​diario completo ​==== 
 + 
 +Se debe agregar en alguno de los servidores de backup un proceso para que cada día se resguarden los datos de la nueva máquina virtual. Se utiliza para ello **Dirvish** ((http://​dirvish.org/​)),​ copiando un archivo de configuración de un servidor existente y adaptándolo al nuevo. 
 + 
 +**//​Nota//​**:​ es **muy importante** restaurar el backup en caso necesario, usando los mismos parámetros de Rsync que utiliza Dirvish, y que son los siguientes:​ 
 + 
 +  rsync -vrltH -D -pgo --numeric-ids --exclude-from=/​ruta/​al/​archivo origen destino
  
tecnica/anotaciones_tecnicas_servidoresvirtuales.1585523649.txt.gz · Última modificación: 2020/03/29 20:14 por fmolinuevo