Viernes 18 de Mayo de 2012
Búsqueda personalizada

Unix/Linux



Distribuciones Linux LiveCD

Tutoriales - Unix/Linux

Para los que quieren probar como funciona y se utiliza un sistema Linux, sin necesidad de instalaciones y espacio libre en el disco duro, existe lo que llamamos distribuciones "LiveCD". Si lo que quereis es informacion, sobre que es una distribucion y las distribuciones que se pueden instalar en nuestro ordenador, pasaros por nuestra pagina de las distribuciones de Linux

Un "LiveCD" no es otra cosa que una distribucion de Linux que funciona al 100%, sin necesidad de instalarla en el ordenador donde la probamos. Utiliza la memoria RAM del ordenador para 'instalar' y arrancar la distribucion en cuestion. En la memoria tambien se instala un "disco virtual" que emula al disco dure de un ordenador.

De esta forma solamente hace falta introducir el CD o DVD en el ordenador en cuestion y arrancarlo, al cabo de unos minutos tendremos un sistema Linux funcionando en el mismo. Este tipo de distribuciones solamente sirve para demostraciones y pruebas, ya que una vez que apagamos el ordenador, todo lo que hemos hecho desaparece.

Algunas distribuciones del tipo "LiveCD" vienen tambien con la opcion de instalacion una vez que la hemos probado. Existen muchas distribuciones de este tipo, algunas solamente en version "LiveCD", otras como demostraciones de distribuciones que se pueden instalar de la manera tradicional.

Si sois curiosos y solamente quereis ver y probar que es eso que llaman Linux, os recomendamos haceros con una de estas distribuciones "LiveCD". No tendreis que instalar o cambiar nada en vuestro ordenador para probarlo.

A continuación podeis encontrar informacion sobre las distribuciones del tipo o con versiones "LiveCD" mas importantes de Linux.

 

DISTRIBUCION UBUNTU - Version DESKTOP LIVECD

 

Distribucion basada en Debian, con lo que esto conlleva y centrada en el usuario final y facilidad de uso. La imagen ISO version DESKTOP de esta distribucion, es del tipo 'LiveCD' con posibilidades tambien de instalacion si queremos.

DISTRIBUCION GNOPPIX - LIVECD

 

Esta distribucion esta basada en Ubuntu y usa Gnome como gestor de ventanas.

DISTRIBUCION SuSE LIVE - Version LIVECD

 

Version LiveCD de la distribucion SuSE.

DISTRIBUCION KNOPPIX - LIVECD

 

Distribucion LiveCD basada en Debian.

DISTRIBUCION CENTOS - Version LIVECD

 

Version LiveCD de la distribucion Centos. Basada en Redhat Enterprise.

DISTRIBUCION GENTOO - Version LIVECD

 

Version LiveCD de la distribucion Gentoo.

DISTRIBUCION SLAX - LIVECD

 

Distribucion LiveCD basada en Slackware

 

Distribuciones Linux

Tutoriales - Unix/Linux
Linux es un sistema de libre distribución por lo que podeis encontrar todos los ficheros y programas necesarios para su funcionamiento en multitud de servidores conectados a Internet. La tarea de reunir todos los ficheros y programas necesarios, asi como instalarlos en tu sistema y configurarlo, puede ser una tarea bastante complicada y no apta para muchos. Por esto mismo, nacieron las llamadas distribuciones de Linux, empresas y organizaciones que se dedican a hacer el trabajo "sucio" para nuestro beneficio y comodidad.

 

Una distribución no es otra cosa, que una recopilación de programas y ficheros, organizados y preparados para su instalación. Estas distribuciones se pueden obtener a traves de Internet, o comprando los CDs de las mismas, los cuales contendrán todo lo necesario para instalar un sistema Linux bastante completo y en la mayoría de los casos un programa de instalación que nos ayudara en la tarea de una primera instalación. Casi todos los principales distribuidores de Linux, ofrecen la posibilidad de bajarse sus distribuciones, via FTP (sin cargo alguno).

Existen muchas y variadas distribuciones creadas por diferentes empresas y organizaciones a unos precios bastantes asequibles (si se compran los CDs, en vez de bajársela via FTP), las cuales deberiais poder encontrar en tiendas de informática, librerías. En el peor de los casos siempre podeis encargarlas directamente por Internet a las empresas y organizaciones que las crean. A veces, las revistas de informática sacan una edición bastante aceptable de alguna distribución.

Si vais a instalar el sistema por primera vez, os recomendamos haceros con una de estas distribuciones y en un futuro cuando querais actualizar el sistema con las últimas versiones y actualizaciones del núcleo y programas que utiliceis, usar Internet.

