[IRC-DEV] Lazzy servers

RedStar redstar23 at terra.es
Thu Dec 20 18:00:53 CET 2001


Me gustaría proponer un proyecto para el IRC-DEV si puede ser viable.

Este proyecto, más o menos ya lo propuse al entrar en la lista de distribución, pero no sabía cómo darle forma. Hace unas semanas, leyendo el lazzyservers.jcea de la distribución del ircd del hispano me hizo 
pensar que sería una buena oportunidad de ofrecer un mejor servicio, ahorrar un buen ancho de banda sin apenas coste de CPU en los servidores.

La idea que ofrecía jcea era la de parchear el servidor para admitir este tipo de servidores o proxies e incorporarlo como parte de éste, pero esto implica modificar mucho código y añadir otro tanto.

Según tengo entendido, el comando setip ya está siendo usado sin problemas, de modo que... ¿y si este proxy se ejecuta en la máquina del servidor pero en un puerto diferente y como un programa diferente?



* Exposición del proyecto:


Implementar un sistema seguro que evite usos maliciosos de la red hispana en el que un cibercentro o empresa con gran número de usuarios (15 o más) pueda "linkar" al hispano como otro servidor de la red 
hispana, limitando sus funciones a las mínimas posibles (difundir mensajes privados por la red, mensajes a canales, etc).

Las ventajas que daría a la red sería:
a) Mayor fidelidad a la red de los cibers y empresas linkadas (podrían ser pequeños proveedores de internet) aumentando el número de usuarios de la red.
b) Posibilidad de fijar ips a aquellas empresas (como cibercentros) donde tengan una ip dinámica tras un proceso de autenticación sencillo.
c) Descargar tráfico en hora punta de los servidores de alta capacidad.
d) Proveedores de servicios de cable (como ono o supercable), adsl (como wanadoo o arrakis) o radio (si entra alguna en escena que se una al hispano) podrían tener servidores de este tipo en cada ciudad 
linkado a su propio servidor.

Dos posibles soluciones:
- Usando un servidor real ircd (y delegar el proceso de filtrado de posibles usos maliciosos al filtro que se instalaría en el servidor).
- Usando un servidor de irc reducido que se comunique con el filtro del servidor (y éste último sería el que realmente linkaría con el servidor de irc de una forma segura).

Realmente, en el primer caso estaríamos hablando de la implementación de un hub de red con filtrado o con uso restringido de los servicios que ofrece el hispano (para evitar, por ejemplo, que éstos tengan una 
copia en su servidor de la base de datos distribuida, etc)y y en el segundo caso estaríamos hablando de un miniservidor ircd que linkaría con un hub especial.

En ambos casos, ese hub especial modificado para evitar y filtrar posibles abusos, linkaría con total seguridad a la red hispana, ya que éste SÍ que está dentro del circulo de seguridad.

Notar que siempre es necesario el filtrado del lado del servidor debido a que un usuario podría programar una aplicación compatible con la nuestra que genere comandos maliciosos.



* Objetivos del proyecto:


- Discusión de la mejor implementación y su viabilidad.
- Averiguar con estadísticas reales si sería realmente beneficioso en cuanto carga y ahorro de CPU y tráfico (del lado de la empresa en cuestión está totalmente claro que sí).
- Evitar modificar en exceso el código del ircd (a ser posible, que todo el filtrado, protecciones, etc se encuentre en el módulo externo sin modificar el código del ircd original).
- Ahorrar el máximo ancho de banda usando compresiones estándar que usen poca carga de cpu en la descompresión (la compresión es indiferente ya que correrá a cargo de una máquina diferente, posiblemente 
con su CPU más desocupada).
- Discutir las aplicaciones de este tipo de proxies (ver más arriba ejemplo de proveedores locales, cibercentros, pequeños isps, etc).



Poseo una extensa experiencia programando sockets en linux/windows, control de procesos, así como clientes de irc para usos diversos (bots, clientes de canal único, etc) y dispongo de experiencia 
programando un sistema muy similar (pero sin llegar a usar el protocolo de comunicación servidor-servidor).

Espero que la idea sea buena, aunque el plazo de realización de un proyecto así puede durar tiempo. El proyecto requeriría de alguien que conociese el protocolo servidor-servidor (¿P10?), personas con 
conocimientos de programación y el protocolo cliente-servidor (RFC2812). Las pruebas se podrían realizar en un ambiente simulado cerrado.

No os entretengo más, demasiado he escrito ya ;) Contadme lo que os parece, y sed críticos.

--------------------------------------------------------------------------------
Remember: Un*x _IS_ user friendly... It's just selective about who it's friends are
http://www.terra.es/personal4/redstar23/





More information about the IRC-Dev mailing list