|
|
|
|
|
TEMA 4: SEGURIDAD EN SISTEMAS OPERATIVOS: UNIX
4.1 Autentificación clásica. Passwords. Ataques de diccionario.Este tema tiene como objetivo, estudiar de una forma no demasiado intensiva , cuales son los métodos de los que disponen los Sistemas Operativos para garantizar la seguridad de sus respectivos usuarios. Una alto porcentaje de lo explicado , serán métodos implementados en el sistema operativo Unix , que debido a su politicas de seguridad y a sus caracteristicas lo hacen idoneo para ejemplizar los conceptos estudiados en este tema o capitulo del trabajo.
4.2. UNIX: Gestión de las password. Ficheros /etc/passwd y /etc/shadow.
4.3. Tipos de Sistemas operativos.Métodos de administración elemental.
4.4. Tipos de implementaciones de la protección del sistema de ficheros4.4.1.Permisos-Máscaras de bits.4.5. Bits SETUID y SETGID.
4.4.2 ACL.
4.6.Copias de Seguridad.
4.1 Autentificación clásica. Passwords. Ataques de diccionario.
Uno de los puntos fundamentales en la administración y diseño de un sistema operativo e informático en general es el proceso de autentificación de los usuarios que van a hacer uso del mismo, es decir, que el sistema pueda controlar en todo momento quien tiene acceso o no a la información que este ofrece.Así pues será fundamental que el sistema este preparado, para autenticar a una persona , es decir , ser capaz de saber que quien desea acceder a la información es realmente quien dice ser. Existen mútliples formas , más o menos efectivas , más o menos costosas, de autentificar a los usuarios, desde reconocimiento de voz o de retina, hasta el uso de passwords.Aqui será estudiada uno de los sistemas de autentificación más extendido ,debido a su fácil implementación y su escaso coste. Se fundamenta en que cada uno de los usuarios del sistema tiene asignado un login y un password ( también puede ser cualquier otra información , siempre que sea privada y que este asociado al usuario correspondiente).Estos atributos de los usuarios , quedan almacenados en una base de datos ( en el caso de linux en los ficheros etc/passwd y etc/shadow ) , de tal forma que cada vez que un usuario desea autentificarse ante el sistema en concreto, introduce el valor de su login y su contraseña.Posteriormente el computador comprueba dicha información accediendo a la base de datos, y en función de dicha consulta , permite o no el acceso a la información que ofrece el sistema. Así pues , parece evidente que el punto problemático de este sistema de autentificación es la correcta elección de las passwords. En principio , no existirán reglas acerca de la longitud de las passwords y sobre su contenido, pero como veremos en el siguiente aprartado, UNIX, se puede configurar de la forma correcta para establecer algunos principios básicos de seguridad y que van a permitir reducir las probabilidades de que un ataque tenga éxito. Uno de los ataques más conocidos es el ataque con diccionario, y que no son más que ficheros ASCII que contienen palabras cuyo uso es muy extendido. El ataque consistirá en ir provando una a una estas palabras como posibles passwords de usuario hasta dar con la password correcta. Su lógica no solo se queda en el contenido de los ficheros ASCII, sino que prueban con informaciones asociadas al usuario (login , e-mail ,direccion del home ...) permutadas de todas las formas posibles. Estudios , de estos ataques afirman , que un alto porcentaje de las passwords de un sistema pueden ser obtenidas empleando este tipo de ataques, y también afirma que una correcta gestión en la asignación y creación de passwords, reducen considerablemente estos índices de éxito. Algunos de los consejos que pueden reducir considerablemente el éxito de los ataques de diccionario son :
-No hay que elegir palabras normales ni nombres, especialmente el propio, de familiares o personajes famosos.No obstante una buena administración del sistema operativo, debe controlar a la hora de la creación de nuevas passwords, o a la hora de renovación de las mismas, si son correctas o no lo son.Esto se realiza con programas creados para entornos del sistema operativo y que realizan ataques con diccionario a las nuevas passwords, y que comprueban una serie de parametros sobre las mismas ( longitud de las mismas ...). En caso de que la nueva password pase el test , será asignada al usuario correspondiente y en caso que no lo pase se le solicitará que introduzca una nueva.
-Mezclar letras y números, mayúsculas y minúsculas. No utilizar passwords que sean totalmente numéricas y nunca el número de teléfono , DNI o similares.
-Elegir passwords de seis a ocho caracteres ( cuanto más sean menor es la probabilidad de éxito de un ataque por fuerza bruta).
-Utilizar passwords distintas para máquinas distintas. Ser especialmente cuidadoso con los caracteres especiales.
-NO ESCRIBIR NUNCA EL PASSWORD EN PAPEL.
La estructura de la base de datos donde se almacena la información acerca de los usuarios y sus respectivas passwords , debe seguir unos principios básicos que nos van a permitir aumentar la seguridad en el proceso de autentificación de los usuarios. Algunos de los métodos son:
-La información privada y por tanto confidencial ,debe ser cifrada con alguno de los métodos criptográficos estudiados en las secciones anteriores. En este caso,como la información confidencial , son las propias passwords , las passwords deberán ir cifradas en las correspondientes zonas reservadas en la base de datos para almacenar su contenido.4.2. UNIX: Gestión de las password. Ficheros etc/passwd y etc/shadow.-Mantener claramente una distinción entre la información de libre acceso y la información confidencial . Si almacenamos tanto la información pública como privada en la misma base de datos pública, ya estamos dando información a los atacantes ( la password cifrada ). Una posible solución es lo que se conoce como Shadow Passwords y que consiste en que la información privada , aunque sea cifrada, se almacena en una base de datos protegida contra lectura.Tal es el caso del sistema operativo Unix , que como se verá en la siguiente sección mantiene una base de datos publica ( etc/passwd) y otra privada ( etc/shadow) donde se almacenan las passwords de los usuarios cifradas, protegidas contra lecturas ajenas al administrador del sistema.
La gestión de la autenticación de los usuarios en Unix se realiza mediante la comprobación de un usuario y una password.Estos van a ser los parámetros que van a identificar a un usuario ante el sistema operativo y le van a permitir saber que el individuo correspondiente es realmente quien dice ser. Para la gestión de las password, es fundamental conocer la estructura de dos ficheros que Unix emplea para la autenticación de los usuarios. Se presenta una explicación de ambas estructuras y posteriormente se hablará acerca de donde radica su seguridad , y que mejoras han podido reducir su vulnerabilidad al minimo posible.
El fichero etc/passwd: Este fichero contiene información acerca de los usuarios locales o remotos de una determinada máquina. Se trata de un fichero ASCII ( va a poder ser editado por cualquier tipo de editor de texto como el vi o el joe) , compuesto por lineas cada una de las cuales presentan el siguiente formato :Así pues , cuando un usuario se conecta, y aporta información al sistema , ( login y password ), el sistema operativo cifrará la password introducida, y observará consultando el fichero de almacenamiento de claves confidenciales (etc/shadow) si el contenido del mismo coincide o no, en caso afirmativo le permitirá el acceso, en caso contrario lo denegará. Indicar que esta forma de separar la información confidencial de la información publica se conoce com Shadow passwords, y fue introducida en Unix , hace bastante tiempo, debido fundamentalmente a los problemas de seguridad que implicaba la incorporación de información confidencial a documentos públicos.Cada uno de los campos contiene la siguiente información:us : pass : uid : gid : cuenta : dir : shell - us:contiene el login del usuario que se describe en la linea correspondienteUn posible ejemplo de una linea del fichero /etc/passwd podría ser la siguiente:
- pass: contiene la password cifrada o en su lugar una x o cualquier otro carácter que simbolice la presencia de la password cifrada en otro fichero.Posteriormente se comentará cual es la utilidad de esta acción.
- uid: contiene el user id, se trata de un valor numérico que identifica al usuario correspondiente.
- gid: contiene el group id, se trata de un valor numérico que identifica el grupo donde se ubica el usuario.
- cuenta: contiene una descripción de la cuenta correspondiente.
- dir: contiene la ubicación en el sistema de directorios (la ruta) , del directorio asociado al usuario correspondiente.
- shell: contiene la ubicación ( la ruta ) del shell de inicio .Como puede observarse en el contenido de cada uno de los campos , el fichero /etc/passwd sirve para controlar los usuarios del sistema y para dar información a los procesos acerca de los usuarios que lo ejecutan. Indicar que se emplea para identificar al usuario tanto su login como su Id. Esto se emplea por dos razones, la primera para que sea más cómodo para el usuario recordarse de algo significativo y no de un número carente de significado, y por otra parte, para aportar información a los procesos, para indicarles a que login está asociado el correspondiente Uid. Así pues si ejecutaramos el comando ls -l que nos lista los ficheros y directorios , observamos que en los poseedores de los ficheros , tanto en grupo , como en usuarios particulares, aparece el nombre del login y no del uid. Esto puede ser llevado a cabo gracias al contenido de los campos asociados a cada uno de los usuarios en el fichero /etc/passwd.alberto:x:501:501::/home/alberto:/bin/bash
Con respecto a la estrcutura de este fichero y su gestión indicar , que dos lineas que posean el mismo Uid, serán considerados por el sistema operativo como el mismo usuario aunque posean distinto login. Esto constituye una vulnerabilidad que va a ser explotada al máximo por los atacantes del sistema operativo. En concreto la vulnerabilidad , radica en el uid 0 que se corresponde con el del administrador del sistema. Así pues , podrá existir un usuario del sistema de login "bolfo" , con el uid a 0. Así pues conectandonos con un login y un password distinta a la del root , podriamos gozar de los mismos permisos que este.El fichero /etc/shadow : Este fichero contiene información confidencial acerca de los usuarios del sistema. La información confidencial que almacena , son la passwords que emplea el usuario correspondiente para autentificarse ante el sistema Las claves de acceso empleadas por el usuario para acceder a la máquina se encuentran encriptadas utilizando un criptosistema irreversible basado en las funciones estandar de la libreria <crypt.h> .Esta función toma como clave los ocho primeros caracteres de la contraseña elegida por el usuario para cifrar un bloque de texto en claro de 64 bits puestos a cero; para evitar que dos passwords iguales resulten en un mismo texto cifrado, se realiza un permutacion durante el proceso de cifrado elegida de forma automática y aleatoria para cada usuario, basada en un campo formado por un numero de 12 bits llamado "salt".
El cifrado resultante se vuelve a cifrar utilizando la contraseña del usuario de nuevo como clave, y permutando con el mismo "salt", repitiendose el proceso 25 veces. El bloque cifrado final, de 64 bits, se concatena con dos bits a cero, obteniendo 66 bits que se hacen representables en 11 caracteres de 6 bits cada uno y que, junto con el "salt", pasan a constituir el campo "password" del fichero /etc/shadow. Entonces cuando veamos el password de un usuario en el archivo /etc/shadow sabremos que los dos primeros caracteres con el "salt" y los 11 restantes la contraseña cifrada. La estructura del fichero se encuentra dividida en entradas o en lineas cada una de las cuales se encuentra asociada a cada uno de los usuarios del sistema. El formato de cada linea es el siguiente:Cada uno de los campos contiene la siguiente información:us:passcifr:umod:dur -us: login del usuario que se describe en la linea correspondiente.Un posible ejemplo de una de las lineas del fichero /etc/shadow podría ser el siguiente:
-passcifr: campo que contiene la password del usuario correspondiente cifrada , esta formado por 11 caracteres los dos primeros pertenecen al "salt" y los 9 restantes a la password cifrada.
-umod: contiene la ultima modificación de la password.
-dur:contiene la fecha de caducidad , así como otras consideraciones temporales acerca de las password.al051588:$1$lM8SlzYV$S6LjzpzZkzPvvzN8cGWmM/:11686:0:99999:7:-1:-1:-1073744752
.-El fichero /etc/passwd debe ser accesible por todos los usuarios/procesos del sistema en solo lectura. Esto parece obvio, ya que si estuvieran activos los pemisos de escritura , cualquier usuario podría crear nuevos usuarios o modificar datos acerca de los ya existente.4.3.Tipos de Sistemas operativos.Métodos de administración elemental.
-El fichero /etc/shadow , debe ser accesible unicamente por el root, y por tanto debe tenet los permisos de escritura ,de lectura , y de ejecución para cualquier tipo de usuario o proceso del sistema.
La caracterización de los sistemas operativos va a ser fundamental a la hora de establecer las politicas de seguridad y de autentificación de los usuarios. Esta sección se va a encargar de estudiar en función de las características de los sistemas operativos los métodos que nos van a permitir controlar las posibles amenazas sobre estos .Indicar que la implementación de estos métodos no son ni mucho menos triviales y se escapan de mi conocimiento acerca de la seguridad en Sistemas Operativos. Así pues serán mencionados , pero no estudiados con profundidad. Podemos dividir a los sistemas operativos en los siguientes tipos:
-Sistemas operativos monosuario y monotarea : Son aquellos sistemas operativos en los que no es necesario realizar una autentificación de los usuarios. Como existe un único usuario , cualquier usuario que emplee la máquina en concreto goza de todos los permisos acerca de la información que se encuentra almacenada, por lo tanto el sistema es altamente inseguro ya que que rompe con uno de los principios básicos de la seguridad en computadores, el principio del menor privilegio. Este tipo de sistemas operativos , serán empleados más para Pc's familiares o en los que el valor de la información que contiene no goza de importancia ninguna ( pc's de las aulas informáticas por ejemplo ) . Así pues sería una negligencia emplear uno de estos sistemas para montar una máquina que ofrece unos determinados servicios en la red, que como se vió en secciones anteriores se encuentra expuesta a innumerables amenazas.Unos de los sistemas que se caracterizan por ser monousuario y monotarea es el sistema MS-DOS de microsoft.-Sistemas operativos multiusuario: A diferencia de los sistemas anteriores , el sistema se debe encargar de autentificar a los usuarios, es decir , establecer métodos que nos permitan saber si las personas que desean acceder a una determinada información son realmente quien dicen ser ( passwords,/etc/passwd, /etc/shadow). Además de tener en cuenta la autenticación de los usuarios , debe tener en cuenta , una vez que un determinado usuario está haciendo uso de los recursos del sistema, cuales son los permisos sobre la información que maneja. Esto se lleva a cabo en la constitución del sistema de ficheros, que puede consistir en asignar a cada fichero permisos que controlen y restriccionen lo que otros usuarios pueden hacer con dichos ficheros. En la siguiente sección veremos dos posibles implementaciones del sistema de ficheros : Acl y empleo de máscaras de bits.
Un caso concreto de los sistemas multiusuario , son los multitarea , es decir , aquellos sistemas en los que pueden ser ejecutados varios procesos a la vez a su vez lanzados por usuarios distintos. En este caso , será necesario controlar lo que los procesos de un determinado usuario pueden hacer sobre la información que manejan procesos que fueron lanzados por otros usuarios. Normalmente , dicha protección se emplea realizando una gestión correcta de la memoria , marcando las zonas de memoria correspondientes a unos usuarios y a otros. Fundamentalmente veremos dos métodos:-Métodos hardware: La CPU marca el fin y el inicio de la zona de memoria reservada por la ejecución de un determinado proceso de un determinado usuario. Así pues, si un determinado proceso , accede a una zona de memoria no comprendida entre el valor de dichas marcas, la CPU se encarga de generar una excepciónc que será tratada por el sistema operativo por el codigo que se encuentra en la zona reservada para el núcleo.La implementación de estas marcas se lleva a cabo mediante el uso de dos registros del mismo.-Métodos software: El sistema operativo realiza una gestión de la memoria central como si estuviera dividida en páginas. Así pues , cada usuario cuando lanza un proceso tiene asociada una de estas páginas en las que se divide la memoria. Un acceso , a una página incorrecta corta el proceso correspondiente produciendose lo que se conoce como Violación de Segmento.
4.4.
Tipos de implementaciones de la protección del sistema de ficheros.
Esta sección se va a encargar de exponer de que forma , en sistemas multiusuario, se pueden implementar métodos para proteger los ficheros de un usuario , a las modificaciones de otros usuarios , que en este caso pueden constituir una amenaza sobre la información que custodia. Son las siguientes:
4.4.1.Permisos.4.5 Bits SETUID y SETGID.Una de las formas más habituales para proteger la información de los usuarios , consiste en asignar a cada uno de los ficheros que almacenan la información, cadenas de bits que especifican lo que el propio usuario , el grupo al que pertenece, o el resto de usuarios pueden hacer con la información que le pertenece. Fundamentalmente distingueremos tres operaciones fundamentales: lectura, escritura, y ejecución.de un determinado fichero. Es fundamental , que el usuario conozca el significado de los permisos, ya que constituye una contramedida muy efectiva contra amenazas de tipo alteración de la información , por ello una buena política de seguridad del sistema informático, deberá informar a sus usuarios sobre el significado de los permisos y de las herramientas de que dispone para modificarlos. Fundamentalmente ,la estructura de los permisos en ficheros y directorios es la siguiente: rwxrwxrwx, donde su significado será el siguiente en función de si hablamos de directorios o ficheros. En ficheros:
-r: permiso que permite la lectura del contenido del fichero que lo tiene.Los permisos estan agrupados de tres en tres:
-w: permiso que permite la escritura-modificación del contenido del fichero que lo posee.
-x: permiso que permite la ejecución del mismo.En directorios :
-r: permiso que nos permite listar el contenido del directorio.
-w: permiso que nos permite modificar el nombre del directorio o eliminarlo.
-x: pemiso que permite acceder al mismo.-Primer grupo : permisos aplicados al propietario.Además de la información de los permisos anteriores , también se especifica información ( bits ) acerca de si la máscara de bits está asociada a un fichero o un directorio. Normalemente se especificará con el primer bit , que con una "d" especificara que se trata de un directorio. La ausencia de este , implicará presencia de fichero. A continuación se presenta un ejemplo del sistema de ficheros de Unix al obtener un listado de un directorio:
-Segundo grupo : permisos aplicados a los miembros del grupo propietario.
-Tercer grupo : permisos aplicados al resto de usuarios.Como se puede observar , en la imagen todos los elementos del listado son ficheros y tienen todos los permisos activados. Consituye un ejemplo , de mala gestión de la información por parte del usuario , ya que cualquier usuario de la máquina ( incluso algun usuario anónimo ) podrá modificar nuestra información. A la hora de crear nuevos ficheros la tendencia por defecto es la siguiente:
-6448 : _rw_r_ _r _ _Por último, indicar el hecho de que aunque este bastante extendido el uso de los permisos y de las máscaras de bits para la protección de los ficheros, no es el sistema de ficheros más eficiente , ya que la implantación del mismo implica apertura de los ficheros para comprobar los correspondientes permisos . No olvidemos , que a la hora de tener en cuenta el diseño del sistema de ficheros dedemos tener en cuenta , la flexibilidad, la versatilidad y sobre todo el COSTE que implica su implantación.
-7558 : rwx r_x r_xSe trata de otra de las implementaciones del sistema de ficheros, en este caso la información acerca de lo que los usuarios pueden hacer con los ficheros y la información que almacenan no van asociada a los mismos, sino a los usuarios. En este caso , existirá una lista, un documento , formado por información acerca de una lista de usuarios y sobre los permisos que establecen condiciones acerca de lo que los mismos pueden hacer sobre los ficheros. Un documento ACL, muy simple podría consistir en lo siguiente:
al051588 r , al051566 rw , resto x
La linea especifica que el usuario de login al051588 tiene permiso de lectura , que el usuario al051566, permiso de escritura y de lectura y que el resto de usuarios permiso de ejecución. Así pues se puede observar claramente como las restricciones sobre los ficheros no están asociadas a los ficheros sino a los usuarios. Este método de implementación del sistema de ficheros es más eficiente que el de las máscaras de bits, ya que en primer lugar reducimos considerablemente la información a almacenar, y por el otro lado , cada vez que abrimos un fichero debemos consultar el documento ACL y no consultar las máscaras de bits que implican una pérdida de tiempo considerable.
Ademas de los bits de proteccion básicos hay tres bits más que son bastante interesantes, de los cuales comentaremos el SETUID y el SETGUID. El SETUID es un bit que aplicado a un fichero establece ciertos parametros en su ejecución. Es decir en un fichero setuidado en el campo de ejecucion aparece una "s" en lugar de una "x", en el primer grupo de permisos (el que se refire al usuario). Pues bien, cuando este bit está activo en un fichero ejecutable, el proceso que se lanzará a partir de este ejecutable tendrá los permisos del propietario del fichero y no del usuario que lo ejecute. Este es un aspecto común a todos los sistemas operativos y debe ser muy controlado tanto por el administrador como por los usuarios. Es un aspecto que será explotado al máximo por los atacantes del sistema operativo. Imaginemos una mala gestión del bit setuid por parte del administrador,y que el programa ejecutable rm tuviera los siguientes permisos -rwsr-xr-x. Si esta situación se pudiera dar, consituiría una amenaza demoledora sobre el sistema ya que cualquier usuario al ejecutar el comando rm podría gozar de los permisos del administrador al estar setuidado. Se ha visto con un ejemplo, que el control de este tipo de bits va a ser muy importante para la seguridad del sistema , por lo que será aconsejable utilizar los bits "s", unicamente cuando la suplantación de identidad no suponga amenaza alguna sobre la seguridad de nuestro sistema. El bit de seguridad SETGID se comporta de forma analoga al SETUID, actua de la misma forma aunque este a nivel de grupo. Es decir, cuando este bit está activo en un fichero ejecutable, el proceso que se lanzará a partir de este ejecutable tendrá los permisos del grupo del fichero ejecutable y no del grupo del usuario que lo ejecute.
Las copias de seguridad son unas de las contramedidas logicas más utilizadas por los administradores de sistemas informáticos, debido a su fácil implementación y bajo coste.Sus objetivos fundamentales van a ser ofrecer una solución, a las amenazas que suponen una ataque contra la integridad y disponibilidad de los datos.Establecer un correcta política de copias de seguridad va a ser fundamental para tener un respaldo de la información que deseamos proteger, para que en el caso de que las medidas de seguridad que se encargan de controlar el acceso a nuestra información fallen , no suponga un pérdida total o parcial de los datos. La necesidad de emplear copias de seguridad en un determinado sistema informático radica fundamentalmente en:
-Los dispositivos de almacenamiento masivo que se encargan de dar soporte a la información del sistema no disponen de una fiabilidad a prueba de bombas,sino que existirán unos índices de probabilidad , que nos permitirán darnos cuenta de que puede darse el caso de que un fallo del dispositivo pueda suponer una amenaza importante sobre la información que se encargarán de respaldar.De esta forma cada vez que una amenaza sobre la integridad de los datos se haya hecho efectiva ( se haya producido un daño o una pérdida ) unicamente deberemos acceder a la parte de la información que ha sido dañada, y respaldarla por su homóloga que se encuentra en la copia de seguridad de la información.-También puede darse el caso de que una intrusión a nuestro sistema o un uso incorrecto malintencionado por parte del administrador o de algún usuario, suponga una amenaza de daño sobre los datos sobre los que se sustenta el sistema.
-La frecuencia con la que se hace un respaldo de los datos: la frecuencia temporal con la que los datos que contiene la copia de seguridad son actualizados dependen fundamentalmente de dos factores:Una vez estudiada los principales factores que intervienen en el correcto diseño de una correcta política de copias de seguridad , vamos a plantear un ejemplo que combina todos los factores anteriores y que supone una fácil y correcta forma de diseñar copias de seguridad. Se compone de las siguientes partes:-Las contramedidas de que el sistema informático dispone para contrarestar el efecto de las amenazas a las que se encuentra expuesto, así como la fiabilidad de las mismas. Es decir, en sistemas donde se respete con rigurosidad cada uno de los principios sobre los que la seguridad se apoya (autenticidad,disponibilidad ,integridad y confidencialidad) , la frecuencia con las que se actualizan las copias de seguridad no serán las mismas que en sistemas donde la probabilidad de éxito de un ataque sea considerablemente elevada.-El lugar donde las copias de seguridad se almacenan: Es conveniente almacenar las copias de seguridad , si es posible, en el lugar más alejado del sistema informático.En ocasiones por comodidad del árbitro del sistema (root), las copias se guardan cerca del sistema informático, lo que supone un gran error y una gran ventaja para el atacante, ya que, en primer lugar, en caso de que una amenaza se haga efectiva y se dañen los datos, también se dañarían los datos de la propia copia, y en segundo lugar , ya que es el lugar más evidente donde un atacante registrará para la obtención de más información acerca del sistema. Dichos lugares los podemos clasificar en :-En función, de cada cuanto tiempo y con que frecuencia se actualicen los datos del sistema. Dicha frecuencia de actualización de los datos del sistema, en ocasiones es tan elevada que se opta por tomar copias de seguridad en tiempo real. Para ello exiten unos dispositivos , denominado rights que permiten aumentar la fiabilidad de la duplicación de los datos. Pero como se verá en el siguiente factor, nos permiten hacer copias sobre el mismo dispositivo, cosa que no es del todo conveniente si se quiere evitar el hecho de que un fallo del medio de almacenamiento suponga una amenza grave sobre la información copiada o sobre la misma información.
-Locales: para almacenar las copias de seguridad utilizamos uno de los múltiples dispositivos periféricos de que el sistema informático dispone localmente. Los más utilizados son los discos flexibles (floppy), los discos duros, las cintas magnéticas, empleando medios magnéticos, y los compact disc y los DVD empleando medios ópticos, cada uno con sus correspondientes ventajas e inconvenientes. La elección de un u otro medio depende fundamentalmente de dos factores, su fiabilidad y su capacidad de almacenamiento. Normalmente, la elección del dispositivo correcto será aquel que maximice en mayor medida ambos factores.-El software que empleemos para la creación de copias de seguridad sobre la información del sistema informático.Numerosas son las herramientas para la realizacion de copias de seguridad, y estas varian segun el clon de UNIX utilizado, bien sea, AIX, HP-UX, IRIX, SCO Unix, Solaris, etc...Una herramienta standard y compatible para todas las versiones de UNIX, es la herramienta TAR (Tape Archiver) , que inicialmente fue diseñada para la creación de de copias de seguridad sobre cintas magnéticas, pero que en la actualidad sirve para la creación de las mismas sobre cualquier dispositivo de almacenamiento. El funcionamiento de esta aplicación, consiste en la creación archivos *.tar, que contienen otros ficheros o directorios. De esa forma disponemos de una forma fácil,versátil y compacta de manejar un subsistema de ficheros bajo un único identificador , el archivo contenedor. Las opciones fundamentales de las que dispone son:-Remotos: Las copias de seguridad sobre la información , se almacenan en los dispositivos de almacenamiento de un sistema remoto independiente del mismo. En este caso , la seguridad de nuestra politica de copias estará supeditada a las medidas de seguridad que el sistema remoto emplee para proteger la información correspondiente. Sin embargo, supone una ventaja sobre el anterior método de implementación de copias de seguridad, ya que la probabilidad de que los dos dispositivos de almacenamiento (los de la local y remota) fallen simultáneamente es muy pequeña.
- c Crea un nuevo archivo contendor.Así pues si deseamos hacer una copia de seguridad de los archivos "cesar.c" y "vigenere.c" que se encuentran en el directorio /home/alberto deberemos emplear el comando, "tar cfv copiadeseguridad.tar /home/alberto/cesar.c /home/alberto/vigenere.c" creando una copia de seguridad de la información correspondiente. Posteriormente dicho archivo contenedor , deberemos almacenarlo en un dispositivo externo o en una máquina remota a través de uno de los protocolos de red de tranferencia de ficheros via internet , como por ejemplo el ftp. El principal inconviente de esta herramienta es que no nos permite programar tareas del tipo actualizar copias de seguridad con cierta frecuencia, de ahí que para gestionar el correcto funcionamiento de la politica de seguridad sea necesario emplear shells-scripts que nos permitan automatizar ciertas tareas del sistema considerado.
- x Extrae archivos de un contenedor.
- t: Lista los archivos almacenados en un contenedor.
- r Añade archivos al final de un contenedor.
- v Modo verbose.
- f Especifica el nombre del contenedor .
- p Conserva los permisos de los ficheros
-Realizar copias de seguridad totales, de toda la información del sistema, con una frecuencia relativamente extensa ( por ejemplo una vez cada mes ) ,o cada vez que se haga una actualización del sistema que implique una modificación importante sobre la información que este almacena, por ejemplo , cuando hagamos una actualización o cambio del sistema operativo.-Además de estas copias totales que presentan el problema de la cantidad de coste computacional que emplean para realizar las acciones correspondientes, hacer copias de seguridad diarias de las fracciones de la información que se han modificado. Lo que conviene para la realización de las copias de seguridad diarias es realizar un respaldo de la información que nos permita mantener una alto nivel de integridad. Así pues, podríamos emplear una cinta para cada día de la semana para almacenar los cambios en porciones de información, para no perder así datos importantes, pemitiendo de esta forma recuperar el estado del sistema en cualquier día de la semana en la que nos encontramos.Como alternativa a la cinta magnética diaria sería la de incorporar un sistema de almacenamiento remoto, manteniendo la información de cada uno de los días en un fichero contenedor distinto, de esa forma podríamos implementar un alto nivel de integridad sin la necesidad de usar cintas magnéticas que pueden suponer un coste elevado.Claro está, deberemos disponer del espacio suficiente en el hdd de la máquina remota, para almacenar toda la información de nuestro sistema.