Sunteți pe pagina 1din 45

MANUAL DE PRCTICAS

ELABORACIN DE APUNTES:
MANUAL DE PRCTICAS:
SEGURIDAD EN LINUX

Elabor: M.C. Martha Escamilla Zepeda

09/02/2017

Manual de Prcticas: Seguridad en Linux. Reporte Final 2


Objetivos Generales del Manual de Prcticas

La asignatura de Seguridad en Linux bajo la retcula ISIC-2010-224, no contiene un manual


de prcticas y con el desarrollo de este proyecto se contar a partir de Febrero del 2017
con este documento.

Este Manual de prcticas apoyar al estudiante bajo el Modelo Educativo por


competencias. Este modelo recomienda la aplicacin del Construccionismo para mejorar el
aprendizaje significativo, dejando que los estudiantes den lo mejor de s mismos, siempre
con una gua clara para su mejor desarrollo Profesional.

Es importante que esta asignatura cuente con un manual de prcticas para poder asimilar
de manera ms efectiva y eficiente los conocimientos tericos vistos en el aula de clase, y
bajo una gua clara que le permita al mismo tiempo retroalimentar esa informacin
adquirida con la prctica real.

Beneficios que aportar

El beneficio se dar a la generacin de la carrera de Ingeniera en Sistemas


Computacionales y Tecnologas de Informacin que inici el pasado Agosto del 2015, ya
que contarn con un Manual enfocado al plan de estudios de la especialidad.

Este Manual de prcticas estar acorde al nuevo plan de estudios apoyando fuertemente el
punto 7. Actividades de Aprendizaje y 8. Prcticas, del programa de estudios de esta
asignatura.

Este Manual de prcticas apoyar al estudiante bajo el Modelo Educativo por


competencias. Este modelo recomienda la aplicacin del conocimiento terico a la prctica,
para mejorar el aprendizaje significativo, dejando que los estudiantes den lo mejor de s
mismos, siempre con un enfoque a su mejor desempeo Profesional.

Contar con un manual de prcticas estructuradas que cubran los temas de la Asignatura.

Este manual ser un apoyo didctico para los profesores que impartan esta asignatura en
un futuro, reafirmando y experimentando los conocimientos vistos en clase.

Este manual de prcticas ser una gua y servir de retroalimentacin al estudiante para
asimilar y comprobar de manera eficiente los conocimientos tericos aprendidos en el aula.

Fortalecer los conocimientos tericos que llevados a la prctica son ms perdurables,


para que en el momento que el estudiante inicie su vida profesional llegue an reforzado
con toda esta experiencia adquirida dentro de la misma Institucin, pues no debe olvidarse
que la prctica hace al maestro.

Manual de Prcticas: Seguridad en Linux. Reporte Final 3


INDICE

Objetivos Generales del manual de Prcticas .... 3

Prctica 1 Fundamentos de Linux .. 6

Prctica 2 Instalacin de Linux .... 12

Prctica 3 Linux comandos bsicos ... 25

Prctica 4 Administracin de Usuarios .. 30

Prctica 5 Variables de Ambiente . 35

Prctica 6 Seguridad de archivos en Linux ...... 40

Prctica: 7 Servicios UDP en Linux 47

Prctica: 8 Servicios UDP aplicando Seguridad en Linux .. 53

Prctica: 9 Servicios TCP en Linux .. 58

Prctica: 10 Servicios TCP aplicando Seguridad en Linux . 66

Prctica: 11 Deteccin de intrusiones .. 72

Prctica: 12 Deteccin de intrusiones 2 .. 80

Prctica: 13 Seguridad en Linux y control acceso . 86

Prctica: 14 Programacin Shell bsica 1 . 92

Prctica: 15 Programacin Shell bsica 2 . 96

Prctica: 16 Programacin Shell aplicada . 101

Manual de Prcticas: Seguridad en Linux. Reporte Final 4


Manual de Prcticas: Seguridad en Linux. Reporte Final 5
No. Prctica: 1
Nombre: Fundamentos de Linux

Objetivos

Comprende los conceptos, componentes y organizacin de archivos de Linux con el fin de


identificar las funciones de cada uno.

Introduccin

Sistema Operativo Linux


Linux es un Unix libre, es decir, un sistema operativo, como el Windows o el MS-DOS (sin
embargo, a diferencia de estos y otros sistemas operativos propietarios, ha sido desarrollado por
miles de usuarios de computadores a travs del mundo, y la desventaja de estos es que lo que te
dan es lo que tu obtienes, dicho de otra forma no existe posibilidad de realizar modificaciones ni de
saber cmo se realiz dicho sistema.), que fue creado inicialmente como un hobbie por un
estudiante joven, Linus Torvalds, en la universidad de Helsinki en Finlandia, con asistencia por
un grupo de hackers a travs de Internet. Linus tena un inters en Minix, un sistema pequeo o
abreviado del UNIX (desarrollado por Andy Tanenbaum); y decidido a desarrollar un sistema que
excedi los estndares de Minix. l comenz su trabajo en 1991 cuando l realiz la versin 0,02,
la cual no la di a conocer porque ni siquiera tena drivers de disquete, adems de llevar un
sistema de almacenamiento de archivos muy defectuoso. Trabaj constantemente hasta 1994 en
que la versin 1,0 del ncleo (KERNEL) de Linux se concret. La versin completamente equipada
actual es 2,2 (versin concluida el 25 de enero de 1999), y el desarrollo contina. Linux tiene todas
las prestaciones que se pueden esperar de un Unix moderno y completamente desarrollado:
multitarea real, memoria virtual, bibliotecas compartidas, carga de sistemas a-demanda,
compartimiento, manejo de debido de la memoria y soporte de redes TCP/IP.
La parte central de Linux (conocida como ncleo o kernel) se distribuye a travs de la Licencia
Pblica General GNU, lo que bsicamente significa que puede ser copiado libremente, cambiado y
distribuido, pero no es posible imponer restricciones adicionales a los productos obtenidos y,
adicionalmente, se debe dejar el cdigo fuente disponible, de la misma forma que est disponible
el cdigo de Linux. Aun cuando Linux tenga registro de Copyright, y no sea estrictamente
de dominio pblico. La licencia tiene por objeto asegurar que Linux siga siendo gratuito y a la vez
estndar.
Por su naturaleza Linux se distribuye libremente y puede ser obtenido y utilizado sin restricciones
por cualquier persona, organizacin o empresa que as lo desee, sin necesidad de que tenga que
firmar ningn documento ni inscribirse como usuario. Por todo ello, es muy difcil establecer
quines son los principales usuarios de Linux. No obstante se sabe que actualmente Linux est
siendo utilizado ampliamente en soportar servicios en Internet, lo utilizan Universidades alrededor
del todo el mundo para sus redes y sus clases, lo utilizan empresas productoras de equipamiento
industrial para vender como software de apoyo a su maquinaria, lo utilizan cadenas de
supermercados, estaciones de servicio y muchas instituciones del gobierno y militares de varios
pases. Obviamente, tambin es utilizado por miles de usuarios en sus computadores personales.
El apoyo ms grande, sin duda, ha sido Internet ya que a travs de ella se ha podido demostrar
que se puede crear un sistema operativo para todos los usuarios sin la necesidad de fines
lucrativos. Linux tiene un logo oficial, el pingino de Linux, que fue seleccionado por Linus Torvalds
para representar la imagen que l se asocia al sistema operativo l cre. [1]

Manual de Prcticas: Seguridad en Linux. Reporte Final 6


Caractersticas

En lneas generales podemos decir que se dispone de varios tipos de sistema de archivos
para poder acceder a archivos en otras plataformas. Incluye un entorno grfico X window (Interface
grfico estndar para mquinas UNIX), que nada tiene que envidiar a los modernos y caros
entornos comerciales. Est orientado al trabajo en red, con todo tipo de facilidades como correo
electrnico por ejemplo. Posee cada vez ms software de libre distribucin, que desarrollan miles
de personas a lo largo y ancho del planeta. Linux es ya el sistema operativo preferido por la
mayora de los informticos.
Un ejemplo de la popularidad que ha alcanzado es sistema y la confianza que se puede depositar
en l, es que incluso la NASA ha encomendado misiones espaciales de control de experimentos a
la seguridad y la eficacia de Linux.

Se distribuye su cdigo fuente, lo cual permite a cualquier persona que as lo desee hacer todos los
cambios necesarios para resolver problemas que se puedan presentar, as como tambin agregar
funcionalidad. El nico requisito que esto conlleva es poner los cambios realizados a disposicin
del pblico.
Es desarrollado en forma abierta por cientos de usuarios distribuidos por todo el mundo, los cuales
la red Internet como medio de comunicacin y colaboracin. Esto permite un rpido y eficiente ciclo
de desarrollo.
Cuenta con un amplio y robusto soporte para comunicaciones y redes, lo cual hace que sea una
opcin atractiva tanto para empresas como para usuarios individuales.
Da soporte a una amplia variedad de hardware y se puede correr en una multitud de plataformas:
PC's convencionales, computadoras Macintosh y Amiga, as como costosas estaciones de trabajo.

