OpenMandriva: Mageia (Mageia 9) 20/Agosto/2023 - Anuncio, Descargas.
Blogdrake recomienda descargar las imágenes de instalación (iso) vía torrent para evitar corrupción de datos, aprovechar mejor su ancho de banda y mejorar la difusión de las distribuciones.
Introduccion a Shorewall
Utilizo Mandriva desde que era Mandrake y siempre me fue suficiente administrar la seguridad via Centro de control de Mandriva el cual nos permite de manera rapida realizar una configuracion basica de shorewall, pero necesité implementar otro tipo de medidas o reglas, por lo cual decidi aprender a administrar mi seguridad directamente en los archivos de shorewall.
A continuacion trabajaremos con mandriva 2008 o 2009 y realizaremos un ejemplo de cortafuegos con dos (2) interfaces de red fisicas y una (1) interfaz virtual que espero sea de ayuda a alguien de la manera como me han servido los aportes realizados por otros.
¡Que es shorewall!
Shorewall es es una robusta y extensible herramienta de alto nivel para la configuración de muros cortafuego. Shorewall solo necesita se le proporcionen algunos datos en algunos ficheros de texto simple y éste creará las reglas de cortafuegos correspondientes a través de iptables. Shorewall puede permitir utilizar un sistema como muro cortafuegos dedicado, sistema de múltiples funciones como puerta de enlace, dispositivo de encaminamiento y servidor.
Si y hoy vamos a realizar una explicacion de como configurar este mismo para un sistema de multiples funciones. Para esto debemos editar los archivos que se encuentran en la carpeta /etc/Shorewall.
Aclaremos de manera sencilla dos conceptos basicos :
NAT : es la traduccion que se hace de las direccones IP internas (direciones de la Lan detras del cortafuegos) hacia el exterior; de tal manera que todas las peticiones a internet parecen originarse en el Servidor con la direccion IP publica conectado a Internet.
DNAT : este nos permite la redireccion de puertos de servicios hacia una red interna o privada; Ej. tenemos funcionando en la red interna un servidor de... lo que sea (correo, paginas web, ftp etc) y necesitamos que las peticiones desde internet para ese servicio se redirijan hacia dicho servidor.
Comencemos con la edicion de archivos y definicion de algunos parametros.
Declaramos las zonas en el archivo /etc/shorewall/zones
las zonas que se declaran aquí son de gran importancia ya que estas son como la definición de los sitios o ubicaciones en que se divide nuestro entorno a administrar Ej :
###############################################################################
#ZONE TYPE OPTIONS IN OUT
# OPTIONS OPTIONS
#net ipv4 = la zona que define a Internet
loc0 ipv4 = Esta es una zona local
loc1 ipv4 = Esta es otra zona local
fw firewall = Esta zona define a el servidor
#LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE
Declaramos las interfaces en el archivo /etc/shorewall/interfaces
En este se establecen las interfaces fisicas conectadas en nuestra maquina y se asocian a una de las zonas a administrar en el cortafuegos Ej:
###############################################################################
ZONE INTERFACE BROADCAST OPTIONS
net eth2 detect
- eth1 detect
Como podemos apreciar la interfaz eth2 esta vinculada a la zona de internet y la interfaz eth1 no esta vinculada en este archivo a ninguna zona, lo anterior por que luego a partir de esta vamos a definir otra interfaz y zona virtual en el siguiente archivo, o sea definimos dos zonas y las asignamos a dos subredes diferentes.
¿Para que nos sirve esto? Entre otros de este modo puedes manejar bajo la misma red y tarjeta fisica dos rangos de red a los cuales les puedes asignar permisos diferentes.
Declaramos las dos zonas locales ligadas a la interfaz eth1 en el archivo /etc/shorewall/hosts
###############################################################################
#ZONE HOST(S) OPTIONS
loc0 eth1:192.168.10.0/24
loc1 eth1:192.168.20.0/24 = esta subred esta declarada en la interfaz virtual
Creación de IP virtual
Aclaro que previamente debemos crear una IP de red virtual en nuestra maquina, vamos a ver como se hace de la manera mas sencilla; simplemente copiamos el archivo /etc/sysconfig/network-scripts/ifcfg-eth1 que en nuestro ejemplo corresponde a la interfaz de IP interna y la renombramos por ejemplo ifcfg-eth1:1, editamos el contenido interno de este donde cambiamos algunos parametros como :
DEVICE=eth1:0 = la interfaz a la que pertenece
IPADDR=192.168.20.1 = la IP
NETWORK=192.168.20.0 = la subred
BROADCAST=192.168.20.255 = la difusion
reiniciamos la red y listo tenemos una interfaz de red virtual activa en nuestro equipo; puedes proceder a hacerle las pruebas necesarias.
Continuando con shorewall declaramos las politicas de funcionamiento iniciales para nuestro cortafuegos en el archivo /etc/shorewall/policy
Es como especificar que hacer con los invitados y extraños que se acerquen a la puerta de nuestra casa.
###############################################################################
#SOURCE DEST POLICY LOG LIMIT:BURST
# LEVEL
loc0 net ACCEPT = todo lo que venga de esta zona a la internet acepte
loc0 fw ACCEPT = todo lo que venga de esta zona al cortafuegos acepte
loc1 net ACCEPT = todo lo que venga de esta zona a la internet acepte
loc1 fw ACCEPT = todo lo que venga de esta zona al cortafuegos acepte
fw loc0 ACCEPT = todo lo que venga del cortafuegos a esta zona local acepte
fw loc1 ACCEPT = todo lo que venga del cortafuegos a esta zona local acepte
fw net ACCEPT = todo lo que venga del cortafuegos a esta internet acepte
net all DROP info = todo lo que venga de internet ignorelo
all all REJECT info = todo lo demas rechacelo
Declaramos las interfaces a enmascarar en el archivo /etc/shorewall/masq
Es en este que le decimos a nuestro cortafuegos que nos mascareé a través de la interfaz conectada a internet las redes internas o sea que con esta regla compartimos el acceso a Internet.
###############################################################################
#INTERFACE SOURCE ADDRESS PROTO PORT(S) IPSEC MARK
eth2 192.168.10.0/24 = que via la interfaz conectada a internet nos deje salir la subred anterior
eth2 192.168.20.0/24 = que via la interfaz conectada a internet nos deje salir la subred anterior
Declaramos las reglas o comportamiento a seguir acorde al requerimiento, en el archivo /etc/shorewall/rules.drakx
esta declaración realmente se debe realizar en el archivo rules solo que en Mandriva el contenido de este es una redirección al archivo nombrado anteriormente; en este apartado por motivos de seguridad cambio los puertos reales en los que los servicios estan escuchando pero dejo un indicio del servicio representado, donde en el inicio ustedes ya saben que representa cada zona.
ACCEPT net fw udp dns -
ACCEPT net fw tcp apache,dns, ssh,ftp -
ACCEPT net fw icmp 8 - - 20/sec:3
ACCEPT+ fw net tcp http - - - squid
REDIRECT loc0 squid tcp http - - 20/sec:10 = redirecciono toda la red de la zona a squid
REDIRECT loc1 squid tcp http - - 20/sec:10 = redirecciono toda la red de la zona a squid
REDIRECT fw squid tcp http -
DNAT net loc0:IP local tcp 1234,123 - = redireccionamos lo que venga de internet al puerto 1234 y 123 a la IP interna de un servidor de (correo, ftp ssh, etc.) que corre en nuestra red lan.
Te aclaro lo que no puedes hacer con el wizard de seguridad de mandriva es la creacion y asignacion en shorewall de la interfaz virtual, el DNAT o redireccion de puertos hacia un servidor interno, la asignacion de la metrica 20/sec:10 que significa que se permiten 20 conexiones por segundo con rafagas de a 10, etc.
Debes configurar los servicios Squid y el Dhcp para que se ajusten a tus necesidades al compartir el acceso al internet.
Espero haber sido lo mas claro y real posible ya que esto lo hice en tiempo laboral con las concebidas interrupciones y algo se me pudo pasar, pero si no es así no lo hubiese hecho.
- Blog de optimista
- Entra a tu cuenta o crea una para poder comentar.
Usuario
# 123188 Shorewall - Usuarios VIP
Que tal,
Una consulta, si quisiera que los gerentes de mi empresa eviten ser filtrados por alguna regla de mi shorewal, como podria hacer?.
Actualmente lo tengo instalado en un ubuntu 10.04: shorewall + Squid transp + dansguardian.
Gracias de antemano.
BOFH
# 123189 Por favor las preguntas en el
Por favor las preguntas en el foro servicio tecnico
http://blogdrake.net/foros/consultassoporte
Además este foro trata de las distribuciónes Mageia https://www.mageia.org/es/ y OpenMandriva https://openmandriva.org/
Aquí no nos gusta weabuntu ni culiaobuntu ni nada que acabe en buntu.
Muy Suyo
Her DoctorBOFH
BOFH
# 123190 Muy bien... pero mal
He realizado una lectura rápida, y sin entrar en analizar las reglas en si, te indico que cometes un error de bulto con los ficheros. en particular con rules.drakx.
El fichero /etc/shorewall/rules es el que define las reglas del cortafuegos, y en Mandriva y Mageia este fichero tiene una directiva INCLUDE para que añada las reglas definidas en rules.drakx que es generado por drakfirewall, es decir, por la herramienta que según tus palabras nos permite de manera rapida realizar una configuracion basica de shorewall.
Con eso quiero decir que cualquier modificación manual que hagas en rules.drakx podrá ser modificada o verse alterada al ejecutar drakfirewall, o incluso puede que tu modificación manual del fichero modifique el comportamiento de la herramienta. En cambio, las modificaciones del fichero /etc/shorewall/rules no se verá alterado por drakfirewall, ni drakfirewall intentará alterarlo.
Por poner un ejemplo, en mi servidor doméstico tengo varios servicios que deben ser accesibles desde internet (http, https, imaps, ftps, sshd) y otros que deben ser accesibles desde mi intranet (cups, smb, saned, nfs, dns, webmin...) y otros que sólo deben estar accesibles desde localhost (smtp y mariadb principalmente). Esto es demasiado complejo como para hacerlo desde drakfirewall, así que he modificado el rules para definir lo que esta accesible desde localhost (en principio, todo), lo que esta accesible desde la intranet y dejo que rules.drakx defina lo que es accesible desde internet, con lo que permitir o no un servicio al exterior lo puedo hacer con un simple golpe de ratón desde drakconf.
Ahora te falta explicar cómo configurar las blacklist en shorewall 4.5 y ya será perfecto ;)
--
Yo no me llamo... siempre sale que comunico.