1. Skip to Menu
  2. Skip to Content
  3. Skip to Footer>

Interesante

  • Cómo utilizar los sockets en Linux
    En este artículo explicaré el funcionamiento básico de los sockets en Linux y veremos dos ejemplos prácticos de su uso. No me meteré en temas de eficiencia o temas demasiado técnicos en la explicación del protocolo IP y de TCP ni UDP. El usuario debe tener unos conocimientos básicos en la programación en Linux así como de redes.

    Para poder probar estos ejemplos necesitas un sistema Linux o Unix. Un compilador de C, yo los he probado tanto con cc como con gcc.

  • Cómo configurar BIND

    BIND es el servidor de nombres de dominio más popular en Internet, que trabaja en todas las plataformas informáticas principales y se caracteriza por su flexibilidad y seguridad. A continuación se puede encontrar tanto la teoría general de los servicios de DNS, como una explicación detallada de los campos y opciones de la configuración de BIND, ejemplos, opciones de seguridad, herramientas de verificación, ligas de información adicional y otras más.

     

  • Cómo clonar discos duros con Linux
    Cualquiera que haya tenido que instalar un parque de 10 - 100 estaciones de trabajo con exactamente los mismos sistema operativo y programas se habrá preguntado si hay un modo mejor - y más rápido - de hacerlo que mover los CDs de caja en caja. Clonar consiste en  - una vez - una estación de trabajo modelo, y después copiarla en todas las demás.
    El propósito de este texto es explorar algunos de los muchos modos de clonar la configuración del disco duro de una estación de trabajo. En el proceso de clonación, utilizaremos las posibilidades nativas de Linux para producir más o menos el mismo efecto que el bien conocido Norton Ghost del mundo de Windows.
  • Cómo instalar Mutt con IMAP

    En esta guía voy a explicar un poco el uso del cliente de correo mutt con el protocolo IMAP.
    mutt es un cliente de correo que soporta muchos formatos de almacenamiento de emails como mbox, Maildir, o MH. Adems de esto, mutt es capaz de conectarse a servidores POP3 e IMAP4. En esta guía tratar el soporte de IMAP en mutt.
    Lo primero de todo es instalar mutt. Dado que es posible que tengais diferentes distribuciones intentaré tratar las más posible:

  • Antivirus y AntiSpam con Postfix

    Bueno, realmente no solo con postfix si no apoyándonos en una gran herramienta, amavisd-new. Inspirado (y basado) en el artículo de Ricardo Galli en BULMA sobre montar Exim4 con antivirus (clamav) y spamassassin integrado. Me dispuse a investigar cómo sería el tema en postfix y aunque al principio dio un poco de guerra, ahí va la solución:

    Se supone que tenemos instalados los paquetes postfix, postfix-tls, amavisd-new, spamassassin y los paquetes de clamav (clamav-daemon clamav libclamav1 y clamav-freshclam). Lo bueno de amavisd-new es que tiene interfaces a clamav y a spamassassin, con lo que 'mataremos dos pájaros de un tiro' es decir, haremos los dos filtrados en un solo paso. Configurar amavisd-new es muy sencillo, editamos /etc/amavis/amavisd.conf y como opciones tenemos que remarcar las siguientes:

  • Cómo instalar Linux

    Introducción

    Uno de los puntos más importantes para instalar Linux es tener listo nuestro disco duro. Parece un tanto raro el comentario pero ciertamente es donde más de un usuario se pierde, especialmente cuando tienen que particionar y cosas así, por lo que lo explicaremos brevemente.

    Dado que actualmente la mayoría de las PC llegan con Windows preinstalado (¿dije la mayoría?, más bien todas), los usuarios no se preocupan por mucho más que sólo prenderla y cuando llega el caso, reinstalar con un CD, pero cuando tiene que hacer que el disco duro contenga otro sistema operativo (incluso otra versión de Windows), necesitar partir (particionar) el disco duro. Y aquí empezamos con los problemas.

    Aquellos afortunados que tengan la posibilidad de adquirir otro disco duro para instalar Linux, pues adelante y se ahorrarán todo lo relativo a particionamiento de este tutorial, pero en caso contrario, pues continuamos.

    Un disco duro se divide, físicamente, en cilindros y cada uno de estos se divide en sectores, regularmente de 512 bytes y es en este espacio donde la información es grabada. En el momento que indicamos que un disco se divida en varias unidades, realizamos el proceso llamado particionamiento, en el que se le asigna un espacio especifico a cada partición.

    Verifiquemos nuestro hardware

    Un elemento que regularmente los usuarios novatos pasan por alto es el relativo a verificar la compatibilidad/estado de su hardware, lo que puede traer como consecuencia que el sistema no quede bien instalado, sea inestable o de plano nos mande por un tubo el instalador, por lo que debemos verificar los siguientes puntos:

    • Revisar que nuestro hardware esté soportado por la distribución que vamos a utilizar.
    • Revisar que funcionen correctamente las tarjetas (red, sonido, módem).
    • Revisar que el disco duro no tenga sectores dañados (debe ejecutarse el scandisk).
    • Si se manifiestan problemas con Windows (lo que no es raro), como que se congele la máquina o no termine de encender, recomendamos enviarla antes a un servicio técnico para que se le revise la tarjeta madre o el estado del RAM.

    Las revisiones de compatibilidad de hardware las pueden buscar en:

                          

                       
                         
                                                                                                             
    Para otras distribuciones deberán revisar la página Web del proveedor.

    En los casos de hardware desconocido o no compatible (caso clásico son los winmodem y softmodem) o que tengamos dañada alguna tarjeta, lo más recomendable es adquirir uno nuevo. Para el caso concreto de los módem, casi cualquiera externo por hardware funciona.

    Para los que no sepan el porque, Linux no soporta ciertos dispositivos y tarjetas debido a que los controladores los hacen los mismos miembros de la comunidad GNU/Linux y esto es posible sólo cuando el fabricante libera las especificaciones de sus componentes, por eso siempre hay un un cierto período entre que un nuevo dispositivo es lanzado y que lo soporte este SO; caso contrario con Windows/Macintosh, ya que los fabricantes mismos son quienes desarrollan y prueban los controladores. El caso de los módem por software (winmodem/softmodem) es especial, ya que diversas funciones que debería manejar el hardware se le relega a que las maneje Windows directamente, lo que es una ventaja para los fabricantes al ser muy baratos de producir, peor que imposibilita su uso fuera del SO de las ventanas.

    Una revisión previa es importante, ya que es frecuente que un usuario incauto simplemente no pueda configurar su módem, tarjeta de red o de sonido y le eche la culpa al sistema operativo, o peor aún cuando un hardware dañado truene la instalación, lo que los lleva a decir "Linux no sirve". El caso es sencillo, son los componentes, no el software. Si aparentemente todo está bien, pues continuamos.

    Antes que nada, respaldamos

    A menos a que seamos masoquistas, hayamos enloquecido o nos caiga mal el propietario de la información, es kamikaze (viento divino o irse de cabeza al barranco, como lo quieran traducir) no respaldar la información del disco duro; por lo que pueden utilizar un quemador de CD's, una unidad de Zip o Jaz o una unidad de red, también pueden utilizar alguna herramienta para generar una imagen de su disco, como:

                                  
                              

                            

    ¿Para que particionamos?

    Los motivos para particionar son varios e incluso es aconsejable aún cuando no se vaya a instalar otro sistema operativo, porque:

    • Especifica partes donde se guarda la información y donde se guardan los programas, de manera que si se corrompe una unidad, no se pierde todo. Útil también con muchos virus que atacan la unidad C de una PC.
    • Mejora el desempeño del disco duro, al tener que leer sectores más pequeños de disco duro y no toda la unidad.
    • Limita el tamaño al que pueden crecer los directorios de diversos usuarios (en ambientes de redes), para evitar que saturen el disco duro y el sistema operativo ya no pueda operar.

    ¿Con que particionamos?

    Desde DOS podemos utilizar una muy confiable pero limitada herramienta llamada >fdisk, la cual puede eliminar y crear nuevas particiones, sin embargo el contenido del disco duro se pierde y no hay manera de recuperarlo. Para activarlo simplemente es necesario, desde el prompt de DOS, teclear fdisk, eliminar todas las particiones existentes y luego crear las nuevas, después de salir de fdisk debemos dar formato las unidades ya que se pierde absolutamente todo. Nota: esta herramienta no puede funcionar desde Windows, es necesario iniciar una sesión de DOS para ello.

    Para particionar mediante fdisk pueden apoyarse en el conocido manual disponible en el sitio del proyecto Linuxdoc: http://www.linuxdoc.org/HOWTO/mini/Partition/partition-5.html.

    Se pueden recuperar particiones creadas con fdisk, pero será mejor ser cuidadoso y leer antes el siguiente manual para soporte: http://www.linuxdoc.org/HOWTO/mini/Partition/recovering.html.

    Otras opciones para crear particiones son:

                

    ¿Cómo divido mi disco duro?

    El tamaño de las particiones dependen del tamaño del disco es lógico que mientras más grande es éste, más espacio puedes dejar a Windows por un lado y Linux por el otro, pero...

    Cuidado. Un aspecto muy importante es el hecho que muchos BIOS, incluyendo los de algunas computadoras nuevas (contra lo que dicen los fabricantes), no pueden iniciar un sistema operativo que se encuentre después del cilindro 1024 (aproximadamente 7,168 MB), por lo que al determinar el tamaño debemos cuidar donde colocaremos la partición de Linux.

    En principio, a cada sistema operativo hay que dejarle el espacio suficiente para que trabajo, lo cual es variable, por ejemplo, Windows 95 ó 98 pueden funcionar dentro de particiones de 3 GB, con espacio para nuestras aplicaciones y archivos, pero Windows 2000 necesita de al menos 8 GB para trabajar bien como estación de trabajo (como servidor es mucho más); Red Hat necesita al menos de 600 MB para una instalación mínima, pero yo en lo personal dejo entre 2 y 3 GB sólo para el sistema operativo, aparte va el espacio para usuarios, archivos de bitácora y demás; es cosa de como se acomoden y lo que vayan a cargar para determinar cuanto espacio necesitan.

    Otro comentario es que, regularmente, Windows debe ir en la primera partición y que este sistema operativo es el "propietario" del Master Boot Record (MBR), que se ubica en el sector 0 del disco y que tiene la información para el arranque de (los) SO(s).

    Hace mucho tiempo cuando se utilizaba Lilo como arrancador para GNU/Linux, existía la limitación de tener que instalar éste y la partición que contuviese a /boot antes del cilindro 1024 del disco duro. Siendo que actualmente casi todas las distribuciones de GNU/Linux utilizan Grub, esta limitación ya no la hay.

    Pueden obtener más información en:

                              

    ¿Cómo identifico la unidad donde voy a instalar Linux?

    Cuando vemos un disco duro o unidades dentro de Windows, se nos presentan como letras del abecedario (C, D, E, etc.) pero dentro de Linux, es bastante diferente, ya que su estructura semeja un árbol donde cada partición y dispositivo de lectura/escritura se representa como un directorio, los nombres de las unidades de disco duro son:

    • hda: disco duro principal
    • hdb: disco duro secundario
    • hda1: primera partición del disco duro principal.
    • hdb2: segunda partición del disco secundario

                 
                                
                      
                            

    Ahora, para ejemplificar todo este proceso, supongamos que tienen un disco duro de 20 GB y generan dos particiones, uno de 5 GB para Windows y el resto para Linux, entonces es hda1 (Windows) y hda2 (Linux), siendo en este último donde crearíamos las particiones del sistema.

    ¿Qué particiones necesito para Linux?

    NOTA: Estas particiones se crean al momento de instalar, no de dividir el disco duro para varios sistemas operativos, pero es importante que las conozcan de antemano.

    En principio sólo se pueden montar tres y es suficiente para que funcione:

    /boot
    Es la partición donde se leen los parámetros para iniciar el sistema.
    Requiere al menos 75 MB en Red Hat Enterprise Linux 3.0 y White Box Enterprise Linux 3.0. Asignar más espacio puede considerarse desperdicio.
    / o raíz
    Es donde se instalarán los componentes del sistema operativo.
    Requiere de 350 a 512 MB.
    swap
    Espacio físico para la memoria virtual del sistema.
    Debe asignarse el doble del tamaño del RAM físico.
    Esta será siempre la última partición del disco duro.
    No se asigna punto de montaje.

    Otras particiones son:

    /usr
    Se trata del segundo directorio en cuanto a jerarquía en el sistema. Contiene la mayoría de los binarios (ejecutables), bibliotecas compartidas, manuales, datos de aplicaciones e imágenes que utiliza el sistema, cabeceras de desarrollo, el árbol del kernel y documentación.
    Requiere al menos 1.5 GB en instalaciones básicas. Debe considerarse el software a utilizar a futuro. Para uso general, se recomiendan no menos de 5 GB y, de ser posible, considere un tamaño óptimo de hasta 8 GB en instalaciones promedio.
    /tmp
    En éste se almacenan todos los ficheros temporales que generan los distintos programas.
    Requiere al menos 350 MB y puede asignarse hasta 2 GB o más dependiendo de la carga de trabajo y tipo de aplicaciones. Si por ejemplo el sistema cuenta con un grabador de DVD, será necesario asignar a /tmp el espacio suficiente para almacenar una imagen de disco DVD, es decir, al menos 4.2 GB.
    /var
    Corresponde a la partición de datos de servicios.
    Requiere al menos 512 MB en estaciones de trabajo sin servicios. En servidores regularmente se le asigna al menos la mitad del disco duro.
    /home
    Corresponde a la partición de datos de usuarios. Es donde se colocan los directorios para cada usuario con los perfiles de cada cuenta.
    En estaciones de trabajo se asigna al menos la mitad del disco duro a esta partición.

    Por costumbre (y experiencia) recomiendo crear particiones independientes para /boot, / (raíz), /home, /var y swap. También es aconsejable una para /usr y /tmp.


    Por Hugo Madrid Luna
    crowley arroba mexicoextremo.com.mx
    http://www.mexicoextremo.com.mx

