Professional Documents
Culture Documents
P g i n a 1 | 85
El termino free, traducido al castellano, significa tanto libre como gratis, por eso muchas
veces suelen confundirse el freeware con el software libre aunque entre ambos existen notables
diferencias.
Libertades del software Libre
De acuerdo con tal definicin, el software es "libre" si garantiza las siguientes libertades:
"libertad 0", ejecutar el programa con cualquier propsito (privado, educativo, pblico,
comercial, militar, etc.)
"libertad 1", estudiar y modificar el programa (para lo cual es necesario poder acceder al
cdigo fuente)
"libertad 2", copiar el programa de manera que se pueda ayudar al vecino o a cualquiera
"libertad 3", Mejorar el programa y publicar las mejoras
Es importante sealar que las libertades 1 y 3 obligan a que se tenga acceso al cdigo fuente. La
"libertad 2" hace referencia a la libertad de modificar y redistribuir el software libremente
licenciado bajo algn tipo de licencia de software libre que beneficie a la comunidad.
La licencia GNU GPL posibilita la modificacin y redistribucin del software, pero nicamente
bajo esa misma licencia. Y aade que si se reutiliza en un mismo programa cdigo "A" licenciado
bajo licencia GNU GPL y cdigo "B" licenciado bajo otro tipo de licencia libre, el cdigo final "C",
independientemente de la cantidad y calidad de cada uno de los cdigos "A" y "B", debe estar bajo la
licencia GNU GPL.
P g i n a 3 | 85
Qu es Linux?
Linux es la denominacin de un sistema operativo tipo -Unix y el nombre de un ncleo. Es uno de
los paradigmas ms prominentes del software libre y del desarrollo del cdigo abierto, cuyo cdigo
fuente est disponible pblicamente y cualquier persona puede libremente usarlo, estudiarlo,
redistribuirlo y, con los conocimientos informticos adecuados, modificarlo el cdigo fuente
completo escrito en lenguaje C, puede descargarlo desde http://kernel.org.
Los primeros sistemas Linux se originaron en 1992, al combinar utilidades de sistema y libreras del
proyecto GNU con el ncleo Linux, completando un sistema tambin conocido como
GNU/Linux. Desde fines de 1990 Linux ha obtenido el apoyo de diversas empresas multinacionales
del mundo de la informtica, tales como Microsoft, IBM Sun Microsystems, Hewlett-Packard
y Novell; es usado como sistema operativo en una amplia variedad de plataformas de hardware y
computadores, incluyendo los computadores de escritorio (PCs x86 y x86-64, y Macintosh y
PowerPC), servidores, supercomputadores, mainframes, y dispositivos empotrados as como
telfonos celulares.
Linux es un sistema con un aprovechamiento de recursos de lo ms eficiente, posee
requerimientos de hardware mnimos, calificables de irrisorios en comparacin con otros sistemas.
Una configuracin mnima para emplearlo podra ser una computadora 386SX con 1 MB de RAM y
una disquetera. A mayores se pueden aadir componentes como el teclado, una placa de
vdeo cualquiera y un monitor. Con esto es suficiente para arrancar y entrar al sistema. Si quisiramos
lujos, necesitaramos un disco duro de unos 10 MB, que sera suficiente para disponer de todos los
comandos y un par de aplicaciones pequeas. Para un sistema ms completo se aconsejan 4 MB de
memoria RAM, o 8 MB si se tiene pensado utilizar una interfaz grfica. Si se van a tener muchos
usuarios y procesos conjuntamente, sera recomendable 16 MB; 32 MB ya sera para el caso
de procesos muy pesados. En cuanto al disco duro, varan las necesidades bastante segn la cantidad
de aplicaciones que se haya pensado en instalar, pero se puede decir que actualmente van desde los
10 MB hasta un mximo de 4'7 GB para el caso de una distribucin Debian GNU/Linux
instalada con todas sus aplicaciones (en torno a unos 9000 programas distintos). Resulta obvio
decir que cuanto ms rpido sea el procesador y cuanta ms memoria tengamos mejor
rendimiento obtendremos.
P g i n a 4 | 85
P g i n a 5 | 85
Todos los ficheros y directorios estn debajo del root_directory / (raz), aunque estn almacenados
en otros dispositivos o particiones.
A continuacin se representa una descripcin de la jerarqua especfica de la FHS:
P g i n a 6 | 85
/bin/
Comandos ejecutables esenciales (binarios) para todos los usuarios (como cat, ls o cp) (especialmente
ficheros necesarios para arrancar o rescatar el sistema)
/boot/
Archivos utilizados durante el inicio del sistema (ncleo y discos RAM).
/dev/
Dispositivos esenciales
/etc/
Archivos de configuracin utilizados en todo el sistema y que son especficos del anfitrin.
/home/ (opcional)
Directorios de inicio de los usuarios locales.
/lib/ y /lib64/
Bibliotecas compartidas esenciales para los binarios de /bin/, /sbin/ y el ncleo del sistema. /lib64/
corresponde al directorio utilizado por sistemas de 64-bit.
/mnt/
Sistema de archivos montados temporalmente
/media/
Puntos de montaje para dispositivos de medios, como son las unidades lectoras de discos compactos.
/opt/
/proc/
Sistema de archivos virtual que documenta sucesos y estados del ncleo. Contiene, principalmente,
archivos de texto.
/root/
Directorio de inicio del usuario root (super-usuario).
P g i n a 7 | 85
/sbin/
Binarios de administracin del sistema
/usr/
Jerarqua secundaria para datos compartidos de solo lectura (Unix system resources). Este directorio debe
poder ser compartido para mltiples anfitriones, y, debe evitarse que contenga datos especficos del
anfitrin que los comparte cuando se hace a travs de NFS.
Este directorio incluye:
/usr/bin/
/usr/include/
/usr/lib/ y /usr/lib64/
/usr/share/
/usr/local/
Mandatos binarios
Archivos de inclusin estndar
Bibliotecas compartidas
Datos compartidos, independientes de la arquitectura.
Datos compartidos de solo lectura.
/var/
Archivos variables, como son bitcoras, bases de datos, directorio raz de servidores HTTP y FTP, colas
de correo, archivos temporales, etc.
/home
En estaciones de trabajo, a esta particin se asigna al menos la
mitad del espacio disponible para almacenamiento.
swap
Si se tiene menos de 1 GiB de RAM, se debe asignar el doble del
tamao del RAM fsico; si se tiene ms de 1 GiB RAM, se debe
asignar una cantidad igual al tamao del RAM fsico, ms 2 GiB.
sta ser siempre la ltima particin del espacio disponible para
almacenamiento y jams se le asigna punto de montaje.
P g i n a 8 | 85
Bibliografa
https://es.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html
P g i n a 9 | 85
P g i n a 10 | 85
Introduccin:
Siempre ha existido el mito de que Debian GNU/Linux es una distribucin difcil de instalar, que est
orientada a usuarios expertos en el mbito de servidores, y que no es adecuada para el usuario final.
Aunque no es menos cierto que para tener nuestro Debian a punto hay que realizar algunos pasos ninguno complicado- en este documento mostraremos que tan sencillo es, para un usuario normal, la
instalacin de esta magnfica distribucin.
Antes de comenzar, determine primero los siguientes puntos:
P g i n a 11 | 85
P g i n a 12 | 85
Install: modo de instalacin en modo texto o consola (el que se utiliza en este documento)
Graphical Install: modo de instalacin apoyados por interfaz grfica
Advanced options: modo de instalacin para expertos.
Help: ayuda sobre el sistema de instalacin y otras opciones.
P g i n a 13 | 85
2- Seleccin de idioma:
El segundo paso es seleccionar nuestro idioma ya que por defecto se instalar en ingls. En este
proceso no hay mucho que aclarar. Vamos a realizar la instalacin en espaol para que el propio
asistente y la ayuda que nos proporciona se muestren en el idioma seleccionado.
Seleccione Spanish y presione la tecla Entrar (Enter).
P g i n a 14 | 85
3- Seleccin de idioma:
Tal y como explica la ayuda, seleccionar la ubicacin nos sirve para fijar la zona horaria, adems de
identificar la localizacin para dar soporte al sistema una vez que est instalado, eligiendo las fuentes
ms cercanas a nuestra regin para la instalacin de software. (El tema de instalacin de software se
explica en la siguiente gua de trabajo).
Busque la opcin El Salvador, lo selecciona y presione la tecla Entrar (Enter).
P g i n a 15 | 85
Hispanoamrica
Cuando lo haya identificado su distribucin de teclado, bsquelo en la lista (en este ejemplo, el autor
posee un teclado Hispanoamericano Latinoamericano-) lo selecciona y presione la tecla Entrar
(Enter).
Para ms informacin sobre distribuciones de teclados consulte la siguiente direccin web:
http://es.wikipedia.org/wiki/Distribuci%C3%B3n_del_teclado
P g i n a 16 | 85
Por el momento no utilizaremos ningn servidor de nombres, por lo tanto dejaremos el campo
vaco. Presiona la tecla Tab para marcar la opcin continuar y presione la tecla Entrar (Enter).
P g i n a 17 | 85
Tal como sugiere la ayuda del asistente de instalacin, el nombre de la mquina es una sola palabra
que identifica el sistema en una red. El nombre que elegiremos es deban-server, lo digitamos,
presionamos la tecla Tab para marcar la opcin continuar y presionamos la tecla Entrar (Enter).
P g i n a 18 | 85
Por el momento no necesitaremos nombre de dominio. Existe un tema especfico que habla sobre
nombres de dominio, y lo trataremos con detalle realizando la configuracin manual.
P g i n a 19 | 85
En sistemas operativos del tipo Unix existen dos tipos de cuentas de usuario: usuario root y usuario
comn. La cuenta root es el nombre convencional de la cuenta de usuario que posee todos los
derechos en todos los modos (mono o multi usuario). root es tambin llamado superusuario.
Normalmente esta es la cuenta de administrador. El usuario root puede hacer muchas cosas que un
usuario comn no puede, tales como cambiar el dueo o permisos de archivos y enlazar a puertos de
numeracin pequea. No es recomendable utilizar el usuario root para una simple sesin de uso
habitual, ya que pone en riesgo el sistema al garantizar acceso privilegiado a cada programa en
ejecucin.
A este punto de la instalacin, el asistente solicita ingresar una contrasea para el usuario root, la
contrasea debe ser segura. La contrasea debe ser igual o mayor a 6 caracteres, y al menos debe
poseer una letra mayscula, un nmero y un smbolo como arroba (@), numeral (#), entre otros. Un
ejemplo de contrasea segura: Iloves@nDwich3s
Cuando hayas ingresado la contrasea elegida, presiona la tecla Entrar (enter) e ingresas nuevamente
la contrasea para confirmar.
Nota:
Un video de cmo elegir una contrasea segura te puede ayudar a escoger una muy original y que te
sea fcil de recordad: http://youtu.be/0RCsHJfHL_4
P g i n a 20 | 85
El usuario comn es importante en un sistema operativo tipo Unix, con el puedes realizar cualquier
tarea que no necesite de privilegios administrativos. Con este tipo de usuario tenemos evitamos
cometer algn error que sea irreparable en el sistema operativo instalado.
Solo digita tu primer nombre y tu primer apellido, luego presionas la tecla Entrar (Enter).
P g i n a 21 | 85
Este se refiere al nombre de la cuenta del usuario comn, es decir con qu usuario deseas ingresar al
sistema. De manera automtica el asistente recomendar uno (tu primer nombre). Bien puedes dejar
el que propone por defecto, o elegir uno de tu preferencia. Ten en cuenta que si eliges uno diferente,
es necesario que tenga conste de una sola palabra, sin espacios ni guiones.
P g i n a 22 | 85
Al igual que el usuario root, el usuario comn necesita de una contrasea para poder ingresar al
sistema operativo. Escoge una contrasea que sea totalmente diferente a la contrasea que elegiste
para el usuario root pero que posea las mismas caractersticas de seguridad.
Una vez que hayas elegido la contrasea para el usuario comn, presiona la tecla Entrar (Enter). El
asistente solicitar confirmar la contrasea para el usuario comn, la ingresas nuevamente y presionas
la tecla Enter.
P g i n a 23 | 85
El particionado de discos duros, se necesita para poder seleccionar las partes donde se establecer el
sistema de archivos de Linux. El asistente muestra 4 maneras de poder realizar el particionado al o
los discos que tengamos instalados en nuestro equipo.
Guiado utilizar todo el disco
Este mtodo no solicita ninguna intervencin del usuario, el particionado se realiza de manera
automtica. Este mtodo es ideal para principiantes.
LVM y LVM cifrado opciones 2 y 3LVM significa Logical Volume Manager (administrador de volmenes lgicos), es una
utilidad que permite crear volmenes lgicos a partir de discos duros fsicos. Por ejemplo, si
tienes dos discos duros fsicos y quieres que el sistema operativo (y por lo tanto el usuario)
slo vea una particin en su pc puedes usar LVM, ste "unir" lgicamente ambos discos
duros fsicos y t slo vers uno de cara al trabajo cotidiano en Linux.
Manual
Este mtodo permite crear el particionado a nuestras necesidades. Es justamente el que
utilizaremos, selecciona esta opcin y presiona la tecla Entrar (Enter).
P g i n a 24 | 85
Luego de elegir el mtodo de particionado manual, el asistente mostrar el disco duro que tenemos
instalado en nuestra computadora en nuestro caso es una mquina virtual-.
Ahora nos preparamos para el particionado manual que constar de 3 partes:
Punto de
montaje
/
/home
swap
Tamao
5.0 GB
3.7 GB
2.0 GB
Descripcin
Se instala el sistema operativo
Directorios y archivos de los usuarios
Procesos que no se mantienen en memoria.
P g i n a 25 | 85
14- Particionado de los discos Sigue los pasos, tal y como se presentan en la imagen:
Despus de cada una, presiona la tecla entrar.
P g i n a 26 | 85
P g i n a 27 | 85
P g i n a 28 | 85
P g i n a 29 | 85
P g i n a 30 | 85
P g i n a 31 | 85
P g i n a 32 | 85
P g i n a 33 | 85
P g i n a 34 | 85
P g i n a 35 | 85
En una mquina virtual, solo es necesario presionar la tecla Entrar (enter), esto har que Debian se
reinicie y ya podamos trabajar con un sistema operativo Linux perfectamente instalado. La siguiente
imagen es la que debe aparecerte luego de reiniciar:
Ya se ha completado la parte ms importante del curso: tener a punto la herramienta que vamos a
utilizar. Ahora podemos continuar con la configuracin y actualizacin manual del sistema
operativo.
P g i n a 36 | 85
P g i n a 37 | 85
Qu es APT?
Advanced Packaging Tool (Herramienta Avanzada de Empaquetado), abreviado APT, es un
sistema de gestin de paquetes creado por el proyecto Debian. APT simplifica en gran medida la
instalacin y eliminacin de programas en los sistemas GNU/Linux. No existe un programa apt en s
mismo, sino que APT es una biblioteca de funciones C++ que se emplea por varios programas de
lnea de comandos para distribuir paquetes. En especial, apt-get update y apt-upgrade.
Una de las primeras tareas que se debe realizar despus de instalar un sistema operativo Linux, es
actualizar el mismo a travs de su gestor de paquetes. Con esto descargamos las ltimas versiones de
las herramientas que vienen instaladas por defecto. Tambin nos sirve para poder instalar nuevo
software.
Este documento muestra el proceso que debes seguir para poder actualizar el sistema operativo,
tambin puedes apoyarte con el video que describe con mayor detalle este proceso. Para conseguirlo
sigue los siguientes pasos:
1- Borrar el contenido sources.list
Sources.list es el archivo hallado, siguiendo la localizacin completa /etc/apt/sources.list, en
distribuciones GNU/Linux derivadas de Debian GNU/Linux; donde se enlistan las "fuentes" o
"repositorios" disponibles de los paquetes de software candidatos a ser: actualizados, instalados,
removidos, buscados, sujetos a comparacin de versiones, entre otros.
Para poder editarlo tienes que identificarte como superusuario usando el comando su e ingresando
la contrasea de la cuentar root. Digita las siguientes instrucciones:
root@debian-server# cd /etc/apt/
root@debian-server# nano sources.list
Borra el contenido completo del archivo. Una vez que hayas borrado por completo todo el texto que
el archivo traer por defecto, pasaremos al siguiente punto.
P g i n a 38 | 85
Se ha elegido, la versin Stable (Wheezy), arquitectura de 32 bits y Estados Unidos como el origen
de los archivos. Los recursos seleccionados son: main (paquetes 100% libres), contrib (paquetes
que no son 100% libre), non-free (Aqu se encuentran paquetes que no pueden considerarse
software libre segn las directivas de Debian, por dar un ejemplo, hay software que puede ser
distribuido e instalado, pero no se tiene acceso a su cdigo fuente). Puedes encontrar mayor
informacin en el siguiente enlace:
http://www.debian.org/doc/manuals/debian-reference/ch-system.es.html#s-ftparchives
Esa es exactamente la informacin que debes ingresar al archivo sources.list, toma tu tiempo en
editarlo, y cuando ests completamente seguro de que todo est bien, continuas con el siguiente
paso.
P g i n a 39 | 85
El smbolo ^ hace referencia a la tecla control -Ctrl- acompaado de una letra es una combinacin
de teclas para realizar el proceso descrito. Por ejemplo, si necesitas guardar los cambios, la
combinacin es: Ctrl+O. Y para salir se utiliza la combinacin Ctrl+X. Realiza esas combinaciones
de teclado para guardar y salir de nano.
Una vez realizados esos cambios, procedemos a actualizar el sistema. Para ello sigue las siguientes
instrucciones:
root@debian-server# aptitude update && aptitude upgrade
Son dos instrucciones a la vez:
aptitude update:
Lo que en realidad estamos haciendo es actualizar los repositorios --ver si hay algo nuevo--,
es decir actualizar la lista de todos los paquetes, con la direccin de dnde obtenerlos para
que a la hora de hacer la bsqueda y su posterior descarga, sea ms rpida.
aptitude upgrade:
Lo que hacemos es una actualizacin de nuestro sistema con todas las posibles
actualizaciones que pudiera haber, es decir no slo actualiza nuestro sistema operativo sino
que tambin las aplicaciones que estn contenidas en los repositorios.
En resumen: el update lista los paquetes de los repositorios y el upgrade instala las actualizaciones.
Al final del proceso de actualizacin e instalacin, la pantalla debe arrojar datos parecidos a los de la
siguiente imagen:
La informacin mostrada difiere, ya que es muy probable que en tu caso si existan actualizaciones
que instalar.
P g i n a 40 | 85
http://es.wikipedia.org/wiki/Sources.list
https://help.ubuntu.com/community/AptGet/Howto
P g i n a 41 | 85
P g i n a 42 | 85
P g i n a 43 | 85
A continuacin se desplegar un listado extenso con los paquetes y dependencias que estn
relacionadas con vim. Lo mismo sucede si ingresas el paquete apache2, por ejemplo.
Tambin podemos obtener la informacin del paquete que queremos instalar utilizando los comandos:
root@debian-server:# aptitude show vim
Muestra informacin sobre el paquete. Nos informa tambin sobre las dependencias del paquete, es
decir, de qu paquetes depende.
P g i n a 44 | 85
install
remove
purge
hold
unhold
markauto
unmarkauto
orbid-version
paquete.
update
upgrade
instala/actualiza paquetes
elimina paquetes
elimina paquetes junto con sus ficheros de configuracin
bloquea paquetes
desbloquea un paquete
marca paquetes como instalados manualmente
desmarca paquetes como instalados manualmente f
prohbe a aptitude actualizar a una versin especfica de un
P g i n a 45 | 85
dist-upgrade
paquetes
forget-new
search
show
clean
autoclean
changelog
download
reinstall
P g i n a 46 | 85
P g i n a 47 | 85
Prctica
Algunas de las tareas que se mencionan en este documento no son evaluadas, la siguiente actividad
es el caso.
Atajos del teclado para la edicin de la lnea de rdenes (Terminal)
Para proveer de una mayor interaccin con la terminal de comandos de Linux, los programadores de
sta dejan a disposicin de los administradores una serie de atajos de teclas que en alguna medida
agilizan el trabajo. Las ms utilizadas son las siguientes:
Ir al principio de la lnea
Ctrl + A
Ir al final de la lnea
Ctrl + E
Ctrl + U
Ctrl + K
Alt
+ espaciador
Alt
+ F
Alt
+ B
Limpiar la pantalla
Ctrl + L
Ctrl + Y
Alt
+ .
tree
P g i n a 48 | 85
Ahora en la carpeta del usuario sin privilegios que tenemos en el sistema, vamos a crear un conjunto
de carpetas para que compruebes la utilidad del paquete que instalaste. Digita las siguientes
instrucciones (Investiga para qu sirve cada instruccin y lo agregas en el documento junto con las
capturas):
usuario@debian: ~$ mkdir Pertenencias
usuario@debian: ~$ cd Pertenencias
usuario@debian: ~/Pertenencias$ mkdir Imagenes Videos Musica www Share
usuario@debian: ~/Pertenencias$ mkdir p Videos/2013/Juicios
usuario@debian: ~/Pertenencias$ mkdir v Imagenes/Wallpapers
usuario@debian: ~/Pertenencias$ mkdir pv Musica/Clasica/Richard\ W
usuario@debian: ~/Pertenencias$ touch Share/public.txt
usuario@debian: ~/Pertenencias$ mkdir -pv www/{lib/db/sql,c/{PIL,Python}}
Una vez terminada la tarea, digita el comando tree, y te mostrar la siguiente pantalla (haz una
captura y la agregas al documento):
P g i n a 49 | 85
P g i n a 50 | 85
Sus valores por defecto no son muy tiles, por lo tanto hay que aplicar una serie de argumentos que
lo acompaan para poder crear usuarios de manera adecuada.
# useradd -d /home/gebi -s /bin/bash -g users gebi
dir
shell
uid
string
group
Para eliminar usuarios se utiliza el comando userdel y el nombre del usuario. En ocasiones querr
eliminar todos los archivos del usuario en cuestin (carpeta /home/usuario), se acompaa de la
variable r ms el nombre del usuario.
Una vez que se registra el nuevo usuario, es imprescindible agregar una contrasea segura, para
lograrlo, se debe utilizar el comando passwd ms el nombre del usuario.
Si se desea agregar informacin como: nombre completo y nmeros telefnicos, se debe utilizar el
comando chfn ms el nombre de usuario, luego solo debe completarse la informacin solicitada.
P g i n a 51 | 85
Gestin de grupos
Un grupo es un conjunto de cuentas tratadas como una sola entidad. Usted, como
superusuario, puede determinar qu grupo puede tener tales privilegios sobre un archivo o directorio.
El comando groupadd se utiliza para crear grupos. En la mayora de los casos usted tendr que utilizar
la variable f para evitar problemas de duplicidad de grupos.
# groupadd f developers
Para eliminar grupos utilice el comando groupdel ms el nombre del grupo que desea eliminar.
P g i n a 52 | 85
P g i n a 53 | 85
Permisos en Linux
La gestin de permisos en Linux (proceso de autorizacin para uso de recursos) es bastante distinta a
la que usa Windows. Linux usa un esquema de permisos bastante ms simple, ya que las ACL de los
recursos slo admiten 3 tipos de usuarios, y bsicamente 3 tipos de permisos. Sin embargo, aunque
es un sistema muy simple, con una buena planificacin permite desarrollar polticas de seguridad lo
suficientemente buenas para el uso cotidiano de un sistema. En Linux cada recurso pertenece a un
usuario, y a un grupo de usuarios.
102 jul
8 07:50 file_ronald.py
1er. carcter: Nos indica que tipo de fichero es, los valores posibles para este carcter son: (-)
d : directorio
l : enlace simblico (ver seccin )
b : dispositivo de bloque
c : dispositivo de caracteres
s : socket
p : tubera (pipe)
- : fichero regular
2do 3ro 4to carcter: Es el primer tro de permisos, y nos indican los permisos que el usuario (U)
tiene sobre ese fichero. Este usuario es el que aparece en la lnea del ls: (rwx)
5to 6to 7mo carcter: Es el segundo tro de permisos, y nos indica los permisos que el grupo (G)
tiene sobre ese fichero. Este grupo es el que aparece en la lnea del ls: (rw-)
8vo 9no 10mo carcter: Es el tercer tro de permisos, y nos indica los permisos que los otros (O)
tienen sobre ese fichero. Otros se refieren a cualquier usuario que no sea el usuario del fichero (U)
ni pertenezca al grupo del fichero (G):
(r--)
P g i n a 54 | 85
Para cada uno de estos tres tros vemos que existen tres tipos de permisos fundamentales:
r: read (lectura). El usuario que tenga este permiso podr si es un directorio listar los recursos
almacenados en l, y si es cualquier otro tipo de fichero podr leer su contenido.
w: write (escritura). Todo usuario que posea este permiso para un fichero podr modificarlo.
Si se posee para un directorio se podrn crear y borrar ficheros en su interior.
x: execute (ejecucin). Este permiso para el caso de los ficheros permitir ejecutarlos desde
la lnea de comandos y para los directorios, el usuario que lo posea tendr acceso para realizar
el resto de las funciones permitidas mediante los otros permisos (lectura y/o escritura). Si un
usuario no tiene permiso de ejecucin en un directorio, directamente no podr entrar en el
mismo, ni pasar por l.
Los tres tipos de permisos mencionados poseen una representacin numrica basada en el sistema
octal que parte de representar como 1'' los bits de los permisos otorgados y 0'' para los negados. Luego
se transforma la representacin binaria as obtenida en octal. De esta forma se obtienen para cada tipo
de permiso los siguientes valores:
r = 4
w = 2
x = 1
La combinacin de los tres tipos de permisos para un tipo de usuario oscila desde cero (ningn
permiso) hasta siete (todos los permisos).
En el ejemplo que tratamos, los permisos son:
- rwx rw- r
7
P g i n a 55 | 85
Ejemplos
rwrwx
r-x
r--
=
=
=
=
110
111
101
100
(4
(4
(4
(4
+
+
+
+
2
2
0
0
+
+
+
+
0)
1)
1)
0)
(6
(7
(5
(4
en
en
en
en
octal)
octal)
octal)
octal)
Los permisos "totales'' de un recurso constan de nueve indicadores, donde los tres primeros indican
los permisos asociados al dueo, los otros tres, al grupo y los ltimos, al resto de los usuarios.
Ejemplos:
Slo el dueo de un recurso siempre tendr derecho a cambiar sus permisos, adems del root, por
supuesto.
Comando chmod
Para cambiar los permisos de un recurso se utiliza el comando chmod.
Sintaxis:
chmod [opciones] <permisos> <ficheros>
Las formas de expresar los nuevos permisos son diversas, se puede emplear la representacin
numrica o utilizando caracteres.
Ejemplo:
# chmod 764 file_ronald.py
P g i n a 56 | 85
P g i n a 57 | 85
SSH: introduccin
Secure Shell (SSH) es un protocolo de conectividad cifrada, utilizada por usuarios, administradores
y aplicaciones para la interaccin en el mantenimiento de sistemas. SSH tiene sus ventajas comparado
con otros servicios tradicionales de comunicacin, como: telnetf, ftpd, rshd y rlogind, normalmente
incluidos en sistemas UNIX o Linux. SSH proporciona un profundo nivel de autenticacin, a
diferencia de los servicios antes mencionados. SSH utiliza nombre de usuario y contrasea
estableciendo comunicacin cifrada entre cliente servidor.
SSH es la herramienta de conexin ms utilizada en el ambiente Linux, y este documento veremos
cmo instalarlo y ponerlo en uso, para conseguir el objetivo, digita las siguientes instrucciones:
root@debian: ~# aptitude install openssh-server ssh
Ahora ya podemos realizar nuestra primera conexin remota al servidor, es decir que en un ambiente
de trabajo real, con un servidor fsico, no tendremos necesidad de estar frente a este y manipularlo,
sino que de manera remota podremos realizar tareas de administracin. (Para poder lograr el siguiente
paso, necesitas configurar la mquina virtual, de tal manera que cuentes con dos tarjetas de red, te
recomiendo que veas el video de instalacin de SSH para poder contar con ello).
Existen muchos programas para lograr la conexin de manera remota, a estos se le conocen como
Software Clientes, el ms utilizado hasta el momento es PuTTY.
PuTTY es un cliente SSH, Telnet, rlogin, y TCP raw con licencia libre. Disponible originalmente
slo para Windows, ahora tambin est disponible en varias plataformas Unix, y se est desarrollando
la versin para Mac OS clsico y Mac OS X. Otra gente ha contribuido con versiones no oficiales
para otras plataformas, tales como Symbian para telfonos mviles. Es software beta escrito y
mantenido principalmente por Simon Tatham, open source y licenciado bajo la Licencia MIT.
Para descargarlo haz clic en el siguiente enlace:
http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
P g i n a 58 | 85
P g i n a 59 | 85
P g i n a 60 | 85
Servidor WEB
Lo primero que vamos a instalar es el conjunto de paquetes por tareas llamado LAMP: este es el
acrnimo usado para describir un sistema de infraestructura de internet que usa las siguientes
herramientas:
a)
b)
c)
d)
Apache 2.0
root@debian: ~# aptitude install apache2
Una vez instalado, comprueba si est funcionando. Ingresa a un navegador web en la mquina real y
digita la IP el resultado debe ser parecido al de la siguiente imagen:
Ahora habilitamos el mdulo mod_rewrite para crear urls amigables, favoreciendo sobre todo el
posicionamiento en. ste se puede configurar haciendo uso de los archivos htaccess.
root@debian: ~# a2enmod rewrite
Reiniciamos apache
root@debian: ~# invoke-rc.d apache2 reload
MySQL
Ningn servicio web debe prescindir de un gestor de bases de datos relacional, nosotros utilizaremos
MySQL, aunque de momento no lo utilizaremos, pero en las semanas posteriores nos ser de mucha
utilidad para estudiar mtodos de seguridad.
root@debian: ~# aptitude install mysql-server mysql-client
El asistente pedir la contrasea del usuario root de MySQL, ingresa una de tu preferencia, la
contrasea que elijas tendrs que repetirla para efectos de confirmacin.
P g i n a 61 | 85
Una vez que est instalado, comprueba si funciona correctamente, sigue los siguientes pasos para
hacerlo:
root@debian: ~# mysql -u root p
Enter password: (ingresa la clave que escogiste)
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.5.31-0+wheezy1 (Debian)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> exit (Este es el nico comando que necesitas ingresar)
Bye
PHP
Ahora ha llegado el momento de instalar un lenguaje de programacin que funcione del lado del
servidor y que, adems, pueda trabajar con bases de datos en MySQL y correr con Apache. Para
efectos de prctica escogeremos PHP, un lenguaje en el que estn trabajados cientos de CMS tiles
para diferentes contextos, como por ejemplo: enciclopedias Wiki, plataforma de aula virtual, redes
sociales, blogs, entre otros. Es necesario mencionar que PHP no puede instalarse solo, sino que es
obligacin incluir los agregados que permiten trabajar con las herramientas antes instaladas:
root@debian: ~# aptitude install php5 php-pear libapache2-mod-php5 php5-mysql
Guardamos los cambios. Salimos de nano e ingresamos en el navegador web la siguiente direccin:
http://direcion_ip/info.php
Deber aparecer la informacin que aparece en la siguiente imagen:
Hasta este punto tienes el servicio web ejecutndose adecuadamente en tu servidor (faltan muchas
configuraciones que hay que realizar para que tengamos un servicio ptimo, pero ese tema lo
abordaremos en las semanas que restan).
P g i n a 63 | 85
P g i n a 64 | 85
Configuracin bsica
root@debian:~# invoke-rc.d vsftpd stop
root@debian:~# nano /etc/vsftpd.conf
Con el editor nano podemos buscar las variables utilizando la combinacin de teclas: Ctrl+w.
Modifique cada una de ellas, tal y como se muestra a continuacin.
anonymous_enable
local_enable
write_enable
connect_from_port_20
chroot_local_user
local_umask
chroot_list_file
chroot_list_enable
=
=
=
=
=
=
=
=
NO
YES
YES
NO
YES
022
/etc/vsftpd.list
YES
La variable local_umask asigna los permisos 755 al directorio del usuario que ingresa al servicio, solo
basta restar el valor 022 777, para obtener los privilegios que sern asignados. Guarde los cambios
y realice el siguiente paso.
Creamos el usuario que ingresar al servicio FTP y asignamos permisos a la carpeta
root@private#
root@private#
root@private#
root@private#
P g i n a 65 | 85
Reiniciamos el servicio
root@debian:~# invoke-rc.d vsftpd start
P g i n a 66 | 85
P g i n a 67 | 85
P g i n a 68 | 85
Explicacin:
En este fichero tenemos que agregar el nameserver 192.168.56.2 que es la IP del servidor DNS.
P g i n a 69 | 85
P g i n a 70 | 85
P g i n a 71 | 85
WEB segura
OpenSSL es un proyecto de software libre basado en SSLeay, desarrollado por Eric Young y Tim
Hudson. Consiste en un robusto paquete de herramientas de administracin y bibliotecas relacionadas
con la criptografa, que suministran funciones criptogrficas a otros paquetes como OpenSSH y
navegadores web (para acceso seguro a sitios HTTPS). Estas herramientas ayudan al sistema a
implementar el Secure Sockets Layer (SSL), as como otros protocolos relacionados con la seguridad,
como el Transport Layer Security (TLS). Este paquete de software es importante para cualquiera que
est planeando usar cierto nivel de seguridad en su mquina con un sistema operativo libre basado en
GNU/Linux. OpenSSL tambin permite crear certificados digitales que pueden aplicarse a un servidor
web, por ejemplo Apache.
Por lo general, los puertos ms comunes que se utilizan para servir sitios web son el 80 y el 443, pero
ambos tienen una enorme diferencia. El primero (80 o http) transfiere informacin por medio de un
navegador web o software con capacidades de conexin a internet por medio de ese protocolo, sin
embargo todos los datos viajan desnudos, es decir que cualquier usuario con conocimientos de
seguridad informtica puede escuchar las conversaciones que ocurren entre el cliente y el servidor
(muy parecido al viejo telnet) utilizando un software apropiado para esto.
Por ningn motivo se debe desestimar el puerto 80, aunque sea vulnerable al ataque Man-In-TheMiddle (hombre en el medio), ya que es muy til para servir sitios web estticos, servidor de archivos
o mirror de repositorios para un sistema operativo, sin embargo no es apropiado para interactuar con
el usuario y transferir informacin confidencial (correo electrnico, salas de chat, banca en lnea,
comercio electrnico), porque toda la informacin puede ser interceptada. Para este propsito es
muy til utilizar el puerto 443 (https) que no es otra cosa que el puerto http seguro, es decir que las
conversaciones entre el cliente y el usuario son cifradas aplicando firmas digitales, por lo tanto
entender estos datos resulta casi imposible.
Para identificar qu protocolo utiliza algn sitio web, simplemente debemos fijarnos en la barra de
navegacin. La direccin de un sitio que transfiere la informacin por el puerto 80 luce de la siguiente
manera:
El cono del candado y la franja verde indican que la transferencia por medio del sitio web en cuestin
es cifrada y solo el usuario y el servidor pueden ver la conversacin por medio de este protocolo. Esto
sin lugar a dudas da confianza a los usuarios. Incluso puede comprobar como: Facebook, Google,
Twitter lo utilizan.
P g i n a 72 | 85
OpenSSL y Apache
A continuacin aplicaremos seguridad al servidor apache, para que pueda servir y escuchar por el
puerto 443. Primero instalamos el equipamiento lgico necesario:
# Apache
taller ~ # aptitude install apache2
# Habilitando el mdulo SSL
taller ~ # a2enmod ssl
# Reiniciamos el servicio
taller ~ # invoke-rc.d apache2 restart
Es necesario crear los certificados de seguridad, se recomienda crear un directorio para almacenarlos,
y de esta manera tener orden en la estructura de directorios de nuestro sistema de archivos. Crearemos
un certificado de seguridad vlido durante 365 das (un ao).
# Creamos el directorio
taller ~ # mkdir /etc/apache2/ssl
# Creamos el certificado (una sola lnea)
taller ~ # openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout
/etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
A continuacin debemos ingresar la informacin necesaria para nuestra firma digital (el texto en color
es la informacin que ingresamos).
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
----Country Name (2 letter code) [AU]:SV
State or Province Name (full name) [Some-State]:San Miguel
Locality Name (eg, city) []:SM
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Security Inc
Organizational Unit Name (eg, section) []:Dept de seguridad
Common Name (e.g. server FQDN or YOUR name) []:example.com
Email Address []:webmaster@securityinc.com
P g i n a 73 | 85
Buscamos las lneas 35, 42 y 43; editamos tal como aparece en el siguiente recuadro:
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
Ahora puede comprobar la navegacin por el puerto 80 y 443, las diferencias son notables, y se
muestran en las imgenes siguientes:
HTTP
HTTPS
Solo hacemos clic en el botn Continuar de todos modos (ya explicaremos el porqu de este error).
Notaremos que el usuario puede navegar por cualquiera de las dos modalidades (versin segura o no
segura) pero es un error dejar habilitada esa posibilidad, lo ideal es re direccionar del puerto 80 al 443
(como lo hace Facebook) una vez que el usuario acceda al sitio web en cuestin. Esto se logra
realizando una pequea modificacin en el servidor web que estemos utilizando. Veamos cmo
lograrlo con Apache:
# editamos el archivo default
taller ~ # nano /etc/apache2/sites-available/default
P g i n a 74 | 85
P g i n a 75 | 85
P g i n a 76 | 85
El Firewall de Linux
Existen varias aplicaciones de cortafuegos (firewall) para Linux, pero independientemente de cul se
use, el corazn de todos estos programas es una sola aplicacin bastante poderosa que est integrada
en el mismo Kernel de sistema operativo, su nombre: iptables.
Pero por qu es importante un firewall? Porque su propsito es controlar el flujo de datos que salen
o entran por una interfaz de red. Este se construye mediante un filtro de paquetes, que es un cdigo
que lee el encabezado de un paquete de red que recibe e inmediatamente decide si aceptarlo,
rechazarlo o redirigirlo antes de alcanzar un proceso local (demonio: ssh, vsftpd). En Linux, el
filtro de paquetes es parte del ncleo.
Independiente del sistema operativo, un firewall es un programa que se ejecuta en un Gateway,
Bridge, PC, Laptop o telfono inteligente capaz de filtrar los paquetes de red entrantes, salientes y
reenviarlos a un proceso previamente definido. iptables puede dar una sensacin falsa de seguridad.
No existe red completamente segura, aunque esta herramienta es considerada de primera lnea para
la defensa de la informacin, es necesario disponer de otros mecanismos de vigilancia ante
actividades extraas para mantener el sistema seguro.
Filtro de datos
El ncleo parte con una tabla que contiene tres listas bsicas de reglas llamadas cadenas (chain):
INPUT, OUTPUT y FORWARD, respectivamente (entrada, salida y redireccin). Cuando un
paquete entra a una interfaz de red, el ncleo examina primero el destino del paquete y decide que
ruta tomar (INPUT o FORWARD). Luego el paquete es examinado en la cadena, en donde la decisin
de desechar (DROP) o aceptar (ACCEPT) el paquete es tomada. Si la decisin es aceptada, el paquete
contina hacia el destino, siendo recibido por algn proceso local (demonio). En cambio, si la decisin
es desechar, el paquete es descartado completamente, muriendo en el lugar, antes de alcanzar un
proceso local.
Una cadena es entonces una lista de reglas de control. Cada regla dice, Si el encabezado del paquete
es de esta manera, aplico tal accin sobre l. La regla puede estar compuesta de una o mltiples
condiciones. Si cualquiera de las condiciones de la regla no se cumple, la prxima regla es consultada.
Importante: iptables lee las reglas implcitas en una cadena desde arriba hacia
abajo. Detendr su bsqueda en la primera coincidencia que encuentre.
P g i n a 77 | 85
Reglas especficas
Las opciones ms comunes son
Opcin
Descripcin
-A
-i
-o
-j
-m
--state
--to-source
-s
-d
--source-port
--destination-port
-t
-D
Una instalacin Linux por defecto, trae consigo una configuracin iptables vaca, que podemos
observar ingresando el comando iptables L, su aspecto es el siguiente:
taller ~ # iptables -L
Chain INPUT (policy ACCEPT)
target
prot opt source
destination
destination
destination
Agregando reglas
Supongamos que queremos aadir una regla que permita que cualquier usuario pueda conectarse al
puerto 22. Recuerde que el puerto 22 es designado por defecto al protocolo SSH. Por supuesto, un
buen administrador de sistemas tomar otras medidas de seguridad, inclusive cambiar el puerto 22
por uno totalmente inesperado, esto puede lograrlo modificando el archivo sshd_config, pero como
este es solamente un ejemplo, continuaremos con el nmero de puerto por defecto.
taller ~ # iptables -I INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
taller ~ # iptables -L
Chain INPUT (policy ACCEPT)
target
destination
ACCEPT
tcp
anywhere
--
anywhere
tcp dpt:ssh
Examinemos el comando:
-I
INPUT
-i
-p
--dport
-j
Como el lector puede comprobar, las reglas no son tan complejas (aunque existen algunas que
requieren de un vasto conocimiento sobre el tema). Lgicamente, estas reglas se pueden reforzar para
mayor seguridad. A continuacin veremos una variacin de la regla anterior, en esta ocasin solo
permitiremos que una determinada direccin IP, pueda acceder al puerto 22.
P g i n a 79 | 85
En la primer regla ingresada, se agreg la opcin -s que significa cul es la direccin IP origen del
paquete, es decir la direccin IP del host que se permitir el acceso al puerto 22. A continuacin se
agrega otra regla que indica que todas las dems peticiones de conexin hacia SSH sern rechazadas.
Incluso se puede determinar que la conexin al puerto 22 solo podr ser realizada desde una direccin
MAC especfica (la complejidad de las reglas depende de la paranoia del administrador de sistemas)
taller ~ # iptables -A INPUT -m mac --mac-source 00:e0:6c:f1:41:6d -p tcp \
--dport ssh -j ACCEPT
taller ~ # iptables -A INPUT -p tcp --dport ssh -j REJECT
(La barra invertida se utiliza para salto de lnea sin ejecutar la instruccin)
Nuevamente el lector puede comprobar que estas reglas bsicas no son para nada complejas. A
continuacin escribiremos una regla para descartar peticiones ICMP desde el servidor. A pesar de ser
una regla bsica, puede salvar al equipo de un ataque puesto que el atacante pensar que la direccin
IP a la que est realizando ping no ha sido asignada, o que el equipo que la posee est desconectado.
taller ~ # iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
Los nicos cambios notables son la opcin icmp-type y echo-request, que son las peticiones de
tipo ICMP y la accin que se ha determinado como respuesta (en el ejemplo: no se hace nada).
Simplemente le estamos informando a iptables que todas las conexiones salientes para el servicio
telnet sean rechazadas.
Una regla tambin puede ser eliminada. Imagine que el administrador se haya equivocado en una
regla y esta evite el funcionamiento adecuado de alguno de los servicios. Veamos como deshacernos
de una regla:
taller ~ # iptables -D INPUT -p icmp --icmp-type echo-request -j DROP
P g i n a 80 | 85
Escribir estas reglas de manera ntegra al archivo rc.local del SO Linux Debian. Esto har
que las reglas de iptables se ejecuten cada vez que arranque del sistema.
Crear un Bash Script con las reglas de iptables, otorgar permisos de ejecucin copiar la ruta
de este archivo en rc.local.
Instalar algn mdulo persistente que mantenga las reglas aunque la computadora se apague.
Cualquiera de las anteriores es vlida. En este documento estudiaremos la tercera alternativa (la
instalacin de una herramienta persistente), la cual conseguimos con la siguiente instruccin:
taller ~ # aptitude install iptables-persistent
Iniciamos la herramienta:
taller ~ # invoque-rc.d iptables-persistent start
Lo primero es definir las reglas necesarias para los servicios que vamos a ofrecer, partiendo de una
decisin muy importante:
P g i n a 81 | 85
Iniciamos ahora con las reglas para los servicios que ofrecemos
# Permitimos el acceso a los puertos 80 y 443
taller ~ # iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
taller ~ # iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
# permitimos el acceso
taller ~ # iptables -A
taller ~ # iptables -A
taller ~ # iptables -A
En la ltima regla aplicamos el flag m conntrack, esta regla es especial porque crea un registro que
mantiene informacin de cada conexin y toda la informacin necesaria para esa conexin, esto es
realmente til para las conexiones FTP.
# Permitimos el trfico DNS
taller ~ # iptables -A INPUT -p tcp --dport 53 -j ACCEPT
taller ~ # iptables -A INPUT -p udp --dport 53 -j ACCEPT
El administrador puede definir, adems, algunas restricciones (bloquear ip, dar acceso solo a ciertas
ip a servicios especficos, entre otros).
Ahora solo resta guardar las reglas que se han especificado:
taller ~ # invoque-rc.d iptables-persistent save
# o
taller ~ # /etc/init.d/iptables-persistent save
Hasta este punto el lector notar que iptables no es tan complejo (no obstante existen reglas que s lo
son). Siempre es importante conocer las bases de herramientas tiles como esta, una vez que hemos
ganado un poco de conocimiento es recomendable (mientras el estudio continua) apoyarse de otras
herramientas que facilitan la insercin de reglas en iptables, una de ellas (muy gentil y cmoda de
usar) es firehol (http://firehol.org/) cuyo eslogan es iptables para humanos. Le invitamos a que
estudie la documentacin, notar la gran diferencia que existe.
No olvide la importancia de conocer las bases de iptables en crudo, esto puede informar al
administrador sobre alguna regla mal escrita que est causando alguna incomodidad en el servidor.
P g i n a 82 | 85
SSH seguro
Lo primero que un administrador de sistemas debe tener en cuenta es que la seguridad no es un
producto, es un proceso. Los administradores de servidores, muchas veces cometen el error de creer
y evangelizar con la teora de que x software es ms seguro que y software, cuando lo correcto
es decir que tal sistema permite tal mecanismo que permite la seguridad en tal sentido. Para que un
sistema sea considerado seguro en determinado grado, deben denirse, respetarse y revisarse
continuamente polticas y procedimientos tendientes a lograr ese objetivo.
SSH no es solo un reemplazo de telnet, rlogin, rexec, ftp, XDMCP y otros. Adems de brindar todas
estas posibilidades con, bsicamente, un nico programa, brinda comunicaciones seguras (cifradas)
entre el cliente y el servidor.
Las tcnicas de cifrado consisten en manipular la informacin de asegurar las siguientes propiedades:
1. Confidencialidad: no puede acceder a la informacin nadie que no sea su legtimo
destinatario.
2. Integridad: la informacin no puede ser alterada (sin ser esto detectado) en el trnsito desde
el emisor hacia el destinatario.
3. No repudio: el creador o emisor de la informacin no puede dejar de conocer su autora.
4. Autenticacin: tanto el emisor como el receptor pueden confirmar la identidad de la otra
parte involucrada en la comunicacin.
En definitiva, para lo que nos interesa, prestaremos atencin a tipos de algoritmos: los de cifrado
simtrico (con clave compartida) y los de cifrado asimtrico (con clave pbica y clave privada).
Cifrado simtrico
Esta tcnica consiste en el uso de una clave que es conocida tanto por el emisor como por el receptor
(y, se supone, por nadie ms). Al respecto del algoritmo utilizado, es deseable que cumpla varias
propiedades, entre ellas:
La principal desventaja del cifrado simtrico consiste en que ambas partes deben conocer la clave:
Un secreto compartido no es un secreto por mucho tiempo.
Entre los algoritmos de cifrado simtrico ms utilizados podemos nombrar 3DES, Blowsh, IDEA,
CAST128 y Arcfour.
Cifrado asimtrico
La Wikipedia lo describe de la siguiente manera: es el mtodo criptogrfico que usa un par de claves
para el envo de mensajes. Las dos claves pertenecen a la misma persona que ha enviado el mensaje.
Una clave es pblica y se puede entregar a cualquier persona, la otra clave es privada y el propietario
debe guardarla de modo que nadie tenga acceso a ella. Adems, los mtodos criptogrficos garantizan
P g i n a 83 | 85
que esa pareja de claves slo se puede generar una vez, de modo que se puede asumir que no es
posible que dos personas hayan obtenido casualmente la misma pareja de claves.
Si el remitente usa la clave pblica del destinatario para cifrar el mensaje, una vez cifrado, slo la
clave privada del destinatario podr descifrar este mensaje, ya que es el nico que la conoce. Por tanto
se logra la confidencialidad del envo del mensaje, nadie salvo el destinatario puede descifrarlo.
entre 2, entre 3, entre 4,..., y as sucesivamente, buscando que el resultado de la divisin sea exacto,
es decir, de resto 0, con lo que ya tendremos un divisor del nmero.
Para mayor informacin puedes visitar los siguientes enlaces:
http://es.tldp.org/Tutoriales/doc-ssh-intro/introduccion_ssh-0.2.pdf
http://neo.lcc.uma.es/evirtual/cdd/tutorial/presentacion/rsa.html
P g i n a 85 | 85