Configurar nuestro servidor VPS desde cero I

Configurar nuestro servidor VPS desde cero I
5 (100%) 1 voto[s]

Este articulo es el comienzo de una serie en la que explicare la forma de administrar un servidor vps desde cero, de forma manual desde la consola.

Evidentemente, no pretende sustituir a un servicio profesional de administración de servidores, pero creo que puede servir de guía util para aprender los aspectos básicos para poder manejar y configurar nuestro propio vps.

Si aun no dispones de tu propio vps, puedes visitar nuestro articulo para conseguir tu vps de manera gratuita.

Comenzamos actualizando los paquetes que tenemos instalados, para hacerlo, lo primero que debemos hacer es actualizar el listado de los repositorios:

apt-get update

Y a continuación actualizamos los paquetes que tenemos instalados ya en el servidor a su ultima version:

apt-get upgrade

Con esto nos aseguramos el tener las últimas versiones y el listado de los paquetes de los repositorios actualizados.

Editor de texto

Podríamos utilizar el vim, que viene por defecto, pero creo que hay opciones mejores. En mi caso me he acostumbrado al editor nano, mucho más cómodo de utilizar que vim y sus imposibles combinaciones de teclas para manejarlo.

Para instalar nano, desde el terminal ejecutamos el comando apt-get:

apt-get install nano

Una vez instalado, podremos continuar, ya que será necesario utilizarlo posteriormente para editar los ficheros de configuración de los diferentes paquetes.

Instalando programas de seguridad básica

Seguimos instalando programas, en este caso, un par de programas que nos permiten aumentar su seguridad y por lo tanto, muy recomendables para tener instalados en nuestro vps.

  • Rkhunter: nos permite detectar rootkits y puertas traseras instaladas en nuestro vps
  • Fail2ban: permite bloquear ips que realicen ataques a nuestro vps mediante fuerza bruta

Instalaremos ambos programas en nuestro vps para aumentar la seguridad y evitar los ataques de fuerza bruta sobre los diferentes servicios que se ejecutan en nuetro vps.

Rkhunter

Nos permite llevar un control de los programas instalados, detectando modificaciones o nuevos programas no autorizados instalados. Mediante un control de firmas md5, comprueba si algún rootkit o backdoor se ha instalado en nuestro vps.

Para instalarlo, tan solo debemos teclear:

apt-get install rkhunter

Es posible que nos muestre este mensaje de error en la instalación del rkhunter:

Invalid SCRIPTWHITELIST configuration option: Non-existent pathname: /usr/bin/lwp-request

Para evitarlo, editamos el fichero /etc/rkhunter.conf y comentamos (añadimos una # delante) de la línea, quedando así:

#SCRIPTWHITELIST=/usr/bin/lwp-request

Fail2ban

Nos permite evitar los intentos de acceso ssh mediante ataques de fuerza bruta. Este programa monitoriza el fichero de log, y bloquea las ips que intentan acceder mediante ssh u otro servicio de manera repetida en un espacio de tiempo definido por nosotros.

Además de monitorizar los accesos ssh, que es el uso más habitual, también permite monitorizar otros servicios como proftp, apache2, nginx, etc. Como veremos mas adelante, en el fichero de configuración de fail2ban podremos seleccionar los filtros que deseamos activar para los servicios instalados en nuestro servidor vps.

Instalamos fail2ban, escribiendo desde el terminal:

apt-get install fail2ban

Podemos instalar este plugin para evitar ataques de fuerza bruta a nuestro panel de control de wordpress en caso de que nuestra web lo utilice.

Paquetes de desarrollo

También instalaremos los paquetes de desarrollo necesarios por si más adelante queremos compilar el código fuente de algún programa. A veces es necesario si el programa no está disponible en los repositorios o queremos añadir alguna característica especial.

apt-get install build-essential

Quizás no lo utilicemos nunca, pero por si acaso lo necesitamos mas adelante, lo instalaremos.

Configurando la hora del vps

A continuación, deberemos configurar correctamente la hora. Esto es muy importante, ya que sino hará que los ficheros de log sean inútiles y el programador de tareas cron no se ejecute correctamente (o por lo menos a la hora que deseamos).

Para hacerlo, debemos instalar dos paquetes, ntp y ntpdate

apt-get install ntp 
apt install ntpdate

Ahora debemos editar el fichero de configuración para realizar cambios. Lo primero que haremos es cambiar los servidores ntp genéricos que trae por defecto por otros servidores ntp situados en España. Para hacerlo, editamos el fichero /etc/ntp.conf

nano /etc/ntp.conf

Añadimos los servidores ntp específicos para una región, en nuestro caso España:

server 0.es.pool.ntp.org
server 0.europe.pool.ntp.org
server 2.europe.pool.ntp.org

Una vez modificada la configuración, par aplicar los cambios realizados, reiniciamos el servicio ntp:

/etc/init.d/ntp restart

Seleccionando el Español como idioma por defecto

Podemos cambiar el idioma por defecto de nuestro vps. Por ejemplo, si queremos que los mensajes de texto de nano nos aparezcan traducidos, introduciremos los siguientes comandos:

export LANGUAGE=es_ES.UTF-8
export LANG=es_ES.UTF-8
export LC_ALL=es_ES.UTF-8
locale-gen es_ES.UTF-8
dpkg-reconfigure locales

A partir de este momento, podremos ver los mensajes de las aplicaciones en español (en caso de que la aplicación incluya soporte para español).

Cambiando nuestra zona horaria

Para modificar nuestra zona horaria y seleccionar la que nos corresponde, deberemos ejecutar el comando tzselect:

tzselect

A continuación comienza el proceso de configuración de la zona horaria. Primero deberemos seleccionar un continente de la lista, luego nuestro país y por último la zona horaria (en caso de tener varias zonas horarias en nuestro país).

The following information has been given:

	Spain
	Spain (mainland)

Therefore TZ='Europe/Madrid' will be used.
Local time is now:	vie mar 22 23:21:21 CET 2019.
Universal Time is now:	vie mar 22 22:21:21 UTC 2019.
Is the above information OK?
1) Yes
2) No
#? 1

You can make this change permanent for yourself by appending the line
	TZ='Europe/Madrid'; export TZ
to the file '.profile' in your home directory; then log out and log in again.

Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
Europe/Madrid

Como se indica, si queremos que el cambio realizado sea permanente, deberemos editar el fichero .profile de nuestro usuario y añadir la línea:

TZ='Europe/Madrid'; export TZ

En los próximos posts, veremos cómo instalar paso a paso un servidor web (nginx), servidor de base de datos (mariadb), servidor dns (bind9), etc.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *