Está en: » Artículos »

Router, firewall, proxy… bajo una máquina potente o poco potente

Router, firewall, proxy… bajo una máquina potente o poco potente

Hace ya tiempo que desistí de las horrendas funcionalidades de los router que ofrecen las operadoras de comunicaciones. Y es que cuando deseas una buena funcionalidad (y en este caso sólo hablo de enrutar), se suelen tener problemas varidados y habituales.

¿Qué decir de esos supuestos firewall que traen algunos? No creo que el cortafuegos que incorpora Windows XP sea tan deprimente (no puedo asegurarlo ya que no utilizo la plataforma Windows -bueno, sólo para probar algunos diseños-).

Ya hace basante que un cliente me preguntó que cómo podía controlar los accesos a internet de sus empleados. Por entonces no conocía muchas plataformas libres para dicho propósito, pero por no resignarme a ese caro y pesado ISA Server, me puse manos a la obra a buscar alguna buena solución abierta.

En dicha búsqueda, encontré muchas más soluciones de las que esperaba. Desde variantes de GNU/Linux hasta OpenBSD o FreeBSD, algo que me dió bastante alegría, ya que para controlar una red bajo un Directorio Activo de Microsoft pensaba que me tendría que limitar a ISA Server.

Bueno, detallo algunas impresiones de los más interesantes proyectos que encontré:

IpCop

pantallazo de ipcop

pantallazo de ipcop

  • Sistema GNU/Linux basado en un kernel 2.4 (menor peso para máquinas antiguas).
  • Es una distribución muy ligera con unos requerimientos mínimos (para el sistema base sin addons bastará con un 486 con 16 Mb. de ram).
  • Es un proyecto completamente libre y no dependiente de ninguna empresa.
  • Incorpora de base Un kernel 2.4.x (con su correspondiente cortafuegos), proxy (squid), DHCP, caché DNS, control de tráfico mediante netfilter, vpn, sistema de tiempo (NTPD) y un sistema de registro (creo que syslog).
  • Su instalación es bastante sencilla, partiendo desde un cd que ocupa escasos 100 Mb.
  • Su administración está basada en una interface web, muy sencilla y útil.
  • Permite añadir funcionalidades extra mediante addons (muy buenos y útiles).
  • Bien traducido a muchos idiomas.

smoothwall

pantallazo de SmoothWall

pantallazo de SmoothWall

  • Proyecto iniciado sobre julio de 2000.
  • Inicialmente Ipcop fué un fork de smoothwall, ya que este proyecto quedó bastante tiempo estancado.
  • Se basa también en una completa distribución GNU/Linux.
  • Al contrario que ipcop, utiliza un kernel 2.6.x.
  • Prácticamente las mismas características que el paquete base de ipcop.
  • También permite addons (la mayoría de los disponibles para ipcop también lo están para smoothwall).
  • Tiene una rama comercial que incluye más herramientas y soporte técnico.

eBox

pantallazo de eBox components

pantallazo de eBox components

  • Es un sistema más allá de un simple cortafuegos / enrutador.
  • Está desarrollado por dos empresas (españolas) y licenciado como GPL.
  • Se basa en la distribución GNU Debian y es un sistema bastante pesado.
  • Buen soporte de idioma en Inglés y español (desconozco los demás).
  • Integra todo lo detallado en ipcop y además:
  • Servidor/cliente OpenLDAP
  • Servidor DNS (BIND)
  • Servidor proxy (squid) con todas sus características.
  • Servidor de correo (postfix).
  • Mensajería instantánea bajo el protocolo libre jabber (jabberd).
  • OpenVPN
  • Almacenamiento compartido y autentificación para equipos windows (SAMBA).
  • Sistema de impresión (CUPS).
  • Es un muy buen sistema, pero requiere una máquina potente para sacarle un buen partido

m0n0wall

pantallazo de m0n0wall

pantallazo de m0n0wall

  • Es una distribución del estilo de ipcop pero basada en el sistema freeBSD.
  • No puedo detallar mucho sobre la misma ya que prácticamente no la he utilizado pero sí puedo decir que lo poco que la usé, me dejó muy buen sabor de boca.
  • Bastantes funcionalidades, pero requiere algunos conocimientos adicionales.

pfSense

pantallazo de pfsense

pantallazo de pfsense

  • Muy similar a m0n0wall y también basada en freeBSD.
  • Tampoco la he utilizado lo suficiente como para dar una crítica razonable, pero diré que es algo menos famosa que m0n0wall.

Hay otras muchas soluciones, pero las dejaré para futuros artículos.

Bueno, ni decir tiene que si vamos a dedicar una máquina en exclusiva y esta es potente, lo que más servicios y opciones nos dará es el proyecto ebox, ya que aparte de contener más servicios, integra un útil sistema de tratar todo como objetos (usuarios, grupos, servicios, direcciones de red…). Aparte, al estar basado en debian, podemos instalar una serie de software adicional que necesitemos con relativa facilidad.

Si por el contrario tenemos una máquina poco potente, o una máquina potente pero que debe ofrecer otros servicios no contenidos en ebox (servicios windows), la solución que más se ajustó a mi gusto y necesidades es ipcop (virtualizado).

La cuestión es que tras estas soluciones, analicé las necesidades del cliente y tomé mi decisión. El cliente tiene una buena máquina corriendo un Windows 2003 con un directorio activo y vario software personalizado. Tambien tiene una máquina menos potente (IBM x206 -si mal no recuerdo- p4 512mb) la cual deseaba tener como directorio activo de respaldo y apoyo (poco antes se había caido el directorio activo de la otra máquina y tuve que pasar una noche al completo con otro compañero levantando la máquina).

Así que después de analizar los sistemas, y ya que la segunda máquina sólo era un respaldo del directorio, procedí a incorporar una nueva tarjeta de red, instalar un sistema de virtualización (en este caso la elección fué un vmware server), e instalar dentro del mismo un ipcop con el addon advanced proxy el cual autentificaba los usuarios, el addon block out traffic el cual me permite configurar completamente el cortafuegos (cortando los puertos de conexión para messenger y demás servicios no necesarios) y Update Accelerator que me permite cachear las actualizaciones de windows update de manera que los equipos lo descargaban directamente desde esta máquina en vez de saturar el ancho de banda bajando cada actualización cada máquina.

Ni que decir tiene que el addon advanced proxy, me permitió autentificar los usuarios contra el directorio activo de Microsoft, por lo que ya tenía la solución que el cliente necesitaba y a un coste aceptable.

Tan bién funcionó el sistema, que actualmente tengo varios clientes corriendolo de la misma forma, e incluso lo tengo funcionando en mi red local (con el router en monopuesto) bajo kvm (con la distribución de virtualización proxmox) y con un rendimiento expléndido (desde que lo instalé, se acabaron los problemas de cuelgues del router).

Hay un módulo bastante bueno para ipcop el cual nos permite escanear todo el tráfico entrante y saliente, analizarlo (para temas de virus en equipos windows) y acer las acciones pertinentes configuradas.

Dicho módulo se llama copfilter y principalmente incorpora:

  • Proxy/analizador de correo para pop e imap
  • Proxy/analizador de correo para smtp
  • Proxy/analizador de tráfico http, bloqueando incluso los banner publicitarios.
  • Antivirus GPL Clamav.
  • Monitorizador de servicios en tiempo real.
  • Sistema de reportes mediante correo electrónico.
  • Filtro antispam para el correo