Si lo que quereis es probar una distribucion Linux sin necesidad de instalarla, podeis probar una distribucion LiveCD.

A continuación podeis encontrar informacion sobre las distribuciones mas importantes de Linux (aunque no las unicas).

Redhat-logo REDHAT ENTERPRISE

 

Esta es una distribucion que tiene muy buena calidad, contenidos y soporte a los usuarios por parte de la empresa que la distribuye. Es necesario el pago de una licencia de soporte. Enfocada a empresas.

 

Fedora-logo FEDORA

 

Esta es una distribucion patrocinada por RedHat y soportada por la comunidad. Facil de instalar y buena calidad.

 

Debian-logo DEBIAN

 

Otra distribucion con muy buena calidad. El proceso de instalacion es quizas un poco mas complicado, pero sin mayores problemas. Gran estabilidad antes que ultimos avances.

 

Suse_logo OpenSuSE

 

Otra de las grandes. Facil de instalar. Version libre de la distribucion comercial SuSE.

 

Suse_logo SuSE LINUX ENTERPRISE

 

Otra de las grandes. Muy buena calidad, contenidos y soporte a los usuarios por parte de la empresa que la distribuye, Novell. Es necesario el pago de una licencia de soporte. Enfocada a empresas.

 

Slackware-logo SLACKWARE

 

Esta distribucion es de las primeras que existio. Tuvo un periodo en el cual no se actualizo muy a menudo, pero eso es historia. Es raro encontrar usuarios de los que empezaron en el mundo linux hace tiempo, que no hayan tenido esta distribucion instalada en su ordenador en algun momento.

 

Gentoo-logo GENTOO

 

Esta distribucion es una de las unicas que han incorporado un concepto totalmente nuevo en Linux. Es una sistema inspirado en BSD-ports. Podeis compilar/optimizar vuestro sistema completamente desde cero. No es recomendable adentrarse en esta distribucion sin una buena conexion a internet, un ordenador medianamente potente (si quereis terminar de compilar en un tiempo prudencial) y cierta experiencia en sistemas Unix.

 

ubuntu-logo UBUNTU

 

Distribucion basada en Debian, con lo que esto conlleva y centrada en el usuario final y facilidad de uso. Muy popular y con mucho soporte en la comunidad. El entorno de escritorio por defecto es GNOME.

 

ubuntu-logo KUBUNTU

 

Distribucion basada en Ubuntu, con lo que esto conlleva y centrada en el usuario final y facilidad de uso. La gran diferencia con Ubuntu es que el entorno de escritorio por defecto es KDE.

 

mandriva-logo MANDRIVA

 

Esta distribucion fue creada en 1998 con el objetivo de acercar el uso de Linux a todos los usuarios, en un principio se llamo Mandrake Linux. Facilidad de uso para todos los usuarios.

 

mandriva-logo CENTOS

 

Esta distribucion llamada así por la abreviatura CentOS (Community ENTerprise Operating System) es un clon a nivel binario de la distribución Linux Red Hat Enterprise Linux RHEL, compilado por voluntarios a partir del código fuente liberado por Red Hat.

 

COMO Comprimir y descomprimir archivos en Linux

Tutoriales - Unix/Linux

LinuxAquí un breve resumen de como comprimir y descomprimir archivos en Linux. Puesto que es una tarea fácil pero que a veces uno no recuerda o se ha acostumbrado a hacerlo en un gestor de archivos y en ese momento tiene que hacerlo en una terminal…Por tanto aquí os lo dejo:

Ficheros .tar

tar empaqueta varios archivos en uno solo, pero no comprime.

  • Empaquetar:
    # tar cf archivo.tar ficheros
  • Desempaquetar:
    # tar -xvf archivo.tar
  • Ver contenido:
    # tar -tf archivo.tar

Ficheros .gz

gzip sólo comprime fichero a fichero, no empaqueta varios ficheros en uno ni comprime directorios.

  • Comprimir:
    # gzip fichero
  • Descomprimir:
    # gzip -d fichero.gz

Ficheros .bz2

bzip2 sólo comprime fichero a fichero, no empaqueta varios ficheros en uno ni comprime directorios.

  • Comprimir:
    # bzip2 fichero
  • Descomprimir:
    # bzip2 -d fichero.bz2

Para comprimir múltiples ficheros y archivarlos en uno sólo hay que combinar tar con gzip o bzip 2:

Ficheros .tar.gz

  • Comprimir:
    # tar -czf archivo.tar.gz ficheros
  • Descomprimir:
    # tar -xvzf archivo.tar.gz
  • Ver contenido:
    # tar -tzf archivo.tar.gz

Ficheros .tar.bz2

  • Comprimir:
    # tar -c ficheros | bzip2 > archivo.tar.bz2
  • Descomprimir:
    # bzip2 -dc archivo.tar.bz2 | tar -xv
  • Ver contenido:
    # bzip2 -dc archivo.tar.bz2 | tar -t

Ficheros .zip

  • Comprimir:
    # zip archivo.zip ficheros
  • Descomprimir:
    #  unzip archivo.zip
  • Ver contenido:
    # unzip -v archivo.zip

Ficheros .rar

  • Comprimir:
    # rar a archivo.rar ficheros
  • Descomprimir:
    # rar x archivo.rar
  • Ver contenido:
     #  rar l archivo.rar

    o

     # rar v archivo.rar

Ficheros .lha

  • Comprimir:
    # lha a archivo.lha ficheros
  • Descomprimir:
    # lha x archivo.lha
  • Ver contenido:
    # lha v archivo.lha

    o

    # lha l archivo.lha

Ficheros .arj

  • Comprimir:
    # arj a archivo.arj ficheros
  • Descomprimir:
    # unarj archivo.arj

    o

    # arj x archivo.arj
  • Ver contenido:
    # arj v archivo.arj

    o

    # arj l archivo.arj

Ficheros .zoo

  • Comprimir:
    # zoo a archivo.zoo ficheros
  • Descomprimir:
     # zoo x archivo.zoo
  • Ver contenido:
     # zoo L archivo.zoo

    o

     # zoo v archivo.zoo
 

Iptables

Tutoriales - Unix/Linux

LinuxEl kernel Linux incluye el subsistema Netfilter, que es usado para manipular o decidir el destino del tráfico de red entre o a través de su red. Todas las soluciones firewall Linux modernas utilizan este sistema para el filtrado de paquetes.

El sistema de filtrado de paquetes del núcleo resulta de poca ayuda a los administradores si no se tiene una interfaz de usuario para gestionarlo. Éste es el proposito de Iptables. Cuando un paquete llega a su servidor, éste es gestionado por el subsistema Netfilter para aceptarlo, manipularlo o rechazarlo basándose en las reglas suministradas a éste via iptables. Así, iptables es todo lo que necesita para manejar su cortafuegos si está familiarizado con él, pero existen muchos interfaces de usuario disponibles para simplificar esta tarea., por ejemplo Firestarter

Aclaramos que en versiones anteriores al kernal 2.4.* se llamaba ipchain, pero a partir de esta versión se cambió a Iptables, mucho mas potente.

Iptables está basado en el uso de TABLAS dentro de las tablas, CADENAS, formadas por agrupación de REGLAS, parámetros que relativizan las reglas y finalmente una ACCION, que es la encargada de decir qué destino tiene el paquete.

Describimos los elementos y luego vemos un sencillo script básico.

 

FILTER (filtrado)Permite generar las reglas de filtrado o sea, que paquetes aceptar, cuales rechazar o cuales omitir.Es la tabla por defecto. Las cadenas serán: INPUT OUTPUT y FORWARD.
NAT (Network Address Translation) Desde esta tabla es posible el enmascaramiento de IP, se usa para redireccionar puertos o cambiar las :IPs de origen y destino a través de interface de red. Las cadenas serán :PREROUTING y POSTROUTING

 

MANGLE (Modificado de paquetes)Permite la modificación de paquetes como ToS (Type of Service), TTL (Time to live)o mark, marcar el paquete.
RAW Esta tabla se usa para configurar principalmente excepciones en el seguimiento de paquetes en combinación con la acción o target NOTRACK. Trabaja sobre la cadena PREROUTING Y OUTPUT y su única acción es Notrack. Puede evitar que iptables haga un seguimiento de los paquetes.
Describimos los elementos y luego vemos un sencillo script básico.
CORRESPONDENCIA de TABLAS, CADENAS y FUNCION
TABLA FUNCION CADENA FUNCION de la CADENA
FILTER Filtrado de paquetes que llegan al firewall
OUTPUT
Filtrado de los paquetes de salida
FORWARD
Permite el paso de paquetes a otra dirección del firewall
NAT Enrutamiento de
direcciones de red
PREROUTING
Chequea la dirección de red antes de reenviarla.
Facilita la modificación de la información para facilitar el enrutado
Se usa también como DESTINATION NAT o DNAT
POSTROUTING
Tratamiento de la dirección IP después del enrutado.Esto hace
que no sea necesario la modificación del destino de la dirección IP
del paquete como en pre-routing.Se usa como SOURCE NAT o SNAT
OUTPUT
Interpretación de las direcciones de Red de los paquetes
que salen del firewall.Escasamente usado.
MANGLE Modificación de las
cabeceras de TCP
PREROUTING
POSTROUTING
INPUT
OUTPUT
FORWARD
Permite la modificación del paquete como puede ser TOS
(type of Service), marcado de los mismos para
QOS o calidad de servicio
RAW Acción NOTRACK
PREROUTING
Esta tabla se usa para configurar principalmente excepciones
en el seguimiento de paquetes en combinación
con la acción o target NOTRACK.
OUTPUT

 