11
Sep

Cómo configurar Squid Proxy Caché

Escrito por J. Llorente

PDFImprimir E-mail
PROXY-CACHE

Squid es el servidor de proxy y cache por excelencia. Rechace imitaciones.

Cuando navegamos a traves de un proxy, cada peticion que hace nuestro navegador se delega al servidor proxy y es este el que se descarga la pagina o el elemento web que se ha solicitado y se lo pasa a nuestro navegador. Por tanto es un intermediario entre los usuarios y la web. Al estar en medio de ese trafico puede realizar dos funciones muy importantes: controlar los accesos (permitir o denegar segun se disponga en sus normas); y ademas hacer cacheo de elementos (paginas web, imagenes, iconos que una vez se piden se guardan en la memoria del proxy), con lo que si se solicita un elemento que ya se ha pedido en lugar de volver a bajarselo de internet, lo sirve el propio proxy. Con esta tecnica de cache nos podemos ahorrar desde un 20 a un 40% de trafico de internet.

Squid es un servidor con años y mucha solera, presente en el mundo u*ix y linux. Dispone de un sistema de reglas complejo para el control de la navegacion, y lo que es mas, un protocolo propio ICP, para intercomunicar proxyes.

Squid es capaz de cooperar on otros servidores Squid y formar jerarquías de proxys. También es posible configurar el Squid como un servidor de proxy inverso. ¿Qué es eso? un acelerador de HTTP. Sirver para webs con muchos accesos, en los que se suele poner una maquina delante del servidor web con un squid inverso para servir las paginas y el contenido de la web mas rápidamente. Ver aquí. y aquí.

