Blogger

Configuración del Servidor con Debian 8

Configuración Basíca del Servidor con Debian 8

INTRODUCCIÓN

Cuando crea un nuevo servidor Debian 8, hay algunos pasos de configuración que debe tomar desde el principio como parte de la configuración básica. Así aumentará la seguridad y usabilidad de su servidor y le dará una base sólida para las acciones posteriores. Con los Siguentes pasos puede Configurarlo:

PASO UNO: INICIO DE SESIÓN ROOT

Para iniciar sesión en su servidor, deberá conocer la dirección IP pública de su servidor y la contraseña de la cuenta del usuario “root” (Cuenta de Raíz).

Si aún no está conectado a su servidor, siga adelante e inicie sesión como usuario root mediante el siguiente comando (sustituya la palabra resaltada por la dirección IP pública de su servidor):

  • ssh root@SERVER_IP_ADDRESS
 

Complete el proceso de inicio de sesión aceptando la advertencia sobre la autenticidad del host, si aparece, proporcionando su autenticación root (contraseña o clave privada). Si es la primera vez que inicia sesión en el servidor, con una contraseña, también se le pedirá que cambie la contraseña de root.

ACERCA DE ROOT (Usuario de Raíz)

El usuario root es el usuario administrativo en un entorno Linux que tiene privilegios muy amplios. Debido a los privilegios elevados de la cuenta de root, la potencia inherente con la cuenta root es la capacidad de hacer cambios muy destructivos, incluso por accidente.

El siguiente paso es crear una cuenta de usuario alternativa con un ámbito de influencia reducido para el trabajo cotidiano. Te enseñaremos cómo obtener mayores privilegios durante los tiempos en que los necesites.

PASO DOS: CREAR UN NUEVO USUARIO

Una vez que haya iniciado sesión como root , estamos preparados para agregar la nueva cuenta de usuario que usaremos para iniciar sesión de ahora en adelante.

Este ejemplo crea un nuevo usuario llamado “demo”, pero debe reemplazarlo por un nombre de usuario que le guste:

  • adduser demo
 

Se le harán algunas preguntas, comenzando con la contraseña de la cuenta.

Introduzca una contraseña segura y, opcionalmente, complete la información adicional si lo desea. Esto no es necesario y sólo puede pulsar “ENTER” en cualquier campo que desee omitir.

PASO TRES: PRIVILEGIOS DE ROOT (Cuenta de Raíz)

Ahora, tenemos una nueva cuenta de usuario con privilegios de cuenta regulares. Sin embargo, a veces necesitamos realizar tareas administrativas.

Para evitar tener que cerrar sesión de nuestro usuario normal y volver a iniciar sesión como la cuenta de root, podemos configurar lo que se conoce como “superusuario” o privilegios de root para nuestra cuenta normal. Esto permitirá que nuestro usuario normal ejecute comandos con privilegios administrativos colocando la palabra sudo antes de cada comando.

INSTALAR SUDO

Debian 8 no viene con sudo instalado, así que vamos a instalarlo con apt-get.

Primero, actualice el índice del paquete apt:

  • apt-get update
 

A continuación, utilice este comando para instalar sudo:

  • apt-get install sudo
 

Ahora puedes usar los comandos sudo y visudo .

CONCEDER PRIVILEGIOS PARA SUDO

Para agregar estos privilegios a nuestro nuevo usuario, necesitamos agregar el nuevo usuario al grupo “sudo”. De forma predeterminada, en Debian 8, los usuarios que pertenecen al grupo “sudo” pueden usar el comando sudo .

Como root , ejecute este comando para agregar su nuevo usuario al grupo sudo (sustituya la palabra resaltada por su nuevo usuario):

  • usermod -a -G sudo demo
 

¡Ahora su usuario puede ejecutar comandos con super privilegios de usuario!

PASO CUATRO: AGREGAR AUTENTICACIÓN DE CLAVE PÚBLICA (RECOMENDADO)

El siguiente paso en la seguridad de su servidor es configurar la autenticación de clave pública para su nuevo usuario. Configurar esto aumentará la seguridad de su servidor al requerir una clave SSH privada para iniciar sesión.

GENERAR UN PAR DE CLAVES

Si aún no tiene un par de claves SSH, que consiste en una clave pública y privada, debe generar una. Si ya tiene una clave que desea utilizar, vaya al paso Copiar la clave pública .