A partir de aquí, dividiremos las opciones en algunos grupos



Como hacíamos referencia mas arriba, dentro de las tablas hay cadenas a su vez vez formadas por agrupaciones de reglas. Es importante ver que, cada tabla tiene cadena por defecto, que no se pueden eliminar.
A las CADENAS por defecto podemos unir cadenas creadas por nosotros mismos para un mejor funcionamiento del filtrado o el enrutamiento.
El comando IPTABLES tiene a su vez parámetros y comandos que permitirán definir el comportamiento de una o varias reglas. Esto es, agregar una regla, modificar una regla existente, eliminar el nombre de una cadena

Describimos algunos de los comandos mas comunes.

 

 

FUNCION de COMANDOS
COMANDO FUNCION
-A Agregar nueva regla a la cadena especificada.
-I Insertar nueva regla antes de la regla número_regla(rulenum)
en la cadena especificada de acuerdo a los parámetros sometida.
-R Reemplazar la regla (rulenum) en la cadena especificada.
-E Modifica el nombre de la cadena.
[nombre-anterior-cadena por nombre-nueva-cadena]
-L Listado de reglas de la cadena especificada. Si no se determina una
cadena en particular, listará todas las cadenas existenes.
-N Crear nueva cadena asociándola a un nombre.
-P Modifica la acción por defecto de la cadena preseleccionada.
-D Eliminar la regla_número(rulenum) en la cadena seleccionada.
-Z Pone los contadores de paquetes y bytes a cero en la cadena seleccionada.
De no poner seleccionar una cadena, pondrá a cero todos los contadores de
todas las reglas en todas cadenas.
 (Lista completa en: man iptables)

 

 

Todas las reglas en iptables tienen definida su condición por los parámetros, que constituyen su parte primordial.
Algunos de estos parámetros son:

 

PARAMETROS y su FUNCION
PARAMETRO FUNCION
-i Interfaz de entrada (eth0,eth1,eth2...)
-o Interfaz de salida (eth0,eth1,eth2...)
--sport Puerto de origen
--dport Puerto destino
-p El protocolo del paquete a comprobar, tcp, udp, icmp ó all.
Por defecto es all
-j Esto especifica el objetivo de la cadena de reglas, o sea una acción
--line-numbers Cuando listamos las reglas, agrega el número que ocupa cada regla
dentro de la cadena
 

(Ver lista completa en: man iptables)

 

 

Y finalmente, las ACCIONES que estarán siempre al final de cada regla que determinará que hacer con los paquetes afectados. Si no se especifica ninguna acción, se ejecutará la opción por defecto que cada cadena tiene asignada. Las acciones serïan:




ACCEPT--->    Paquete aceptado.



REJECT--->    Paquete rechazado. Se envía notificación a través del protocolo ICMP.



DROP--->    Paquete rechazado. Sin notificación



MASQUERADE--->Enmascaramiento de la dirección IP origen de forma dinámica.Esta acción es sólo válida en la tabla NAT en la cadena postrouting.



DNAT--->    Enmascaramiento de la dirección destino, muy conveniente para re-enrutado de paquetes.



SNAT--->    enmascaramiento de la IP origen de forma similar a masquerade, pero con IP fija.






Ya tenemos los componetes esenciales para formar las reglas que determinarán la aceptación o denegación de entrada y salida de paquetes de nuestra máquina, tanto a través de Internet,como de nuestra propia red doméstica.



Ahora veremos cómo se construyen las reglas y como hacer un script de shell en el que se van aplicando aquellas reglas que necesitemos.






MUY IMPORTANTE. Cuidado con el orden en el cual disponemos las reglas.

IPTABLES LEE DE MANERA SECUENCIAL LAS CADENAS DE REGLAS.

Es decir, comienza por la primera y verifica que se cumpla la condición y
la ejecuta sin verificar las siguientes.

