Publicado el 10 de Julio del 2019
626 visualizaciones desde el 10 de Julio del 2019
240,7 KB
12 paginas
Creado hace 16a (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
Comentarios de: Seguridad en Unix (0)
No hay comentarios