GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo configurar los servicios Ircd Hybrid y Anope con SSL en Ubuntu

IRCD Hybrid es un demonio ligero de chat de retransmisión de Internet (IRC) gratuito y de código abierto. IRCD-Hybrid es comúnmente conocido por su gran velocidad y alto rendimiento. El rendimiento de ircd-hybrid se vuelve mejor y más fuerte con Anope. Anope es un conjunto de servicios de IRC bifurcado de Epona a principios de 2003. Desde entonces, anope se ha convertido en un conjunto de servicios de IRC muy potente y destacado con mejoras en la calidad y la funcionalidad. Algunos de los servicios populares proporcionados por Anope son NickServ, ChanServ, MemoServ, OperServ, BotServ y HostServ. Además de estos, HelpServ, DevNull y Global son otros servicios increíbles presentados por Anope. Por lo tanto, la combinación de los servicios IRCD-Hybrid y Anope crea una solución increíble para un servidor IRC rico en funciones y de alto rendimiento.

En este artículo, aprenderemos cómo configurar IRC Hybrid y Anope Services en la distribución de Linux Ubuntu 15.04. Aquí hay algunos pasos simples sobre cómo podemos hacer eso.

1. Descargando IRCD-Híbrido

En primer lugar, antes de configurar ircd-hybrid en nuestra máquina Ubuntu, debemos descargarlo. Aunque ircd-hybrid está disponible en el repositorio oficial de ubuntu, lo compilaremos a partir de su código fuente ya que la versión de ircd-hybrid en el repositorio puede no ser la última. Para descargar la última versión de la misma, es decir. 8.2.8 del repositorio oficial de github, es decir, https://github.com/ircd-hybrid/ircd-hybrid/ . Para hacerlo, necesitaremos ejecutar el siguiente comando.

$ cd /tmp/
$ wget https://github.com/ircd-hybrid/ircd-hybrid/archive/8.2.8.tar.gz

--2015-07-18 08:35:31-- https://github.com/ircd-hybrid/ircd-hybrid/archive/8.2.8.tar.gz
Resolving github.com (github.com)... 192.30.252.129
...
Connecting to codeload.github.com (codeload.github.com)|192.30.252.145|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/x-gzip]
Saving to: ‘8.2.8.tar.gz’
8.2.8.tar.gz [ <=> ] 1022K 675KB/s in 1.5s
2015-07-18 08:35:35 (675 KB/s) - ‘8.2.8.tar.gz’ saved [1046078]

Después de que se haya descargado, extraeremos el tarball usando el comando tar.

$ tar -xvf 8.2.8.tar.gz

2. Instalación de IRCD-Híbrido

Después de que terminemos de extraer el tarball, ahora ingresaremos al directorio que acabamos de extraer. Para hacerlo, necesitaremos ejecutar el siguiente comando.

$ cd ircd-hybrid-8.2.8/

Luego, iremos a configurarlo para que Makefile se pueda generar para ircd-hybrid para que podamos compilar los códigos fuente de ircd-hybrid en binario usando el comando make. Para hacerlo, primero necesitaremos instalar las dependencias requeridas para generar el archivo MAKE.

$ sudo apt-get install build-essential

Después de instalar las dependencias, ahora ejecutaremos el siguiente comando para generar el archivo MAKE.

$ ./configure --prefix="/home/arun/ircd"

Después de que se haya generado el archivo MAKE, compilaremos el código fuente a binario. Para hacerlo, necesitaremos ejecutar el siguiente comando.

$ make

Ahora instalaremos nuestro último servidor ircd-hybrid construido ejecutando el siguiente comando. Esto instalará ircd-hybrid dentro de nuestro directorio de inicio en un directorio llamado ircd.

$ make install

3. Descargando los Servicios de Anope

Ahora descargaremos la última versión de los servicios de anope de su repositorio oficial de github, es decir, https://github.com/anope/anope/. La última versión del servicio anope actualmente es 2.0.2. Vamos a descargar los servicios de anope de la misma manera que descargamos ircd-hybrid.