Por consiguiente, si la primera regla en la tabla filter de la cadena
input es rechazar cualquier paquete,las siguientes reglas no serán verificadas,

y se rechazará cualquier paquete. 

 

 


La estructura o el esqueleto de una regla basicamente sería:

 

iptables --> -t -->tabla -->tipo_operación -->cadena -->regla_con_parámetros -->Acción


Explicamos por pasos agregando debajo valores reales:

iptables -t--> tabla--> tipo_operacion--> cadena--> regla_con_parámetros--> ACCION
iptables -t filter -A INPUT -p tcp -dport 23 -j DROP  


Ahora quitando espacios:

iptables -t filter -A INPUT -p tcp -dport 23 -j DROP

¿Qué nos dice esta cadena de reglas?

Que en la tabla filter, la cadena input filtra los paquetes con protocolo tcp que entran por el puerto 23 (puerto asignado a telnet) y éstos son rechazados (DROP) sin ninguna notificación.

Algunas consideraciones. De acuerdo con lo hemos comentado antes, podríamos escribir lo mismo de otra forma,por ej. quitando "-t filter", ya que es la tabla por defecto, además podemos cambiar el número de puerto por"telnet" que en realidad es su puerto asignado. Queda:

iptables -A INPUT -p tcp -dport telnet -j DROP

Si por el contrario, quisiéramos aceptar estos paquetes:

iptables -A INPUT -p tcp -dport telnet -j ACCEPT

O aceptamos tráfico http:

iptables -A INPUT -p tcp -dport http -j ACCEPT

donde también podemos especificar el interfaz de entrada (-i etho)

iptables -A INPUT -i eth0 -p tcp -dport http -j ACCEPT

también:

iptables -A INPUT -p tcp -dport 80 -j ACCEPT

Aplicando los conceptos anteriores:

 

sudo iptables -L 

se listan las actuales reglas en iptables. Si acabas de instalar un servidor, aun no tendrás normas, así que deberías ver:

Chain INPUT (policy ACCEPT) target     prot opt source               destination  Chain FORWARD (policy ACCEPT) target     prot opt source               destination  Chain OUTPUT (policy ACCEPT) target     prot opt source               destination 

 

 

Podemos también permitir sesiones establecidas para recibir el tráfico:

sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Permitir tráfico entrante de puertos específicos

Se podría empezar por el bloqueo de tráfico, pero deberías estar trabajando a través de SSH, por lo que necesitas permitir SSH antes de bloquear todo lo demás.

Para permitir el tráfico SSH por el puerto por defecto (22), puedes decirle a iptables que permita a todo el tráfico TCP entrante por ese puerto.

sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT


Refiéndonos a la lista anterior, puedes ver que ésto le dice a iptables:

Añadir esta regla a la cadena input (-A INPUT), de manera que nos fijamos en el tráfico

Comprueba si el tráfico es TCP (-p tcp).

Si lo es, comprueba que la entrada va al puerto SSH (--dport ssh).

Si es así, acepta la entrada (-j ACCEPT).



Vamos comprobar las reglas: (solo se muestra la primera linea, tu verás más)

sudo iptables -L


Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh


Ahora, vamos a permitir todo el tráfico entrante

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT


Comprobando nuestras reglas, tenemos:

 sudo iptables -L


Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:www


Tenemos permitido específicamente el tráfico tcp en los puertos ssh y web, pero como no tenemos bloqueado nada, todo el tráfico puede aun entrar.

 

 

Una vez que se toma la decisión de aceptar un paquete, ninguna regla más le afecta. Como las reglas que permiten el tráfico web y ssh vienen de antes, ya que nuestra regla de bloquear el tráfico viene después, podemos aun aceptar el tráfico que queramos. Todo lo que necesitamos hacer es poner la rela para bloquear todo el tráfico.

sudo iptables -A INPUT -j DROP


listamos las reglas:

sudo iptables -L


Y obtenemos

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:www
DROP       all  --  anywhere             anywhere


Como no hemos especificado un interfaz o protocolo, cualquier tráfico de cualquier puerto en cualquier interfaz está bloqueado, excepto para web y ssh.


El único problema con nuestra configuración de lejos es que incluso el puerto loopback está bloqueado.


Podríamos haber escrito la regla solo para eth0 especificando -i eth0, pero, pero también podríamos añadir una regla para el loopback. Si se agrega esta regla, esta llegará muy tarde - después de que todo el tráfico sea bloqueado. Necesitamos insertar la regla antes de ésto. Dado que se trata de una gran cantidad de tráfico, la insertaremos como primera regla para que sea procesada en primer lugar

