Vous êtes sur la page 1sur 18

La arquitectura de seguridad de las actuales versiones de Linux est organizada en tres capas diferentes: La primera capa est formada

a por el cortafuegos, denominado iptables, el cual puede controlar el acceso a los niveles de subcapa de acceso al medio, capa de red, capa de transporte y en algn caso incluso la capa de aplicacin. La segunda capa est formada por los envolventes de acceso o TCP Wrappers, que controlan los permisos para acceder a un determinado servicio segn el ordenador remoto que lo solicita. Por ltimo, la tercera y ltima capa de seguridad se encuentra en el sperservidor xinetd, cuyo funcionamiento es similar al de los envolventes de acceso pero con un nivel de configuracin mucho ms detallado.

Las tres utilidades descritas se aplican de manera consecutiva y aditiva, de forma que cuando un paquete llega por la interfaz de red a un host en primer lugar lo analiza el

REDES

3ER NIVEL

GRUPO 3

iptables de acuerdo con las reglas que tiene definidas y decide si el paquete tiene o no permitida la entrada. En caso negativo el paquete es descartado sin ms, independientemente de lo que pudieran determinar las reglas de los TCP Wrappers o el xinetd. Si el paquete pasa el filtro del iptables los TCP Wrappers se encargarn de inspeccionar si est permitido el acceso, de acuerdo con las reglas configuradas; en caso negativo el acceso ser denegado, independientemente de lo que dispongan las reglas de xinetd. Por ltimo, si el paquete ha superado tanto los filtros del iptables como los del TCP Wrappers el xinetd analizar si est permitido el acceso solicitado. Solo cuando las tres utilidades hayan permitido el acceso podr el paquete llegar finalmente al proceso servidor el que va dirigido y generar la accin correspondiente, que podra ser por ejemplo el establecimiento de una conexin TCP con dicho proceso. Por supuesto aquellos servicios que no son controlados por las tres capas (como en el caso de sendmail y sshd del ejemplo anterior) solo tendrn que superar el control establecido por las utilidades que les afectan.

Restauracin de la configuracin inicial del host


Para probar las herramientas debemos partir de una configuracin inicial neutra evitando los problemas que nos podra producir los residuos de configuraciones dejadas en el host pro compaeros de prcticas anteriores; para ello vamos en primer lugar a borrar todos los ficheros de configuracin ejecutando los siguientes comandos: rm -f /etc/sysconfig/iptables rm -f /etc/hosts.allow rm -f /etc/hosts.deny rm -f /etc/xinetd.conf rm -f -r /etc/xinetd.d

Configuracin del servidor xinetd.


xinetd (eXtended InterNET Daemon) es un proceso servidor tambin llamado superservidor porque se encarga de poner en marcha diversos servicios en un host cuando son requeridos por los clientes, reduciendo de esta forma la cantidad de procesos activos cuando lo que se quiere es ofrecer servicios cuya utilizacin va a ser espordica. As por ejemplo si queremos ofrecer un servicio HTTP no necesitamos al arrancar el host poner en marcha un proceso especfico que est escuchando en el puerto 80 por si en algn momento se conecta algn cliente. En su lugar el proceso xinetd escuchar el puerto 80 y en el momento que reciba alguna peticin de conexin al puerto 80 arrancar el proceso HTTP servidor; cuando la conexin TCP al servidor se termine el servidor HTTP desaparecer, repitindose el proceso cuando vuelva a aparecer una peticin de conexin al puerto 80 por parte de algn cliente. Algunos servicios sencillos, como el daytime, pueden ser incluso

REDES

3ER NIVEL

GRUPO 3

atendidos directamente por el propio proceso xinetd, sin necesidad de lanzar ningn proceso independiente. Estos se denominan servicios internos. Adems de reducir la cantidad de recursos utilizados para ofrecer servicios en un host el super-servidor xinetd permite establecer un control en el acceso mediante unos ficheros de configuracin especficos de cada servicio.

Configuracin de los TCP Wrappers