Para generar un nuevo par de claves, ingrese el siguiente comando en el terminal de su sistema local (es decir, su computadora):

  • ssh-keygen
 

Suponiendo que su usuario local se denomina “localuser”, verá una salida similar a la siguiente:

ssh-keygen output
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/localuser/.ssh/id_rsa):

Haga clic en Aceptar para aceptar este nombre de archivo y ruta de acceso (o escriba un nombre nuevo).

A continuación, se le solicitará una contraseña para asegurar la clave. Puede introducir una frase de contraseña o dejar la frase en blanco.

Nota: si deja la frase en blanco, podrá utilizar la clave privada para la autenticación sin introducir una frase de contraseña. Si ingresa una contraseña, necesitará tanto la clave privada como la contraseña para iniciar sesión. Asegurar sus claves con frases de contraseña es más seguro, pero ambos métodos tienen sus usos y son más seguros que la autenticación de contraseña básica.

Esto genera una clave privada, id_rsa , y una clave pública, id_rsa.pub , en el directorio .ssh directorio .ssh del usuario local. Recuerde que la clave privada no debe ser compartida con nadie que no debería tener acceso a sus servidores.

COPIAR LA CLAVE PÚBLICA

Después de generar un par de claves SSH, deseará copiar su clave pública en su nuevo servidor. Cubriremos dos maneras fáciles de hacer esto.

OPCIÓN 1: UTILIZAR SSH-COPY-ID

Si su sistema local tiene instalada la secuencia de comandos ssh-copy-id , puede utilizarla para instalar su clave pública en cualquier usuario para el que tenga credenciales de inicio de sesión.

Ejecute el script ssh-copy-id especificando el usuario y la dirección IP del servidor en el que desea instalar la clave, como esto:

  • ssh-copy-id demo@SERVER_IP_ADDRESS
 

Después de proporcionar su contraseña en el indicador, su clave pública se agregará al archivo .ssh/authorized_keys del usuario remoto. La clave privada correspondiente ahora se puede utilizar para iniciar sesión en el servidor.

OPCIÓN 2: INSTALAR MANUALMENTE “LA LLAVE”

Suponiendo que generó un par de claves SSH utilizando el paso anterior, utilice el siguiente comando en el terminal de su sistema local para imprimir su clave pública ( id_rsa.pub ):

  • cat ~/.ssh/id_rsa.pub
 

Esto debería imprimir su clave SSH pública, que debería ser similar a la siguiente:

id_rsa.pub contents
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBGTO0tsVejssuaYR5R3Y/i73SppJAhme1dH7W2c47d4gOqB4izP0+fRLfvbz/tnXFz4iOP/H6eCV05hqUhF+KYRxt9Y8tVMrpDZR2l75o6+xSbUOMu6xN+uVF0T9XzKcxmzTmnV7Na5up3QM3DoSRYX/EP3utr2+zAqpJIfKPLdA74w7g56oYWI9blpnpzxkEd3edVJOivUkpZ4JoenWManvIaSdMTJXMy3MtlQhva+j9CgguyVbUkdzK9KKEuah+pFZvaugtebsU+bllPTB0nlXGIJk98Ie9ZtxuY3nCKneB+KjKiXrAvXUPCI9mWkYS/1rggpFmu3HbXBnWSUdf localuser@machine.local 

Seleccione la clave pública y cópiela en el portapapeles.

AGREGAR CLAVE PÚBLICA AL NUEVO USUARIO REMOTO

Para habilitar el uso de la clave SSH para autenticarse como el nuevo usuario remoto, debe agregar la clave pública a un archivo especial en el directorio principal del usuario.

En el servidor: como usuario root , escriba el siguiente comando para cambiar al nuevo usuario (sustituya su propio nombre de usuario):

  • su – demo
 

Ahora estarás en el directorio de inicio de tu nuevo usuario.

Cree un nuevo directorio denominado .ssh y restrinja sus permisos con los siguientes comandos:

  • mkdir .ssh
  • chmod 700 .ssh
 

Ahora abra un archivo en .ssh llamado authorized_keys con un editor de texto. Usaremos nano para editar el archivo:

  • nano .ssh/authorized_keys
 

Ahora inserte su clave pública (que debería estar en su portapapeles) pegándola en el editor.