sudo iptables -I INPUT 1 -i lo -j ACCEPT


Listamos las reglas:

sudo iptables -L


Y obtenemos

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:www
DROP       all  --  anywhere             anywhere


La primera y última linea parecen lo mismo, así que listaremos iptables con más detalle con la opción -v.

 sudo iptables -L -v


Y obtenemos

Chain INPUT (policy ALLOW 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source       destination         
   0     0 ACCEPT     all  --  lo     any     anywhere     anywhere
   0     0 ACCEPT     all  --  any    any     anywhere     anywhere          state
   RELATED,ESTABLISHED
   0     0 ACCEPT     tcp  --  any    any     anywhere     anywhere          tcp dpt:ssh
   0     0 ACCEPT     tcp  --  any    any     anywhere     anywhere          tcp dpt:www
   0     0 DROP       all  --  any    any     anywhere     anywhere


Ahora puedes ver más información. Esta regla es actualmente muy importante, dado que muchos programas utilizan la interfaz loopback para comunicarse con otras. Si no permites la comunicación, podrías romper esos programas.

 

 

El propósito del Enmascaramiento IP (IP Masquerading) es permitir que máquinas con direcciones IP privadas no enrutables de una red accedan a Internet a través de la máquina que realiza el enmascaramiento. Se debe manipular el tráfico que va de su red privada con destino a Internet, para que las respuestas puedan encaminarse adecuadamente a la máquina que hizo la petición. Para ello, el núcleo debe modificar la dirección IP fuente de cada paquete de forma que las respuestas se encaminen hacia ella, en lugar de encaminarla hacia la dirección IP privada que hizo la petición, lo que resulta imposible en Internet. Linux usa Seguimiento de Conexión (Connection Tracking, conntrack) para llevar la cuenta de qué conexiones pertenencen a qué máquinas, y reencaminar adecuadamente cada paquete de retorno. El tráfico que sale de su red privada es, por consiguiente, «enmascarada» dando la sensación de que se ha originado en la máquina Ubuntu que hace de pasarela. Este proceso se denomina Compartición de Conexiones de Internet (Internet Connection Sharing) en la documentación de Microsoft.

Esto se puede conseguir con una sóla regla de iptables, que puede variar ligeramente en función de la configuración de su red:

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADE


La orden anterior supone que su espacio de direcciones privadas es 192.168.0.0/16 y que el dispositivo que conecta con Internet es ppp0. La sintaxis se descompone de la siguiente forma:

-t nat -- la regla es para ir a la tabla nat

-A POSTROUTING -- la regla es para añadir (-A) a la cadena POSTROUTING

-s 192.168.0.0/16 -- la regla se aplica al tráfico originado desde la dirección específica

-o ppp0 -- la regla se aplica al tráfico programado para ser enrutado a través del dispositivo de red especificado

-j MASQUERADE -- el tráfico que se ajuste a esta regla «saltará» («jump», -j) al destino MASQUERADE para ser manipulado como se describió anteriormente



Cada cadena en la tabla de filtrado (la tabla predeterminada, y donde ocurren la mayoría de los filtrados de paquetes) tiene una política predeterminada de ACCEPT, pero si está creando un firewall además de un dispositivo de pasarela, debería establecer las políticas a DROP o REJECT, en cuyo caso necesitará habilitar su tráfico enmascarado a través de la cadena FORWARD para que la regla anterior funcione:

sudo iptables -A FORWARD -s 192.168.0.0/16 -o ppp0 -j ACCEPT
sudo iptables -A FORWARD -d 192.168.0.0/16 -m state --state ESTABLISHED,RELATED -i ppp0 -j ACCEPT


Las órdenes anteriores permitirán todas las conexiones que vayan de su red local a Internet, así como el retorno a la máquina que las inició de todo el tráfico relacionado con esas conexiones.

Hay muchas herramientas disponibles que pueden ayudarle a construir un completo firewall sin necesidad de conocer iptables en profundidad. Para los que se inclinan por una solución gráfica, Firestarter es muy popular y fácil de usar, y fwbuilder es muy potente y tiene un aspecto familiar para aquellos administradores que hayan usado herramientas comerciales de firewall como Checkpoint FireWall-1. Si prefiere una utilidad de línea de órdenes con archivos de configuración en texto plano, Shorewall es una solución muy potente para ayudarle a configurar un firewall avanzado para cualquier red. Si su red es relativamente simple, o no dispone de red, ipkungfu le proporcionará un firewall funcional con desde el principio sin necesidad de configuración, y le permitirá crear fácilmente un firewall más avanzado editando archivos de configuración sencillos y bien documentados. Otra herramienta interesante es fireflier, diseñado para ser una aplicación firewall de escritorio. Está formada por un servidor (fireflier-server) y una selección de clientes GUI (GTK o QT), y se comporta de manera muy similar a muchas aplicaciones interactivas de firewall para Windows.

 

Logs 

Los registros del firewall son esenciales para reconocer ataques, corregir problemas en las reglas de su firewall, y observar actividades inusuales en su red. Debe incluir reglas de registro en su firewall para poder activarlos, y las reglas de registro deben aparecer antes de cualquier otra regla final aplicable (una regla con un objetivo que decide el destino del paquete, como ACCEPT, DROP o REJECT). Por ejemplo,

sudo iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j LOG --log-prefix "NEW_HTTP_CONN: "


Una petición al puerto 80 desde la máquina local, por tanto, podría generar un registro en dmesg con el siguiente aspecto:

[4304885.870000] NEW_HTTP_CONN: IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 src=127.0.0.1 DST=127.0.0.1 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=58288 DF PROTO=TCP SPT=53981 DPT=80 WINDOW=32767 RES=0x00 SYN URGP=0


El registro anterior también aparecerá en /var/log/messages, /var/log/syslog y /var/log/kern.log. Este comportamiento se puede cambiar editando apropiadamente el archivo /etc/syslog.conf, o instalando y configurando ulogd y utilizando el objetivo ULOG en lugar del LOG. El demonio ulogd es un servidor en espacio de usuario, que escucha las instrucciones de registro que provienen del núcleo y que sean específicamente para firewalls, y puede registrar cualquier archivo que desee, o incluso a una base de datos PostgreSQL o MySQL. Se puede simplificar la interpretación del significado de los registros del firewall usando una herramienta de análisis de registros como fwanalog, fwlogwatch o lire.

 

 

 

 

CUPS servidor de impresión

Tutoriales - Unix/Linux

LinuxEl mecanismo principal de impresión y de servicios de impresión en Ubuntu es el Sistema de Impresión Común de UNIX (Common UNIX Printing System, CUPS). Este sistema de impresión es una capa de impresión libre y portable que se ha convertido en el nuevo estándar de impresión en la mayoría de las distribuciones de GNU/Linux.

CUPS gestiona los trabajos y tareas de impresión, y proporciona impresión de red utilizando el Protocolo estándar de Impresión en Internet (IPP), que dispone de soporte para una gran gama de impresoras, desde matriciales hasta láser. CUPS también soporta PostScript Printer Description (PPD) y autodetección de impresoras de red, y dispone de una sencilla herramienta basada en web para la configuración y administración.

Instalación

Para instalar CUPS en tu equipo Ubuntu, simplemente usa sudo con la orden apt-get y proporciona como primer parámtro el nombre de los paquetes a instalar. Una instalación completa de CUPS tiene muchas dependencias de paquetes, pero pueden especificarse todas ellas en la misma línea de órdenes. Introduce lo siguiente en la línea de órdenes de una terminal para instalar CUPS:

sudo apt-get install cupsys cupsys-client 

Tras autenticarte con su contraseña de usuario, los paquetes se descargarán y se instalarán sin errores. Tras finalizar la instalación, el servidor CUPS se iniciará automáticamente. Con el propósito de ayudar a la resolución de posibles problemas, puedes acceder a los errores del servidor CUPS consultando el archivo de registro de errores en: /var/log/cups/error_log. Si el registro de errores no mostrara información suficiente para resolver los problemas encontrados, se podría incrementar el detalle del registro de CUPS cambiando la directiva LogLevel en el archivo de configuración (como se indicó antes) del valor predeterminado «info» al valor «debug», o incluso «debug2», lo que registrará todo. Si haces este cambio, recuerda volverlo a su valor original una vez hayas resuelto tu problema, para evitar que el archivo de registro crezca demasiado.

Configuración

El comportamiento del servidor CUPS se configura a través de las directivas contenidas en el archivo /etc/cups/cupsd.conf. El archivo de configuración de CUPS tiene la misma sintaxis que el archivo principal de configuración del servidor HTTP Apache, por lo que los usuarios acostumbrados a editar el archivo de configuración de Apache se sentirán como en su casa cuando editen el archivo de configuración de CUPS. Se presentarán aquí algunos ejemplos de opciones que puedes desear cambiar inicialmente.

Antes de editar un fichero de configuración debes hacer una copia del archivo original y protegerla contra escritura, así tendrás la configuración original como referencia, y podrás reusarla si fuera necesario.

Haz una copia del archivo /etc/cups/cupsd.conf con el siguiente comando:

sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.original  

y protégelo contra escritura

sudo chmod a-w /etc/cups/cupsd.conf.original 
  • ServerAdmin: Para configurar la dirección de correo del administrador designado en el servidor CUPS simplemente edita el fichero de configuración /etc/cups/cupsd.conf con tu editor de textos preferido y modifica la línea ServerAdmin como sea conveniente. Por ejemplo, si tu eres el Administrador del servidor CUPS, y tu dirección de correo es ' Esta dirección electrónica esta protegida contra spambots. Es necesario activar Javascript para visualizarla ', entonces deberás modificar la línea ServerAdmin con algo como esto:
ServerAdmin 
  Esta dirección electrónica esta protegida contra spambots. Es necesario activar Javascript para visualizarla
  

Para más ejemplos de directivas de configuración en el archivo de configuración del servidor CUPS, consulta la página de manual asociada introduciendo el siguiente comando en un terminal:

man cupsd.conf 

Una vez hayas realizado cambios en el archivo de configuración /etc/cups/cupsd.conf, necesitarás reiniciar el servidor CUPS tecleando la siguiente orden en la línea de órdenes de una terminal:

sudo /etc/init.d/cupsys restart 

Otras opciones de configuración para el servidor CUPS se encuentran en el archivo /etc/cups/cups.d/ports.conf:

  • Listen: De forma predeterminada, en Ubuntu la instalación del servidor CUPS escucha sólo por la interfaz loopback en la dirección IP 127.0.0.1. Para hacer que el servidor CUPS escuche en la dirección IP del verdadero adaptador de red, debes especificar un nombre de host, una dirección IP, o bien, un par dirección IP/puerto, y para ello debes añadir una directiva Listen. Por ejemplo, si tu servidor CUPS reside en una red local con la dirección IP 192.168.10.250 y deseas que sea accesible para los demás sistemas de esta subred, debes editar el archivo /etc/cups/cups.d/ports.conf y añadir una directiva Listen, de esta forma:
     Listen 127.0.0.1:631 # existing loopback Listen      Listen /var/run/cups/cups.sock # existing socket Listen      Listen 192.168.10.250:631 # Listen on the LAN interface, Port 631 (IPP) 

En el ejemplo anterior, debes comentar o borrar la referencia a la dirección de loopback (127.0.0.1) si no deseas que cupsd escuche por esa interfaz, sino sólo por la interfaz Ethernet de la red local (LAN). Para activar la escucha por todas las interfases de red en las que se haya establecido un nombre de host, incluyendo el loopback, deberás crear una entrada listen para el nombre de host socrates así:

     Listen·socrates:631··#·Escuchando en todos los interfaces para la máquina·'socrates' 

o omitiendo la directiva Listen y usando Port en su lugar, como en:

     Port 631 # Escuchando en el puerto 631 en todos los interfaces 
 


adslmasbarato.com

www.adslmasbarato.com
Ateinco Informática

Nube de Tags

0      accept  accept      acción  aceptar  all   anterior  any     any      archivo  archivoarj  archivolha  archivorar  archivos  archivozoo  añadir  basada  bloqueado  buena  bzip2  cadena  cadenas  calidad  cambiar  centos  chain  comando  comprime  comprimir  conexiones  configuración  contenido  cuales  cups  cupsdconf  debes  debian  defecto  descomprimir  destination  destino  dirección  directiva  distribucion  distribuciones  distribución  dport  drop  ejemplo  empresas  enmascaramiento  enterprise  entrada  errores  especificada  facilidad  fichero  ficheros  filter  filtrado  final  firewall  forma  forward  funcion  gentoo  gran  gzip  hace  hemos  imagen  impresión  input  instalación  instalar  interfaz  internet  iptables  libre  linux  listen  livecd  local  loopback  lugar  línea  manera  masquerade  mismo  modificación  muchas  máquina  necesario  necesidad  nombre  notrack  núcleo  objetivo  ordenador  origen  otra  output  pagina  paquete  paquetes  parámetros  permitir  podeis  podemos  policy  postrouting  potente  ppp0  primera  probar  problemas  programas  prot  protocolo  puedes  puerto  quereis  registro  regla  reglas  seguimiento  servidor  siguiente  sistema  soporte  source  state  sudo  suse  tabla  tablas  tarea  target  tcp   tiene  tipo  todas  tráfico  ubuntu  usuario  usuarios  version       órdenes  19216800