Los TCP Wrappers o envolventes de acceso (wrapper = envoltura) son un sistema de control que se usa para filtrar el acceso por red a servicios en hosts con sistemas operativos tipo UNIX (Linux o BSD por ejemplo). A pesar de su nombre los TCP Wrappers se utilizan no solo para trfico TCP sino tambin UDP e incluso ICMP pues se puede restringir por ejemplo el acceso al servicio pingd (ping daemon) que es el encargado de responder a los pings recibidos por el host. La configuracin de los TCP Wrappers se guarda en dos ficheros, /etc/hosts.allow y /etc/hosts.deny que especifican respectivamente los permisos y las denegaciones que se aplican a los diferentes servicios. Puedes ver el contenido de estos ficheros, por ejemplo mediante los comandos: more /etc/hosts.allow more /etc/hosts.deny De momento estos ficheros tienen todas sus lneas comentadas, es decir no contienen ninguna regla (una lnea est comentada si comienza por el smbolo #). Los TCP Wrappers funcionan con la filosofa de permiso por defecto, es decir si algo no est expresamente prohibido est implcitamente permitido. Adems los TCP Wrappers procesan todas las reglas del hosts.allow por el orden en que aparecen y luego, tambin por orden, las del hosts.deny. Si el acceso solicitado cumple una regla se le aplica lo que corresponda (permitir si la regla est en el hosts.allow y denegar si est en el hosts.deny) y ya no se analiza nada ms. As por ejemplo, si en el hosts.allow ponemos la siguiente regla: ALL : ALL Ya dar igual lo que pongamos detrs de ella y todo lo que pongamos en el hosts.deny, pues cualquier acceso cumplir esa regla, ser permitido y no se evaluarn las reglas que haya detrs o en el hosts.deny.. Normalmente los TCP Wrappers controlan todos los servicios que controla xinetd y alguno ms. As por ejemplo en nuestro caso el servicio sshd (Secure Shell Daemon) que escapaba al control de xinetd, s es controlado por los TCP Wrappers.

RED HAT CAPT. 12


En primer lugar, hay que comprobar si el paquete de envolturas TCP est instalado: # rpm -qa | grep wrappers tcp_wrappers-7.6-56.3.el6.x86_64 tcp_wrappers-libs-7.6-56.3.el6.x86_64

REDES

3ER NIVEL

GRUPO 3

Asegure los servicios con TCP Wrappers y xinetd Los TCP wrappers proporcionan control de acceso a una variedad de servicios. La mayora de los servicios modernos de redes, tales como SSH, Telnet y FTP, hacen uso de TCP wrappers, que montan guardia entre las peticiones entrantes y el servicio solicitado. Los beneficios ofrecidos por TCP wrappers son mejorados cuando se usan en conjunto con xinetd, un super servicio que proporciona acceso adicional, conexin, enlace, redireccin y control de la utilizacin de recursos. Mejorar la seguridad con TCP Wrappers Los TCP wrappers son capaces de mucho ms que simplemente negar el acceso a servicios. Esta seccin ilustra cmo se pueden usar para enviar pancartas de conexin, avisar sobre ataques desde hosts particulares y mejorar la funcionalidad de conexin. Para una lista detallada de la funcionalidad y el lenguaje de control de los TCP wrappers, consulte la pgina del manual de hosts_options. Los TCP Wrappers y las pancartas de conexin Una buena forma de disfrazar qu sistema est ejecutando el servidor, es enviando un mensaje intimidante a las conexiones clientes para un servicio. Esto tambin permite dejarle saber al atacante que el administrador del sistema est atento y vigilante. Para implementar un mensaje de TCP wrapper para un servicio, utilice la opcin banner. Este ejemplo implementa una pancarta para vsftpd. Para comenzar, debe crear un archivo de pancartas. Este puede estar en cualquier lugar en el sistema, pero debe tener el mismo nombre que el demonio. Para este ejemplo, se nombrar al archivo/etc/banners/vsftpd. Los contenidos del archivo se veran as: 220-Hello, %c 220-All activity on ftp.example.com is logged. 220-Act up and you will be banned. La seal %c proporciona una variedad de informacin del cliente, tal como el nombre de usuario y del host, o el nombre del usuario y la direccin IP para hacer la conexin an ms intimidante. El Manual de referencia de Red Hat Enterprise Linux tiene una lista de otras seales disponibles con los TCP wrappers. Para que esta pancarta sea presentada a las conexiones entrantes, aada la siguiente lnea al archivo /etc/hosts.allow:

REDES

3ER NIVEL

GRUPO 3

vsftpd : ALL : banners /etc/banners/

TCP Wrappers y las advertencias de ataques Si un host particular o red ha sido atrapada tratando de atacar el servidor, se pueden usar los TCP wrappers para advertir de ataques subsecuentes desde esa mquina o red a travs de la directiva spawn. En este ejemplo, se asume que el cracker desde la red 206.182.68.0/24 ha sido atrapado intentando atacar el servidor. Colocando la siguiente lnea en el archivo /etc/hosts.deny, se niega el intento de conexin y se registra a un archivo especial. ALL : 206.182.68.0 : spawn /bin/ 'date' %c %d >> /var/log/intruder_alert La seal %d suministra el nombre del servicio que el atacante estaba tratando de acceder. Para permitir la conexin y registrarla, coloque la directiva spawn en el archivo /etc/hosts.allow. Aumento de la seguridad con xinetd El super servidor xinetd es otra herramienta til para controlar el acceso a sus servicios subordinados. Esta seccin se enfocar en cmo se puede usar xinetd para colocar un servicio trampa y controlar la cantidad de recursos otorgados que cualquier servicioxinetd pueda usar para as frustrar posibles ataques de DoS. Para una lista de las opciones disponibles, consulte las pginas man para xinetd y xinetd.conf.

REDES

3ER NIVEL

GRUPO 3

Proteger datos con cifrado en Linux

Securing Data with Encryption


(Secure SHell, en espaol: intrprete de rdenes segura) Es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder a mquinas remotas a travs de una red. Permite manejar por completo la computadora mediante un intrprete de comandos, y tambin puede redirigir el trfico de X para poder ejecutar programas grficos si tenemos un Servidor X (en sistemas Unix y Windows) corriendo. SSH usa tcnicas de cifrado que hacen que la informacin que viaja por el medio de comunicacin vaya de manera no legible y ninguna tercera persona pueda descubrir el usuario y contrasea de la conexin ni lo que se escribe durante toda la sesin; aunque es posible atacar este tipo de sistemas por medio de ataques de REPLAY y manipular as la informacin entre destinos.

Verificar si SSH esta instalado en tu sistema y que version. La manera mas facil es: ssh -V

OpenSSH (Linux)/PuTTY (Windows).

Instalacin de OpenSSH
Algunas distribuciones traen instalado por defecto un cliente SSH, no obstante explicaremos como realizarla para un sistema Ubuntu. Instalando a travs de terminal

Para instalar el cliente: Para instalar el servidor:

sudo apt-get install openssh-client sudo apt-get install openssh-server

Primeros pasos con SSH


Para iniciar el servidor SSH: Para parar el servidor SSH: Para reiniciar el servidor SSH:

service ssh start service ssh stop service ssh restart

Conectndonos a un servidor remoto (Linux) desde un cliente (Linux)


REDES 3ER NIVEL GRUPO 3

Primero descubramos qu direccin IP tenemos en el servidor. Para ello desde una ventana de terminal escribimos:
/sbin/ifconfig

Nos aseguramos de que el servicio est ejecutndose:


service ssh start

Y ahora podemos dirigirnos a nuestro cliente y establecer una conexin remota al equipo que ejerce de servidor.
ssh usuario_remoto@host_remoto

Establezcamos una conexin que nos permita ejecutar aplicaciones grficas.


Ahora que hemos visto cmo conectarnos y trabajar desde nuestra ventana de terminal, vamos a ir un poco ms all, y vamos a ejecutar aplicaciones grficas. Un mtodo bastante efectivo consiste en utilizar un tnel SSH para encapsular el protocolo X11, permitiendo transmitir la informacin de manera segura y sin crear conflictos con los cortafuegos. Pero para ello debemos configurar un par de parmetros en el fichero sshd_config:
X11Forwarding yes AllowTcpForwarding yes

Con X11Forwarding especificamos si se permite el reenvo por X11. El valor por defecto es yes. Desactivarlo en ningn momento ayudar a mejorar la seguridad del servidor. Y lo que intentamos conseguir activando dicha directiva es permitir ejecutar aplicaciones grficas en el servidor remoto. Recordad que X es un sistema de ventanas creado para dotar de interfaz grfica a los sistemas Unix. Por otro lado con AllowTcpForwarding especificamos si se permite el reenvo a travs del protocolo TCP. Al igual que pasaba con X11, desactivarlo, en ningn momento proveer mayor seguridad a nuestro servidor. Su valor por defecto es yes. Una vez hecho esto, ya podemos iniciar una sesin SSH y ejecutar aplicaciones grficas. Para ello bastar con escribir en nuestra terminal:
ssh -X -Y usuario_remoto@host_remota

REDES

3ER NIVEL

GRUPO 3

-X (X11 forwarding) -Y (X11 trusted forwarding)

Ahora podremos ejecutar cualquier aplicacin que se encuentre instalada en el servidor. Reproduzcamos una pelcula con mplayer por ejemplo:
mplayer nombre_pelcula

Generando y Usando llaves ssh-keygen


sh-keygen es una utilidad de Unix que se utiliza para generar, gestionar y convertir las claves de autenticacin para la autenticacin de ssh. Con la ayuda de la herramienta ssh-keygen, un usuario puede crear claves de frases de paso

Creando las llaves, sin contrasea de frase o passphrase


En el equipo "cliente" generaremos las llaves como el usuario que se conectar al servidor. Ejemplo, usuario 'sergio' en el equipo 'cliente', esto lo haremos utilizando el comando sshkeygen, y las opciones : -t dsa que indica el tipo dsa (Digital Signature Algorithm) como medio de encriptacin, -b 1024 que indica 1024 bits, aunque podemos omitirla ya que los certificados del tipo dsa por defecto siempre son de 1024 bits.

[hell@local] $ ssh-keygen -t dsa Generating public/private dsa key pair. Enter file in which to save the key (/home/hell/.ssh/id_dsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/hell/.ssh/id_dsa. Your public key has been saved in /home/hell/.ssh/id_dsa.pub. The key fingerprint is: f5:b2:f3:2d:43:1b:22:44:98:6c:fe:42:df:a3:15:09 hell@local [hell@local] $

Los anteriores comandos piden los mismos datos, el primero, en donde guardar la llave privada, si simplemente pulsamos intro, se salvar en la ruta por defecto (la indicada entre parntesis), a no ser que emplees varias llaves privadas, la ruta por defecto es una buena opcin, ya que el cliente la usar sin necesidad de que el usuario tenga que especificarla.

REDES

3ER NIVEL

GRUPO 3

Las siguientes dos cosas que pide son la frase clave con la que encriptar la llave privada y una peticin de que se repita la frase para cerciorarse de que no se han cometido errores al escribirla la primera vez. Para la frase con la que encriptar la llave privada se puede emplear cualquier carcter (letras, nmeros, signos de puntuacin, espacios), en principio el tamao de la frase puede ser arbitrario, pero ssh-keygen se quejar si es menor de cuatro carcteres. En caso de no introducir ninguna frase, la llave privada quedar sin encriptar, lo cual podria ser til para realizar algunas automatizaciones como podra ser el realizar copias de seguridad, pero, para uso habitual, se desaconseja dejar las llaves privadas sin encriptar por el peligro que puede representar que estas sean robadas. A continuacin el ssh-keygen muestra donde se ha guardado la llave privada (/home/hell/.ssh/id_dsa) y donde est la llave pblica que le corresponde (/home/hell/.ssh/id_dsa.pub), que no es ms que el mismo nombre de archivo con la extensin .pub aadida al final. En la ltima lnea imprime una huella dactilar que sirve para identificar la llave que acabamos de crear, seguida de un comentario que puede servir para identificar la llave pblica.
Aadir llaves pblicas a authorized_keys

Despues de haber creado un juego de llaves privada y pblica, lo primero es mantener la llave privada secreta, por defecto ssh-keygen establecer los permisos del archivo con esta llave para que slo el dueo pueda leerla y modificarla. Por el contrario la llave pblica podr ser leida por cualquier usuario, pues por algo es pblica. Pero para poder autenticarnos en un equipo remoto con nuestra llave privada, lo nico que tendremos que hacer es aadir nuestra llave pblica en el archivo .ssh/authorized_keys dentro del directorio personal del usuario al que queremos acceder (generalmente $HOME/.ssh/authorized_keys). despues de crear el juego de llaves tenemos lo siguiente en nuestro directorio .ssh:
[hell@local] $ ls -1 ~/.ssh id_rsa id_rsa.pub [hell@local] $

No es ms que un juego de llaves RSA, ahora la mquina remota donde queremos instalar nuestra llave se llama remoto.ejemplo.com, y la cuenta de usuario es la misma que la que estamos empleando en el sistema que estamos utilizando, entonces podramos poner:
[hell@local] $ scp ~/.ssh/id_rsa.pub remoto.ejemplo.com:mi_llave.pub hell@remoto.ejemplo.com's password: id_rsa.pub 100% 398 0.4KB/s 00:00 [hell@local] $

REDES

3ER NIVEL

GRUPO 3

De esta manera en la mquina remota tendremos el archivo mi_llave.pub que contiene nuestra llave pblica, ahora tan slo nos resta crear el directorio .ssh, en caso de que no exista, y aadir la llave pblica al archivo $HOME/.ssh/authorized_keys, para ello, podemos conectarnos mediante SSH y usar el comando cat. Una sesin SSH a modo de ejemplo sera la siguiente:
[hell@local] $ ssh ejemplo.remoto.com hell@remoto.ejemplo.com's password: [hell@remoto] $ mkdir .ssh [hell@remoto] $ chmod 700 .ssh [hell@remoto] $ cd .ssh [hell@remoto] $ cat ../my_llave.pub >> authorized_keys [hell@remoto] $

Ahora, la prxima vez que nos conectemos al servidor remoto.ejemplo.com, en lugar de pedirnos la contrasea del usuario, nos pedira la frase clave con la que la encriptamos nuestra llave privada:
[hell@local] $ ssh ejemplo.remoto.com Enter passphrase for key '/home/hell/.ssh/id_rsa': [hell@remoto] $

SSH-Agent
SSH-Agent permite recordar mientras dure la sesin, cada una de las claves privadas del usuario, de modo que l se encargue de realizar la autenticacin. En cualquier ambiente informtico, donde se requiera trabajar con mltiples servidores, es necesario contar con una comunicacin segura como SSH. Para conectarse a un servidor remoto, basta con teclear el comando seguido del usuario y host destino, y de la contrasea del usuario remoto en cuestin. Este proceso de login en mquinas remotas puede ser molesto en los casos en que sea necesario realizar conexiones cada poco perodo de tiempo, debido a que hay que ingresar la contrasea cada vez.
$ ssh-add ~/.ssh/identity Need passphrase for /home/dsuela/.ssh/identity Enter passphrase for dsuela@thorin: loquequerais

A partir de ahora no hace falta introducir la clave cada vez que abrimos una sesin de ssh, o usamos scp. Lo nico es copiar nuestra clave pblica a cada mquina que queramos usar y aadir la clave privada cada vez que iniciamos las X.
Listar las llaves que hay en el agente

En caso de querer ver que llaves contiene el agente, podemos pasarle la opcin -l a la herramienta ssh-add, y obtendremos una salida como la siguiente:

REDES

3ER NIVEL

GRUPO 3

[hell@local] $ ssh-add -l 2048 1f:2b:61:83:c7:f8:27:73:4d:03:0a:92:40:da:b8:bb /home/hell/.ssh/id_rsa (RSA) 1024 78:f2:ac:c0:0b:80:57:e7:fb:98:05:cd:1e:36:69:84 /home/hell/.ssh/id_dsa (DSA) 2048 d1:a7:cb:de:1b:bf:ef:04:04:2f:33:fc:31:f3:80:b3 millave.key (DSA) [hell@local] $

Cada lnea representa una llave. La primera columna muestra el tamao en bits de la llave, la segunda se corresponde con la huella dactilar de la llave, la tercera columna es el archivo que contiene la llave y la ltima columna, indica entre parntesis el tipo de llave que es, RSA o DSA. Tambin se puede emplear la opcin -L que mostrar las llaves pblicas, lo cual puede ser til para aadirlas al archivo authorized_keys de una mquina remota.
[hell@local] $ ssh-add -L ssh-rsa AAAAB3NzaC1...XnFBZjRf8cqDbugZRVeHYGvRqrNdv/9w== /home/hell/.ssh/id_rsa ssh-dss AAAAB3NzaC1...6GRYhh2JxuPcr9kwlD7ZUjFrgElDFrng== /home/hell/.ssh/id_dsa ssh-dss AAAAB3NzaC1...ZumWVFBO5E+fhyaZegOb8Rsz08J8LxOQ== millave.key [hell@local] $

Eliminar llaves del agente

Tambin podemos eliminar llaves del agente empleando la herramienta ssh-add con la opcin -d seguida de la llave pblica que le corresponde a la llave privada que queremos que el agente borre de su memoria. Por ejemplo, para que olvide nuestra llave RSA:
[hell@local] $ ssh-add -d .ssh/id_rsa Identity removed: .ssh/id_rsa (.ssh/id_rsa.pub) [hell@local] $

tambin podemos eliminar todas las llaves que tenga el agente empleando la opcin -D, ejemplo:
[hell@local] $ ssh-add -D All identities removed. [hell@local] $

Bloquear el agente

Cuando no necesitamos usar el agente, pero no queremos que se olvide de nuestras llaves, como en el caso de dejar el equipo en el que estamos trabajando para ir a tomar un cafetn, podemos optar por bloquear el agente, para ello tan slo hace falta pasarle la opcin -x a la herramienta ssh-add, la cual nos pedir una contrasea con la que luego podremos desbloquear el agente:

REDES

3ER NIVEL

GRUPO 3

[hell@local] $ ssh-add -x Enter lock password: Again: Agent locked. [hell@local] $

Luego, cuando necesitemos volver a usar el agente, podemos desbloquearlo ejecutando la herramienta ssh-add con la opcin -X, ssh-add entonces nos pedir la contrasea para desbloquear el agente:
[hell@local] $ ssh-add -X Enter lock password: Agent unlocked. [hell@local] $

GNU Privacy Guard (GPG)


GnuPG utiliza criptografa de clave pblica para que los usuarios puedan comunicarse de un modo seguro. En un sistema de claves pblicas cada usuario posee un par de claves, compuesto por una clave privada y una clave pblica. Cada usuario debe mantener su clave privada secreta; no debe ser revelada nunca. La clave pblica se puede entregar a cualquier persona con la que el usuario desee comunicarse. GnuPG implementa un esquema algo ms sofisticado en el que un usuario tiene un par de claves primario, y ninguno o ms de un par de claves adicionales subordinadas. Los pares de claves primarios y subordinados se encuentran agrupados para facilitar la gestin de claves, y el grupo puede ser considerado como un slo par de claves.

Generar un nuevo par de claves


La opcin de la lnea de rdenes --gen-key se usa para generar un nuevo par de claves primario.
javier:~$ gpg --gen-key gpg (GnuPG) 0.9.8; Copyright (C) 1999 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. Please select what kind of key you want: (1) DSA and ElGamal (default) (2) DSA (sign only) (4) ElGamal (sign and encrypt) Your selection?

REDES

3ER NIVEL

GRUPO 3

GnuPG es capaz de crear varios tipos diferentes de pares de claves, pero debe existir una clave primaria capaz de generar firmas. Por lo tanto, existen slo tres opciones. La *opcin 1 genera dos pares de claves. Un par de claves DSA que es el par de claves primario que se usar slo para firmar. Un par de claves subordinadasElGamal que se usar para el cifrado. * La opcin 2 es parecida a la anterior, pero slo genera un par de claves DSA. La opcin 4genera un nico par de claves ElGamal, que se usar tanto para firmar como para cifrar. En todos los casos existe la posibilidad de aadir subclaves adicionales para cifrar y firmar a posteriori. La mayora de los usuarios tienen suficiente con la opcin por definicin. Tambin hay que escoger un tamao para la clave. El tamao de una clave DSA debe estar entre los 512 y 1024 bits, y una clave ElGamal puede ser de cualquier tamao. Sin embargo, GnuPG requiere que las claves no sean menores de 768 bits. Por tanto, si se escogi la opcin 1 y tambin un tamao de claves mayor de 1024 bits, la clave ElGamal tendr el tamao deseado pero la DSA se limitar a 1024 bits.
DSA keypair will have 1024 bits. About to generate a new ELG-E keypair. minimum keysize is 768 bits default keysize is 1024 bits highest suggested keysize is 2048 bits What keysize do you want? (1024)

Cuanto ms larga sea la clave, ms segura ser contra ataques de fuerza bruta, pero por lo dems el tamao de la clave que se da por definicin es el adecuado, ya que sera ms barato circunvalar el cifrado que intentar entrar mediante ataques de fuerza. Adems, el cifrado y descifrado de mensajes se ralentizara a medida que se incrementara el tamao de la clave, y un tamao de clave ms grande podra afectar a la longitud de la firma digital. Una vez seleccionado, el tamao de una clave no se puede cambiar nunca. Para terminar, hay que escoger un fecha de caducidad. Si se escogi anteriormente la opcin 1, la fecha de caducidad se usar para sendos pares de claves, ElGamal y DSA.
Requested keysize is 1024 bits Please specify how long the key should be valid. 0 = key does not expire <n> = key expires in n days <n>w = key expires in n weeks <n>m = key expires in n months <n>y = key expires in n years Key is valid for? (0) Key does not expire at all Is this correct (y/n)?

Para la mayora de los usuarios, una clave sin fecha de caducidad es la adecuada. Sin embargo, si se escoge con fecha de caducidad, el tiempo para sta debe ser escogido con cuidado, ya que, aunque es posible cambiar la fecha de caducidad posteriormente a la generacin de la clave, puede ser difcil comunicar un cambio a aquellos usuarios que posean esta clave pblica.

REDES

3ER NIVEL

GRUPO 3

Adems de los parmetros de la clave, el usuario debe dar un identificador. El identificador de usuario se usa para asociar la clave que se est creando con una usuario real.
You need a User-ID to identify your key; the software constructs the user id from Real Name, Comment and Email Address in this form: "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>" Real name: Email address: Comment:

Slo se crear un identificador de usuario al generar una clave, pero es posible crear identificadores adicionales si se desea usar la clave en dos o ms contextos, v.g., si se usa por una parte en la oficina como empleado y por otra parte en casa como activista poltico. Hay que tener cuidado al crear un identificador de usuario, ya que despus ste no puede ser editado para introducir cambios.

Importar una clave pblica


Se puede aadir una clave pblica al anillo de claves pblicas mediante la opcin --import.
javier:~$ gpg --import arancha.gpg gpg: key B63E132C: public key imported gpg: Total number processed: 1 gpg: imported: 1 javier:~$ gpg --list-keys /home/javier/.gnupg/pubring.gpg -------------------------------pub 1024D/D58711B7 1999-09-24 Javier (Paramo S.L.) <javier@casa.es> sub 1024g/92F6C9E3 1999-09-24 pub sub 1024D/B63E132C 1999-09-24 Aranzazu (A.G.deZ.) <arancha@nav.es> 1024g/581A915F 1999-09-24

Una vez que la clave haya sido importada, es necesario validarla. GnuPG usa un potente y flexible modelo de confianza que no requiere que el usuario d validez personalmente a cada clave que importe. Sin embargo, algunas claves pueden necesitar que el usuario les d validez de forma personal. Una clave se valida verificando la huella digital de la clave, y firmando dicha clave para certificar su validez. La huella digital se puede ver con la opcin de la lnea de rdenes --fingerprint, pero para certificar la clave hay que editarla.
javier:~$ gpg --edit-key arancha@nav.es pub sub 1024D/B63E132C 1024g/581A915F created: 1999-09-24 expires: never created: 1999-09-24 expires: never trust: -/q

REDES

3ER NIVEL

GRUPO 3

(1)

Aranzazu (A.G.deZ.) <arancha@nav.es>

Command> fpr pub 1024D/B63E132C 1999-09-24 Aranzazu (A.G.deZ.) <arancha@nav.es> Fingerprint: 4203 82E2 448C BD30 A36A 9644 0612 8A0F B63E 132C

Despus de comprobar la huella digital ya se puede firmar la clave con el fin de validarla. Debido a que la verificacin es un punto dbil en criptografa de clave pblica, es aconsejable ser cuidadoso en extremo y siempre comprobar la huella digital de una clave con la que nos d el propietario antes de firmar dicha clave.
Command> sign pub 132C Aranzazu (A.G.deZ.) <arancha@nav.es> Are you really sure that you want to sign this key with your key: "Javier (Paramo S.L.) <javier@casa.es>" Really sign? y You need a passphrase to unlock the secret key for user: "Javier (Paramo S.L.) <javier@casa.es>" 1024-bit DSA key, ID D58711B7, created 1999-09-24 Enter passphrase: 1024D/B63E132C created: 1999-09-24 expires: never trust: -/q Fingerprint: 4203 82E2 448C BD30 A36A 9644 0612 8A0F B63E

Una vez firmada, el usuario puede comprobar la clave para obtener un listado de las firmas que lleva y para ver la firma que le acaba de aadir. Cada identificador de usuario tendr una o ms autofirmas, as como una firma por cada usuario que haya validado la clave en cuestin.
Command> check uid Aranzazu (A.G.deZ.) <arancha@nav.es> sig! B63E132C 1999-09-24 [self-signature] sig! D58711B7 1999-09-24 Javier (Paramo S.L.) <javier@casa.es> Command> quit

Para Listar claves


$ gpg --list-keys

REDES

3ER NIVEL

GRUPO 3

SElinux
Security Enhanced Linux (SELinux) es otra capa de seguridad para el sistema operativo Linux. Desarrollado por la Agencia de Seguridad Nacional (NSA), se agrega proteccin a los diferentes archivos, aplicaciones, procesos y as sucesivamente. Sin embargo Muchos usuarios que recin estn comenzando a tienden a desactivar SELinux porque es un sistema complejo que puede tomar mucho tiempo y esfuerzo para acostumbrarse

Razones para usar Selinux


La razn de usar SElinux es limitar el acceso que tienen las aplicaciones a otras aplicaciones y a los ficheros, impidiendo que un proceso pueda modificar cualquier fichero del usuario con el que se lanz. Hay una serie de razones fundamentales por las que SElinux puede denegar el acceso a un archivo, proceso o recurso: Un archivo mal etiquetado. Un proceso que se ejecuta en el contexto de seguridad incorrecto en SElinux. Un error en la poltica. Una aplicacin requiere el acceso a un archivo que no se haba previsto cuando la poltica ha sido escrito y genera un error. Un intento de intrusin.

Configuracin de SElinux
Para conocer mejor los parmetros de SElinux se puede acceder al modo grfico de SElinux ejecutando el comando; system-config-securitylevel O bien desde consola con el comando; sestatus Si se desea cambiar los modos en SElinux se puede ejecutar el comando; setenforce

REDES

3ER NIVEL

GRUPO 3

Para conocer los puertos que SElinux permite ejecute la siguiente sintaxis; semanage port -l Ahora bien, si se desea dar permiso a un puerto por medio de SElinux se ejecuta la siguiente sintaxis; # Permiso al servicio http por medio del puerto 81 semanage port-a-t-http_port_t-p tcp 81 De igual forma el comando getsebool le mostrar todos los booleanos disponibles en el sistema que pueden ser cambiados. As mismo mostrar y comprobar la lista de los booleanos activados y desactivados; getsebool -a Tambin puede hacer uso del comando setsebool para activar o desactivar la lista de booleanos, segn la necesidad, algunos ejemplos que pueden ser tiles son; # Permitir a los scripts y mdulos del Servidor HTTP Apache conectarse a bases de datos. setsebool -P httpd_can_network_connect_db on # Permitir el acceso a sistemas de archivos SAMBA setsebool -P httpd_use_cifs on # Permitir que los usuarios annimos puedan realizar procesos de escritura sobre el sistema de ficheros. setsebool -P allow_ftpd_anon_write on # Permitir al servicio vsftpd acceder a los usuarios locales a sus directorios de inicio setsebool -P allow_ftpd_full_access on Si lo que se desea es restaurar un archivo (s) por defecto en el contexto de seguridad de SElinux, ejecute la siguiente sintaxis; restorecon -v archivo (s) O bien para restaurar de forma recursiva; restorecon -Ap archivo (s) Adems, si se quiere profundizar en los contextos de seguridad de un directorio y ver si todos los archivos son seguros y se encuentran correctamente restaurados, se puede utilizar restorecon con la opcin-n para evitar cualquier nuevo etiquetado; restorecon -Ap -n direcotorio

REDES

3ER NIVEL

GRUPO 3

Resolucin de problemas con Selinux


Los problemas pueden surgir en SELinux por numerosas razones. Sin embargo, los tres primeros son problemas-El uso de etiquetado un directorio no estndar tiende a causar problemas si el directorio o los archivos no estn etiquetados correctamente. Corregir contexto- Cuando usted est moviendo archivos, que pueden perderse o conservarse con contextos incorrectos, lo que provoca errores de acceso. Utilice el comando matchpathcon para verificar si el contexto es correcto. Confinados servicio-Si ciertos Booleans no estn habilitados, un servicio puede tener problemas operativos o la comunicacin con otros servicios. Cuando usted est la solucin de problemas de SELinux , hay algunos paquetes que le debe instalar primero : # Yum install -y policycoreutils - python policycoreutils selinux-policy setroubleshoot server Usted tambin encontrar los dos archivos de registro siguientes tiles: Cada archivo de registro proporciona mensajes de error especficos cuando se producen rechazos , lo que facilita buscar usando grep . Dos comandos comunes que puede utilizar para la caza de error mensajes incluyen # Grep " SELinux est negando " / var / log / messages # Grep " denegado" / var / log / audit / audit.log

REDES

3ER NIVEL

GRUPO 3

Vous aimerez peut-être aussi