Pulse CTRL-X para salir del archivo, luego Y para guardar los cambios realizados, luego ENTER para confirmar el nombre del archivo.

Ahora restringe los permisos del archivo authorized_keys con este comando:

  • chmod 600 .ssh/authorized_keys
 

Escriba este comando una vez para volver al usuario root :

  • exit
 

Ahora puede acceder a SSH como su nuevo usuario, utilizando la clave privada como autenticación.

 

PASO CINCO: CONFIGURE SSH

Ahora que tenemos nuestra nueva cuenta, podemos proteger nuestro servidor un poco modificando su configuración de demonio SSH (el programa que nos permite iniciar sesión remotamente) para rechazar el acceso SSH remoto a la cuenta root .

Comience abriendo el archivo de configuración con su editor de texto como root:

  • nano /etc/ssh/sshd_config
 

Aquí, tenemos la opción de deshabilitar el inicio de sesión root a través de SSH. Este es generalmente un ajuste más seguro ya que ahora podemos acceder a nuestro servidor a través de nuestra cuenta de usuario normal y escalar privilegios cuando sea necesario.

Para deshabilitar los inicios de sesión de root remoto, necesitamos encontrar la línea que se vea así:

/ Etc / ssh / sshd_config (antes)
#PermitRootLogin yes

Puede modificar esta línea como “no” de esta manera si desea desactivar el inicio de sesión root:

/ Etc / ssh / sshd_config (después)
PermitRootLogin no

Desactivar el inicio de sesión de root remoto es muy recomendable en todos los servidores.

Cuando hayas terminado de realizar tus cambios, guarda y cierra el archivo usando el método anterior ( CTRL-X , luego Y , luego ENTER ).

REINICIAR SSH

Ahora que hemos hecho nuestros cambios, necesitamos reiniciar el servicio SSH para que utilice nuestra nueva configuración.

Escriba esto para reiniciar SSH:

  • systemctl restart ssh
 

Ahora, antes de salir del servidor, deberíamos probar nuestra nueva configuración. No queremos desconectarnos hasta que podamos confirmar que se pueden establecer con éxito nuevas conexiones.

Abra una nueva ventana de terminal. En la nueva ventana, necesitamos comenzar una nueva conexión a nuestro servidor. Esta vez, en lugar de usar la cuenta root, queremos usar la nueva cuenta que creamos.

  • ssh demo@SERVER_IP_ADDRESS
 

Se le pedirá la contraseña del nuevo usuario que haya configurado. Después de eso, usted se conectará como su nuevo usuario.

Recuerde, si necesita ejecutar un comando con privilegios de root, escriba “sudo” antes de que así:

  • sudo command_to_run
 

Si todo está bien, puede salir de sus sesiones escribiendo:

  • exit
 

SIGUIENTES PASOS

En este punto, tiene una base sólida para su servidor Debian 8. Ahora puede instalar cualquier software que necesite en su servidor.

Fuente. Artículo traducido y con muy ligeras modificaciones de: https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-debian

felipe-peña-soporte-zentra-web

Soy un loco enamorado de la vida. Licenciado en Ciencias Sociales y Humanas, amante de la informática y la astrofísica. Me gusta crear e investigar proyectos que enriquezcan la construcción y desarrollo del conocimiento individual y colectivo. Me encantan los videojuegos, el cine, la química, matemáticas, la física cuántica y la música, en donde actualmente soy compositor. Me baso en la idea que toma Baruch Spinoza sobre Dios.

Pipe Peña

-

Autor

Zentra

Ofertamos Servicios de Hosting y Alquiler Web. Diseño y Desarrollo de Software.

Lo Nuevo en el Blogger Zentra

Zentra Web. Impulsamos empresas tu empresa a nuevos Clientes Potenciales. Diseños Web Futuristas a la necesidad de tu Negocio.

Actualizar a PHP 5.5 en CentOS 6

Actualizar a PHP 5 en CentOS 6

INTRODUCCIÓN

En este tutorial vamos a enseñarte cómo actualizar a PHP 5.5 en CentOS 6. Actualmente el repositorio por defecto de la última versión de Centos sólo tiene hasta PHP 5.3 y es probable que tu aplicación requiera esta versión más nueva – la versión 5.5. Vamos a emprezar con tan solo 3 Pasos:


PASO 1. VERIFICAR LA VERSIÓN PHP ACTUAL