A) Linux y Shells
Cada usuario de un sistema Linux tiene su propia interfaz de usuario o Shell. Los usuarios pueden
personalizar sus shells adecundolos a sus propias necesidades especficas. En este sentido, el
Shell de un usuario funciona ms como un entorno operativo que el usuario puede controlar.
Linux permite la utilizacin de distintos tipos de shell programables. Un shell es un intrprete
de comandos. Es bsicamente la interfaz, el modo de comunicacin, entre el usuario y el sistema.
Cada shell tiene sus caractersticas propias. La principal diferencia que existe entre los distintos
tipos de shell radica en la sintaxis de la lnea de comandos.

B) Linux es Multitarea
La multitarea no consiste en hacer que el procesador realice ms de un trabajo al
mismo tiempo (un solo procesador no tiene esa capacidad), lo nico que realiza es presentar las
tareas de forma intercalada para que se ejecuten varias simultneamente. Por lo tanto en Linux es
posible ejecutar varios programas a la vez sin necesidad de tener que parar la ejecucin de cada
aplicacin.
C) Linux es Multiusuario
Para que pueda desarrollar esta labor (de compartir los recursos de un computador) es necesario
un sistema operativo que permita a varios usuarios acceder al mismo tiempo a travs de
terminales, y que distribuya los recursos disponibles entre todos. Entre ms usuarios se conecten
mayor es el control de seguridad. Linux es multiplataforma. Fue diseada para plataforma Intel
pero ha sido fcilmente exportado a diversos tipos de sistema. En conclusin, en el sistema
multiusuario, varios usuarios pueden acceder a las aplicaciones y recursos del sistema Linux al
mismo tiempo. Y, por supuesto, cada uno de ellos puede ejecutar varios programas a la vez
(multitarea).
D) Linux es Seguro
El concepto de seguridad en redes de computadoras es siempre relativo. Un sistema puede ser
seguro para un determinado tipo de actividades e inseguro para otras. Por ejemplo, no sera
recomendable guardar secretos de estado en un sistema Linux al que pudiera acceder mucha
gente y careciese de un administrador dedicado absolutamente a la tarea, ya que segn todos

Manual de Prcticas: Seguridad en Linux. Reporte Final 7


los hackers, no hay sistema cuya seguridad sea perfecta. El sistema de contraseas que protege el
acceso al sistema se basa en el algoritmo DES, el ms probado de los algoritmos de seguridad.
Pero claro, por muy bueno que sea el algoritmo, si despus permitimos a sus usuarios poner como
contrasea su nombre de usuario, de nada servir la contrasea y todos sus esfuerzos.
Si se quiere que el sistema sea seguro, se debe administrar de tal forma que se tengan
controlados a los usuarios en todo momento, para poder aconsejarles y hacerlos responsables de
sus cuentas de usuario, todo ello con el fin de mantener la propia seguridad de los datos. Para
ayudarse a mantener la seguridad surgen nuevas herramientas constantemente, tanto para
detectar intrusos como para encontrar fallos en el sistema y evitar as ataques desde el exterior. [1]

Kernel de Linux
Kernel (Ncleo) es el programa que tiene control total de la mquina y administra sus recursos.
GNU/Linux, desde un punto estricto es un kernel, no un sistema operativo. El sistema operativo es
el kernel junto con todas las herramientas necesarias para que la computadora pueda operar. De
poco sirve un kernel sin un shell, ni ambiente grfico, ni herramientas de administracin. El kernel
es el encargado de que el software y el hardware de tu computadora puedan trabajar juntos.
Las funciones ms importantes son:
Administracin de la memoria, para todos los programas en ejecucin.
Administracin del tiempo de procesador, que estos programas en ejecucin utilizan.
Es el encargado de que podamos acceder a los componentes de la computadora de una
manera cmoda.
Existen dos versiones del Linux kernel:
Versin de produccin: La versin de produccin, es la versin estable hasta el momento. Esta
versin es el resultado final de las versiones de desarrollo o experimentales.
Cuando el equipo de desarrollo del kernel experimental, decide que ha conseguido un kernel
estable y con la suficiente calidad, se lanza una nueva versin de produccin o estable. Esta
versin es la que se debera utilizar para un uso normal del sistema, ya que son las versiones
consideradas ms estables y libres de fallos en el momento de su lanzamiento.
Versin de desarrollo: Esta versin es experimental y es la que utilizan los desarrolladores para
programar, comprobar y verificar nuevas caractersticas, correcciones, etc. Estos ncleos suelen
ser inestables y no se deberan usar, a no ser que sepas lo que haces.
Como interpretar los nmeros de las versiones:
Las versiones del kernel se numeran con 3 nmeros, de la siguiente forma: XX.YY.ZZ
XX: Indica la serie principal del kernel. Hasta el momento solo existen la 1 y 2. Este
nmero cambia cuando la manera de funcionamiento del kernel ha sufrido un cambio muy
importante.
YY: Indica si la versin es de desarrollo o de produccin. Un nmero impar, significa que
es de desarrollo, uno par, que es de produccin.
ZZ: Indica nuevas versiones dentro de una versin, en las que lo nico que se ha modificado, son
fallos de programacin /bugs.
Unos ejemplos nos ayudaran a entenderlo mejor:
Ejemplo1: versin del kernel 2.0.0: Kernel de la serie 2 (XX=2), versin de produccin 0
(YY=0 par), primera versin de 2.0 (ZZ=0)
Ejemplo2: versin del kernel 2.0.1: Kernel de la serie 2, versin 0, en el que se han
corregido errores de programacin presentes en la versin 2.0.0 (ZZ=1)
Ejemplo3: versin del kernel 2.1.100: versin 100 del kernel de desarrollo 2.1. [1]

Tema y subtema relacionado a cubrir


Tema 1- Fundamentos e instalacin de Linux. Subtema-1.1 Presentacin de Linux.1.2Visin
general de la seguridad en Linux

Material y equipo necesario

Manual de Prcticas: Seguridad en Linux. Reporte Final 8


Equipo de cmputo
Trabajar con Sistema Operativo Linux

Metodologa

1. Conectado como usuario root. Mostrar los directorios del Sistema Operativo Linux

Como se puede ver, estando en el directorio / y con ls mostrar directorios, se pueden ver los
directorios importantes de Linux. Estos directorios en conjunto dan la funcionalidad y potencia que
un Sistema Linux posee.

2. Mostrar los directorios y archivos del directorio /etc

Manual de Prcticas: Seguridad en Linux. Reporte Final 9


El directorio /etc contiene todos los archivos de configuracin para Linux, puede contener tambin
archivos de configuracin de software aplicativo.

3. En este punto se mencionan los directorios importantes y su funcin de Linux. [2]

4. Consultar el shell con el que trabaja, el usuario con el que se est conectado y el directorio
actual.

Manual de Prcticas: Seguridad en Linux. Reporte Final 10


5. En este punto se muestra la funcionalidad multiusuario y multitarea. Abrir dos sesiones y
consultar versin de Linux y usuario.

Como se puede ver en la segunda sesin /dev/pts/1 asignada, desde root se realiza una conexin
al usuario oracle consultado directorio y usuario particular y versin del Kernel. Ambas sesiones
trabajando en el mismo servidor o hostname.

Sugerencias didcticas

Esta prctica puede realizarse en equipos para apoyarse y resolver dudas y posteriormente cada
uno de los estudiantes debe realizarla de manera individual. El tiempo mximo para resolver esta
prctica debe ser de una hora, por lo que se sugiere practicar continuamente. Es importante que se
estudien con mayor detalle los comandos utilizados durante esta prctica y es recomendable
utilizar el comando man seguido del nombre del comando que se desea verificar, para que se
muestre una descripcin amplia de las caractersticas del comando. Entregar Reporte del
estudiante de manera individual y completo.

Reporte del estudiante


El estudiante entregar el reporte completo de la prctica desarrollada adems de la informacin
que se piden como complemento:
1. Cul es la ventaja de GNU/Linux?
2. Que significa Software propietario?
3. Consultar los archivos y directorios de cada directorio de sistema operativo
4. Que significa software libre y cul es el alcance?
5. En que marca de Servidores Unix se puede instalar Linux?

Bibliografa o consultas realizadas


1.http://www.monografias.com/trabajos6/sisop/sisop.shtml
2.http://blog.desdelinux.net/estructura-de-directorios-en-linux/#

Manual de Prcticas: Seguridad en Linux. Reporte Final 11


No. Prctica: 2
Nombre: Instalacin de Linux

Objetivos

Comprende los componentes de la Arquitectura de Linux con el fin de identificar las funciones de
cada uno.

Introduccin

Es un sistema operativo de cdigo abierto, basado en la distribucin Red Hat Enterprise Linux,
operndose de manera similar, y cuyo objetivo es ofrecer al usuario un software de "clase
empresarial" gratuito. Se define como robusto, estable y fcil de instalar y utilizar. Desde la versin
5, cada lanzamiento recibe soporte durante diez aos, por lo que en su versin 7 recibir
actualizaciones de seguridad hasta el 30 de junio de 2024.

Tema y subtema relacionado a cubrir


Tema 1- Fundamentos e instalacin de Linux. Subtema-1.3lnstalacin de Linux. 1.4 Particiones y
seguridad.1.5 Cargadores de arranque

Material y equipo necesario

Equipo de cmputo
Trabajar con Sistema Operativo Linux

Metodologa

1. Realizar la Instalacin de Linux CentOS. Se mostraran los pasos a realizar para la instalacin
de Linux. El estudiante debe seguir paso a paso el procedimiento con apoyo del instructor.
CentOS usa los repositorios yum para bajar e instalar las actualizaciones de sistema.

Requisitos de Sistema
Sin entorno de escritorio:
Memoria RAM: 64 MB (mnimo).
Espacio en Disco Duro: 1024 MB (mnimo) - 2 GB (recomendado).

Con entorno de escritorio:


Memoria RAM: 2 GB (mnimo).
Espacio en Disco Duro: 20 GB (mnimo) - 40 GB (recomendado).

Arquitecturas
CentOS soporta casi las mismas arquitecturas que Red Hat Enterprise Linux
Intel i386-compatible (32 bit)
Intel X86_64 (64 bit)

Manual de Prcticas: Seguridad en Linux. Reporte Final 12


Comenzar descargando el ISO desde el sitio de Centos https://www.centos.org/, dependiendo de la
arquitectura del equipo ser para i386 y X86_64. Crear un DVD (para instalarlo en forma
bsica) o una USB booteable y arrancar el equipo.

Deber cambiar la opcin de arranque en la computadora entrando al BIOS de la misma, muchos


fabricantes tienen habilitada dicha opcin presionando la telca F2 en el arranque del sistema (en
caso de no concordar con la informacin, buscar la entrada de BIOS del tu fabricante).

Figura 1.1 BIOS y sistema de arranque

Al realizar un boot en la computadora dan 2 opciones para instalar, la primera el sistema detectar
la tarjeta de vdeo y entrar en modo grfico (lo cual a veces falla) por lo tanto se recomienda elegir
la segunda opcin; la cual carga un driver bsico de vdeo que todos los equipos reconocen sin
problemas y presionar Enter.

Figura 1.2 Opciones de instalacin

Manual de Prcticas: Seguridad en Linux. Reporte Final 13


Es una buena prctica hacer un test al disco generado desde el ISO descargado, si est seguro y
confa en el sitio, no hay necesidad y puedes entrar de una vez tecleando la opcin Skip.

Figura 1.3 Fiabilidad del disco

Despus iniciar el instalador grfico, es sencillo seguir los pasos, en esta ocasin dar click en el
botn siguiente.

Figura 1.4 Inicio de instalador grfico

Despus de elegir el idioma del sistema operativo y el tipo de configuracin de teclado, seleccionar
el tipo de almacenamiento, que por lo regular se elige la forma bsica.

Manual de Prcticas: Seguridad en Linux. Reporte Final 14


Figura 1.5 Seleccin de tipo de almacenamiento

Generar una alerta de perder los datos en disco si continuamos, como anteriormente ya
realizaron su particionado de disco duro, no hay problema, dar click en el botn Yes, discard any
data.

Figura 1.6 Alerta de borrado de disco

El siguiente paso es elegir el nombre del servidor, hay que recordar que es hostname y dominio.

Manual de Prcticas: Seguridad en Linux. Reporte Final 15


Figura 1.7 Configuracin del servidor

Ahora, configurar la contrasea del usuario root o administrador.

Figura 1.8 Establecer contrasea root

Manual de Prcticas: Seguridad en Linux. Reporte Final 16


Se usa todo el espacio, el cual es la primera opcin, en caso de querer personalizar sto, se puede
entrar por la ltima opcin o alguna de las dems dependiendo de la necesidad.

Figura 1.9 Establecer contrasea root

Empezar la instalacin del sistema, puede tardar varios minutos.

Figura 1.10 Proceso de instalacin del Sistema

Manual de Prcticas: Seguridad en Linux. Reporte Final 17


Cuando termine el proceso de instalacin slo basta con dar click en el botn reiniciar, y listo se
tiene CentOS para ser usado.

2. Particiones y seguridad

Particionar el disco duro es una manera de dividir el disco fsico en varios discos lgicos. O lo que es lo
mismo, al particionar un disco, dividimos el disco en varias particiones independientes unas de otras, creando
la ilusin de que tenemos diferentes discos, cuando en realidad lo que tenemos es un solo disco fsico dividido
en partes. Una particin es una de estas partes (divisiones) del disco.
Existen dos clases de particiones: primarias y extendidas. En un disco solo podrs tener como mximo 4
particiones primaria y 1 extendida. En la particin extendida se podrn definir unidades lgicas. Con este
sistema podemos tener una gran cantidad de particiones en el disco.
Cualquier disco que se tenga en la computadora tiene al menos una particin primaria, que en la mayora de
los casos tiene un tamao equivalente al total del disco.
Ejemplos:
Un disco de 1Gb con una sola particin, tendr una particin primaria de 1Gb (total del disco). Ese mismo
disco podra tener 4 particiones primarias de 0.25Gb cada una, dando la apariencia de tener 4 discos duros de
0.25Gb en vez de un solo disco de 1Gb. Otra combinacin posible podra ser 4 particiones primarias de
0.10Gb y 1 extendida con 6 unidades lgicas de 0.10Gb, en este caso parecera que tenemos 10 discos duros
de 0.10Gb cada uno.
Las combinaciones son mltiples y variadas y dependern de la seguridad y software instalado que se
maneje.
Casi todos los sistemas operativos traen un programa con el que podemos crear, modificar, borrar las
particiones de nuestro disco. En Linux se llama FDISK (/sbin/fdisk), es un programa potente, capaz de trabajar
y crear particiones tanto para Linux como otros sistemas operativos. Si se trabaja con Linux, es recomendable
el uso del FDISK que viene con la distribucin, para evitar problemas.
Al contrario que Ms-Dos, Windows, OS/2, las diferentes particiones en linux no se denominan C:, D:, E:, ....,
etc, existe una denominacin propia:
Si los discos son IDE:
/dev/hda: Disco duro IDE como master en el canal IDE 1.
/dev/hda1: Particin primaria 1 en /dev/hda
/dev/hda2: Particin primaria 2 en /dev/hda
/dev/hda3: Particin primaria 3 en /dev/hda
/dev/hda4: Particin primaria 4 en /dev/hda

Manual de Prcticas: Seguridad en Linux. Reporte Final 18


/dev/hda5: Particin extendida 1 en /dev/hda
/dev/hda6: Particin extendida 2 en /dev/hda
.....
.....
/dev/hda16: Particin extendida 16 en /dev/hda
/dev/hdb: Disco duro IDE como esclavo en el canal IDE 1.
/dev/hdb1: Particin primaria 1 en /dev/hdb
........
........
/dev/hdc: Disco duro IDE como master en el canal IDE 2.
/dev/hdc1: Particin primaria 1 en /dev/hdc
........
........
/dev/hdd: Disco duro IDE como esclavo en el canal IDE 2.
/dev/hdd1: Particin primaria 1 en /dev/hdd
........
........
Si los discos son SCSI:
/dev/sda: Disco duro SCSI nr.1.
/dev/sda1: Particin primaria 1 en /dev/sda
........
........
/dev/sdb: Disco duro SCSI nr.2.
/dev/sdb1: Particin primaria 1 en /dev/sdb
........
........
IMPORTANTE: Es muy importante saber lo que se est haciendo cuando trabaja con programas que
modifican la tabla de particiones de un disco. Al cambiar la tabla de particiones del disco, se pierden los datos
contenidos en las particiones afectadas. Es importante realizar copias de seguridad de los datos antes de usar
fdisk.

3. Verificar las particiones creadas despus de la instalacin.

Manual de Prcticas: Seguridad en Linux. Reporte Final 19


Para ver los files systems creados puede utilizar el comando df.

4.Cargadores de arranque

Descripcin general del proceso tpico de arranque en gnu/linux


En Linux, el flujo de control durante el arranque es desde el BIOS, al gestor de arranque y al
ncleo (kernel). El ncleo inicia el planificador (para permitir la multitarea) y ejecuta el
primer espacio de usuario (es decir, fuera del espacio del ncleo) y el programa de inicializacin
(que establece el entorno de usuario y permite la interaccin del usuario y el inicio de sesin),
momento en el que el ncleo se inactiva hasta que sea llamado externamente.
La etapa del cargador de arranque no es totalmente necesaria. Determinadas BIOS pueden cargar
y pasar el control a Linux sin hacer uso del cargador. Cada proceso de arranque ser diferente
dependiendo de la arquitectura del procesador y el BIOS.

