Etiqueta: servidor

  • Proxy caché: squid

    Si tienes un servidor de ficheros (Samba), ftp, de impresión, Web, etc., y quieres aprovechar todavía mas tu hardware, le pueden añadir un servidor proxy caché: squid.

    Una aplicación común de los Servidores Intermediarios (Proxies) es funcionar como caché de contenido de Red (principalmente HTTP), proporcionando en la proximidad de los clientes un caché de páginas y ficheros disponibles a través de la Red en servidores HTTP remotos, permitiendo a los clientes de la red local acceder hacia éstos de forma más rápida y confiable.

    La configuración inicial para que tu squid funcione como caché de páginas no difiere mucho de la configuración inicial con la que se instala por defecto squid.

    Instalación de squid

    Para nuestro ubuntu server bastará:

    #apt-get install squid

    Configuración básica

    Varios parámetros influyen en la configuración básica de squid.

    Squid utiliza el fichero de configuración localizado en /etc/squid/squid.conf, y podrá trabajar sobre este utilizando su editor de texto simple preferido. Existen un gran número de parámetros, de los cuales recomendamos configurar los siguientes:

    http_port
    cache_dir
    Al menos una Lista de Control de Acceso
    Al menos una Regla de Control de Acceso

    El puerto en el que escucha squid se especifica en el parámetro:

    #
    #    You may specify multiple socket addresses on multiple lines.
    #
    # Default: http_port 3128
    http_port 3128

    Controles de acceso.

    Es necesario establecer Listas de Control de Acceso que definan una red o bien ciertas máquinas en particular. A cada lista se le asignará una Regla de Control de Acceso que permitirá o denegará el acceso a Squid. Procedamos a entender como definir unas y otras.

    Listas de control de acceso.

    Regularmente una lista de control de acceso se establece con la siguiente sintaxis:

    acl [nombre de la lista] src [lo que compone a la lista]

    Si se desea establecer una lista de control de acceso que abarque a toda la red local, basta definir la IP correspondiente a la red y la máscara de la sub-red. Por ejemplo, si se tiene una red donde las máquinas tienen direcciones IP 192.168.1.n con máscara de sub-red 255.255.255.0, podemos utilizar lo siguiente:

    acl miredlocal src 192.168.1.0/255.255.255.0

    También puede definirse una Lista de Control de Acceso especificando un fichero localizado en cualquier parte del disco duro, y la cual contiene una lista de direcciones IP. Ejemplo:

    acl permitidos src "/etc/squid/permitidos"

    El fichero /etc/squid/permitidos contendría algo como siguiente:

    192.168.1.1
    192.168.1.2
    192.168.1.3
    192.168.1.15
    192.168.1.16
    192.168.1.20
    192.168.1.40

    Lo anterior estaría definiendo que la Lista de Control de Acceso denominada permitidos estaría compuesta por las direcciones IP incluidas en el fichero /etc/squid/permitidos.

    Reglas de Control de Acceso.

    Estas definen si se permite o no el acceso hacia Squid. Se aplican a las Listas de Control de Acceso. Deben colocarse en la sección de reglas de control de acceso definidas por el administrador, es decir, a partir de donde se localiza la siguiente leyenda:

    #
    # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
    #

    La sintaxis básica es la siguiente:

    http_access [deny o allow] [lista de control de acceso]

    En el siguiente ejemplo consideramos una regla que establece acceso permitido a Squid a la Lista de Control de Acceso denominada permitidos:

    http_access allow permitidos

    También pueden definirse reglas valiéndose de la expresión !, la cual significa no. Pueden definirse, por ejemplo, dos listas de control de acceso, una denominada lista1 y otra denominada lista2, en la misma regla de control de acceso, en donde se asigna una expresión a una de estas. La siguiente establece que se permite el acceso a Squid a lo que comprenda lista1 excepto aquello que comprenda lista2:

    http_access allow lista1 !lista2

    Este tipo de reglas son útiles cuando se tiene un gran grupo de IP dentro de un rango de red al que se debe permitir acceso, y otro grupo dentro de la misma red al que se debe denegar el acceso.

    Aplicando Listas y Reglas de control de acceso.

    Una vez comprendido el funcionamiento de la Listas y las Regla de Control de Acceso, procederemos a determinar cuales utilizar para nuestra configuración.

    Caso 1.

    Considerando como ejemplo que se dispone de una red 192.168.1.0/255.255.255.0, si se desea definir toda la red local, utilizaremos la siguiente línea en la sección de Listas de Control de Acceso:

    acl todalared src 192.168.1.0/255.255.255.0

    Habiendo hecho lo anterior, la sección de listas de control de acceso debe quedar más o menos del siguiente modo:

    Listas de Control de Acceso: definición de una red local completa

    #
    # Recommended minimum configuration:
    acl all src 0.0.0.0/0.0.0.0
    acl manager proto cache_object
    acl localhost src 127.0.0.1/255.255.255.255
    acl todalared src 192.168.1.0/255.255.255.0

    A continuación procedemos a aplicar la regla de control de acceso:

    http_access allow todalared

    Habiendo hecho lo anterior, la zona de reglas de control de acceso debería quedar más o menos de este modo:

    Reglas de control de acceso: Acceso a una Lista de Control de Acceso.

    #
    # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
    #
    http_access allow localhost
    http_access allow todalared
    http_access deny all

    La regla http_access allow todalared permite el acceso a Squid a la Lista de Control de Acceso denominada todalared, la cual está conformada por 192.168.1.0/255.255.255.0. Esto significa que cualquier máquina desde 192.168.1.1 hasta 192.168.1.254 podrá acceder a Squid.

    Caso 2.

    Si solo se desea permitir el acceso a Squid a ciertas direcciones IP de la red local, deberemos crear un fichero que contenga dicha lista. Genere el fichero /etc/squid/listas/redlocal, dentro del cual se incluirán solo aquellas direcciones IP que desea confirmen la Lista de Control de acceso. Ejemplo:

    192.168.1.1
    192.168.1.2
    192.168.1.3
    192.168.1.15
    192.168.1.16
    192.168.1.20
    192.168.1.40

    Denominaremos a esta lista de control de acceso como redlocal:

    acl redlocal src "/etc/squid/listas/redlocal"

    Habiendo hecho lo anterior, la sección de listas de control de acceso debe quedar más o menos del siguiente modo:

    Listas de Control de Acceso: definición de una red local completa

    #
    # Recommended minimum configuration:
    acl all src 0.0.0.0/0.0.0.0
    acl manager proto cache_object
    acl localhost src 127.0.0.1/255.255.255.255
    acl redlocal src "/etc/squid/listas/redlocal"

    A continuación procedemos a aplicar la regla de control de acceso:

    http_access allow redlocal

    Habiendo hecho lo anterior, la zona de reglas de control de acceso debería quedar más o menos de este modo:

    Reglas de control de acceso: Acceso a una Lista de Control de Acceso.

    #
    # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
    #
    http_access allow localhost
    http_access allow redlocal
    http_access deny all

    La regla http_access allow redlocal permite el acceso a Squid a la Lista de Control de Acceso denominada redlocal, la cual está conformada por las direcciones IP especificadas en el fichero /etc/squid/listas/redlocal. Esto significa que cualquier máquina no incluida en /etc/squid/listas/redlocal no tendrá acceso a Squid.

    En un momento dado se requerirá tener salida transparente hacia Internet para ciertos servicios, pero al mismo tiempo se necesitará re-direccionar peticiones hacia servicio HTTP para pasar a través del el puerto donde escucha peticiones Squid (8080), de modo que no haya salida alguna hacia alguna hacia servidores HTTP en el exterior sin que ésta pase antes por Squid. No se puede hacer Servidor Intermediario (Proxy) Transparente para los protocolos HTTPS, FTP, GOPHER ni WAIS, por lo que dichos protocolos tendrán que ser filtrados a través del NAT.

    Re-direccionamiento de peticiones a través de la opción REDIRECT en Shorewall.

    La acción REDIRECT en Shorewall permite redirigir peticiones hacia protocolo HTTP para hacerlas pasar a través de Squid. En el siguiente ejemplo las peticiones hechas desde la zona que corresponde a la red local serán redirigidas hacia el puerto 8080 del cortafuegos, en donde está configurado Squid configurado como Servidores Intermediario (Proxy) transparente.

    #ACTION		SOURCE		DEST	PROTO	DEST
    REDIRECT	loc		8080	tcp	80

    Si no usamos el proxy transparente anterior y tenemos un cortafuegos montado en el servidor, debemos habilitar este para que nuestros ordenadores de la red local accedan a este proxy en el puerto 3128.

    Mas información en Linux para Todos

  • Scan rootkits en Ubuntu (rkhunter)

    Rootkit scanner es una herramienta de escaneo para asegurarse (99,9%) de que está limpio de herramientas desagradables. Esta herramienta busca rootkits, puertas traseras y local exploits,ejecutando pruebas como:

    • Hash MD5 comparacion
    • Busqueda de ficheros por defecto utilizados por los rootkits
    • Permisos erroneos en archivos binarios
    • Busqueda de cadenas sospechosas en los módulos LKM y KLD
    • Busqueda de archivos ocultos
    • Exploración dentro de archivos de texto y binarios

    Instalación
    sudo apt-get install rkhunter
    Actualizaciòn
    rkhunter --update
    Scan
    rkhunter --checkall

    Los mas comunes rootkits que son detectados por rkhunter son:

    55808 Trojan – Variant A
    ADM W0rm
    AjaKit
    aPa Kit
    Apache Worm

    zaRwT.KiT Rootkit

    Rootkit Hunter es un proyecto liberado bajo licencia GPL y gratuito para todos.

    Link Original : Phyx

  • Monitorización del sistema con Monit

    Monitorizar tu servidor linux es una de las tareas mas importantes, interesante y apasionantes que puedes hacer. Una vez consigurado tu sistema, ¿quién te dice que los servicios que has instalado estan funcionando en todo momento?. ¿Cómo puedes saber si un servicio está sobrecargando la memoria o la CPU?

    Pues bien, existen programas muy buenos para esto, CACTI, Nagios y Monit, entre otros. He probado Nagios y Monit y me quedo con este ultimo por su sencillez aunque Nagios es extremadamente potente y por tanto tendrá mas posibilidades: seguro.

    Mi filosofía hasta ahora ha sido la de cubrir la necesidad con un software sencillo y cuando dicha necesidad ya está cubierta se puede profundizar en un programa más potente.

    La configuración de Monit es sencilla y su instalación más sencilla todavia. Para instalarlo en nuestro sistema Ubuntu:

    # apt-get install monit

    Por defecto, monit no se ejecuta al inicio como medida de seguridad y viene con sus opción comentadas de tal forma que hasta que no lo configuremos nada funcionará.

    Para que arranque en el inicio debemos cambiar la propiedad startup=0 a startup=1 que se encuentra en el fichero /etc/default/monit.

    Una vez hecho esto pasamos a la configuración del fichero /etc/monit/monitrc.

    (más…)

  • Debian / Ubuntu tasksel: Instalar grupos de software (tasks) tales como DNS / Web Server en un simple click

    lt;a href=»http://www.quantcast.com/p-25K88fxDSEn9Y» target=»_blank»><img src=»http://pixel.quantserve.com/pixel/p-25K88fxDSEn9Y.gif» style=»display: none;» border=»0″ height=»1″ width=»1″ alt=»Quantcast»/></a>

    debianlogoEstoy buscando un comando comoyum groupinstall group‘ para mi Ubuntu. ¿Cómo instalo un grupo de software como DNS o LAMP con un simple comando?

    Necesitamos una comando como tasksel. Este comando una parte integral del instalador de Debian y también está disponible para Ubuntu. Agrupa varios paquetes por tareas y ofrece al usuario un camino fácil para instalar los paquetes para esta tarea. Provee la misma funcionalidad que los convencionales metapaquetes.

    ¿Cómo usar tasksel?

    tasksel se ha incluído como parte de la instalación base bajo Debian y Ubuntu . tasksel muestra todas la taread y permite al usuario seleccionar las que desee para instalarlas. Simplemente escriba tasksel como usuario root en un terminal:
    $ sudo tasksel
    O
    # tasksel
    Deberías ver el siguiente menú de selección:

    debian-tasksel-command

    Fig.01: comando tasksel en acción

    Puedes seleccionar el grupo requerido pulsando la barra espaciadora y seleccionando el botón OK. (más…)

  • WordPress 2.7 y mi intranet

    logowordpressEl blog que estais leyendo esta construido con WordPress y alojado en una maquina privada (mi servidor). El dominio digital21.info esta redireccionado a mi ip publica fija que me da mi proveedor de internet. Pues bien WordPress tiene en su configuracion el parámetro que indica en que Url esta instalado dicho WordPress. En mi caso http://www.digital21.info.

    Configuracion WordPress

    Hasta ahora todo bien. Puedo acceder desde cualquier ordenador con Internet a mi blog como espero que puedas hacerlo tu. Desde todos los ordenadores menos desde mi red interna. Al poner http://www.digital21.info en cualquier ordenador de mi red interna no obtengo respuesta. No pasa nada, pensé. Si pongo mi dirección local 192.168.0.100, lo veré. Pues tampoco. Parece ser que la configuración anterior de WordPress impide hacer esto.

    (más…)