Confirme que su versión de PHP es el valor predeterminado de CentOS 6.

Escriba lo siguiente en su Terminal:

rpm -qa | grep php

Debería tener una salida similar a la siguiente:

php-cli-5.3.3-46.el6_6.x86_64
php-common-5.3.3-46.el6_6.x86_64
php-5.3.3-46.el6_6.x86_64

En este caso, tienes la 5.3.x (específicamente 5.3.3). Entonces, ahora sí, ¡manos a la obra!

PASO 2. INSTALAR Y ACTIVAR LOS REPOSITORIOS RPM DE REMI Y EPEL

Escriba lo siguiente para descargar e instalar los archivos necesarios para su Actualización:

wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm && rpm -Uvh epel-release-latest-6.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm && rpm -Uvh remi-release-6*.rpm

A continuación, para habilitar el repositorio REMI:

nano /etc/yum.repos.d/remi.repo

Bajo la sección donde aparece [remi] realice los siguientes cambios (vea las partes resaltadas).

[remi]
name=Remi's RPM repository for Enterprise Linux 6 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/6/remi/$basearch/
mirrorlist=http://rpms.remirepo.net/enterprise/6/remi/mirror
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

Además, en la sección donde aparece [remi-php55] realice los siguientes cambios:

[remi-php55]
name=Remi's PHP 5.5 RPM repository for Enterprise Linux 6 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/6/php55/$basearch/
mirrorlist=http://rpms.remirepo.net/enterprise/6/php55/mirror
# WARNING: If you enable this repository, you must also enable "remi"
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

Recuerda que si no tienes nano puedes instalarlo fácilmente con yum install nano o usar cualquier otro editor (incluso podrías editarlo usando un programa de sFTP como Filezilla, WinSCP, etc).

PASO 3. ACTUALIZAR A PHP 5.5

Ejecuta lo siguiente:

yum -y update php

Una vez finalizada la actualización, verifiquemos que tiene instalado PHP 5.5 en su maquina:

php -v

Debe ver una salida similar a la siguiente:

PHP 5.5.30 (cli) (built: Oct 1 2015 09:29:18) 
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies

NOTA: En caso de que estés usando un servidor web es probable que necesites reiniciarlo para aplicar cambios, por ejemplo, para Apache puedes ejecutar service httpd restart 

Fuente. Artículo traducido y con muy ligeras modificaciones del siguiente Link: https://www.zerostopbits.com/how-to-install-upgrade-php-5-3-to-php-5-5-on-centos-6-7/

felipe-peña-soporte-zentra-web

Soy un loco enamorado de la vida. Licenciado en Ciencias Sociales y Humanas, amante de la informática y la astrofísica. Me gusta crear e investigar proyectos que enriquezcan la construcción y desarrollo del conocimiento individual y colectivo. Me encantan los videojuegos, el cine, la química, matemáticas, la física cuántica y la música, en donde actualmente soy compositor. Me baso en la idea que toma Baruch Spinoza sobre Dios.

Pipe Peña

-

Autor

Zentra

Ofertamos Servicios de Hosting y Alquiler Web. Diseño y Desarrollo de Software.

Lo Nuevo en el Blogger Zentra

Zentra Web. Impulsamos empresas tu empresa a nuevos Clientes Potenciales. Diseños Web Futuristas a la necesidad de tu Negocio.

Como Configurar una ONU ADC-2001WT CATV

Como Configurar ONU ADC-2001WT. CATV

En este tutorial te enseñamos a configurar una ONU ADC CATV Modelo ADC-2001WT. En el PDF encontraras un Manual con la configuración de esta ONU. Calidad de Servicio y demás; Puntos a Configurar:

  • Acceso a la Interfaz de Configuración Root
  • Verificación de Potencia (dBm)
  • Configuración del Nombre Wifi (SSID)
  • Configuración de la contraseña Wifi
  • Número del ancho de Banda del Canal Wifi (1, 6 y 11)
  • Configuración de IP asignada
  • Configuración PRIO IEEE 802.1p. (Calidad de Servicio QoS)
  • Configuración Zona Horaria (Time Zone)
  • Habilitar Gestión Remota
  • Administrar CATV
  • Lista de Conectados a la Red (LAN)

PDF - Configuración ONU ADC CATV. Calidad de Servicio

felipe-peña-soporte-zentra-web