* Venga vale, tengo una red local y quiero configurar el proxy para que los usuarios de la red local pasen por el aro del proxy. Ademas con eso podre registrar sus accesos, jejeje. Como hacemos eso?

Si no cambiamos nada, el proxy escucha por defecto en el puerto tcp 3128

El fichero de configuración de squid es: squid.conf

Editamos el fichero y añadimos una regla (junto al resto de reglas definidas):
...
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT
acl Mi.Red.Local src 192.168.100.0/24

Vale! ya tenemos una regla creada. Pero no hay que olvidar aplicarla!! un poco más abajo, podemos añadirla, pero atención!! el orden en el que pongamos la regla es crucial, ya que jugando con el orden se aplicaran unas reglas u otras:

#Recommended minimum configuration:
#
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
# And finally deny all other access to this proxy
http_access allow localhost
http_access allow Mi.Red.Local
http_access deny all

Ya esta! añadiendo esa regla nuestra red local ya tendra permiso para utilizar el proxy! Pero cuidado, fijemonos en la s reglas que le rodean. Antes de llegar a la regla de nuestra red local, denegamos cualquier puerto webdistinto (simbolo !) a los definidos en las acl de arriba; lo mismo se hace con los puertos SSL, el proxy solo servira páginas con puerto seguro que hayamos definido (443 por ejemplo). Si desde la red local quieren acceder a una web de un banco que esta en puerto SSL raro (por ejemplo 8084), habrá que añadir ese puerto en la ACL. Asimismo, la última regla es "deny all", esto es, cualquier otra cosa se deniega (Es imprescindible hacerlo porque es muy peligroso permitir usar el proxy a cualquiera., pueden usar nuestro proxy para ataques o para hacer SPAM. De todas formas, también se puede cerrar el puerto del proxy por firewall).