1. El BIOS realiza las tareas de inicio especficas de la plataforma de hardware.


2. Una vez que el hardware es reconocido y se inicia correctamente, el BIOS carga y ejecuta
el cdigo de la particin de arranque del dispositivo de arranque designado, que contiene
la fase 1 de un gestor de arranque Linux. La fase 1 carga la fase 2 (la mayor parte del
cdigo del gestor de arranque). Algunos cargadores pueden utilizar una fase intermedia
(conocida como la fase 1.5) para lograr esto, ya que los modernos discos de gran tamao
no pueden ser totalmente ledos sin cdigo adicional.
3. El gestor de arranque a menudo presenta al usuario un men de opciones posibles de
arranque. A continuacin, carga el sistema operativo, que descomprime en la memoria, y
establece las funciones del sistema como del hardware esencial y la paginacin de
memoria, antes de llamar a la funcin start_kernel().
4. La funcin start_kernel() a continuacin realiza la mayor parte de la configuracin del
sistema (interrupciones, el resto de la gestin de memoria, la inicializacin del dispositivo,

Manual de Prcticas: Seguridad en Linux. Reporte Final 20


controladores, etc), antes de continuar por separado el proceso inactivo y planificador, y el
proceso de Init (que se ejecuta en el espacio de usuario).
5. El planificador toma control efectivo de la gestin del sistema, y el ncleo queda dormido
(inactivo).
6. El proceso Init ejecuta secuencias de comandos (Scripts) necesarios para configurar todos
los servicios y estructuras que no sean del sistema operativo, a fin de permitir que el
entorno de usuario sea creado y pueda presentarse al usuario con una pantalla de inicio
de sesin.

En el apagado, Init es llamado a cerrar toda las funcionalidades del espacio de usuario de una
manera controlada, de nuevo a travs de secuencias de comandos, tras lo cual el Init termina y el
ncleo ejecuta el apagado.

Espacio de usuario temprano


El espacio de usuario temprano se utiliza en las versiones ms recientes del kernel de Linux para
sustituir tantas funciones como sea posible que originalmente se haran en el ncleo durante el
proceso de inicio. Los usos tpicos del espacio de usuario temprano son para detectar que
controladores de dispositivos (Drivers) son necesarios para cargar el sistema de archivos del
espacio de usuario principal y cargarlos desde un sistema de archivos temporal.

Fase del cargador de arranque


Un cargador de arranque (boot loader en ingls) es un programa diseado exclusivamente para
cargar un sistema operativo en memoria. La etapa del cargador de arranque es diferente de una
plataforma a otra.
Como en la mayora de arquitecturas este programa se encuentra en el MBR, el cual es de 512
bytes, este espacio no es suficiente para cargar en su totalidad un sistema operativo. Por eso, el
cargador de arranque consta de varias etapas. Las primeras operaciones las realiza el BIOS. En
esta etapa se realizan operaciones bsicas de hardware. En esta primera etapa se localiza el
sector de arranque (o MBR) y se carga el cargador de este sector (normalmente una parte
de LILO o GRUB).
A partir de ese momento, el proceso de arranque contina de la siguiente manera:
La primera etapa del cargador de arranque carga el resto del gestor de arranque, que normalmente
da un mensaje que pregunta que sistema operativo (o tipo de sesin) el usuario desea inicializar.
Bajo LILO, esto se hace a travs del mapa instalado que lee el archivo de
configuracin /etc/lilo.conf para identificar los sistemas disponibles. Incluye datos como la particin
de arranque y la localizacin del kernel para cada uno, as como las opciones personalizadas en su
caso. El sistema operativo seleccionado es cargado en la memoria RAM, un sistema de archivos
mnimo inicial se establece en la memoria RAM desde un archivo de imagen (" initrd "), y junto con
los parmetros adecuados, el control se pasa al sistema operativo activado recientemente.
LILO y GRUB difieren en algunos aspectos:

LILO no entiende los sistemas de archivos, por lo que utiliza desplazamientos de disco sin
procesar y el BIOS para cargar los datos. Se carga el cdigo del men y, a continuacin, en
funcin de la respuesta, carga, o el sector MBR del disco de 512 bytes como en Microsoft
Windows, o la imagen del kernel de Linux.
GRUB por el contrario comprende los sistemas de archivos comunes ext2 , ext3 y ext4.
Debido a que GRUB almacena sus datos en un archivo de configuracin en vez de en el MBR
y a que contiene un interfaz de lnea de comandos, a menudo es ms fcil rectificar o modificar
GRUB si est mal configurado o corrupto.

Manual de Prcticas: Seguridad en Linux. Reporte Final 21


GRUB
GRUB se carga y se ejecuta en 4 etapas:

1. La primera etapa del cargador la lee el BIOS desde el MBR.


2. La primera etapa carga el resto del gestor de arranque (segunda etapa). Si la segunda
etapa est en una unidad grande, en ocasiones se carga una fase intermedia 1.5, que
contiene cdigo adicional para permitir que los cilindros por encima de 1024, o unidades
tipo LBA, puedan leerse. El gestor de arranque 1.5 es almacenado (si es necesario) en el
MBR o en la particin de arranque.
3. La segunda etapa del gestor de arranque ejecuta y muestra el men de inicio de GRUB
que permite al usuario elegir un sistema operativo y examinar y modificar los parmetros
de inicio.
4. Despus de elegir un sistema operativo, se carga y se le pasa el control.

GRUB soporta mtodos de arranque directo, arranque chain-loading, LBA, ext2, ext3, ext4 y hasta
"un pre-sistema operativo en mquinas x86 totalmente basado en comandos". Contiene tres
interfaces: un men de seleccin, un editor de configuracin, y una consola de lnea de comandos.
LILO
LILO es ms antiguo. Es casi idntico a GRUB en su proceso, excepto que no contiene una
interfaz de lnea de comandos. Por lo tanto todos los cambios en su configuracin deben ser
escritos en el MBR y luego reiniciar el sistema. Un error en la configuracin puede dejar el disco
inservible para el proceso de arranque hasta tal grado, que sea necesario usar otro dispositivo
(disquete, etc) que contenga un programa capaz de arreglar el error. Adems, no entiende el
sistema de archivos. En su lugar, la ubicacin de los archivos de imagen se almacenan
directamente en el MBR y el BIOS se utiliza para acceder a ellos directamente.
Otro caso es cuando Linux se encuentra en un dispositivo que el BIOS no lo tiene disponible para
el arranque. Entonces, DOS o Windows pueden cargar el driver apropiado para el dispositivo
superando dicha limitacin del BIOS, y cargar Linux desde all.

Fase del kernel


El kernel de Linux se encarga de todos los procesos del sistema operativo, como la gestin de
memoria, planificador de tareas, I/O, comunicacin entre procesos, y el control general del sistema.
Este se carga en dos etapa: en la primera etapa el kernel (como un archivo imagen comprimido) se
carga y se descomprime en memoria, y algunas funciones fundamentales como la gestin de
memoria de base se establecen. El control entonces se cambia a la etapa final para iniciar el kernel
principal. Una vez que el ncleo est en pleno funcionamiento - y como parte de su puesta en
marcha, despus de ser cargado y ejecutado - el kernel busca un proceso de inicio para ejecutar,
que (separadamente) fija un espacio de usuario y los procesos necesarios para un entorno de
usuario y ultimar la entrada . Al ncleo en s entonces se le permite pasar a inactivo, sujeto a las
llamadas de otros procesos.
Fase de carga del kernel
El kernel es cargado normalmente como un archivo imagen, comprimido dentro de otro
con zlib como zImage o bzImage. Contiene una cabecera de programa que hace una cantidad
mnima de instalacin del hardware, descomprime la imagen completamente en la memoria alta ,
teniendo en cuenta cualquier disco RAM si est configurado. A continuacin, lleva a cabo su
ejecucin. Esto se realiza llamando la funcin startup del kernel (en los procesadores x86 a travs
de la funcin startup_32() del archivo /arch/i386/boot/head).

Manual de Prcticas: Seguridad en Linux. Reporte Final 22