Soy un loco enamorado de la vida. Licenciado en Ciencias Sociales y Humanas, amante de la informática y la astrofísica. Me gusta crear e investigar proyectos que enriquezcan la construcción y desarrollo del conocimiento individual y colectivo. Me encantan los videojuegos, el cine, la química, matemáticas, la física cuántica y la música, en donde actualmente soy compositor. Me baso en la idea que toma Baruch Spinoza sobre Dios.

Pipe Peña

-

Autor

Zentra

Ofertamos Servicios de Hosting y Alquiler Web. Diseño y Desarrollo de Software.

Lo Nuevo en el Blogger Zentra

Zentra Web. Impulsamos empresas tu empresa a nuevos Clientes Potenciales. Diseños Web Futuristas a la necesidad de tu Negocio.

Proteger SSH con fail2ban en Debian 7

Proteger SSH con Fail2ban en Debian 7

INTRODUCCIÓN

Tener un servidor o una computadora conectada a una red viene con una cierta cantidad de riesgo. Cualquier máquina, incluyendo un servidor, conectado a Internet es un objetivo potencial para ataques maliciosos.

Aunque tener un Firewall bien configurado evitará muchos tipos de acceso ilegítimo, todavía necesita abrir ciertos servicios para permitirse la habilidad de iniciar sesión y administrar el servidor. SSH es el servicio más utilizado para iniciar sesión en sistemas remotos, por lo que también es uno de los más frecuentes.

Afortunadamente, hay una herramienta disponible que puede mitigar este vector de ataque, llamado fail2ban . Esto se puede configurar para permitir los inicios de sesión legítimos mediante SSH, pero prohíbe las direcciones IP después de que no se hayan autenticado correctamente después de un número de veces establecido.

Estaremos instalando y configurando este software en un servidor Debian 7.

PASO UNO: INSTALAR FAIL2BAN


Debian incluye fail2ban en sus repositorios predeterminados. Podemos descargarlo e instalarlo con el siguiente conjunto de comandos:

sudo apt-get update
sudo apt-get install fail2ban

Esto no sólo instalará fail2ban, sino que también iniciará el servicio con la configuración predeterminada.

SEGUNDO PASO: CONFIGURAR FAIL2BAN


La configuración fail2ban se mantiene en el directorio /etc/fail2ban . El archivo de configuración que especifica las reglas de prohibición predeterminadas se denomina jail.conf .

Debido a la forma en que fail2ban actualiza sus archivos de configuración cuando el programa tiene una nueva versión, no debemos editar el archivo de configuración predeterminado.

En su lugar, debemos copiarlo a una nueva ubicación y editarlo allí:

cd /etc/fail2ban
sudo cp jail.conf jail.local
sudo nano jail.local

Aquí, podemos cambiar cualquier configuración que no nos gusta que se estableció en la configuración predeterminada.

CONFIGURACIÓN PREDETERMINADA


La sección que comienza [DEFAULT] configura los valores predeterminados que se pueden sobreescribir en contextos más específicos más adelante en la configuración. Es una buena idea tener fuertes valores predeterminados.

La mayoría de los ajustes que se han dado son buenas selecciones para las opciones predeterminadas. Sin embargo, hay algunas áreas que se beneficiarían de la configuración.

PARÁMETROS DE PROHIBICIÓN


Podemos configurar la forma en que fail2ban implementa su prohibición modificando algunos parámetros. Éstos son algunos de los más importantes:

  • Ignoreip : Este parámetro toma una lista de direcciones IP que deben ser excluidas de las reglas fail2ban. Las direcciones IP o los bloques enumerados aquí no tendrán restricciones puestas en ellos, así que elija sabiamente y específicamente.
    • Las direcciones IP y los rangos están separados por espacios en blanco.
    • Debe agregar su dirección IP doméstica o de trabajo al final de la lista para que no se bloquee si tiene problemas para iniciar sesión.
    • Esto se verá así: “ignoreip = 127.0.0.1/8 YOUR_IP_ADDRESS “
  • Bantime : Enumera la cantidad de tiempo que durará una prohibición si el cliente no se autentica correctamente. Se da en segundos.
    • El valor predeterminado prohíbe a los clientes durante 10 minutos.
  • Maxretry : Este parámetro especifica el número de intentos permitidos antes de que se establezca una prohibición.

DEFINIR LAS MEDIDAS DE PROHIBICIÓN