$ cd /tmp/
$ wget https://github.com/anope/anope/releases/download/2.0.2/anope-2.0.2-source.tar.gz

--2015-07-18 08:55:14-- https://github.com/anope/anope/releases/download/2.0.2/anope-2.0.2-source.tar.gz
Resolving github.com (github.com)... 192.30.252.128
...
Connecting to s3.amazonaws.com (s3.amazonaws.com)|54.231.244.4|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1775003 (1.7M) [application/octet-stream]
Saving to: ‘anope-2.0.2-source.tar.gz’
anope-2.0.2-source.t 100%[========================>] 1.69M 611KB/s in 2.8s
2015-07-18 08:55:19 (611 KB/s) - ‘anope-2.0.2-source.tar.gz’ saved [1775003/1775003]

Después de que se haya descargado con éxito, extraeremos el tarball usando el comando tar.

$ tar -xvf anope-2.0.2-source.tar.gz

4. Instalación de los servicios de Anope

Después de extraer el tarball, instalaremos los servicios de anope en nuestra distribución Ubuntu Linux. Para hacerlo, primero necesitaremos configurar para generar el archivo MAKE para que podamos compilar los códigos fuente a binario y podamos instalarlo en nuestro sistema. Pero antes de eso, necesitaremos cumplir con la dependencia de nuestro paquete que se requiere para ejecutar el script de configuración. Para instalar esa dependencia, necesitaremos ejecutar el siguiente comando.

$ sudo apt-get install cmake

Luego, ejecutaremos el siguiente comando para generar el archivo MAKE.

$ cd anope-2.0.2-source/
$ ./Config

El comando anterior ejecutará un programa que nos hará varias preguntas sobre la instalación y configuración de nuestro servicio anope. Simplemente podemos presionar "Enter" para seleccionar los valores predeterminados, el archivo MAKE se generará dentro del directorio de compilación. Ahora compilaremos el código fuente a binario. Para hacerlo, necesitaremos ejecutar el siguiente comando.

$ cd build
$ make

Ahora instalaremos los servicios de anope ejecutando el siguiente comando. Esto instalará los servicios de anope dentro de nuestro directorio de inicio en servicios.

$ make install

5. Corrección de propiedad

Como acabamos de instalar el servidor ircd-hybrid y los servicios anope dentro de nuestro directorio de inicio, debemos asegurarnos de que el usuario que estamos ejecutando los servicios ircd-hybrid y anope tenga acceso completo de lectura y escritura y propiedad del directorio. Entonces, para cambiar la propiedad de esos directorios, necesitaremos ejecutar el siguiente comando.

$ sudo chown -R arun: ~/ircd ~/services

Nota: Aquí, arun es el nombre de usuario a través del cual ejecutaremos nuestro servicio anope y el servidor híbrido ircd. Por lo tanto, reemplácelo de acuerdo con su sistema y configuración.

6. Generación de contraseña cifrada

Ahora, configuraremos nuestro ircd-hybrid para que funcione correctamente como se espera. En primer lugar, necesitaremos generar un hash de contraseña cifrada utilizando mkpasswd, que será necesario para la configuración de los servicios ircd-hybrid y anope. La contraseña de texto sin formato se utilizará para obtener derechos de operador en nuestro servidor IRC. Para generar el hash de la contraseña cifrada, necesitaremos ejecutar mkpasswd seguido de la contraseña que queremos cifrar. Como mkpasswd se encuentra dentro del directorio bin de nuestro directorio de instalación ircd-hybrid, necesitaremos ejecutar el siguiente comando.

$ cd ~/ircd/bin/
$ ./mkpasswd

$1$jcKeU1nP$3u.uVI3wxyLswDnw1S5mA/

Nota: Esta contraseña cifrada generada tiene, por ejemplo, $1$jcKeU1nP$3u.uVI3wxyLswDnw1S5mA/ se utilizará para la configuración de ircd-híbrido y se necesitará una contraseña simple para obtener el derecho de operador. Por lo tanto, se recomienda enfáticamente guardar esta contraseña en un lugar seguro para que podamos usarla más tarde.

7. Configuración de ircd-híbrido

