PDF de programación - Seguridad en Unix

Imágen de pdf Seguridad en Unix

Seguridad en Unixgráfica de visualizaciones

Publicado el 10 de Julio del 2019
151 visualizaciones desde el 10 de Julio del 2019
240,7 KB
12 paginas
Creado hace 11a (28/07/2008)
66.69 CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA
Departamento de Electrónica
Facultad de Ingeniería.
Universidad de Buenos Aires.

Seguridad en UNIX

Temas
Temas

• Introducción
System V vs Berkeley
Kernel y Shells
Como obtener Ayuda
File System
Administración de Usuarios
Procesos
Procedimiento de logueo
Permisos
Comandos Básicos y Pipes
Secure Shell
Scripting

66.69 CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

1

Introducción
Introducción

Fue desarrollado por AT&T a fines de los 60s
La primera versión se llamo UNICS y fue
escrita por Dennis Ritchie
Programado íntegramente en C
Recibe distintos nombres hoy en día

AIX
HP-UX
Solaris
Linux

66.69 CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

System V vs Berkeley
System V vs Berkeley

Existes basicamente dos lineas de Unix:
System V: Desarrollada por AT&T
BSD: Desarrollado por la Universidad de Berkeley

Las interrelaciones entre estas familias son las siguientes, aproximadamente en orden
cronológico:

La familia BSD surge del licenciamiento del UNIX original de AT&T.
Xenix también surge por licenciamiento del UNIX original de AT&T, aunque aún no era
propiedad de SCO.
AIX surge por licenciamiento de UNIX System III, pero también incorporta propiedad intelectual
de BSD.
La familia original AT&T incorpora ilegalmente propiedad intelectual de BSD en UNIX System
III r3.
La familia AIX vuelve a incorporar propiedad intelectual de la familia AT&T, esta vez
procedente de UNIX System V.
Linux incorpora propiedad intelectual de BSD, gracias a que éste también se libera con una
licencia de código abierto denominada Open-source BSD.
Aunque no está demostrado, se cree que Linux incorpora propiedad intelectual procedente de
AIX, gracias a la colaboración de IBM en la versión 2.4 de su núcleo (kernel).

66.69 CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

2

Kernel y Shell
Kernel y Shell

66.69 CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

Kernel
Kernel
Kernel
Kernel

Es el sistema operativo en si
Es el encargado de administrar los recursos, procesos
y usuarios
Administra las interfaces de los recursos de E/S
Maneja los discos y las memorias

66.69 CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

3

Shell
Shell

Toda la comunicación que tiene el UNIX es a
través del shell
Existen distintos shells (Bash, Bourne, Korn)
Es una línea de comando.
Existen varios comandos para interactuar con
el sistema

66.69 CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

Manuales de Linux
Manuales de Linux

man : permite ver el manual de los comandos.

EJ: man man
Ej2 man cp

apropos (para ansi: man –k):

Busca un string en los titulos de los manuales

Los manuales tienen distintos capítulos:
man –a login (muestra todos los capítulos)
man 1 login (muestra el capitulo 1 del comando login)

66.69 CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

4

File System
File System

Todos son Archivos

Archivos
Directorios
Dispositivos

Estructura de directorios

/bin
/etc
/dev
/home
/usr
/tmp
/var
/opt

(Binarios del SO)
(Configuraciones del SO)
(Referencias a dispositivos)
(Directorios de los usuarios)
(Binarios de aplicaciones)
(Directorio Temporal del Sistema)
(Archivos de Datos de las
aplicaciones, spool, log, bases, etc)
(Binarios de aplicaciones)

66.69 CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

Comandos para manejo FS
Comandos para manejo FS

pwd – muestra el directorio actual
ls – equivalente al dir
cd - cambia de directorio
cp – equivalente a copy



mv - renombra

rm – delete file
mkdir – crea un directorio
rmdir – borra un directorio

grep – global regular expresión print

find - busca un archivo por el nombre u otros parametros


ln – crea un link al archivo

66.69 CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

5

Administracion de Usuario
Administracion de Usuario

Archivo de usuarios /etc/passwd
username:password:uid:gid:gcos-field:homedir:login-
shell

Archivo de contraseñas /etc/shadow
username:password:lastchg: min:max:warn:inactive:
expire:flag

Archivo de grupos /etc/group
group:passwd:gid:members

66.69 CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

Administración de Usuario
Administración de Usuario

groupadd
Agraga un usuario SO  /etc/group
groupadd grupo

useradd, usermod, userdel
Agraga un usuario al SO  /etc/passwd
useradd –g primgrp –G grp1,grp2,… -c comentario –s
shell

passwd
Cambia el password y otros de un usuario 
/etc/shadow
passwd user

66.69 CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

6

Procesos
Procesos

Un proceso es un programa en ejecución
Todos los procesos tiene un proceso padre. El padre de
todos es el proceso init.