Jo! es que somos unos vagos y no queremos andar así!! Entonces mejor dar permiso para todo:
podemos coger(che, no me entiendan mal boludos) la regla de nuestra red local y ponerla arriba del todo,
pero manteniendo la regla final de deny all.

Y como configuramos el navegador? especificamos el servidor proxy, y el puerto sera el 3128 por defecto.

Cuando al proxy le llega una petición, se comprueba en orden cada regla hasta que alguna sea aplicable, y cuando se aplique ya no se miran mas reglas.


* Restricciones:

Para ilustrar las restricciones, contestaremos este mail que recibimos recientemente:
Soy un gerente malvado de una empresa, quiero que mis empleados solo usen internet a determinadas horas,
que no puedan descargarse mp3 o videos avi, que no puedan acceder a la web de marca ni a la de yonkis.com.
Eso si: desde mi equipo quiero hacer lo que me salga de los piiiiiiiiiiiii. Jar jar jar!!

Oido barra! todo eso se puede restringir con el proxy squid. Hay muchos tipos de reglas de squid, incluidas unas muy potentes que permiten usar expresiones regulares.
La regla para limitaciones horarias:

acl name time [lista_dias] [hora_inicio:minuto-hora_final:minuto]
donde lista_dias: MTH (
osea: S - Sunday M - Monday T - Tuesday W - Wednesday H - Thursday F - Friday A - Saturday)
Por ejemplo:
acl RestringirPorHoras time 9:00-10:00