Aquí, ahora configuraremos nuestro servidor ircd-hybrid con configuraciones simples que son suficientes para ejecutar un servidor IRC saludable. Aquí hay algunas configuraciones básicas que debemos hacer para que nuestro servidor IRC funcione bien. Para hacerlo, primero necesitaremos crear nuestro nombre de archivo de configuración predeterminado como ircd.conf dentro del directorio ~/ircd/etc/. Podemos crearlo fácilmente copiando el archivo reference.conf a ircd.conf. Para hacerlo, ejecutaremos el siguiente comando.

$ cp ~/ircd/etc/reference.conf ~/ircd/etc/ircd.conf

Luego, editaremos el archivo ircd.conf usando nuestro editor de texto favorito.

$ nano ~/ircd/etc/ircd.conf

Ahora, vamos a cambiar la primera sección, es decir, el bloque serverinfo{} según sea necesario. Aquí, cambiaremos los valores de nombre, descripción, nombre_red y descripción_red como se muestra a continuación.

/* serverinfo {}: Contains information about the server. (OLD M:) */
serverinfo {
name = "irc.linoxide.com";
description = "Linoxide IRC Server";
network_name = "Linoxide";
network_desc = "Linoxide IRC Network";
};

A continuación, realizaremos cambios en el bloque admin{}. Este bloque contiene y muestra la información de administración sobre el servidor. Por lo tanto, realizaremos cambios en el valor del nombre, la descripción y el correo electrónico según nuestro requisito.

/* admin {}: contains admin information about the server. (OLD A:) */
admin {
name = "Linoxide Admin";
description = "Linoxide IRC Server Administrator";
email = "<[email protected]>";
};

Luego, comentaremos la opción de host con "#" en el bloque listen{} para vincular al servidor todas las direcciones IP disponibles.

#   host = "192.168.0.1";

Después de eso, comentaremos las flags =need_ident debajo del bloque auth{} que se encuentra justo encima del bloque operator{}.

#   flags = need_ident

Después de eso, tendremos que desplazarnos hacia abajo hasta el bloque operator{}. Este bloque define el operador del servidor. Aquí, nombre define el nombre del operador, usuario con valor como *@127.0.0.1 define que cualquier usuario localhost puede conectarse como raíz. Luego, agregaremos el hash de contraseña cifrada en la opción de contraseña como se muestra a continuación.

/* operator {}: defines ircd operators. (OLD O:) */
operator {
name = "root";
user = "*@*127.0.0.1";
password = "$1$jcKeU1nP$3u.uVI3wxyLswDnw1S5mA/";
encrypted = yes;
};

Ahora, vamos a editar nuestro bloque connect{} para que podamos definir el servidor ircd-hybrid para conectarnos con los servicios de anope usando la siguiente configuración. Esta configuración debe coincidir con la configuración de servicios de anope que crearemos en el siguiente paso. Aquí, la sección de nombre no es el nombre del servidor de ircd-hybrid sino el nombre de los servicios de anope.

connect {
name = "ircservices.linoxide.com";
host = "127.0.0.1";
send_password = "mypassword";
accept_password = "mypassword";
encrypted = no;
hub_mask = "*";
class = "server";
};

Después de realizar todas las configuraciones deseadas y requeridas, guardaremos el archivo y saldremos.

Luego, iniciaremos nuestro servidor ircd-hybrid ejecutando el siguiente comando.

$ cd ~/ircd/bin/
$ ./ircd

Esto ejecutará nuestro servidor IRC. Podemos probarlo intentando conectarnos a nuestro servidor IRC usando la dirección IP del servidor o usando el dominio del servidor irc sin cliente IRC. Para conectarnos, también podemos ejecutar el siguiente comando en nuestro Cliente IRC.

/server irc.linoxide.com

8. Configuración de los servicios de Anope

Ahora configuraremos nuestros servicios anope para conectarnos con nuestro servidor ircd-híbrido. Para hacerlo, primero necesitaremos crear nuestro archivo de configuración predeterminado llamado services.conf dentro del directorio conf del directorio de instalación de servicios de anope. Hay un archivo ejemplo.conf ubicado que podemos modificar para que los servicios de anope funcionen bien. Entonces, necesitaremos copiar example.conf y pegarlo como services.conf.