Cuando se necesita una prohibición, fail2ban puede proceder de muchas maneras diferentes. Decide las acciones necesarias considerando los siguientes parámetros:

  • Banaction : Esta configuración especifica el archivo de configuración que se utilizará cuando se necesite una prohibición.
    • El valor de este parámetro se refiere a un archivo en el directorio /etc/fail2ban/action.d , que manejará el proceso de prohibición real.
    • El valor predeterminado utiliza iptables (un Firewall) para prohibir una IP en todos los puertos cuando falla la autenticación. Más adelante veremos las reglas de prohibición específicas.
  • Acción : Este parámetro especifica uno de los métodos abreviados de acción que se enumeran encima de él. Básicamente llama a un script de banaction (como se mencionó anteriormente), y luego asigna la información apropiada a las variables y las pasa al guión.
    • La acción predeterminada es action_ , que llama al script y pasa el nombre, puerto, protocolo y cadena al script. No envía una dirección de correo electrónico o las líneas de registro como algunas de las otras acciones.

CONFIGURAR ALERTAS POR CORREO ELECTRÓNICO


Si desea configurar fail2ban para enviarle un correo electrónico cuando insista una prohibición, también puede configurarlo en la sección predeterminada.

Si ha configurado un servidor de correo en su computadora, puede configurar fail2ban para enviar correo electrónico a una dirección externa. De lo contrario, puede enviarlo a una cuenta unix local.

Hay dos parámetros relevantes:

  • Destemail : Esta opción establece la dirección de correo electrónico que se notificará en caso de una prohibición.
    • El valor predeterminado, “root @ localhost”, entregará el correo a la cuenta root del equipo actual.
    • Si tiene configurado un servidor de correo, no dude en cambiarlo a una dirección de correo externa.
  • Mta : Especifica el agente de correo que se utilizará para enviar correo.
    • Si tiene un servidor de correo configurado con sendmail, deje la opción predeterminada (sendmail), tal como está.
    • Si no tiene un servidor de correo configurado, pero desea que el correo local entregado a una cuenta de usuario, puede cambiar “sendmail” a “correo”.

Si desea configurar el correo electrónico, tendrá que editar el parámetro de action como se mencionó anteriormente. Cambie la acción a “action mw” o “action mwl” para que la información de correo electrónico se transmita al script de prohibición.

Si ha configurado la entrega de correo local, puede comprobar el correo escribiendo:

sudo nano /var/mail/mail

CONFIGURAR CÁRCELES ESPECÍFICAS DE LA APLICACIÓN


Más abajo en el archivo, debe ver las secciones marcadas como las verás a continuación:

[application_name]

Debería ser capaz de descifrar la mayoría de los parámetros.

El parámetro filter especifica un archivo dentro del directorio /etc/fail2ban/filter.d . Esto le dice a fail2ban cómo analizar el archivo de registro del programa para los intentos de autenticación fallidos.

La variable logpath contiene la ruta de acceso al archivo de registro del servicio, que fail2ban analizará para los errores.

Puede anular cualquiera de los otros parámetros predeterminados. Por ejemplo, la opción maxretry es diferente para SSH que para la opción dault en una instalación de Debian.

PASO TRES: CONFIGURAR IPTABLES


En realidad no haremos mucha configuración de iptables, pero echaremos un vistazo al archivo de configuración que implementa su comportamiento. Esto nos ayudará a entender cómo fail2ban implementa sus políticas de prohibición.

Abra el archivo que se especificó en nuestra configuración de cárcel bajo el parámetro banaction :

sudo nano /etc/fail2ban/action.d/iptables-multiport.conf

Aquí, podemos ver lo que realmente sucede cuando fail2ban llama a tener un IP prohibido. Utiliza el software firewall iptables para implementar reglas.

Cuando fail2ban comienza, llama a estas líneas:

actionstart = iptables -N fail2ban-
              iptables -A fail2ban- -j RETURN   # questionable usefulness
              iptables -I  -p  -m multiport --dports  -j fail2ban-

Esto inicializa el entorno para pasar el tráfico a través de una cadena de filtrado.

El software iptables controla el tráfico basado en “embudos” o “cadenas”. Cada uno de estos embudos aplica reglas sobre todo el tráfico que se le da a fin de decidir si es aceptable o no.