Y si añadimos la regla:
...
http_access deny !RestringirPorHoras
http_access allow Mi.Red.Local
http_access deny all

Ya esta! denegamos el acceso a horas distintas de el margen: 9:00-10:00

Si aplicamos esta regla cerraremos el acceso a yonkis y marca.
acl dominiosChungos dstdomain yonkis.com marca.es

Y si aplicamos esta podremos denegar el acceso a ficheros .mp3 y .avi
acl denegarURL url_regex -i \.mp3$ \.avi$

Venga las aplicamos:
....
http_access deny !RestringirPorHoras
http_access deny denegarURL
http_access deny dominiosChungos
http_access allow Mi.Red.Local
http_access deny all

Pero por supuesto, hay una persona (el malvado gerente) al que no hay que restringirle nada, y eso lo hacemos asi:

acl IPGerente src 192.168.100.3/32

Y aplicamos
...
http_access allow IPGerente
http_access deny !RestringirPorHoras

http_access deny denegarURL
http_access deny dominiosChungos
http_access allow Mi.Red.Local
http_access deny all

Voila! jugando con el orden de las reglas, cuando el gerente use el proxy jamas se le aplicaran las reglas restrictivas, ya que hemos metido una regla que le permite salir y esta ENCIMA de las retricciones. Se "matchea" esa regla y las demas no se miran. No entiendes esto? Mira si hacemos