Fase de inicio del kernel
La funcin de arranque para el kernel (tambin llamado intercambiador o proceso 0) establece la
gestin de memoria (tablas de paginacin y paginacin de memoria), detecta el tipo de CPU y
cualquier funcionalidad adicional como capacidades de punto flotante, y despus cambia a las
funcionalidades del kernel para arquitectura no especficas de Linux, a travs de una llamada a la
funcin start_kernel().
start_kernel ejecuta una amplia gama de funciones de inicializacin. Establece el manejo de
interrupciones (IRQ), configura memoria adicional, comienza el proceso de inicializacin (procesa
el espacio del primer usuario), y luego comienza la tarea inactiva a travs de cpu_idle(). En
particular, el proceso de inicio del kernel tambin monta el disco RAM inicial ("initrd") que se ha
cargado anteriormente como el sistema raz temporal durante la fase de arranque. Esto permite
que los mdulos controladores se carguen sin depender de otros dispositivos fsicos y drivers y
mantiene el kernel ms pequeo. El sistema de archivos raz es cambiado ms tarde a travs de la
llamada a pivot_root(), que desmonta el sistema de archivos temporal y lo reemplaza por el real
una vez que ste sea accesible. La memoria utilizada por el sistema de archivos temporal es
entonces recuperada.
Por lo tanto, el ncleo inicializa los dispositivos, monta el sistema de archivos raz especificado por
el gestor de arranque como de slo lectura , y se ejecuta Init (/sbin/init), que es designado como el
primer proceso ejecutado por el sistema (PID=1). Tambin puede ejecutar
opcionalmente initrd para permitir instalar y cargar dispositivos relacionados (disco RAM o similar),
para ser manipulados antes de que el sistema de archivos raz est montado.
En este punto, con las interrupciones habilitadas, el programador puede tomar el control de la
gestin general del sistema, para proporcionar multitarea preventiva, e iniciar el proceso para
continuar con la carga del entorno de usuario en el espacio de usuario.

El proceso de inicio
El trabajo de Init es "conseguir que todo funcione como debe ser" una vez que el kernel est
totalmente en funcionamiento. En esencia, establece y opera todo el espacio de usuario. Esto
incluye la comprobacin y montaje de sistemas de archivos, la puesta en marcha los servicios de
usuario necesarios y, en ltima instancia, cambiar al entorno de usuario cuando el inicio del
sistema se ha completado. Es similar a los procesos Init de Unix y BSD, de la que deriva, pero en
algunos casos se ha apartado o se hicieron a la medida. En un sistema Linux estndar, Init se
ejecuta con un parmetro, conocido como nivel de ejecucin, que tiene un valor entre 1 y 6, y que
determina que subsistemas pueden ser operacionales. Cada nivel de ejecucin tiene sus
propios scripts que codifican los diferentes procesos involucrados en la creacin o salida del nivel
de ejecucin determinado, y son estas secuencias de comandos los necesarios en el proceso de
arranque. Los scripts de Init se localizan normalmente en directorios con nombres como "/etc/rc...".
El archivo de configuracin de ms alto nivel para Init es /etc/inittab.
Durante el arranque del sistema, se verifica si existe un nivel de ejecucin predeterminado en el
archivo /etc/inittab, si no, se debe introducir por medio de la consola del sistema. Despus se
procede a ejecutar todos los scripts relativos al nivel de ejecucin especificado.
Despus de que se han dado lugar todos los procesos especificados, Init se aletarga, y espera a
que uno de estos tres eventos sucedan:- que procesos comenzados finalicen o mueran; un fallo de
la seal de potencia (energa); o una peticin a travs de /sbin/telinit para cambiar el nivel de
ejecucin.[1]

5. Mostrar el nivel de arranque y el archivo de configuracin de los modos de arranque de Linux.

Manual de Prcticas: Seguridad en Linux. Reporte Final 23


Como se observa en el archivo inittab. Existen 7 diferentes niveles de arranque. Los ms utilizados
son el 1,3,5. El nivel 1 es para mantenimiento o resolucin de problemas. El nivel 3 es arranque
multiusuario modo texto y ahora ms utilizado por los usuarios es el 5 que el multiusuario modo
grfico.

Sugerencias didcticas

Esta prctica puede realizarse en equipos para apoyarse y resolver dudas y posteriormente cada
uno de los estudiantes debe realizarla de manera individual. El tiempo mximo para resolver esta
prctica debe ser de una hora, por lo que se sugiere practicar continuamente. Es importante que se
estudien con mayor detalle los comandos utilizados durante esta prctica y es recomendable
utilizar el comando man seguido del nombre del comando que se desea verificar, para que se
muestre una descripcin amplia de las caractersticas del comando. Entregar Reporte del
estudiante de manera individual y completo.

Reporte del estudiante


El alumno deber entregar reporte por escrito y prctico del resultado de esta prctica de
laboratorio. Problemas presentados en la instalacin. El sistema Linux instalado en su equipo o
laptop.

Bibliografa o consultas realizadas

1.http://www.seguridad.unam.mx/noticia/?noti=1271

Manual de Prcticas: Seguridad en Linux. Reporte Final 24


No. Prctica: 3
Nombre: Linux comandos bsicos

Objetivos
Comprende la organizacin de directorios y comandos bsicos de Linux.
Aplica en la prctica los comandos bsicos de Linux.

Introduccin

El sistema Unix es un sistema operativo que admite mltiples usuarios, as como tambin mltiples
tareas, lo que significa que permite que en un nico equipo o multiprocesador se ejecuten
simultneamente varios programas a cargo de uno o varios usuarios. Este sistema cuenta con uno
o varios intrpretes de comando (shell) as como tambin con un gran nmero de comandos y
muchas utilidades (ensambladores, compiladores para varios idiomas, procesador de textos, correo
electrnico, etc.). Adems, es altamente transportable, lo que significa que es posible implementar
un sistema Unix en casi todas las plataformas de hardware.

Actualmente, los sistemas Unix se afianzaron en entornos profesionales y universitarios gracias a


su estabilidad, su gran nivel de seguridad y el cumplimiento de estndares, especialmente en lo
que se refiere a redes. Algunos comando importantes son los siguientes:
Informacin del sistema
uname -a muestra el kernel, la arquitectura y el nombre de tu equipo.
dmidecode -q muestra los componentes (hardware) del sistema.
date muestra la fecha del sistema.
cal 2015 muestra el calendario del ao 2015.

Sesin
shutdown apagar el sistema
init 0 / power off apagar el sistema
reboot reiniciar.
logout cerrar sesin.

Archivos y directorios
cd /home entrar en el directorio home.
cd .. retroceder un nivel.
cd ../.. retroceder 2 niveles.4. cd: ir al directorio raz.
pwd mostrar el camino del directorio de trabajo.
ls ver los archivos de un directorio.
ls -l mostrar los detalles de archivos y directorios de un directorio.
ls -a mostrar los archivos ocultos.
tree mostrar los archivos y directorios en forma de rbol comenzando por la raz.(1)
mkdir dir1 crear una directorio o directorio con nombre dir1.
mkdir dir1 dir2 crear dos directorios a la vez.
mkdir -p /tmp/dir1/dir2 crear un rbol de directorios.
rm -f file1 borrar el archivo llamado file1.
rmdir dir1 borrar la directorio llamada dir1.
cp file1 copiar un archivo.
cp dir /* copiar todos los archivos de un directorio dentro del directorio de trabajo actual.
passwd user1 cambiar la contrasea de un usuario

Manual de Prcticas: Seguridad en Linux. Reporte Final 25


Tema y subtema relacionado a cubrir
Tema 1- Fundamentos e instalacin de Linux. Subtema-1.2 Visin general de la seguridad en Linux

Material y equipo necesario

Equipo de cmputo
Trabajar con Sistema Operativo Linux

Metodologa

1. Aplicando algunos de los comandos de Linux. Mostrar componentes del Sistema. Este comando
es muy potente y muestra todos los componentes del sistema. Revisar en grupo cada parte.

2. Crear dentro del directorio home, conectado como root, un directorio llamado curso. Mostrar
archivos y directorios.

Manual de Prcticas: Seguridad en Linux. Reporte Final 26


Como se puede ver, con el comando ls no se notan archivos, y con ls -la si aparecen los archivos
ocultos del sistema.

3. Crear dentro del directorio curso un directorio d1 y dentro de 'este otro directorio d2 y mostrar la
estructura de rbol.

Manual de Prcticas: Seguridad en Linux. Reporte Final 27


Como se puede observar con la opcin mkdir -p crea de manera recursiva los directorios y se
observa con tree la estructura de rbol que se va generando.

4. Crear dentro de curso un archivo llamado a1. Copiar a1 al directorio d2. Mostrar estructura

5. Dentro del directorio d2, copiar el archivo a1 al directorio d1. Hacer la copia utilizando direccin
absoluta y relativa

Manual de Prcticas: Seguridad en Linux. Reporte Final 28


Como se puede observar en el ltimo comando se usa la ruta completa o absoluta para realizar la
copia del archivo a1, pero como este ya fue copiado pregunta si se reemplaza. El uso de direccin
absoluta o relativa depende del uso y ubicacin de nuestro software y usuario.

Sugerencias didcticas

Esta prctica puede realizarse en equipos para apoyarse y resolver dudas y posteriormente cada
uno de los estudiantes debe realizarla de manera individual. El tiempo mximo para resolver esta
prctica debe ser de una hora, por lo que se sugiere practicar continuamente. Es importante que se
estudien con mayor detalle los comandos utilizados durante esta prctica y es recomendable
utilizar el comando man seguido del nombre del comando que se desea verificar, para que se
muestre una descripcin amplia de las caractersticas del comando. Entregar Reporte del
estudiante de manera individual y completo.

Reporte del estudiante


El estudiante entregar el reporte completo de la prctica desarrollada adems de la informacin
que se piden como complemento:

1. Mostrar la estructura de rbol desde raz (/).


2. Mostrar la fecha del sistema.
3. Por equipo realizar anlisis del resultado del comando dmidecode -q y resumir caractersticas de
tu sistema y equipo.
4. Mover la ubicacin del archivo a1 a d2
5. borrar directorio d1.

El alumno deber entregar reporte por escrito y prctico del resultado de esta prctica de
laboratorio.

Bibliografa o consultas realizadas

1.http://www.monografias.com/trabajos6/sisop/sisop2.shtml#ixzz4OmlMCAel

Manual de Prcticas: Seguridad en Linux. Reporte Final 29


No. Prctica: 4
Nombre: Administracin de Usuarios

Objetivos

Comprende la forma de administracin de usuarios y grupos en Linux


Creacin y administracin de grupos y usuarios en Linux

Introduccin

Cuando se lleva a cabo la instalacin de un sistema operativo, solo se realiza la creacin de un


usuario por default, que es el usuario root. Este usuario es el administrador del sistema y puede
realizar cualquier operacin dentro del sistema como acceder a cualquier dispositivo o borrar
cualquier parte del sistema. Por esta razn, el usuario root se recomienda utilizar nicamente
para realizar tareas de administracin. En esta prctica se aprender a crear nuevos usuarios que
permitirn evitar al mximo posible al usuario de root.

Nombre de usuario: Estos deben ser nicos en el sistema, adems de que debe contener 8
caracteres o menos dentro de la condicin que estos deben ser caracteres alfanumricos.
Contraseas: Estas se almacenan cifradas dentro del archivo, si dentro del archivo se encuentra
un * asignado el usuario, este no podr logearse dentro del sistema, pero podr realizar otras
actividades como ejecutar comandos remotos. En el caso de dejar vaco el campo, este no pedir
un password al intentar hacer inicio de sesin.
UID de Usuario: Este es el identificador de usuario para realizar cualquier accin, como ejecutar
procesos, ser dueo de archivos, etc.
Los rangos de uid definen el tipo de cuenta, los menores de 100 se reservan normalmente para
las cuentas del sistema. A los usuarios se les asignan cuentas con uid mayor que 100 o 1000,
dependiendo de la distribucin.
GID de grupo: Los grupos se usan para organizar a los usuarios. Los rangos de GID se definen
del 1 al 499 para grupos del sistema y del 500 en adelante suelen ser para grupos de usuario.
Comentarios: Este campo se utiliza para almacenar informacin general sobre los usuarios, por lo
regular nombre, departamento, telfono, etc.
Directorio HOME: Se especifica el directorio donde se situar el usuario al hacer login en el
sistema.
Interprete de comandos: Determina el comando que se ejecutar cuando el proceso de login
termine. La mayora de las veces ah se encontrara un intrprete de comandos. Si se deja este
campo en blanco, se ejecutar la Shell por defecto.

Para que realizar algn cambio al usuario se utiliza el comando usermod [opcin] usuario, en la
siguiente tabla se muestran algunos ejemplos.

Opcin Accin Ejemplo


-l usuario Cambia el nombre del usuario.
NOTA: No se puede realizar el
cambio de nombre de usuario
si actualmente se encuentra
logeado en ese usuario.

-u n Cambia el UID que en el

Manual de Prcticas: Seguridad en Linux. Reporte Final 30


momento tiene asignado el
usuario.
-g n Cambia el GID que en el
momento tiene asignado el
usuario.
-c information Cambia la informacin

-d path Cambia el HOME de usuario

-s path Cambia el intrprete de


comandos

Usuarios y grupos

groupadd oracle crear un nuevo grupo llamado oracle.


groupdel oracle borrar el grupo oracle.
groupmod -n oracle usuarios renombrar el grupo oracle a usuarios.
useradd user1 crear un nuevo usuario user1.
useradd -c user1 -g admin -d /home/user1 crear un nuevo usuario perteneciente al
grupo admin.
userdel -r user1 borrar usuario (-r elimina el directorio Home).
userdel user1 borrar usuario
id muestra nuestro UserId y el GroupId.
chmod nnn file cambia los permisos de un archivo. 1: Permiso de ejecucin (x), 2: Permiso
de escritura (w), 3: Permiso de lectura ( r). Se deben sumar para poner ms de uno. El
primer nmero corresponde al creador del archivo, el segundo al grupo del creador, y el
tercero al resto de usuarios. Ej. 666 : todo el mundo tiene permiso de todo.
chown nombre file cambia el propietario de un archivo.
chgrp grupo file cambia el grupo del propietario de un archivo.

Tema y subtema relacionado a cubrir


Tema 2. Administracin de Usuarios y Seguridad con Linux. Subtema-2.1 Administracin de
usuarios y grupos.

Material y equipo necesario

Equipo de cmputo
Trabajar con Sistema Operativo Linux

Metodologa

1. Crear un grupo llamado nomina y mostrar el archivo de configuracin identificando el id del


grupo. Mostrar tambin el id del usuario root.

Manual de Prcticas: Seguridad en Linux. Reporte Final 31


Como se muestra el id del grupo nomina es 503. Y el id del grupo del usuario root (gid) es 0.

2. Crear un usuario llamado usu1 que pertenezca al grupo nomina. Una vez creado cambiarle el
password. Mostrar archivo de configuracin.

Es importante siempre asignar un grupo a un usuario creado. En Linux si no se asigna grupo, por
default crea un grupo con el mismo nombre del usuario.
Los grupos son utilizados para organizar los usuarios y para otorgar permisos a los archivos.
Algunos de los ejemplos de grupos ms comunes son los grupos para acceder a dispositivos y los
grupos para acceder a partes del sistema de archivos.
El archivo donde se encuentra almacenada toda la informacin referente a los grupos es encuentra
en la ruta /etc/group y dentro de este podemos encontrar los siguientes campos:

Manual de Prcticas: Seguridad en Linux. Reporte Final 32


Nombre del grupo.
Contrasea.
Identificador del grupo (GID).
Miembros del grupo separados por comas.

3. Conectado como usuario root., conectarse con el usuario usu1. Comprobar conexin. El
directorio de trabajo (HOME). Crear un archivo a1 y mostrarlo.

Como se observa cuando el prompt es # significa el usuario con el que se est conectado es root.
Cuando es cualquier otro usuario el prompt es $. Tambin observa que al crear el archivo a1 el
propietario es usu1 (usuario creador) y pertenece al grupo nomina. Este tema se ver en prctica
posterior. La funcin del comando touch es crear un archivo vaco. Y finalmente al dar el logout
cierra la sesin del usuario usu1, regresando a la sesin de root.

Cuando se lleva a cabo la instalacin de un sistema operativo, solo se realiza la creacin de un


usuario por default, que es el usuario root. Este usuario es el administrador del sistema y puede
realizar cualquier operacin dentro del sistema como acceder a cualquier dispositivo o borrar
cualquier parte del sistema. Por esta razn, el usuario root se recomienda utilizar nicamente
para realizar tareas de administracin.

4. Mostrar el archivo de configuracin del usuario usu1 creado.

Manual de Prcticas: Seguridad en Linux. Reporte Final 33


El usuario usu1 tiene uid (user id) 502. Un gid (group id) de 503. El directorio de trabajo del usuario
usu1 est ubicado en /home/usu1. Y usa el shell bash. El comando su, permite realizar cambios de
usuario con el que se est logeado.

Sugerencias didcticas

Esta prctica puede realizarse en equipos para apoyarse y resolver dudas y posteriormente cada
uno de los estudiantes debe realizarla de manera individual. El tiempo mximo para resolver esta
prctica debe ser de una hora, por lo que se sugiere practicar continuamente. Es importante que se
estudien con mayor detalle los comandos utilizados durante esta prctica y es recomendable
utilizar el comando man seguido del nombre del comando que se desea verificar, para que se
muestre una descripcin amplia de las caractersticas del comando. Entregar Reporte del
estudiante de manera individual y completo.

Reporte del estudiante


El estudiante entregar el reporte completo de la prctica desarrollada adems de la informacin
que se piden como complemento:

1. Se puede cambiar la contrasea de un usuario siendo ese usuario? Por qu?


2. Qu sucede si intenta crear un directorio dentro de /etc?
3. Crear usuario usu2 sin ms parmetros. Verificar lo que hace en los archivos de configuracin.
4. Borrar el grupo nomina.

5. Crear un usuario usu1 con contrasea 123456, crear 3 directorios con los nombres de ventas,
contabilidad y sistemas, crear un grupo llamado administracin y asignarlo a la directorio de
sistemas.

Bibliografa o consultas realizadas

1.https://www.ibm.com/developerworks/ssa/linux/library/l-lpic1-v3-103-1/

Manual de Prcticas: Seguridad en Linux. Reporte Final 34


No. Prctica: 5
Nombre: Variables de Ambiente

Objetivos

Comprende la importancia de una variable de ambiente en Linux


Comprende e incluye variable de ambiente en un entorno bash

Introduccin

Variables de ambiente

Las variables son utilizadas para almacenar nmeros, secuencias de caracteres e informaciones
en general. Una Variable de Ambiente es una variable establecida por el sistema o por un usuario,
en la lnea de comando del sistema, y puede ser usada por cualquier programa. El Linux tiene
diversas variables predefinidas tales como, nombre de usuario, el directorio nombre y el nombre
del sistema. El comando env genera una lista de todas las variables persistentes definidas en su
shell, o sea, las variables que continan existiendo igual despus que el comando actual o script
finaliza. El resultado de algunas variables de ambiente se muestra con este comando:

alumno@maquina alumno)$ env


USERNAME=alumno
ENV=/home/alumno/.bashrc
HOSTNAME=mquina.andromeda
LOGNAME=alumno
MAIL=/var/spool/mail/alumno
TERM=xterm
PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/opt/kde/bin
HOME=/home/alumno
SHELL=/bin/bash
USER=alumno

La mayora de las variables son usadas para nombres de caminos de bibliotecas e informaciones
como tipo y plataforma del sistema operacional. No todas las variables aqu listadas estn
presentes en el sistema do usuario. Las variables de sistema ms comunes estn listadas en la
tabla 5-4.

Tabla 5-4. Las variables de ambiente

Manual de Prcticas: Seguridad en Linux. Reporte Final 35


Las variables predefinidas son automticamente configuradas por el shell y en general son
utilizadas dentro de scripts del shell. El mtodo usado para definir variables en la lnea de comando
depende del shell en uso. El shell bash, que es el ms utilizado en el Linux, requiere el uso del
comando export embutido. Crear una variable en la lnea de comando del bash sigue la siguiente
forma:

NOMBRE_VARIABLE="valor";
export NOMBRE_VARIABLE o

exportNOMBRE_VARIABLE="valor"

Para configurar una variable de forma permanente se debe incluir en los archivos de inicializacin.
El archivo usado para tal es el .bash_profile. Para editarlo se puede usar cualquier editor de modo
texto que est disponible en nuestro Linux, como por ejemplo el vi.[1]

Archivos de inicializacin de la sesin

Cada shell tiene sus archivos de inicializacin. Existen varias formas de inicializar el shell, los
principales son, va login y va lnea de comando. Existen diferencias entre ellos en la forma como
inician los archivos de inicializacin. Durante un login la secuencia es:
/etc/profile
.bash_profile
.bashrc
/etc/bashrc

Tema y subtema relacionado a cubrir


Tema 2. Administracin de Usuarios y Seguridad con Linux. Subtema-2.3. Variables de Ambiente

Material y equipo necesario

Equipo de cmputo
Trabajar con Sistema Operativo Linux

Metodologa
1. Conectarse con el usuario usu1. Y ver las variables de ambiente que tiene asignadas por
default.

Manual de Prcticas: Seguridad en Linux. Reporte Final 36


Como se observa las variables de ambiente definen el entorno en el que el usuario trabajara. Estas
siempre se asignan en maysculas y pueden ser modificadas en lnea de comando y funcionaran
as para esta sesin.

2. Conectado como usu1. Crear la variable de ambiente USUARIO y asignarle el valor de la


variable de ambiente LOGNAME. Asignarla de dos formas diferentes y mostrar su valor.

3. Desconectarse como usu1 y verificar nuevamente el valor de la variable de ambiente USUARIO.

Observe en primer lugar que los comando de Linux se dan en minsculas. Las variables de
ambiente en maysculas. Si la variable de ambiente se asigna en lnea de comando y se cierra la
sesin, entonces el valor la variable se pierde. Para evitar esto sigamos con la prctica.

Manual de Prcticas: Seguridad en Linux. Reporte Final 37


4. Asignar de forma definitiva la variable de ambiente USUARIO con el valor de LOGNAME.

El archivo que guarda de forma definitiva las variables de ambiente, es el archivo .bash_profile que
se ubica siempre en el directorio de trabajo del usuario. Debe agregarse la variable y grabar el
archivo.

5. Verificar que la variable de ambiente USUARIO este activada siempre que el usuario se conecte.

Observe que aunque la variable se defina en el .bash_profile, no toma efecto hasta que el usuario
se desconecta y vuelve a conectarse. Entonces se lee el archivo .bash_profile al momento de la
conexin, activando esta variable y todas las vistas en el punto 1.

Manual de Prcticas: Seguridad en Linux. Reporte Final 38


Sugerencias didcticas

Esta prctica puede realizarse en equipos para apoyarse y resolver dudas y posteriormente cada
uno de los estudiantes debe realizarla de manera individual. El tiempo mximo para resolver esta
prctica debe ser de una hora, por lo que se sugiere practicar continuamente. Es importante que se
estudien con mayor detalle los comandos utilizados durante esta prctica y es recomendable
utilizar el comando man seguido del nombre del comando que se desea verificar, para que se
muestre una descripcin amplia de las caractersticas del comando. Entregar Reporte del
estudiante de manera individual y completo.

Reporte del estudiante


El estudiante entregar el reporte completo de la prctica desarrollada adems de la informacin
que se piden como complemento:
1. Define con tus propias palabras lo que es una variable de ambiente.
2. Qu importancia tiene al asignarla a un usuario.
3. Para que se definen las variables de ambiente en el archivo .bash_profile.
4. Agrega a la variable PATH la ruta del software de java /usr/java/bin de forma definitiva y
mostrar.

Bibliografa o consultas realizadas

1.http://www.mailxmail.com/curso-sistema-operativo-linux/variables-ambiente
2.https://www.ibm.com/developerworks/ssa/linux/library/l-lpic1-v3-103-1/

Manual de Prcticas: Seguridad en Linux. Reporte Final 39


No. Prctica: 6
Nombre: Seguridad de archivos en Linux

Objetivos

Comprende la forma de control de la segundad en Linux para archivos y directorios


Aplica conocimientos integrados de Seguridad en un ambiente Linux

Introduccin

Seguridad de archivos en Linux

Al ser Unix un sistema multiusuario, los archivos de cada usuario deben ser protegidos del resto de
los usuarios. Lo mismo ocurre con los archivos del sistema (programas, configuraciones, etc.). Esto
tiene que ver no slo con la confidencialidad de la informacin, sino tambin con la proteccin de
errores involuntarios por parte de los usuarios. Para ello se utiliza un sistema de permisos de
archivos. Este mecanismo permite que archivos y directorios pertenezcan a un usuario en
particular. Por ejemplo, como diego cre archivos en su directorio home, diego es el propietario
de esos archivos y tiene acceso total a ellos.

Unix tambin permite que los archivos sean compartidos entre usuarios y grupos de usuarios.
Si diego lo desea, podra restringir el acceso a sus archivos de forma que ningn otro usuario
pueda acceder a ellos.

Tipo de permisos

Cada archivo pertenece a un usuario y a un grupo en particular. Un grupo es un conjunto de


usuarios definido (cada usuario pertenece al menos a un grupo, pero puede pertenecer a varios).

Veamos un ejemplo del uso de permisos de archivos. Usando el comando ls con la opcin -l se
mostrara un listado largo de los archivos, el cual incluye los permisos.

$ ls -l a1

-rwxrwxrwx 1 curso users 505 Mar 13 19:05 a1

El primer campo representa los permisos del archivo. El tercer campo es el propietario del mismo
(curso), el cuarto es el grupo al cual pertenece el archivo (users) y el ltimo campo es el nombre
del archivo (a1). La cadena rwxrwxrwx nos informa, por orden, los primeros permisos rwx son del
propietario del archivo, los siguientes rwx son los permisos para grupo y el ultimo rwx son los
permisos para otros usuarios.

El primer carcter de la cadena de permisos (-) representa el tipo de archivo. El - significa que
es un archivo regular, d indicara que se trata de un directorio. r es permiso de lectura (read).
w es permiso de escritura (write). x es permiso de ejecucin (execute).

$ ls -l a1

Manual de Prcticas: Seguridad en Linux. Reporte Final 40


-rwxr-x--x 1 curso users 505 Mar 13 19:05 a1

Para este ejemplo. El propietario tiene los tres permisos, lectura, escritura y ejecucin. Los
usuarios que pertenezcan al grupo users solo tienen permisos de lectura y ejecucin. Y el resto de
los usuarios slo tienen permiso de ejecucin.Los grupos usualmente son definidos por el tipo de
usuarios que acceden al sistema. Por ejemplo, en un sistema Unix de una universidad, los usuarios
pueden ser divididos en los grupos estudiantes, direccin, profesores e invitados. Hay tambin
unos pocos grupos definidos por el sistema (como bin y daemon) que son usados por el propio
sistema para controlar el acceso a los recursos. Normalmente los usuarios comunes no pertenecen
a estos grupos.

Los permisos estn divididos en tres tipos: lectura, escritura y ejecucin. Estos permisos pueden
ser fijados para tres clases de usuarios: el propietario del archivo o directorio, los integrantes del
grupo al que pertenece y todos los dems usuarios. El permiso de lectura permite a un usuario leer
el contenido del archivo o en el caso de un directorio, listar el contenido del mismo (usando ls). El
permiso de escritura permite a un usuario escribir y modificar el archivo (inclusive, eliminarlo). Para
directorios, el permiso de escritura permite crear nuevos archivos o borrar archivos ya existentes
en el mismo. Por ltimo, el permiso de ejecucin permite a un usuario ejecutar el archivo si es un
programa. Para directorios, el permiso de ejecucin permite al usuario ingresar al mismo (por
ejemplo, con el comando cd). [1]

Ejemplos de permisos de grupo.

-rwxr-xr-x

El propietario del archivo puede leer, escribir y ejecutar el archivo. Los usuarios
pertenecientes al grupo del archivo y todos los dems usuarios pueden leer y ejecutar el
archivo.

-rw-------

El propietario del archivo puede leer y escribir. Nadie ms puede acceder al archivo.

-rwxrwxrwx

Todos los usuarios pueden leer, escribir y ejecutar el archivo.

drwxr-xr-x

El propietario del directorio puede leer, escribir y entrar al mismo. Los usuarios
pertenecientes al grupo del directorio y todos los dems usuarios pueden leer e
ingresar al directorio.

Cambiaremos los permisos de cualquier archivo o directorio, usando el comando chmod (change
mode), cuya sintaxis es la siguiente:

chmod [opciones] permisos archivo[s]

Tema y subtema relacionado a cubrir


Tema 2. Administracin de Usuarios y Seguridad con Linux. Subtema-2.2. Privilegios de archivos
2.4 Seguridad en contraseas

Manual de Prcticas: Seguridad en Linux. Reporte Final 41


Material y equipo necesario

Equipo de cmputo
Trabajar con Sistema Operativo Linux

Metodologa

1. Cmo funcionan los permisos de archivos en Linux.


La combinacin de bits encendidos o apagados en cada grupo da ocho posibles combinaciones de
valores, es decir la suma de los bits encendidos:
--- =0 no se tiene ningn permiso
--x =1 solo permiso de ejecucin
-w- =2 solo permiso de escritura
-wx =3 permisos de escritura y ejecucin
r-- =4 solo permiso de lectura
r-x =5 permisos de lectura y ejecucin
rw- =6 permisos de lectura y escritura
rwx =7 todos los permisos establecidos, lectura, escritura y ejecucin
Cuando se combinan los permisos del usuario, grupo y otros, se obtienen un nmero de tres cifras
que conforman los permisos del archivo o del directorio. Esto es ms fcil visualizarlo con algunos
ejemplos:

2. Conectado como usuario usu1, crear un archivo a2. Verificar los permisos con los que ha sido
creado y describirlo.

Manual de Prcticas: Seguridad en Linux. Reporte Final 42


El archivo a2 se puede describir de la siguiente forma: Archivo creado en Nov 9 a las 5:03. El
propietario (owner) es el usuario usu1 y el grupo nomina. Los permisos permitido para el usuario
propietario es lectura y escritura. Para los usuarios que pertenecen al grupo nomina los permisos
permitidos son solo de lectura. Para el resto de los usuarios solo permisos de lectura. (-) indica que
es un archivo.

3. Cambiar los permisos del archivo a2, permitiendo permisos de lectura, escritura y ejecucin a los
tres grupos de permisos. Mostrar y verificar. Despus de esto cambiar los permisos para que solo
el propietario pueda leer, escribir y ejecutar. Los usuarios que pertenezcan al grupo de nomina solo
puedan leer y ejecutar y el otros usuario solo puedan ejecutar.

Con el comando chmod podemos realizar el cambio de permisos a un archivo. Observe que el
propietario puede realizar este cambio ($). El primer cambio de permisos 777 asigna todos los
permisos a todos los usuarios. Sin embargo hacer esto es un grave error de seguridad, pues abre
cualquier posibilidad de modificarlo o hackearlo.
Los permisos siempre deben asignarse de menos a ms y de acuerdo a las necesidades. El
segundo cambio realizado 751, asigna todos los permisos solo al propietario del archivo. Lectura y
escritura al grupo y ejecucin a otros usuarios.
4. Eliminar los permisos de ejecucin para otros y para los usuarios del grupo nomina. Y Asignar
lectura a otros usuarios. Use el formato corto.

Esta forma de asignar permisos es ms prctica, debido a que no necesitamos conocer de

Manual de Prcticas: Seguridad en Linux. Reporte Final 43


antemano los permisos, nicamente podemos asignarlos por propietario, grupo u otros con las
opciones de u,g,o y agregar o eliminar permisos con los signos +, -.

5. En este punto manejaremos cambios de propietario y grupo del archivo. Cambiar el propietario
del archivo a1 del usuario usu1 al usuario usu2 (crearlo primero). Comprobar que el usuario usu1
pierde el acceso al archivo a2.

Recuerde que para crear usuarios debemos estar conectado como usuario root. Una vez creado,
nos conectamos como usuario usu1. El comando chown (change owner) realiza el cambio de
propietario. En este punto genera un error, porque esta funcin por seguridad solo la puede realizar
el usuario root.

PERMISOS EN MODO SIMBOLICO

Otra manera popular de establecer los permisos de un archivo o directorio es a travs de


identificadores del bit (r,w, o x) de los permisos, como ya se vio anteriormente, pero ahora
identificando adems lo siguiente:
al usuario con la letra u
al grupo con la letra g
a otros usuarios con la letra o
y cuando nos referimos a todos (usuario, grupo, otros) con la letra a (all, todos en ingls)
el signo + para establecer el permiso
el signo - para eliminar o quitar el permiso

La sintaxis es muy simple chmod augo[+|-]rwx[,...] archivo[s], as por ejemplo, si queremos que
otros tengan permiso de escritura sera chmod o+w archivo, todos los usuarios con permisos de
ejecucin chmod a+x archivo.
En este modo de establecer permisos, solo hay que tomar en cuenta que partiendo de los
permisos ya establecidos se agregan o se quitan a los ya existentes. Vemoslo con ejemplos su
manera de trabajar:

Manual de Prcticas: Seguridad en Linux. Reporte Final 44


Una vez hecho el cambio con el usuario root con el comando chown. Al reconectarse con el
usuario usu1 para comprobar que ya no se tiene acceso, editaremos el archivo a2.

Como se observa al editar el archivo a2 por el usuario usu1, marca el mensaje [readonly]. Esto
porque el usuario usu1 pertenece al grupo nomina que solo tiene permisos de lectura.

NOTA> Esta es la forma en la que se aplica la seguridad en los archivos de Linux y evitar que la
informacin sea usada solo por el usuario permitido y evitar robo de informacin.
Esta tabla muestra algunos ejemplos ms del funcionamiento de estos permisos.

Manual de Prcticas: Seguridad en Linux. Reporte Final 45


Sugerencias didcticas

Esta prctica puede realizarse en equipos para apoyarse y resolver dudas y posteriormente cada
uno de los estudiantes debe realizarla de manera individual. El tiempo mximo para resolver esta
prctica debe ser de una hora, por lo que se sugiere practicar continuamente. Es importante que se
estudien con mayor detalle los comandos utilizados durante esta prctica y es recomendable
utilizar el comando man seguido del nombre del comando que se desea verificar, para que se
muestre una descripcin amplia de las caractersticas del comando. Entregar Reporte del
estudiante de manera individual y completo.

Reporte del estudiante


El estudiante entregar el reporte completo de la prctica desarrollada adems de la informacin
que se piden como complemento:
1. Crear un nuevo grupo llamado nomina1.
2. Cambiar el grupo del archivo a2 al grupo nomina1.
3. Eliminar todos los permisos r,w,x al grupo del archivo a2.
4. Comprobar que ningn usuario que pertenece al grupo nomina puede accesar el archivo

Bibliografa o consultas realizadas

https://smaldone.com.ar/documentos/misdocs/tutorial-gnu-linux/index-8.html

Manual de Prcticas: Seguridad en Linux. Reporte Final 46

S-ar putea să vă placă și