Comentarios

  1. mrks dice:

    Gracias por la información.
    Me has dado una buena solución para lo que necesitaba.
    Por cierto, ya tienes un «sindicado» más

  2. Me satisface que te haya sido útil la información.
    Saludos y espero que nos cuentes tu experiencia…

  3. Anónimo dice:

    Me intereso bastante pero como conecto el software vmware con la tarjetas fisicas

  4. Se configura al instalar vmware (la edición server es la que utilizo para máquinas que no soportan tecnologías de virtualización en microprocesador).
    Si ya lo tienes instalado, con el comando vmware-config.pl puedes lanzar de nuevo el asistente para reconfigurarlo al completo. Llegado al apartado de red, debes hacer un puente (bridge) para cada interface real que desees utilizar.
    En mi caso suelo utilizar un puente según el número de interface física. Por ejemplo, para eth0, hago un puente con vmnet0. Para eth1, vmnet1…
    Luego, editar la máquina virtual a utilizar para IpCop, creando una interface de red por cada dispositivo de red que vayamos a utilizar en dicha máquina y asignar el puente correspondiente.
    Una vez que hayas instalado IpCop, establece las direcciones correspondientes para cada interface y haz pin a cada ip (lógicamente desde la red a la que esté conectada esa tarjeta de red). Si no devuelve el ping, basta con editar la conexión y cambiar el puente interno de vmware (vmware server permite hacerlo sin detener la máquina) hasta que nos retorne el ping. Hacemos eso con cada interface y ya lo tenemos funcionando.
    Saludos

  5. athos_chile dice:

    Hola, he estado tratando de montar IPCop sobre VirtualBox sin Exito. Virtualbox corre sobre Ubuntu 8.04. Podrías indicar si existe algún tutorial al respecto donde se detalle la configuración de las tarjetas de red en VirtualBox para montar IPCop. Agradecido, Gmo.

  6. Tony dice:

    Hola Miguel Seria interesante, que pudieras ofrecernos un tutorial sencillo, al menos para principantes como yo, o para los que ya saben instalar freebsd, de como hacer un router para compartir internet con dos a mas maquinas en una LAN, y si quieres incluso con algun firewall, teniendo en cuenta que la mayoria de la gente tiene ya un Router ADSL que da IP automatica y que en ese tutorial, deberian de haber 2 tarjetas ethernet para el PC router, una con IP por DHCP y otra con IP estatica. Parece sencillo de decir, pero ya estoy casi a punto de tirar la toalla, porque he probado todo y no consigo hacer que el PC (que quiero hacer con freebsd), comparta internet con el resto.
    Gracias.
    Un saludo

  7. LEWIS dice:

    Hola, Miguel, interesante tu tema. Yo tengo dos lineas adsl para 12 computadores, me gustaria que todos los pcs estuvieran en una sola red, para asi poder controlarlos mediante un control de ciber(tengo un cafe internet), buscado en la web encontré esta propuesta:

    http://img366.imageshack.us/i/multi3lc8.jpg/

    pero no tengo muy claro como configurar un router/firewall en una pc(bajo maquina virtual tipo vmware para no tener que utilizar un computador exclusivo para ello, en lugar de ello en el pc donde tengo el control de ciber instalaria vmwaere y ahí instalaria el router/firewall), seria bueno un tuto, gracias por tu tiempo.

  8. En principio no es sencillo lo queme pide ya que lo interesante es que esta red sea balanceada a través de ambas ADSL. Es un tema no tan sencillo como un bonding, pero sí posible, aunque ya digo que bastante complejo.
    Creo que la nueva versión de ipCop (versión 2 aún en desarrollo) realiza dicho balanceo de una manera relativamente fácil. Puedes probar con la última beta disponible (está a punto de salir la final).

    No sé como trabaja tu software de control para el ciber, aunque supongo que no hace uso de un enrutado a través del equipo principal. Se me ocurre una manera sencilla para que puedas meter todas las máquinas en la misma red.
    Configuras el router 1 con la ip 192.168.1.1 (por ejemplo)
    Configuras el router 2 con la ip 192.168.1.2 (por ejemplo)
    Metes todas las máquinas en dicho rango (192.168.1.x) y a la mitad (o las que te interese), le pones de puerta de enlace la ip del primer router y a la otra mitad la del otro router.
    De esta forma, se quedan todas las máquinas en la misma red pero trabajando con ADSL distintas. Incluso podrías dejar una ADSL (la que mejor rendimiento tenga) para juegos online y vozip (skype por ejemplo) y la otra para los demás equipos (navegación, correo, etc…).

    Supongo que todas las máquinas y routers están conectados mediante un switch (o varios). Si no es así, tienes que conectar ambas redes físicamente (con un cable de router a router bastaría).

    No es un método seguro ni muy eficaz, pero ya te digo, que mientras haces pruebas y decides qué montar (yo te recomiendo un equipo dedicado a estos menesteres) puedes salir del paso con esta solución.

    Si decides probar la última versión en desarrollo de ipCop, necesitarás almenos 3 tarjetas de red en el equipo para el balanceo (2 para los routers y una para la red interna).

    Saludos y suerte con las pruebas…

  9. @Tony
    Siento la demora en la respuesta y más aún el notificarte que no suelo tocar freebsd para estos menesteres. Sí es cierto que lo utilizo en algunos servers para gestionar webs y email ya que da un rendimiento expléndido, pero como router/firewall, hay ya bastantes soluciones (como algunas de las que comento) para hacerlo funcionar sin mayores complicaciones y con una interface de usuario fácil, práctica e intuitiva.

  10. @athos_chile
    No utilizo virtualbox ya que entre otros, tiene el principal problema de que tienes que tener un entorno gráfico activo para que funcione y lógicamente es un derroche de recursos para un servidor (aparte de una mayor dificultad de gestión, etc…).
    De todas formas, te puedo decir que virtualbox normalmente viene por defecto con la opción NAT para la red. Tendrás que configurar tantos puentes (bridge) como necesites para cada tarjeta de red y no creo que haya ningún problema más en la instalación.

    Según veo en una búsqueda rápida, virtualbox ya incluye un método fácil para configurar el puente. De todas formas, con una búsqueda en google se reportan bastantes resultados que a primera vista parecen viables.

    Saludos

  11. Anónimo dice:

    It is a very good web.

    I have bookmarked the website and also I will inform my local freinds over it.

    Gives thanks

  12. mundor dice:

    Hola, hace tiempo que monte Ipcop en la empresa siguiendo las recomendaciones de este articulo. Todo funciona perfecto, y hace la función que debe hacer, pero últimamente tengo un problema, algunos usuarios se me están descontrolando, yo prohíbo una página y al día siguiente ya están metidos en otra similar y así sucesivamente.
    Esto a mi jefe no le gusta y me ha pedido que algunos usuarios puedan ver todo y otros por ejemplo el usuario que se conecta con el login “Juan” solo pueda ver las 10 paginas que necesita para su trabjo, el usuario con login “Pedro” otras 20 y así con aquellos usuarios descontrolados . He intentado hacer esto con IpCop pero no me fue posible. Alguien sabe si se puede hacer, aunque sea con un addon o algo???

  13. Jorge Tamayo dice:

    Saludos, me interesaría descargar el eBox, pero desgraciadamente, desde mi país me es totalmente imposible descargar con una ip fija (Cuba) pues me dice que mi país está en lista de baneados. Algún sitio alternativo para esta descarga, lo agradecería. El servidor que nos bloquea se nombra sourceforge.net.

    Ayudenme please.

  14. @Jorge Tamayo
    Puedes utilizar algún proxy público para la descarga. Por ejemplo, he probado uno y parece que funciona. Lo mismo te va bien:

    Descarga desde proxy ultraunblocker.info
    (Botón derecho, copiar dirección de enlace y luego lo pegas en la barra de direcciones.)

    Si no te funciona, busca en google «proxy público» y ve probando con la url de descarga de ebox.

    Un saludo y suerte

  15. Jangel dice:

    Hola, tengo montado Ipcop y quiero habilitar para que se conecten a una maquina terminal server que esta detras de Ipcop desde internet con diferentes equipos y con diferentes ip’s publicas. He mirado, sin exito, si existia alguna opcion o addon que permita (sin usar clientes vpn) autentificarme (por navegador) desde internet al Ipcop y agregue una regla temporal de acceso a ese equipo externo en Ipcop para acceder a la maquina de terminal server.
    Conoces de algun proyecto que pueda realizar ese tipo de acceso o algo similiar?? Gracias

  16. @Jangel No necesitas ningún addon para esto. Lo único que necesitas es reenviar el puerto de terminal server a la ip del servidor.
    Ve a Firewall -> Reenvío de de puertos
    Protocolo => tcp
    ip de destino => la ip del equipo
    puerto de origen y de destino => 3389 (el mismo número en los 2 campos)

    Agregamos y ya debe estar funcionando.
    Ni que decir tiene, el equipo servidor de terminal server debe tener una ip fija (la que especificamos anteriormente) y este reenvío de puerto también tienes que hacerlo en el router si tienes nat habilitado (multipuesto) que suele ser en el 99% de los casos.

    Saludos…

  17. Jangel dice:

    Muchas gracias por tu pronta respuesta.
    Asi como comentas lo tengo habilitado para las sedes que tengo externas y que ya tienen ip estatica y atacan sobre la ip estatica del terminal server, asi puedo ponerles una regla de filtrado por ip. La historia que estaba mirando es para evitar dejar abierto el puerto 3389 sobre la maquina de terminal server a todo internet, simplemente que los de fuera que no tienen ip estatica se autentificasen de alguna forma (sin usar clientes vpn) para que esa ip publica estuviese permitida durante el tiempo de la conexion. Actualmente esto puedo hacerlo con firewall’s como el Cisco ASA5505 (a traves de https) pero donde va a parar usar herramientas como el Ipcop que son una maravilla.
    Gracias

  18. Jnar dice:

    Gracias mil, muy buena recopilación justo ahora estoy revisando el tema y me ha servido mucho.

  19. Carlos Garcia dice:

    Estimado MIguel primero felicitarte por tu informacion y dedicacion a informar, quiero hacerte una pregunta, tengo una red de 7 equipos con windows Xp compartiendo recursos, se puede integrar ipcop para restringir navegacion en internet a ciertas horas sin tener que tener otra maquina habilitada, es decir el ip cop se puede montar sobre XP

    • @Carlos Garcia ipCop es un sistema operativo. Como tal, puedes virtualizarlo sobre xp (como ejemplo) o tener una máquina dedicada.
      Sin duda, te recomiendo una máquina dedicada.
      ¿Tienes 7 estaciones de trabajo y no tienes ningún servidor? Sorprendente…

      • Carlos Garcia dice:

        Muchas gracias por tu respuesta hoymismo averiguare si el aplicativo que usamos corre bajo Linux, y de todas todas probare la instalacion a ver que tal muchas gracias nuevament

  20. priego2005 dice:

    me gustaria saber si cuentas con algun tutorial paso a paso para la instalacion y configuracion de ipcop o clear os o algun otro ya que soy nuevo en lo referente a servidores y me gustaria iniciar en el software libre

  21. Exewin dice:

    Miguel, ya antes configure clarconnect pero lo que necesito es un router/os que bloquee ciertas paginas duarnte un tiempo lomitado por decirte 8 horas dejando el resto de tiempo sin el bloqueo de contenidos, asi tambien personalizar para que otro grupo de IP no tengan bloqueo a ninguna hora, aparte quiero hacer un filtro de acceso por MAC, y un binding IP-MAC o sea una asociacion entre IP y MAC no se si es mucho pedirle a un ROUTER/OS como IPCOP, CLearOS o si se puede hacer con alguno de ellos.
    Saludos.

  22. Ricardo dice:

    Una consulta, tengo un servidor con ClearOs para todo el tema de seguridad y tengo otro servidor con Windows 2003 con Terminal Server instalado; se desea trabajar con sesiones remotas externas. Pero a pesar que he habilitado el reenvio de un puerto al terminal server y haber creado un regla en las conexiones entrantes, aun no puedo establecer la comunicacion. Que puede estar faltando?.

Deje su comentario

Previsualización de comentario
  1. Anónimo dice:





Pings para esta entrada

  1. […] See original here: Router, firewall, proxy… bajo una máquina potente o poco potente … […]

  2. […] muy al estilo de ipcop o cualquiera de las distribuciones que repasamos en el artículo Router, firewall, proxy… bajo una máquina potente o poco potente.Pero al igual que eBox Plataform, está mucho más orientada a ofrecer muchos más servicios muy […]

  3. […] ClearOS está muy enfocada en su utilización como router gateway (puerta de enlace), servidor proxy, dns, firewall… muy al estilo de ipcop o cualquiera de las distribuciones que repasamos en el artículo Router, firewall, proxy… bajo una máquina potente o poco potente. […]