$ cd ~/services/conf/
$ cp example.conf services.conf

Ahora, editaremos nuestro archivo de configuración de servicios de anope usando nuestro editor favorito.

$ nano services.conf

Ahora, haremos cambios en el bloque de enlace ascendente{}. Aquí, el host se mantiene como 127.0.0.1 ya que nuestro servidor IRC se ejecuta en nuestro mismo servidor bajo localhost. Como no estamos usando ipv6, simplemente lo deshabilitaremos. Si estamos ejecutando anope en un servidor diferente, se recomienda habilitar ssl manteniendo el valor como "sí", pero como estamos ejecutando tanto el servidor irc como anope en el mismo servidor, simplemente lo deshabilitaremos con el valor "no". Como el puerto predeterminado del servidor irc es 6667, lo mantendremos igual. La opción de contraseña debe definir la contraseña que hemos asignado en el bloque connect{} de la configuración de ircd (ircd.conf), es decir, mypassword en nuestro caso.

uplink
{
host = "127.0.0.1"
ipv6 = no
ssl = no
port = 6667
password = "mypassword"
}

A continuación, estableceremos el nombre de nuestro servicio Anope y la descripción de nuestros Servicios Anope, que se encuentra en el bloque serverinfo{}. El valor del nombre del mismo debe coincidir con el valor que le hemos asignado en el bloque connect{} de la configuración de ircd (ircd.conf), aquí hemos guardado ircservices.linoxide.com.

serverinfo
{
name = "ircservices.linoxide.com"
description = "Services for Linoxide IRC Networks"
pid = "data/services.pid"
motd = "conf/services.motd"
}

A continuación, como estamos ejecutando ircd-hybrid como nuestro servidor irc, simplemente asignaremos el valor de nombre en el bloque modue{} como "híbrido".

name = "hybrid"

Y mantendremos el nombre de la red como "Linoxide IRC" en el bloque networkinfo{}.

networkname = "Linoxide IRC"

Después de que todo esté configurado como nuestro requisito y deseo, ahora guardaremos y saldremos del archivo.

9. Inicio de los servicios de Anope

Finalmente, una vez que hayamos completado la configuración de nuestra configuración de anope, ahora iniciaremos nuestros servicios de anope. Para hacerlo, necesitaremos ingresar a la carpeta bin ubicada dentro del directorio de instalación de anope. Luego, ejecutaremos nuestro script anoperc como se muestra a continuación.

$ cd ~/services/bin/
$ ./anoperc start

Starting Anope
Anope 2.0.2, build #2, compiled 12:22:26 Jul 18 2015
Using configuration file conf/services.conf
Attempting to connect to uplink #1 127.0.0.1 (127.0.0.1), port 6667
Successfully connected to uplink #1 127.0.0.1:6667
Successfully linked, launching into background...

Esto iniciará nuestros Servicios Anope. Si inesperadamente nuestros servicios de anope no se inician, simplemente podemos solucionarlo revisando nuestro registro que se encuentra dentro del directorio de registros. Aquí, en nuestra instalación, está en ~/services/logs/

Ahora, para verificar si nuestro servicio de anope funciona bien o no, simplemente podemos ejecutar /msg NickServ help en nuestro cliente IRC. Si vimos opciones y banderas para el comando NickServ, entonces podemos verificar que nuestro servicio Anope está funcionando excelente. Primero necesitamos obtener acceso de operador usando el comando /oper seguido del nombre de usuario y la contraseña que habíamos creado anteriormente para el operador.

/oper root password

Una vez que hayamos iniciado sesión como operador, vamos a repetir nuestro servidor IRC híbrido ircd.

/rehash

Luego, finalmente probaremos nuestro servidor anope ejecutando el siguiente comando.

/msg nickserv help

10. Habilitación del cifrado SSL/TLS

