Advertencia
Este documento es privado y es de uso exclusivo de sus autores y de SKINA TECH. Cualquier uso sin una autorización escrita es contra la ley de derechos de autor y de propiedad intelectual, y será motivo de una acción legal.
Este documento describe la forma en que se debe montar la distribución para firewall IPCOP con estandares de SKINA.
Meta el CD y hagale .. es bastante transparente.
Las particiones estandar de IPCOP son 3
| / | hda4 | El root ( 1G) |
| /boot | hda1 | Donde dejan los kernels (15M) el mas pequeño |
| /var/log | hda2 | Las bitacoras esta es la mas grande |
Es un poco diferente de la instalacion habitual debido a que no contaremos con un mini ipcop. Toca hacer una instalacion basica con el cd de ipcop, este no da la opcion de personalizar el particionamiento, una vez instalado hace backup del kernel (/boot/*) y los modulos (/lib/modules/*). Luego de esto hace el procedimiento estandar de instalacion de modelo desde el principio y una vez descomprimido el modelo le restauran el backup del kernel y los modulos, configuran los links de las particiones y listo.
Instalacion y manejo de Paquetes
IPCop no tiene manejador de paquetes entonces trabaja a punta de tar.gz, no hay repositorio pero muchos de los paquetes utilizados se pueden encontrar en los siguientes sitios:
-http://www.ipcop.org/index.php?module=pnWikka&tag=IPCopAddons
-http://www.ipadd.de/binary.html
-http://www.ban-solms.de/t/IPCop.html
-http://mh-lantech.css-hamburg.de/ipcop/download.php?view.205
NOTA: por el momento los paquetes se estan dejando en /root
Herramientas utiles
debe instalar los siguientes paquetes para tratar de acoplarlo un poco a los estandares de skina:
-para linea de comandos: mc , openssh, ncftp, nmap, lynx, rsync, telnet, iptraf, hping, mtr.
-para la interfaz web: hddtemp, jnettop, lsusb, mbmon, munin-ipcop, smartctl, autoshutdown, guiports, linetest, wio, xtgraphs.
-servicios: pptpd, sarg_ipcop, ZERINA, BlockOutTraffic, ipcop-advproxy, ipcop-calamaris, ipcop-urlfilter.
Usuarios
Los usuarios en ipcop salen del estandar de skinatech ya que no me permite crear usuarios adicionales. Existen 3 usuarios en ipcop: root, admin y backup, entonces a root le dejamos la contraseña estandar del momento y a backup y admin se deja la contraseña estandar del uusuario skina. A la linea de comandos solo se puede ingresar con root, el usuario admin es para ingresar a la interfaz web de ipcop y el usuario backup es para realizar restauraciones de backups de configuracion.
La Red
IPCop maneja sus interfaces de red o zonas por colores de la siguiente forma:
-red (roja)→Internet
-orange (naraja)→DMZ
-green (verde)→LAN
-blue (azul)→Inalambrica
-como root ejecuta el comando “setup” ahy en la opcion red define:
tipo de configuracion de red
deteccion de controladores y tarjetas asignadas
el direccionamiento de las interfaces y el DNS
-si le quiere meter mano al script la configuracion de Red esta en /var/ipcop/ethernet/settings.
Compresion de bitacoras
Añadir a la configuración de la bitácora compresion, pa que no se llene:
- En /etc/logrotate.conf agregar la linea compress para que comprima todo
Estandares de calidad
Como siempre todos los aportes de skina deben estar en /usr/local/skina
DHCP IPCOP
Parámetros del servidor DHCP
Se puede configurar a través de la interfaz web en la opción de “Servidor de DHCPâ€? de la pestaña de servicios o en los archivos de configuración en /var/ipcop/dhcp/. Los parámetros del servicio que se pueden configurar son los siguientes:
Enabled/Activo: en la interfaz web es un check box para activar el servicio DHCP para la interfaz que desee sea green o blue; en el archivo de configuración /var/ipcop/dhcp/settings se define on o off para activarlo o desactivarlo en la interfaz que desee.
ENABLE_BLUE=off
ENABLE_GREEN=on
Start Address/ Dirección inicial(opcional): aquí define el inicio del rango de direcciones ip que quiere que el servidor conceda.
START_ADDR_GREEN=192.168.1.x
End Address/Dirección final(opcional): define el final del rango de direcciones ip que va a conceder el servidor.
END_ADDR_GREEN=192.168.1.x
Base IP for fixed lease creation/IP Inicial para la creación de concesiones fijas(opcional):
BASE_IP_FIXED_LEASE_GREEN=192.168.1,x
Tiempo de concesión por defecto (mins): define el tiempo en que se da respuesta en el que el servidor renueva o re-confirma la información ip que esta entregando a los clientes.
DEFAULT_LEASE_TIME_GREEN=60
Máx tiempo de asignación (mins): tiempo máximo de concesiones que da el servidor, es decir si se realiza un cambio en la configuración el cambio sera tomado por el cliente después del tiempo estipulado.
MAX_LEASE_TIME_GREEN=120
Sufijo del nombre de dominio: define el dominio.
DOMAIN_NAME_GREEN=gunclub.com.co
Permitir clientes de bootp: activar/desactivar protocolo BOOTP
ENABLEBOOTP_GREEN=off
DNS primario(requerido)/secundario(opcional): define el servidor de nombres para los clientes
DNS1_GREEN=192.168.1.x
DNS2_GREEN=192.168.1.x
Servidor NTP primario/secundario(opcional): define el servidor de protocolo de tiempo
NTP1_GREEN=192.168.1.x
NTP2_GREEN=192.168.1.x
Dirección del servidor WINS primario/secundario(opcional): define la ip del servidor wins (si lo hay).
WINS1_GREEN=192.168.1.x
WINS2_GREEN=192.168.1.x
Opciones DHCP adicionales
puede agregar opciones adicionales en el servidor, en la interfaz web puede adicionarlas digitado el nombre de la opción o seleccionándola de una lista y agregando el valor en sus respectivos formularios, también se pueden adicionar en el archivo de configuración /var/ipcop/dhcp/advoptions con la siguiente sintaxis:
activa/inactiva nombre_de_la_opción valor_de_la_opción off off
ejemplo, la primera linea la opción esta inactiva y la segunda activa
nombre valor off off
on nombre valor off off
Se pueden adicionar opciones a la lista desplegable definiendo las en el archivo /var/ipcop/dhcp/advoptions/advoptions-list
Ejemplo:
option all-subnets-local flag;
Concesiones fijas
Se puede definir concesiones fijas manualmente, esto es muy útil si necesitamos que reservar ip's bien sea para impresoras, servidores, etc. Se puede configurar en el entorno web donde se define Dirección MAC, Dirección IP, Observación, Nombre del Host o FQDN, Dirección IP del router, Servidor DNS y opciones adicionales de boot pxe como next-server, filename, root-path. Estas concesiones queda definidas en el archivo de configuración /var/ipcop/dhcp/fixleases como se muestra en el siguiente ejemplo:
dirección_mac,dirección_ip,activo/inactivo,off,next-server,filename,root-path,observación,nombre_del_host,ip_del_router,servidor_dns
00:19:b9:60:d9:44,192.168.1.200,,,,impresora,servidor,192.168.1.x,192.168.1.x
DNS IPCOP
Ipcop usa un servicio de dns-cache por defecto llamado dnsmasq que se encarga de resolver nombres al obtenerlos de los dns padres bien sea un servidor local o de Internet. Así como la información de caché de DNS de Internet, el DNS en IPCop le permite introducir manualmente cuya dirección que desea resolver a nivel local. Estas podrían ser las direcciones de los equipos locales o máquinas en Internet cuya dirección es posible que desee anular.
La configuración en la interfaz web se encuentra en la pestaña de servicios la opción “corrija hostâ€?.
Agregar un host
Se definen los siguientes parámetros del host que va a añadir: Dirección IP del anfitrión, Nombre del Host, Nombre de dominio, si esta Activo/Inactivo. Los host definidos en esta configuración se reflejan en el archivo /etc/hosts y el archivo de configuración /var/ipcop/main/hosts.
Ordenadores actuales
Esta sección muestra las entradas DNS que se han configurado actualmente, las cuales se pueden editar y borrar
De igual forma se puede editar el archivo /var/ipcop/main/hosts.
En el siguiente ejemplo se muestra la primera linea definido un host activo y en la segunda uno inactivo:
on,192.168.1.x,nombre_host1,dominio.com.co
,192.168.1.x,nombre_host2,dominio.com.co
PROXY IPCOP
IPCop tiene un squid por defecto que se configura en la interfaz web en la pestaña servicios→proxy y el archivo de configuracion de squid esta en /var/ipcop/proxy/squid.conf. Lo malo es que es muy basico y no cumple con los estandares de skina, entoces se deben instalar los siguientes addons:
-ipcop-advproxy (configuracion avanzada de squid en gui)
-ipcop-calamaris (para reportes de proxy)
-ipcop-urlfilter (squidguard y configuracion en gui)
-sarg_ipcop (estadisticas de navegacion)
**Advanced Proxy (Squid)
**
ILa configuracion en web gui esta en la pestaña servicion opcion Advanced Proxy. Los parametrosque perimite configurar son los los que se mencionan a continuacion; si le quiere meter mano por consola el archivo de configuracion esta en /var/ipcop/proxy/advanced/settings (no estan todos los paramtros pero si la mayoria) o al archivo de configuracion de squid /var/ipcop/proxy/squid.conf o /etc/squid/squid.conf (link).
Opciones generales
Habilitado en <Interfaz>
Aca habilita el servidor proxy para escuchar las solicitudes en el interfaz seleccionada (verde o azul).
Transparente en <Interfaz>
Si el modo transparente está habilitado, todas las solicitudes de destino el puerto 80 se remitirán a la del servidor proxy sin necesidad de ninguna configuración especial de los cambios a sus clientes.
NOTA: si pone proxy transparente solo redireccionara las peticiones del puerto 80 si hacen alguna por el 443 se baypasea el proxy; no se puede tener proxy transparente y autenticacion; para forzar el uso del proxy es bueno bloquear el trafico de los puertos 80,8080,8000,etc.
Puerto del proxy
í‰ste es el puerto del Servidor Proxy para escuchar solicitudes de clientes. El puerto por defecto es 800.
Nombre visible de host
Si quiere mostrar un nombre de host en especial en los mensajes de error o para los servidores proxy de subida (véase Proxy de Subida→Reenviar la direccion IP del proxy), entonces, lo define aqui. En caso contrario, el verdadero nombre de host del IPCop será utilizado.
E-mail del administrador de la caché
La direccion de correo que se mostrara en los mensajes de error del servidor proxy.
Idioma para los mensajes de error:
Selecciona el idioma con el cual se mostraran los mensajes de error del servidor proxy a los clientes
Formato de los mensajes de error.
Selecciona el estilo con el cual se mostraran los mensajes de error del servidor proxy a los clientes
Suprimir información de la versión
Esto desactiva la caché de información de la versión de Squid que se utilizará en los mensajes de error o en la cabecera HTTP.
Versión de la cache de Squid
Este elemento es de sólo lectura, muestra el release de la caché de Squid binario instalado.
Proxy de subida
Configuración del log
Log habilitado
Esto habilita la función de logs del Web Proxy. Todas las solicitudes de cliente se escribirán en un archivo de log y se puede ver dentro de la interfaz gráfica en “Registros /Registros del proxy”.
Registrar los terminos de la petición
Esto habilita el registro de url's consultadas
Registrar los useragents
Al habilitar esta opcion se ecribe una cadena de useragents en la bitacora /var/log/squid/useragent.log esta no se puede ver en el los registros de la interfaz grafica.
Administración de la caché
—
Puertos de destino
Puertos standard permitidos (uno por línea)
Enumera los puertos de destino habilitados para el estandar HTTP y SSL solucitudes encriptadas HTTPS . Puede definir un solo puerto o un rango de puertos Ej:
80 # http
1025-65535 # puertos sin registrar
Control de acceso basado en la red
Subredes permitidas
Todas las subredes listadas que tienen acceso al servidor proxy, por defecto las redes green y blue estan listadas aqui. Puede agregar otras subredes detras de la green en entornos largos de esta lista. Todas las subredes no listadas aqui tendran bloquedo el acceso web.
Deshabilitar el acceso mediante el proxy
Esta opción impide el acceso directo HTTP a través del servicio interno de proxy a los servidores web en las subredes, tal como se define en “Subredes permitidas”. Esta selección sobreescribe las dos opciones actuales, las cuales administran el acceso HTTP a green y proveniente de blue.
Deshabilitar el acceso mediante el proxy desde otras subredes hacia la interfaz Green
Esta opción impide el acceso directo HTTP a través del servicio interno de proxy aservidores web en green proveniente de cualquier otra subred.
Direcciones IP sin restricciones
Todas las ip's en esta lista se les anularan las siguientes restricciones:
- Restricciones de tiempo
- Limites para transferencias
- Limitacion de las descargas
- Navegador web
- Filtros de tipos MIME
- Authenticacion
- Inicios de sesión por usuario concurrente
Direcciones MAC sin restricciones
Las MAC en esta lista se les anularan las mismas restrcciones mencionadas en “Direcciones IP sin restricciones ”. Esto es util por si las ip's rotan por el servidor dhcp, cambio de segmento, etc. Esta regla solo funciona en las zonas de ipcop (green, orange, blue).
Direcciones IP baneadas
Todas las solucitudes de las ip's en esta lista seran bloqueadas.
Direcciones MAC baneadas
Todas las solucitudes de las MAC en esta lista seran bloqueadas, solo funciona en las zonas de ipcop (green, orange, blue)
Restricciones de tiempo
Aca define el tiempo de operacion del proxy. Define si va a permitir o denegar el acceso web. La aplicacion de “permitir” o “negar” dependerá de las normas sobre el tiempo que desee aplicar. Por defecto está configurado para permitir el acceso todos los días las veinticuatro horas del día.
Límites para transferencias
Aca define las limitaciones del tamaño de cada solicitud de carga y/o descarga. Las cifras se dan en KB. Una de las razones de los límites de transferencia podría ser que usted desea evitar que la descarga de grandes archivos, como imágenes de CD. El valor por defecto es 0 KB para cargar y descargar. Este valor deshabilita cualquier limitación.
NOTA: los limites de carga aplican para todos.
Limitación de las descargas
Puede limitar el ancho de banda de las descargas en general, por cada host y dependiendo del contenido.
Define el limite por maquina o general de la zona (green, blue, orange) en 64, 128, 256, 384, 512, 1024, 3072, 5120 KBit/s.
Define limites basados en el contenido: Archivos binarios,Imágenes de CD y Multimedia.
Filtro de tipos MIME
Donde se listan tipo MIME para bloquear o denegar el acceso de cierto tipo de archivos o aplicaciones. Ej:
Para bloquear descarga de pdf's:
application/pdf
Para bloquear descarga de videos:
video/mpeg video/quicktime
Tambien tiene expresiones regulares lo cual permite reducir las lineas en la lista, por ejemplo si se coloca en la lista:
javascript
se bloquearan los tipos MIME:
application/x-javascript
text/javascript
Navegador web
Puede chequear los navegadores y seleccionar a que navegadores se les permite navegar y a cuales no, si no aparece el navegador en las opciones lo puede definir en el archivo de configuracion /var/ipcop/proxy/advanced/useragents, por ejemplo para agregar el navegador de en modo texto links, pone la siguiente linea:
LYNX,Lynx,(Lynx)
tal como se muestra se definen los valores de nombre, visualizacion y expresion regular separado por comas y sin espacios (solo pueden en la visializacion pone en vez \\- de los espacios).
Privacidad
Aca se definen useragent (informacion del navegador) y refer (informacion del proxy) falsos que se enviaran a los sitios visitados con el fin de protejer la privacidad.
Filtro de URL
Aqui habilita/deshabilita el addon Filtro url (SquidGuard)
Tipo de autentificación
Define el Tipo de autenticacion que van a usar Ninguno, Local, identd, LDAP, Windows o RADIUS. La vaina aqui es curiosa de primerazo al seleccionar algun tipo de autenticacion lo le aparecen los campos para llenarsegun el tipo escojido, tonces toca seleccionar alguno y hacer click en guardar para que nos bote el error de que no a definido parametros y con esto ya aparecen los campos.
Local
identd
Windows
LDAP
Las credenciales se verifican contra un servidor externo utilizando el Lightweight Directory Access Protocol (LDAP). Avanced proxy trabaja con estos tipos de servidores de LDAP:
-Active Directory (Windows 2000, 2003 y 2008 Server)
-Novell eDirectory (NetWare 5.x y NetWare 6)
-LDAP Version 2 y 3 (OpenLDAP)
Los protocolos LDAPS (LDAP seguro) no funcionan con Advanced Proxy.
Opciones generales para LDAP
DN base
Define el nombre distinguido de la raiz del arbol de LDAP po ejemlplo:
dc=skina,dc=com,dc=co
Tipo de directorio LDAP
Selecciona el tipo de directorio LDAP si es Active Directory, Novell eDirecroty, LDAP vesion 2 o LDAP version 3.
Servidor LDAP
Define la ip del servidor LDAP.
Puerto
Pone el puerto por el que se escucha el servicio de LDAP por defecto es el 389.
NOTA: el protocolo LDAPS (LDAP seguro por puerto 636) no esta soportado por Advanced Proxy
Opciones del DN de conexión
Usuario del DN de conexión
pone el nombre distinguido del usuario con el que se haran consultas en LDAP. Por ejemplo:
cn=Admin,dc=skina,dc=com,dc=co
Contraseña del DN de conexión
Define la contraseña del usuario con el que va a hacer las consultas.
SI TIENE HABILITADA LA UTENTICACION ANONIMA PUEDE DEJAR ESTOS DOS CAMPOS VACIOS.
Control de acceso basado en grupo
Define el nombre distinguido del grupo (rama en el arbo de LDAP) al que se le permitira el acceso, este parametro es opcional. Pro ejemplo solo quiero que los del grupo skina puedan tener acceso al proxy:
cn=skina,ou=Groups,dc=skina,dc=com,dc=co
RADIUS
Opciones generales de autentificación
Número de procesos de autentificación
Se indica el número de solucitudes de autentificación procesadas en background.
TTL para la caché de autentificación
Define cuantos minutos se deben conservar las credenciales de autentificacion en la cache por sesion. Cuando el tiempo expira el usuario debe volver a logearse.
Limitar número direcciones IP por usuario
Define el numero maximo de maquinas en que un usuario se puede autenticar al tiempo. Si lo quiere ilimitado deja el campo vacio.
TTL para la caché de usuario/IP
Define cuantos minutos se debe conservar las credenciales de autentificacion por ip.
Pedir autentificación para direcciones de origen sin restricciones
Por defecto se pide autenticacion a las ip's de origen que no tiene restricciones si desea lo contrario desactive esta opcion.
Mensaje del diálogo de autentificación
El mensaje que se muestra en el cuadro de dialigo de autentificacion. Por defecto muestra “IPCop Advanced Proxy Server”.
Dominios sin autentificación
Aca define la lista de los dominios a los cuales pueden ingresar sin tener que utenticarse. Puede definir hosts, dirrecciones ip's, url's completas o dominios y subdominios. Ej:
www.google.com
64.233.161.99
www.google.com/images
*.google.com
LISTO UNA VEZ DEFINIDOS LOS PARAMETROS QUE NECESITA HACE CLICK EN GUARDAR Y REINICIOAR PARA QUE GUARDE Y TOME TODOS LOS CAMBIOS REALIZADOS.
Filtro de URL (SquidGuard)
La configuracion se realiza a travez de la interfaz grafica en la pestaña de Servicios→Filtro URL alli se definen los parametros conocido de SquidGuard, si le quiere metr mano por consola el archivo de configuracion se encuentra en /var/ipcop/urlfilter/squidGuard.conf o /etc/squidGuard/squidGuard.conf (link).
(Vease Valores Agregados Otros servicios) https://zion/egw/index.php?menuaction=wiki.uiwiki.view&lang=es-es&page=Squid
Sarg (estadisticas de navegacion)
-Se edita el archivo de configuracion /var/ipcop/sarg/local/sarg/sarg.conf cambia el titulo y el idioma.
title “Reportes de Acceso de usuarios de IPCop”
language Spanish
graphs yes
graph_days_bytes_bar_color orange
-Verifica el cron con fcrontab -e
-Los reportes de sarg se pueden ver por interfaz grafica de ipcop en Logs→Sarg.
FIREWALL IPCOP
-El NAT de IPCop se configura en Firewall→Reenvio de Puertos.
-Las reglas de acceso se configuran
A) Revise que las tarjetas fueron detectadas en el dmesg y que los modulos (lspci) los esta cargando el kernel
B) Actualice el inventario de las dependencias de los modulos
root@skfw:~# depmod -a
C) prueba carge el modulo al sisitema
root@skfw:~# modprobe sis900
D) puede usar el comando setup y en la opcion red puede configurar los \\“co ntroladores y tarjetas asignadas\\” donde puede hacer que el sistema las detecte el modulo apropiado o los puede definir manualmente.
Es posible que en /var/ipcop/ethernet/ settings este definida una interfaz cargando un modulo que bien puede funcionar para mas de una tarjeta, esto hace que el sistema suba aleatoreamente el harware, para evitar esto hay que tenr en cuenta 2 cosas.
A) Procurar que las tarjetas de red sean de diferente tipo de harware (marca, version, fabricante, etc).
B) Si las tarjetas son diferentes es mejor no definir un modulo comun inclusive si este funciona, lo mas recomendable es que el sistema las dete cte, esto se puede hacer digitando el comando setup en la opcion red, \\“controladores y tarjetas asignadas\\”.
C) Algunas veces la autodeteccion de modulos del sistema solo permite detectar la interfaz que no haya subido, lo mejor es continuar con el proceso y tomar nota del modulo que detecto para luego duplicar el problema reiniciando la maquina y al repitir el proceso obtener los otros modulos, de esta manera se puede editar manualmente el archivo de config uracion /var/ipcop/ethernet/settings y poner manualmente los modulos correctos para cada interfaz.
# permitir smtp para algunas ip's/sbin/iptables -A CUSTOMFORWARD -p tcp -i eth0 -s x.x.x.x --dport 25 -j ACCEPT/sbin/iptables -A CUSTOMFORWARD -p tcp -i eth0 -s x.x.x.x --dport 465 -j ACCEPT# reporte trfico que no proviene del servidor de correo/sbin/iptables -A CUSTOMFORWARD -p tcp -i eth0 -s ! y.y.y.y --dport 25 -j LOG --log-prefix "SMTP"/sbin/iptables -A CUSTOMFORWARD -p tcp -i eth0 -s ! y.y.y.y --dport 465 -j LOG --log-prefix "SMTP-SSL"# bloquear el resto de trafico SMTP saliente/sbin/iptables -A CUSTOMFORWARD -p tcp -i eth0 -s ! y.y.y.y --dport 25 -j REJECT/sbin/iptables -A CUSTOMFORWARD -p tcp -i eth0 -s ! y.y.y.y --dport 465 -j REJECT
Remplace x.x.x.x con las ip diferentes del servidor de correo a las que les va a permitir trfico SMTP.Remplace y.y.y.y por la ip del servidor de correo.
-http://www.ipcop.org/1.4.0/en/admin/html/services.html
- http://www.ipadd.de/
-http://www.mhaddons.tk/
-http://www.ban-solms.de/
FIN
15-Marzo-2006 J.E.Gomez v1.0 Primera version
20-Febrero-2008 J.F Saganome v1.1
24-Marzo-2009 A. F. Vilardy v1.2
21-Abril-2009 A. F. Vilardy v1.3
18-Mayo-2009 A.F. Vilardy v1.4