Demonio de IRC: ircd.
wolkTesis19 de Septiembre de 2012
3.489 Palabras (14 Páginas)404 Visitas
Indice General
1 Nota de los autores 2
2 Introducci´on 2
2.1 ¿Qu´e es el IRC? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 ¿Qu´e es un servidor de IRC? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 ¿Qu´e necesita un servidor de IRC? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.4 Comandos b´asicos de IRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.5 Ataques en el IRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3 Demonio de IRC: ircd 5
3.1 Funci´on de un demonio ircd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2 Descripci´on de ircd-hybrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.3 Obtenci´on e instalaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.4 Configuraci´on previa a la compilaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.5 Compilaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.6 El fichero ircd.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.7 Ejecuci´on del demonio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4 El bot de gesti´on del servidor 9
4.1 Funci´on de un bot de gesti´on del servidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.2 Argobot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.3 Instalaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.4 Edici´on del c´odigo fuente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.5 Compilaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.6 Configuraci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.7 Ejecuci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5 Cliente de IRC 14
5.1 Funci´on de un cliente de IRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.2 Descripci´on de BitchX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1. Nota de los autores 2
5.3 Obtenci´on e instalaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.4 Configuraci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.5 Ejecuci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6 Anexo: El INSFLUG 16
1 Nota de los autores
Este documento es el resultado de un trabajo realizado para el curso ”Administraci´on de un sistema UNIX con Linux”,
impartido en el verano de 1998 en la Escuela Universitaria de Ingenier´ıa T´ecnica en Inform´atica de Oviedo (EUITIO).
Los autores quieren aclarar que no son, ni pretenden ser, expertos en IRC. Por eso, este documento puede contener
errores. Esperamos que sepan perdonarlos y nos los comuniquen.
Para obtener m´as informaci´on sobre Linux, no olvide visitar la p´agina web del Proyecto Lucas,
(http://lucas.ctv.es/) donde se encargan de traducir las gu´ıas de Linux al castellano, y la p´agina de INSFLUG
(http://www.insflug.org/), que coordina la traducci´on de los documentos HOWTO y FAQ).
2 Introducci´on
2.1 ¿Qu´e es el IRC?
El IRC (Internet Relay Chat) surgi´o como una ampliaci´on del programa talk, tratando de superar sus limitaciones. Se
trata de un sistema de conversaci´on en tiempo real a trav´es de redes de ordenadores y, por supuesto, de Internet. Las
principales diferencias con el talk son las siguientes:
Incorpora un protocolo mucho m´as elaborado, independiente de la plataforma.
Posibilidad de conversaciones en las que intervengan m´as de dos participantes: el l´ımite depende s´olo de las
posibilidades de los servidores.
Organizaci´on de las charlas en forma de m´ultiples canales: por establecer un s´ımil, los canales son salones
donde se dan cita un cierto n´umero de usuarios. Esta posibilidad se aprovecha generalmente para realizar
canales tem´aticos, que son el punto de encuentro de personas con inquietudes parecidas.
Posibilidad de conectar varias redes, para poner en comunicaci´on un gran n´umero de usuarios.
Los usuarios pueden ocultar su identidad, lo que facilita conversaciones m´as espont´aneas, pero tambi´en puede
crear riesgos de seguridad.
El IRC naci´o hace diez a˜nos, cuando el finland´es Jarkko Oikarinen escribi´o el primer programa para poder efectuar
conversaciones con una estructura cliente-servidor. Su expansi´on fue muy r´apida, puesto que pronto se implant´o en la
red nacional finlandesa (FUNET), y posteriormente en Noruega, Suiza y Estados Unidos.
La primera gran red de IRC fue EFNet (1990), y despu´es surgieron otras como Undernet
(http://www.undernet.org), IRCNet, DALNet, StarChat, StarLink, NewLet. Tambi´en existen redes para
las personas de habla hispana, como RedLatina, IRC-Hispano (http://www.irc-hispano.org) o la m´as
reciente, Esnet (http://www.esnet.org). Algunas de estas redes son de grandes magnitudes: por ejemplo, en
Undernet existen m´as de diez mil canales.
2. Introducci´on 3
2.2 ¿Qu´e es un servidor de IRC?
Como se ha comentado, el IRC se basa en redes de ordenadores. En estas redes, al menos un de los ordenadores trabaja
como servidor, y sus funciones son recoger todos los mensajes enviados por los usuarios y reenviarlos. Por tanto, los
mensajes no son enviados directamente del emisor al destinatario, sino que pasan por el servidor.
Esta filosof´ıa de funcionamiento permite al administrador del servidor ejercer un cierto control: por ejemplo, puede
impedir el acceso a determinados usuarios, ampliar las posibilidades de conversaci´on comunicando varios servidores
o limitar las posibilidades de los usuarios. Adem´as, hace que todos los usuarios se conecten, en principio, en igualdad
de condiciones, excepto el administrador, por supuesto.
2.3 ¿Qu´e necesita un servidor de IRC?
Para que un sistema UNIX pueda hacer las funciones de un servidor de IRC, es suficiente con lo siguiente:
Tener acceso a la red.
Instalar el software apropiado.
Dando por supuesto el primer apartado, vamos a puntualizar m´as en el segundo. ¿Qu´e tipo de software se requiere?
En principio, para el establecimiento de un servicio b´asico, es suficiente con ejecutar un demonio de IRC, que se
encargar´a de las tareas descritas en el apartado anterior. Sin embargo, esto proporcionar´a un servicio precario: para
un gesti´on eficiente y autom´atica de la red de IRC, se hace necesario un bot o script, que se encargue de la gesti´on de
usuarios y canales sin intervenci´on por parte del administrador.
Con el fin de poder monitorizar y administrar la red, es conveniente que el servidor disponga tambi´en de un software
cliente de IRC.
2.4 Comandos b´asicos de IRC
Antes de describir los comandos, es necesario conocer cu´al es, a grandes rasgos, la filosof´ıa del funcionamiento del
IRC. Como ya ha quedado dicho, las conversaciones se organizan en canales, que a su vez se identifican por un
nombre (generalmente comienza con el s´ımbolo &), y un topic, que es una breve descripci´on de los temas a los que
est´a dedicado el canal.
Para poder dar coherencia a las conversaciones, los usuarios tambi´en est´an identificados por un nombre, que se llama
nick o apodo. Con el fin de poder mostrar una informaci´on m´as expl´ıcita sobre el usuario, muchas redes exigen
introducir el nombre completo y direcci´on de correo electr´onico para poder acceder; sin embargo, la mayor´ıa de
usuarios aprovecha estos campos para introducir alg´un comentario m´as o menos gracioso.
Cuando un usuario est´a dentro de un canal, cualquier texto que escriba y que no sea reconocido como un comando,
ser´a enviado a todos los dem´as usuarios que forman parte del canal, y se indicar´a el apodo del usuario emisor. De la
misma forma, la recepci´on de mensajes es autom´atica; simplemente aparecen en la pantalla cuando son enviados.
Dentro de un canal existe al menos un usuario que tiene m´as privilegios que el resto. Se conoce como operador (Op),
y tiene, entre otros, el poder de expulsar a otros usuarios del canal.
Un usuario puede estar presente en varios canales, aunque para poder disfrutar plenamente de esta posibilidad, es
necesario tener un software cliente potente y manejable.
Los comandos que se van a describir ahora son los m´as elementales que debe conocer un usuario para participar en
las conversaciones. Estos comandos son enviados por el cliente al servidor, quien se encarga de reaccionar de forma
adecuada ante ellos.
...