pissircd/doc/conf/examples/example.es.conf

635 lines
21 KiB
Plaintext

/* Archivo de configuración para UnrealIRCd 6
*
* Simplemente copie este archivo a su directorio conf/, llámelo
* 'unrealircd.conf' y revíselo línea por línea (¡edítelo!)
*
* Importante: Todas las líneas, excepto { y } terminan con ;
* Esto es muy importante, si pierde un ; en algún lugar entonces el
* el analizador del archivo de configuración se quejará y el archivo no
* ser procesado correctamente!
* Si esta es tu primera experiencia con una configuración de UnrealIRCd
* entonces te recomendamos que leas un poco sobre la sintaxis,
* esto solo toma unos minutos y te ayudará mucho:
* https://www.unrealircd.org/docs/Configuration#Configuration_file_syntax
*
* Documentación de UnrealIRCd 6 (¡muy extensa!):
* https://www.unrealircd.org/docs/UnrealIRCd_6_documentation
*
* Preguntas frecuentes:
* https://www.unrealircd.org/docs/FAQ
*
*/
/* Esto es un comentario, todo el texto aquí es ignorado (tipo de comentario #1) */
// Esto también es un comentario, esta línea se ignora (tipo de comentario #2)
# Esto también es un comentario, nuevamente esta línea se ignora (tipo de comentario #3)
/* UnrealIRCd hace un uso intensivo de los módulos. Los módulos le permiten completamente
* personaliza el conjunto de características que deseas habilitar en UnrealIRCd.
* Ver: https://www.unrealircd.org/docs/Modules
*
* Al usar el incluir a continuación, le indicamos al IRCd que lea el archivo
* 'modules.default.conf' que cargará más de 150 módulos
* enviado con UnrealIRCd. En otras palabras: esto simplemente cargará
* todas las funciones disponibles en UnrealIRCd.
* Si está configurando UnrealIRCd por primera vez, le sugerimos
* utilizar esta. Luego, cuando todo esté funcionando, puedes venir
* volver más tarde para personalizar la lista (si lo desea).
*/
include "modules.default.conf";
/* Ahora incluyamos algunos otros archivos también:
* - help/help.conf para nuestro sistema on-IRC /HELPOP
* - badwords.conf para canal y modo de usuario +G
* - spamfilter.conf como ejemplo para el uso de spamfilter
* (Comentado)
* - operclass.default.conf contiene algunas buenas operclasses que
* puedes usar en tus bloques operativos.
*/
include "help/help.conf";
include "badwords.conf";
//include "spamfilter.conf";
include "operclass.default.conf";
include "snomasks.default.conf";
/* Cargar el módulo de encubrimiento predeterminado (2021 en adelante): */
loadmodule "cloak_sha256";
/* O cargue el módulo antiguo de UnrealIRCd 3.2/4/5 en su lugar: */
//loadmodule "cloak_md5";
/* Este es el bloque yo { } que básicamente dice quiénes somos.
* Define el nombre de nuestro servidor, alguna línea de información y un "sid" único.
* La identificación del servidor (sid) debe comenzar con un dígito seguido de dos dígitos o
* cartas. El sid debe ser único para su red IRC (cada servidor debe
* tener su propio sid).
*/
me {
name "irc.example.org";
info "ExampleNET Server";
sid "001";
}
/* El bloque admin { } define lo que verán los usuarios si escriben /ADMIN.
* Normalmente contiene información sobre cómo contactar con el administrador.
*/
admin {
"Bob Smith";
"bob";
"email@example.org";
}
/* Los clientes y servidores se colocan en bloques de clase { }, los definimos aquí.
* Los bloques de clase constan de los siguientes elementos:
* - pingfreq: con qué frecuencia hacer ping a un usuario/servidor (en segundos)
* - connfreq: con qué frecuencia intentamos conectarnos a este servidor (en segundos)
* - sendq: el tamaño máximo de cola para una conexión
* - recvq: máxima cola de recepción de una conexión (control de inundación)
*/
/* Clase de cliente con buenos valores predeterminados */
class clients
{
pingfreq 90;
maxclients 1000;
sendq 200k;
recvq 8000;
}
/* Clase especial para IRCOps con límites más altos */
class opers
{
pingfreq 90;
maxclients 50;
sendq 1M;
recvq 8000;
}
/* Clase de servidor con buenos valores predeterminados */
class servers
{
pingfreq 60;
connfreq 15; /* intenta conectarte cada 15 segundos */
maxclients 10; /* maximo de servidores */
sendq 20M;
}
/* Permitir que los bloques definan qué clientes pueden conectarse a este servidor.
* Esto le permite agregar una contraseña de servidor o restringir el servidor a
* IP específicas solamente. También configuras las conexiones máximas
* permitido por IP aquí.
* Ver también: https://www.unrealircd.org/docs/Allow_block
*/
/* Permitir el ingreso de todos, pero solo 3 conexiones por IP */
allow {
mask *;
class clients;
maxperip 3;
}
/* Los bloques Oper definen sus operadores IRC.
* Los operadores de IRC son personas que tienen "derechos adicionales" en comparación con otros,
* por ejemplo, pueden /MATAR a otras personas, iniciar la vinculación del servidor,
* /ÚNETE a los canales aunque estén prohibidos, etc.
*
* Para obtener más información sobre cómo convertirse en un IRCOp y cómo ser administrador
* tareas, ver: https://www.unrealircd.org/docs/IRCOp_guide
*
* Para obtener detalles sobre el propio bloque oper { }, consulte
* https://www.unrealircd.org/docs/Oper_block
*/
/* Aquí hay un bloque de operación de ejemplo para 'bobsmith'.
* ¡DEBES cambiar esto!
*/
oper bobsmith {
class opers;
mask *@*;
/* Technically you can put oper passwords in plaintext in the conf but
* this is HIGHLY DISCOURAGED. Instead you should generate a password hash:
* On *NIX, run: ./unrealircd mkpasswd
* On Windows, run: "C:\Program Files\UnrealIRCd 6\bin\unrealircdctl" mkpasswd
* .. and then paste the result below:
*/
password "$argon2id..etc..";
/* See https://www.unrealircd.org/docs/Authentication_types for
* more information, including even better authentication types
* such as 'certfp', and how to generate hashes on Windows.
*/
/* Los permisos de operación se definen en un bloque 'operclass'.
* Ver https://www.unrealircd.org/docs/Operclass_block
* UnrealIRCd se envía con una serie de bloques predeterminados, consulte
* el artículo para una lista completa. Elegimos 'netadmin' aquí.
*/
operclass netadmin;
swhois "is a Network Administrator";
vhost netadmin.example.org;
}
/* Los bloques de escucha definen los puertos donde el servidor debe escuchar.
* En otras palabras: los puertos que los clientes y servidores pueden usar para
* conectarse a este servidor.
*
* Sintaxis:
* listen {
* {
* ip <ip>;
* port <port>;
* options {
* <options....>;
* }
* }
*/
/* Puerto IRC estándar 6667 */
listen {
ip *;
port 6667;
}
/* Puerto IRC estándar 6697 */
listen {
ip *;
port 6697;
options { tls; }
}
/* Puerto especial solo para servidores SSL/TLS para vincular */
listen {
ip *;
port 6900;
options { tls; serversonly; }
}
/* NOTA: Si está en una shell IRCd con múltiples IP y usa
* los bloques de escucha anteriores { } entonces probablemente obtendrás un
* Error 'Dirección ya en uso' y el ircd no se iniciará.
* Esto significa que DEBE vincularse a una IP específica en lugar de '*' como:
* escucha { ip 1.2.3.4; puerto 6667; }
* Por supuesto, reemplaza la IP con la IP que te fue asignada.
*/
/*
* Los bloques de enlace le permiten vincular varios servidores para formar una red.
* Ver https://www.unrealircd.org/docs/Tutorial:_Linking_servers
*/
link hub.ejemplo.org
{
incoming {
mask *@algo;
}
outgoing {
bind-ip *; /* o explícitamente una IP */
hostname hub.ejemplo.org;
port 6900;
options { tls; }
}
/* Usamos la huella digital SPKI del otro servidor para la autenticación.
* Ejecute './unrealircd spkifp' en el otro lado del linkeo para obtenerlo.
* ( Windows: "C:\Program Files\UnrealIRCd 6\bin\unrealircdctl" spkifp )
*/
password "AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUV=" { spkifp; }
class servers;
}
/* El bloque de enlace para servicios suele ser mucho más simple.
* Para más información sobre qué son los Servicios,
* ver https://www.unrealircd.org/docs/Services
*/
link services.ejemplo.org
{
incoming {
mask 127.0.0.1;
}
password "cambiameporfavor";
class servers;
}
/* Las líneas U dan a otros servidores (incluso) más poder/comandos.
* Si usas servicios debes agregarlos aquí.
* ¡NUNCA pongas el nombre de un servidor UnrealIRCd aquí!
*/
ulines {
services.ejemnplo.org;
}
/* Aquí puede agregar una contraseña para los comandos /DIE y /RESTART exclusivos de IRCOp.
* Esto está destinado principalmente a proporcionar un poco de protección contra accidentes
* reinicios y muertes del servidor.
*/
drpass {
restart "restart";
die "die";
}
/* El bloque de registro define qué debe registrarse y en qué archivo.
* Ver también https://www.unrealircd.org/docs/Log_block
*/
/* Este es un buen valor predeterminado, registra todo excepto
* cosas de depuración y unión/parte/kick.
*/
log {
source {
all;
!debug;
!join.LOCAL_CLIENT_JOIN;
!join.REMOTE_CLIENT_JOIN;
!part.LOCAL_CLIENT_PART;
!part.REMOTE_CLIENT_PART;
!kick.LOCAL_CLIENT_KICK;
!kick.REMOTE_CLIENT_KICK;
}
destination {
file "ircd.log" { maxsize 100M; }
}
}
/* Con "aliases" puedes crear un alias como /ALGO para enviar un mensaje a
* algún usuario o bot. Suelen utilizarse para servicios.
*
* Tenemos una cantidad de archivos de alias preestablecidos, consulte el directorio alias/.
* A modo de ejemplo, aquí incluimos todos los alias utilizados para los servicios de anope.
*/
include "aliases/anope.conf";
/* Prohibir los apodos para que no puedan ser utilizados por usuarios regulares */
ban nick {
mask "*C*h*a*n*S*e*r*v*";
reason "Reservado para Servicios";
}
/* Baneo por ip.
* Tenga en cuenta que normalmente usa /KLINE, /GLINE y /ZLINE para esto.
*/
ban ip {
mask 195.86.232.81;
reason "Te odio";
}
/* Baneo del servidor: si vemos que este servidor está vinculado a alguien, lo desvinculamos */
ban server {
mask eris.berkeley.edu;
reason "Sal de aquí.";
}
/* Baneo de usuario: solo como ejemplo, normalmente usa /KLINE o /GLINE para esto */
ban user {
mask *tirc@*.saturn.bbn.com;
reason "Idiot";
}
/* Baneo del nombre real le permite prohibir clientes en función de su 'nombre real'
* o campo 'gecos'.
*/
ban realname {
mask "Equipo Swat";
reason "mIRKFORCE";
}
ban realname {
mask "sub7server";
reason "sub7";
}
/* Excepciones de baneo y TKL. Le permite eximir a los usuarios/máquinas de
* KLINE, GLINE, etc.
* Si es un IRCOp con una IP estática (y no hay personas que no sean de confianza en esa IP)
* entonces te sugerimos que te añadas aquí. Así siempre puedes entrar
* incluso si accidentalmente colocas una prohibición de *LINE en ti mismo.
*/
/* excepto el baneo con el tipo 'todos' (all) te proteja de GLINE, GZLINE, QLINE, SHUN */
except ban {
mask *@192.0.2.1;
type all;
}
/* This allows IRCCloud connections in without maxperip restrictions
* and also exempt them from connect-flood throttling.
*/
except ban {
mask *.irccloud.com;
type { maxperip; connect-flood; }
}
/* Con los bloques de denegación de DCC puede prohibir los nombres de archivo para DCC */
deny dcc {
filename "*sub7*";
reason "Posible Sub7 Virus";
}
/* denegar canal le permite prohibir un canal (máscara) por completo */
deny channel {
channel "*warez*";
reason "Warez es ilegal";
class "clients";
}
/* Los VHosts (hosts virtuales) permiten a los usuarios adquirir un host diferente.
* Ver https://www.unrealircd.org/docs/Vhost_block
*/
/* Ejemplo de vhost que puede usar. En el tipo de IRC: prueba de prueba /VHOST
* NOTA: solo las personas con un host 'unrealircd.com' pueden usarlo para
* asegúrese de cambiar el vhost::mask antes de probar.
*/
vhost {
vhost odio.microsefrs.com;
mask *@unrealircd.com;
login "test";
password "test";
}
/* Los bloques de la lista negra consultarán un servicio de lista negra de DNS externo
* cada vez que un usuario se conecta, para ver si se conoce la dirección IP
* para causar ataques de drones, es una máquina pirateada conocida, etc.
* Documentación: https://www.unrealircd.org/docs/Blacklist_block
* O simplemente eche un vistazo a los bloques a continuación.
*/
/* DroneBL, probablemente la lista negra más popular utilizada por los servidores IRC.
* Ver https://dronebl.org/ para su documentación y el
* significado de los tipos de respuesta. Al momento de escribir usamos tipos:
* 3: IRC Drone, 5: Embotellador, 6: Spambot o drone desconocido,
* 7: Drone DDoS, 8: Proxy SOCKS, 9: Proxy HTTP, 10: ProxyChain,
* 11: Proxy de página web, 12: Open DNS Resolver, 13: Atacantes de fuerza bruta,
* 14: Proxy Wingate abierto, 15: Enrutador / puerta de enlace comprometidos,
* 16: Gusanos autoenraizadores.
*/
blacklist dronebl {
dns {
name dnsbl.dronebl.org;
type record;
reply { 3; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; }
}
action gline;
ban-time 24h;
reason "Proxy/Drone Detectado. Chequea https://dronebl.org/lookup?ip=$ip para más detalles.";
}
/* EFnetRBL, consulte https://rbl.efnetrbl.org/ para obtener la documentación
* y el significado de los tipos de respuesta.
* Al momento de escribir: 1 es proxy abierto, 4 es TOR, 5 es drones/inundaciones.
*
* NOTA: Si desea permitir proxies TOR en su servidor, entonces
* necesita eliminar el '4;' abajo en la sección de respuesta.
*/
blacklist efnetrbl {
dns {
name rbl.efnetrbl.org;
type record;
reply { 1; 4; 5; }
}
action gline;
ban-time 24h;
reason "Proxy/Drone/TOR detected. Check https://rbl.efnetrbl.org/?i=$ip for details.";
}
/* Puede incluir otros archivos de configuración */
/* include "klines.conf"; */
/* Configuración de la red */
set {
network-name "EjemploNET";
default-server "irc.ejemplo.org";
services-server "services.ejemplo.org";
stats-server "stats.ejemplo.org";
help-channel "#Ayuda";
cloak-prefix "Clk";
prefix-quit "Quit";
/* Las claves de ocultación deben ser las mismas en todos los servidores de la red.
* Se utilizan para generar hosts enmascarados y deben mantenerse en secreto.
* Las claves deben ser 3 cadenas aleatorias de 80 caracteres cada una (o más).
* y debe constar de minúsculas (a-z), mayúsculas (A-Z) y dígitos (0-9).
* SUGERENCIA: En *NIX, puede ejecutar './unrealircd gencloak' en su shell para dejar
* UnrealIRCd genera 3 cadenas aleatorias para ti.
* On Windows, you can run "C:\Program Files\UnrealIRCd 6\bin\unrealircdctl" gencloak
*/
cloak-keys {
"Oozahho1raezoh0iMee4ohvegaifahv5xaepeitaich9tahdiquaid0geecipahdauVaij3zieph4ahi";
"y otra llave";
"y otra llave";
}
}
/* Configuración específica del servidor */
set {
kline-address 'agrega.una.dirección.de.correo-electrónico'; /* correo electrónico o URL que se muestra cuando un usuario está baneado */
modes-on-connect "+ixw"; /* cuando los usuarios se conecten, obtendrán estos modos de usuario */
modes-on-oper "+xws"; /* cuando alguien se convierte en IRCOp obtendrá estos modos */
modes-on-join "+nt"; /* modos de canal predeterminados cuando se crea un nuevo canal */
oper-auto-join "#opers"; /* Los IRCOps se unen automáticamente a este canal */
options {
hide-ulines; /* ocultar líneas U en /MAP y /LINKS */
show-connect-info; /* mostrar mensajes de "buscando su nombre de host" al conectarse */
}
maxchannelsperuser 10; /* número máximo de canales que un usuario puede /JOIN */
/* El tiempo mínimo que un usuario debe estar conectado antes de que se le permita
* use un mensaje SALIR. Con suerte, esto ayudará a detener el spam.
*/
anti-spam-quit-message-time 10s;
/* O simplemente establezca una salida estática, lo que significa que se ignora cualquier razón /QUIT */
/* static-quit "Salida del cliente"; */
/* static-part hace lo mismo para /PART */
/* static-part yes; */
/* Protección contra inundaciones:
* Hay muchas configuraciones para esto y la mayoría tiene buenos valores predeterminados.
* Ver https://www.unrealircd.org/docs/Set_block#set::anti-flood
*/
anti-flood {
}
/* Configuración del filtro de spam */
spamfilter {
ban-time 1d; /* duración predeterminada de una prohibición de *LINE establecida por spamfilter */
ban-reason "Spam/Publicidad"; /* razón por defecto */
virus-help-channel "#Ayuda"; /* canal a usar para la acción 'viruschan' */
/* except "#Ayuda"; canal para eximir de Spamfilter */
}
/* Restringir ciertos comandos.
* Ver https://www.unrealircd.org/docs/Set_block#set::restrict-commands
*/
restrict-commands {
list {
except {
connect-time 60;
identified yes;
reputation-score 24;
}
}
invite {
except {
connect-time 120;
identified yes;
reputation-score 24;
}
}
/* Además de la capacidad de restringir cualquier comando,
* como se muestra arriba. También hay 4 tipos especiales.
* que puedes restringir. Estos son "mensajes privados",
* "aviso privado", "mensaje de canal" y "aviso de canal".
* Están comentados (deshabilitados) en este ejemplo:
*/
//private-message {
// except {
// connect-time 10;
// }
//}
//private-notice {
// except {
// connect-time 10;
// }
//}
}
}
/*
* Lo siguiente configurará la limitación de conexión de "usuarios desconocidos".
*
* Cuando UnrealIRCd detecta una gran cantidad de usuarios que se conectan desde direcciones IP
* que no se han visto antes, entonces se rechazan las conexiones de nuevas IP
* por encima de la tarifa establecida. Por ejemplo a las 10:60 solo se pueden conectar 10 usuarios por minuto
* que no se han visto antes. Las direcciones IP conocidas siempre pueden entrar,
* independientemente de la tarifa establecida. Lo mismo para los usuarios que inician sesión con SASL.
*
* Ver también https://www.unrealircd.org/docs/Connthrottle para más detalles.
* O simplemente siga leyendo los ajustes de configuración predeterminados a continuación:
*/
set {
connthrottle {
/* Primero debemos configurar lo que llamamos "usuarios conocidos".
* De forma predeterminada, estos son usuarios en direcciones IP que tienen
* una puntuación de 24 o superior. Una puntuación de 24 significa que el
* La IP estuvo conectada a esta red durante al menos 2 horas
* en el último mes (o mínimo 1 hora si está registrado).
* La opción sasl-bypass es otra configuración. Significa
* que los usuarios que se autentican en los servicios a través de SASL
* también se consideran usuarios conocidos.
* Usuarios en el grupo de "usuarios conocidos" (ya sea por reputación
* o por SASL) siempre están permitidas en este módulo.
*/
except {
reputation-score 24;
identified yes;
}
/* Los nuevos usuarios son todos los usuarios que no pertenecen al
* grupo de usuarios conocidos. Se consideran "nuevos" y en
* caso de un alto número de tales nuevos usuarios que se conectan
* están sujetos a limitación de velocidad de conexión.
* Por defecto la tarifa es de 20 nuevos usuarios locales por minuto
* y 30 nuevos usuarios globales por minuto.
*/
new-users {
local-throttle 20:60;
global-throttle 30:60;
}
/* Esto configura cuando este módulo NO estará activo.
* La configuración predeterminada deshabilitará el módulo cuando:
* - El módulo de reputación se ha estado ejecutando durante menos de
* una semana. Si se ejecuta menos de 1 semana, entonces hay
* datos insuficientes para considerar quién es un "usuario conocido".
* - El servidor acaba de iniciarse (primeros 3 minutos).
*/
disabled-when {
reputation-gathering 1w;
start-delay 3m;
}
}
}
/* HISTORIAL DE UN CANAL:
* UnrealIRCd tiene el modo de canal +H que los usuarios pueden usar para volver a leer
* los mensajes del canal, antes de que se unieran. Para información general
* en esta función, lee https://www.unrealircd.org/docs/Channel_history
*
* El historial del canal puede ser configurado vía set::history. Los valores predeterminados
* son probablemente buenos para ti, pero si está en un sistema con poca memoria
* o tiene miles de canales, entonces es posible que debas volver a verificar. Lee
* https://www.unrealircd.org/docs/Set_block#set::history para las opciones.
*
* Además de eso, puedes tener "persistent channel history", cual
* significa que el historial del canal se almacena encriptado en el disco
* para que se conserve entre reinicios del servidor IRC, lee
* https://www.unrealircd.org/docs/Set_block#Persistent_channel_history
* La función de historial persistente NO está habilitada de manera predeterminada
* porque usted necesita configurar un bloque de secreto { } para ello. Un sencillo
* ejemplo con contraseñas almacenadas directamente en el archivo de configuración.
* Para obtener una mejor seguridad, lee https://www.unrealircd.org/docs/Secret_block
* las diferentes alternativas para que no almacenes contraseñas directamente en la configuración.
*/
//secret historydb { password "somepassword"; }
//set { history { channel { persist yes; db-secret "historydb"; } } }
/* Finalmente, es posible que desee tener un MOTD (Mensaje del día), esto puede ser
* se hace creando un archivo de texto 'ircd.motd' en su directorio conf/.
* Este archivo se mostrará a tus usuarios al conectarse.
* Para obtener más información, consulte https://www.unrealircd.org/docs/MOTD_and_Rules
*/
/*
* Problemas o necesita más ayuda?
* 1) https://www.unrealircd.org/docs/
* 2) https://www.unrealircd.org/docs/Main_Page/es <- ¡responde el 80% de tus preguntas!
* 3) Si aún tiene problemas, puede obtener soporte:
* - Foros: https://forums.unrealircd.org/
* - IRC: irc.unrealircd.org (SSL en el puerto 6697) / #unreal-support
* ¡Tenga en cuenta que primero le pedimos que lea la documentación y las preguntas frecuentes!
*/