http_access allow all
http_access allow IPGerente
http_access deny !RestringirPorHoras

http_access deny denegarURL
http_access deny dominiosChungos
http_access allow Mi.Red.Local
http_access deny all

Si al principio del todo ponemos allow all, por muchas reglas que metamos despues, siempre se aplicara la primra regla y las demas yo ni se miraran.

 

¿Y si se quiere limitar el tamaño de archivos que se descargan los usuarios?
Ahí tenemos un problema, de momento parece que squid lo puede hacer. Si que tiene una directiva de gestion de cache para limitar el tamaño de ficheros que se guardan en la cache, pero no es eso lo que interesa.

¿Quereis más?

El proxy-cache squid esta muy documentado y no sera dificil que encontreis ayuda. Esta es la documentación oficial:

http://squid-docs.sourceforge.net/latest/html/book1.html

* Autenticación, usuario y password para navegar:

Squid incorpora un mecanismo para que los usuarios tengan que identificarse cada vez que abran el explorer y quieran navegar. La forma más simple es usando la autenticación simple con usuario/passwd sacados de un fichero de texto. Para ello debemos activar la directiva: authenticate_program
authenticate_program /usr/lib/squid/ncsa_auth /etc/squid/passwd

Y atención! ahora hay que añadir una ACL para activar esta opción. Una vez más, jugando con el orden de las reglas podremos aplicarlo a unos si y a otros no. La ACL se definiría así.

acl password-navega proxy_auth REQUIRED

Y la aplicariamos así.

http_access allow password-navega
http_access deny !RestringirPorHoras
http_access deny denegarURL
http_access deny dominiosChungos
http_access allow Mi.Red.Local
http_access deny all

La gran ventaja que tenemos aquí es que se puede modificar el sistema de autentificación, hasta el punto de conseguir que la autentificacion se haga contra el PDC o servidor principal de dominio de una red windows. Que ventaja tiene eso? obviamente que los usuarios no tengan un password para cada cosa. Es complejo, pero se puede hacer con winbind y samba.

nota: usando este sistema, en los logs veremos el nombre de usuario para cada petición.

* Proxy transparente:

Podemos usar un proxy en la red local, pero siempre habrá usuarios malvados que se desconfiguren el proxy del navegador. Para que sigan pasando por el aro, o visto de otro modo, para que nadie se tenga que preocupar de configurar el proxy en su navegador, podemos usar la técnica del proxy-transparent. Esto va unido al sistema de firewall, y hacemos que todas las peticiones al puerto 80 se redirigan al puerto del proxy.
Además de eso, en el proxy debemos añadir estas lineas de configuración:

## Proxy transparent
httpd_accel_host virtual
httpd_accel_port 80 443 8080 19720 19721 10000
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

httpd_accel_single_host off

Esto puede variar de un linux a otro, en redhat ira bien. Este tema también esta muy documentado.
Tiene una pega: no se puede hacer proxy transparente de conexiones SSL.

* Mi proxy no funciona y tu guia es una bassssura

Vale, es posible, pero hay que aprender a depurar los servidores. El proxy squid genera logs como muchos otros programas, y podemos echarle un vistazo:

/var/log/messages (o /var/log/syslog dependiendo del Linux)

y ademas:

/var/log/squid/access.log (aqui vemos los accesos y sobre este fichero se puede aplicar el analisis de log y generar informes de navegación)

/var/log/squid/cache.log (log de cache de objetos)



Fuente:

Pello Xabier Altadill Izura - www.pello.info

Technorati Tags:
>>

Agregue su comentario

Tu Nombre:
Asunto:
Comentario:

Facebook conecta

Total visitas

3185463
38.107.191.99
UNITED STATES
US

Quien está en linea

Tenemos 45 invitados conectado(s)

Conectan

Locations of visitors to this page

Nos visitan desde

Últimos comentarios

Vitales Servidor