La primera línea, iptables -N fail2ban- , crea una nueva cadena denominada “fail2ban-” con el nombre del servicio siguiente. Esto mantendrá las reglas que prohíben ciertas direcciones IP.

La siguiente línea, iptables -A fail2ban- -j RETURN , agrega una regla a la cadena que acabamos de crear, que le dice a iptables que devuelva el control a la cadena que llamó a esta cadena.

La última línea, iptables -I -p -m multiport --dports -j fail2ban- , agrega una regla a la cadena INPUT (especificada en nuestro archivo jail.local) que inmediatamente Pasa el control a nuestra nueva cadena fail2ban.

Por lo tanto, el flujo actual es que el tráfico entrante es manejado por nuestra cadena INPUT. En este punto, golpea el control de paso de reglas a la cadena fail2ban. La primera regla en esta cadena pasa el control de regreso a la cadena que lo llamó, la cadena INPUT.

Por lo tanto, en este punto, el control sólo se pasa de ida y vuelta sin que realmente suceda nada. Sin embargo, hemos establecido un flujo de control que acomodará reglas adicionales. Cuando necesitamos prohibir una dirección IP, podemos agregar otra regla a la cadena fail2ban justo encima de donde pasa el control a la cadena INPUT.

Podemos ver las acciones complementarias para derribar las reglas fail2ban, para cuando el servicio se detiene:

actionstop = iptables -D  -p  -m multiport --dports  -j fail2ban-
             iptables -F fail2ban-
             iptables -X fail2ban-

Esto básicamente invierte todas las reglas que acabamos de construir.

Cuando se prohíbe un cliente, esta regla se implementa:

actionban = iptables -I fail2ban- 1 -s  -j DROP

Esto le dice a iptables que elimine todos los paquetes de esa dirección IP, lo cual los prohíbe de intentar autenticarse de nuevo.

Cuando ha transcurrido el plazo, esta regla invierte la prohibición:

actionunban = iptables -D fail2ban- -s  -j DROP

Si desea ver qué reglas se implementan y qué direcciones IP están actualmente prohibidas, puede comprobar las reglas actuales de iptables escribiendo:

sudo iptables -L

Si los clientes están prohibidos, estarán en la cadena inferior.

PASO CUATRO: REINICIE FAIL2BAN


Cuando haya realizado cambios en su configuración, deberá reiniciar fail2ban para implementar las nuevas reglas.

Puede hacerlo escribiendo este comando:

sudo service fail2ban restart

Para probar sus nuevas reglas, puede crear otra instancia en su servidor y autenticarse incorrectamente a propósito suficientes veces desde su computadora para activar la regla de prohibición. Después de eso, su llamada SSH ni siquiera devolverá una solicitud de contraseña.

Si observa las reglas iptable en el host que configuró, verá una nueva regla:

sudo iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
fail2ban-ssh  tcp  --  anywhere             anywhere             multiport dports ssh

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain fail2ban-ssh (1 references)
target     prot opt source               destination         
DROP       all  --  xxx-xxxxxxxx.dyn.xxxxxxxxx.net  anywhere            
RETURN     all  --  anywhere             anywhere

Puede ver la segunda regla en segundo lugar desde la parte inferior.

CONCLUSIÓN


Ahora debería tener alguna seguridad adicional haciendo que su servidor sea un objetivo más duro para la fuerza bruta. Si bien este es un gran comienzo, una solución más completa sería deshabilitar la autenticación de contraseña completamente y permitir sólo la autenticación basada en claves.

 

Fuente. Artículo traducido y con muy ligeras modificaciones de: https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-debian

felipe-peña-soporte-zentra-web

Soy un loco enamorado de la vida. Licenciado en Ciencias Sociales y Humanas, amante de la informática y la astrofísica. Me gusta crear e investigar proyectos que enriquezcan la construcción y desarrollo del conocimiento individual y colectivo. Me encantan los videojuegos, el cine, la química, matemáticas, la física cuántica y la música, en donde actualmente soy compositor. Me baso en la idea que toma Baruch Spinoza sobre Dios.

Pipe Peña

-

Autor

Zentra

Ofertamos Servicios de Hosting y Alquiler Web. Diseño y Desarrollo de Software.

Lo Nuevo en el Blogger Zentra

Zentra Web. Impulsamos empresas tu empresa a nuevos Clientes Potenciales. Diseños Web Futuristas a la necesidad de tu Negocio.