Para habilitar el cifrado ssl, necesitaremos instalar el paquete de desarrollo openssl en nuestra máquina con Ubuntu 15.04. Luego, tendremos que volver a compilar nuestro ircd-hybrid, generar nuestros propios certificados SSL ya que no tenemos un certificado confiable y configurar la configuración de ircd-hybrid para habilitar el puerto SSL, es decir, 6697.

Entonces, para instalar el paquete de desarrollo de openssl, necesitaremos ejecutar el siguiente comando.

$ sudo apt-get install libssl-dev

Simplemente podemos seguir los pasos 1 y 2 para recompilar ircd-hybrid. A continuación, generaremos nuestros propios certificados SSL y los guardaremos en el directorio ~/ircd/etc/.

$ cd ~/ircd/etc/
$ openssl genrsa -out rsa.key 2048
$ chmod 600 rsa.key

Una vez que se haya generado la clave RSA, ahora generaremos el certificado y el archivo de parámetros DH.

$ openssl req -new -days 365 -x509 -key rsa.key -out cert.pem
$ openssl dhparam -out dhparam.pem 2048

Ahora, configuraremos nuestro ircd.conf y habilitaremos el método de encriptación SSL/TLS. Para hacerlo, abriremos ircd.conf con nuestro editor favorito.

$ nano ~/ircd/etc/ircd.conf

Ahora, descomentaremos las siguientes líneas que se encuentran en el bloque serverinfo{}.

rsa_private_key_file = "etc/rsa.key";
ssl_certificate_file = "etc/cert.pem";
ssl_dh_param_file = "etc/dhparam.pem";

Finalmente, reiniciaremos nuestro servidor ircd-hybrid. Para reiniciar, necesitaremos ejecutar los siguientes comandos.

$ killall -9 ircd
$ ~/ircd/bin/ircd

Después de que nuestro servidor esté funcionando, necesitaremos probar si nuestro cifrado SSL/TLS funciona o no. Ahora podemos iniciar sesión en nuestro servidor IRC con cifrado SSL/TLS ejecutando el siguiente comando en nuestro cliente IRC.

/server irc.linoxide.com +6697

Conclusión

IRCD-Hybrid es un gran ejemplo de servidor IRC liviano, rápido y eficiente. Aunque los IRC se consideran tecnologías antiguas para la comunicación electrónica, es un medio de comunicación increíble, rápido y seguro. Anope agrega algunos funcionalistas y características increíbles además de ircd-hybrid, lo que hace que nuestro servidor irc se administre correctamente. Por lo tanto, siempre se recomienda usar anope como servicio si está ejecutando ircd-hybrid como demonio irc. Para permitir que los escáneres monitoreen nuestro servidor IRC contra proxies abiertos, hopm también es una gran herramienta desarrollada por los desarrolladores de ircd-hybrid. Si tiene alguna pregunta, sugerencia, comentario, escríbalo en el cuadro de comentarios a continuación para que podamos mejorar o actualizar nuestro contenido. Gracias ! Disfruta :-)


Ubuntu
  1. Cómo configurar Apache Subversion con Lets encrypt SSL en Ubuntu 18.04

  2. Configurar el entorno de desarrollo de Ruby on Rails con Docker y Docker Compose en Ubuntu

  3. Cómo instalar el software Ghost Blog con Apache y SSL en Ubuntu 16.04

  4. Configure Apache y Php con mod_fcgid en Ubuntu/Debian

  5. Configure Apache 2.4 y Php FPM con mod proxy fcgi en Ubuntu 13.10

Cómo instalar Webmin y asegurarlo con Lets Encrypt SSL en Ubuntu 20.04 LTS

Cómo instalar ProjectSend con Apache y Lets Encrypt SSL en Ubuntu 20.04

Cómo instalar el software Ghost Blog con Apache y SSL en Ubuntu 15.10

Cómo instalar Moodle con Nginx y Lets Encrypt SSL en Ubuntu 20.04

Cómo configurar el servidor de correo electrónico con Mailinabox en Ubuntu 14.04

Cómo configurar el certificado Let's Encrypt SSL con Nginx en Ubuntu 18.04 y Ubuntu 16.04