PID numero de proceso
PPID numero de proceso padre
PUID usuario con que esta corriendo

“ps“ Para ver procesos

• ps –fx
ps –fu usuario
ps -ef
fork / exec

66.69 CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

Procesos (cont)
Procesos (cont)

Foreground / Background

ls –R / > pepe.txt &

-top: Muestra un listado de los procesos ordenados con algun criterio
-Ctrl-Z: Para un proceso en foregorund
-jobs: Muestra los procesos corriendo en background

Señales: Es una manera de pasarle mensajes a un proceso que esta
corriendo
Para reciclar un proceso
kill HUP PID

Para solicitar gentilmente que se muera

kill PID o kill -15 PID

Para sacarlo de memora

kill -9 PID

66.69 CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

7

Procedimiento de Logueo
Procedimiento de Logueo

Proceso getty

/sbin/mingetty tty1

Pasos de login

Se ingresa el usuario
Se ingresa el password
Se valida el usuario y la contraseña
El getty toma del passwd el shell, UID, GUD y el Home
Directory ($HOME) del usuario.
Inicia el shell
Ejecuta el archivo de /etc/profile
Ejecuta el archivo $HOME/.profile (.bashrc u otros según
shell)
Muestra el prompt

Permisos de Archivo
Permisos de Archivo

Existen tres tipos de niveles de acceso

Usuario
Grupo
Otros

Existen tres tipos de accesos

Lectura
Escritura
Ejecución

Usuario Grupo Otro

-rwx rwx

r-x

-rwxrwxr-x 1 user01 staff 320 Jan 22 docfile

66.69 CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

8

Permisos
Permisos

Cambio de Permisos  chmod

+: agrega permiso
-: elimina permiso
=: fija un permiso
u: aplica al usuario
g: aplica al grupo
o: aplica a otros
a: aplica a todos

En números
4: lectura 2: write 1: ejecución
Cambio de Dueño  chown
Cambio de Grupo  chgrp

chmod 751 archivo
chmod u=rwx g=rx o=x archivo
chown user:group archivo
chgrp group archivo

66.69 CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

Permisos de un Proceso
Permisos de un Proceso

Corre con un usuario valido del unix
Por lo tanto tiene acceso a los recursos a los que el
usuario tiene acceso.
Cuando un usuario ejecuta un proceso, el mismo corre
con los permisos del usuario

66.69 CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

9

Comando su
Comando su

Permite entrar con los permisos de otro usuario.
su usuario
su – usuario (ejecuta el ambiente del usuario destino)

66.69 CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

Permiso “SUID bit”
Permiso “SUID bit”

Permite que un proceso ejecute con las
credenciales del dueño del proceso en lugar de
las credenciales de quien lo ejecuta.

Ejemplo el comando passwd necesita el bit “S”
para poder modificar el archivo de claves:

[root@desa hpg123]# ls -al /usr/bin/passwd
-r-s--x--x 1 root root 92757 Feb 15 2004 /usr/bin/passwd

66.69 CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

10

combinación de comandos con pipe
combinación de comandos con pipe

Pipe “|” es un metodo de comunicación de procesos

El output de un proceso es usado como input por el otro
Para buscar los datos de un usuario en el passwd

cat /etc/passwd | grep user1

Ver si hay un proceso corriendo

ps –ef | grep vi

66.69 CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

Scripting en shell
Scripting en shell

Permite combinar comandos para agrupar secuencias de
comandos.
Es un lenguaje de programación que tiene por ejemplo “if,
for, while, read, etc”
Ejemplo

touch /var/log/mysqld.log
chown mysql:mysql /var/log/mysqld.log
chmod 0640 /var/log/mysqld.log
if [ ! -d $datadir/mysql ] ; then

echo "Inicializando MySQL database: "
/usr/bin/inicia_base
ret=$?
chown -R mysql:mysql $datadir
if [ $ret -ne 0 ] ; then

exit $ret;

fi

else
fi

echo "falta el directorio del Mysql

66.69 CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

11

Algo de Redes
Algo de Redes

Configuracion de la interface de red

ifconfig eth0 10.0.0.1 netmask 255.255.255.0

Archivo de hosts
/etc/hosts
Nombre del host
hostname nombre del host
hostname –i (solo en linux)
hostname –f (solo en linux)

ping / traceroute: Ambos comando serven para verificar un ruta hacia
un host
netstat: Sirve para obtener informacion de las conexiones TCP/IP
route: sirve para configurar la tabla de ruteo
iptables: sirve para controlar el flujo y conexiones de red

66.69 CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

Secure Shell
Secure Shell

Permite loguearse a un sistemas de manera
segura
Se intercambia un pa
  • Links de descarga
http://lwp-l.com/pdf16265

Comentarios de: Seguridad en Unix (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad