Вы находитесь на странице: 1из 19

Alumno: Adrin Rama

CI: V:23647988

Laboratorio 1: Comando Bsicos de Seguridad

1. Conexin sftp
1.1 Diferencia entre ls y lls.
ls:
ls (list de listar) es un comando de sistema opertico Unix y derivados que muestra un
listado con los archivos y directorios de un determinado directorio. Los resultados se
muestran ordenados alfabticamente. Es importante destacar que, a pesar de listar la
mayora de archivos, aquellos cuyo nombre comienzan con punto Archivos ocultos, la
opcin a inhibe este y los lista todos.
lls:
lls utiliza las mismas opciones del comando ls, pero en una conexin sftp y permite
realizar el listado de los archivos y directorios en la maquina local desde la que se est
accediendo de manera remota mientras que el comando ls utilizado en una conexin sftp
este comando lista el directorio y archivos de la maquina accedida.

Uso del ls y lls sin conexin sftp, como se comprueba al comando lls no se le encuentra
un sentido de accin.
Uso del ls y del lls en una conexin sftp.

1.2 Secuencia de comandos utilizados para subir y bajar archivos: (De linnux1 a linux2)
1. Se realiza la conexin mediante sudo sftp linux3@192.168.1.3
2. Para enviar se utiliza el comando put (paht origen) nombre del archivo (pat de
destino).
3. Para recibir un archivo get (nombre del archivo).

Conexin sftp y envo de un archivo mediante el mismo.


Uso del get para recibir un archivo.

1.3 SCP: Secure Copy Protocol o Simple Communication Protocol es un medio de


transferencia segura de archivos informticos entre un host local y otro remoto o entre
dos hosts remotos, usando el protocolo Secure Shell (SSH).

Envo de archivo mediante scp.


Recepcin de un archivo mediante scp.
1.4 sftp comparado con el protocolo scp, que slo permite la transferencia de archivos,
permite una amplia gama de operaciones sobre archivos remotos es ms como un
sistema de archivos remoto protocolo. Un cliente sftp en comparacin con las
capacidades de un cliente scp incluyen reanudar la interrumpida las transferencias, los
listados de directorios, y archivo remoto de eliminacin. Para estas razones por las que
es relativamente sencillo implementar una interfaz grfica de usuario cliente de sftp en
comparacin con una interfaz grfica de usuario scp cliente. A pesar de que ambos scp y
sftp utilizar el mismo ssh cifrado durante archivo traslado con el mismo nivel general de
sobrecarga, scp es generalmente mucho ms rpido que el de sftp en la transferencia de
los archivos, especialmente en la alta latencia redes. Esto sucede porque scp implementa
una transferencia ms eficiente el algoritmo, que no requiere la espera para los paquetes
de confirmaciones. Este conduce a una velocidad ms rpida, pero a los gastos de no ser
capaz de interrumpir una transferencia, por lo que a diferencia de sftp, scp la
transferencia no puede ser cancelada sin la terminacin de la sesin.

2. Conexin ssh
2.1. El comando who puede listar los nombres de los usuarios conectados actualmente,
su terminal, el tiempo que han estado conectados, y el nombre del host desde el que se
han conectado. Entre las distintas opciones para visualizar los usuarios conectados en el
caso de ssh se usa la opcin who ips, que permite identificar por medio de la ip, los
usuarios conectados a una mquina.
Uso del who ips para visualizar los usuarios conectados por medio de ssh a Linux 2,
como se puede observar a esta mquina de ip 192.168.1.2 entan conectadas
linux1(192.168.1.1) desde donde se estn realizando la conexin mostrada en la pantalla
y linux3(192.168.1.3).

2.2 El Protocolo de transferencia de archivos SSH (SFTP) es un protocolo de red que


utiliza Secure Shell (SSH) para transferir archivos. SSH utiliza criptografa de clave
pblica para autenticar el sistema remoto y permitir al mismo autenticar al usuario, si es
necesario. A diferencia del FTP estndar, cifra tanto mandatos como datos, evitando que
las contraseas y la informacin confidencial se transmitan en texto claro a travs de la
red. La totalidad de la sesin de inicio de sesin, incluida la transmisin de la
contrasea, est cifrada, haciendo mucho ms difcil que una persona ajena pueda ver y
capturar contraseas. Al cifrar todo el trfico, SFTP elimina de forma efectiva las
escuchas no autorizadas, el secuestro de conexiones y otros ataques a nivel de red.
SFTP no es simplemente FTP ejecutado sobre SSH; SFTP es un nuevo protocolo. Es
funcionalmente similar a FTP pero, debido a que utiliza un protocolo diferente, no se
puede utilizar un cliente FTP estndar para comunicarse con un servidor SFTP, ni
tampoco puede conectarse a un servidor FTP con un cliente que slo soporte SFTP. Es
ms importante destacar que tcnicamente SFTP es ms avanzado que FTPS, sin
embargo, algunos dispositivos pueden no ser compatibles con SFTP (como los mviles,
consolas etc) y sin embargo con FTPS s lo son, como hemos dicho antes, FTPS es una
extensin de FTP. Cabe destacar que mediante SSH solo no se puede realizar la
transferencia de archivos por s solo, sino que para ello se utiliza scp. Aunque tambin
valindose de ciertos conocimientos y con el uso correcto de las tuberas se puede llegar
una especie de transmisin de archivos mediante ssh de una maquina B a una maquina
A.
Envo de un archivo mediante ssh sin el uso de scp, la tcnica consiste en usar tuberas
para enviar en forma de salida estndar la lectura de un archivo en este caso .tar a una
carpeta donde estar o se alojar el archivo comprimido el cual posee dos archivos los
cuales son los que se quieren enviar.

2.3 Se puede realizar una transferencia de un archivo de una maquina B a una maquina
C, desde una maquina A, mediante SSH y haciendo el uso del SCP.

Transferencia de un archivo de una maquina B a una maquina C, desde una maquina A.

2.4 Para identificar procesos se realiza el uso del comando ps, el cual muestra el que se
est utilizando para la conexin por medio de SSH y al identificar el PID del proceso de
la maquina local, para luego al usar el comando ps | grep bash el cual mostrar los
distintos terminales levantados en la maquina remota.
Uso de ps, para la identificacin del proceso para luego hacer uso del kill -9 que cerrara
la terminar identificada.

3. Procesos grficos por SSH


3.1 Para la ejecucin local de los procesos grficos mediante SSH se realizan con la
opcin X la cual permite ejecutar procesos grficos en la mquina remota, que se
visualizan en la local.

Uso de ssh X para la ejecucin de procesos grficos, este caso se realiza la creacin de
un documento de texto desde linux1 a ser guardado en linux2.
3.2 Para la ejecucin de procesos grficos en la mquina remota se utiliza el comando
export DISPLAY=:0.0, la cual permite ejecutar procesos grficos en la maquina remota.

Uso del comando export DISPLAY=:0.0, para ejecutar una aplicacin grfica en la
mquina remota.
3.3 La utilidad del ssh muchas veces es necesario acceder remotamente a un Sistema
para efectuar tareas de diversa ndole, como mantenimiento, reconfigurar servicios,
buscar archivos, etc. En esta tarea juega un papel vital el uso de SSH (secure shell) que
permite acceder al sistema remoto usando una conexin cifrada (encriptada), dndonos
acceso a una lnea de comandos del sistema remoto. Pero hay ocasiones en que esto no
es suficiente. Hay veces en las que es necesario operar con el sistema remoto ms all
de la lnea de comandos. Es ah donde aparece la necesidad de escritorios remotos, de
ejecucin remota de programas grficos y la necesidad de cifrar esas conexiones.
Entre los problemas de seguridad estan el acceso por parte de usuarios no autorizados o
distintos ataques desde internet como fuerza bruta o Exploits el servicio SSH debido a
los bugs que se presenta en este servicio.

4. Permisos asociados en Linux


4.1 Al ser Unix un sistema multiusuario, los archivos de cada usuario deben ser
protegidos del resto de usuarios, Lo mismo ocurre con los archivos del sistema tales
como programas, configuraciones, etc. Esto es debido no solo a la confidencialidad de
informacin, sino tambin proteger de errores involuntarios por partes de los usuarios,
para ello se utiliza un sistema de permisos de archivos.
Tipos 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).
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).
Los permisos de un fichero, pueden ser de 3 clases y estn divididos en 3 grupos
distintos. La primera letra es el tipo de fichero que es. Un guin (-) significar que es un
fichero, una letra d nos indicar que es un directorio, y una letra l, nos dir que es un
enlace a otro fichero. Adems, podemos ver otros ficheros especiales como sockets
(s), pipes (p), fifos (f), etc.

4.2 umask o User mask, la mscara de usuario usada para establecer los permisos a un
fichero o directorio recin creado.
Ejemplo, creando el fichero usoUmask.txt y haciendo uso del comando ls l, se
tienen la cual retorna los siguientes permisos: -rw-rw-r-- 1 linux1 linux1 34 abr 23
21:21 usoUmask.txt.
Se puede observar que el fichero ha sido creado con permisos 0644, es decir,
lectura y escritura para el propietario y lectura para el grupo y para el resto de los
usurios.
Ahora luego de la creacin de un directorio los permisos son los siguientes:
drwxrwxr-x 2 linux1 linux1 4096 abr 23 21:51 usoUmask`.
Se puede apreciar que los permisos para los directorios son diferentes, en ese
caso 0755, que se puede traducir en lectura, escritura y ejecucin para el propietario;
lectura y ejecucin para el grupo y para el resto de usuarios.
Es importante destacar que el valor por defecto 0002, y existen distintas formas
de realizar el cambio de la mscara de seguridad, puede ser realizando el cambio de esta
mascara de manera temporal y haciendo uso de la sintaxis de permisos para valor de
usuario, grupo y otros. En este caso para cambiar la umask a r- - r- - - - -, se realiza de la
siguiente manera umask u=r,g=r,o=.
Uso de umask para realizar el cambio de la mscara de seguridad.

5. sudo y sudoers
5.1 Sudoers: Es el archivo de configuracin de sudo, generalmente ubicado bajo /etc y
el cual puede ser modificado a travs de visudo u otro editor de text, es en este archivo
en el cual se establece quien(usuarios) pueden ejecutar (comandos) y de qu modo
(opciones), generando efectivamente un osta de control de acceso que puede ser tan
detallada como se desee.
Se puede realizar la divisin de la configuracin en tres partes, tales como:
Alias, Opciones(Defaults),Reglas de acceso.
Aunque ninguna de estas es obligatoria, o tienen que estra en un orden
especifico, pero es necesario al menos la existencia de las Reglas de acceso.
Para la aplicacin de estas reglas se tiene que tener en cuenta:
Alias: Se refiere a un usuario, un comando o a un qeuipo. El alias engloba bajo
un solo nombre (nombre de alias) una serie de elementos que despus en la larte de
definicin de reglas sern refiridos aplicados bajo cierto criterio. La forma de cracin de
un alias seria la siguiente:
tipo_alias NOMBRE_DEL_ALIAS = elemento1, elemento2, elemento3, ... elementoN
tipo_alias NOMBRE1 = elemento1, elemento2 : NOMBRE2 = elemento1, elemento2
Un ejemplo sera el siguiente:
En este caso se puede observar que al usuario redes se le condensen todos los
privilegios de uso de comando y utilizacin de programas, si por ejemplo se quisiera
cambiar para que este solo ejecute un determinado programa este sera el archivo y la
lnea a editar sera en la cual este est representado en su alias.
En esta imagen se puede observar que para la utilizacin de internet a pesar de ser la ip
de la maquina 192.168.4.26, al utilizar el comando traceroute se observa que el servicio
lo pide es la mquina de ip 192.168.4.1.

En el segundo caso, separado por ":" es posible indicar ms de un alias en una


misma definicin.
El tipo_alias define los elementos, es decir, dependiendo del tipo de alias sern
sus elementos. Los tipos de alias son cuatro y son los siguientes:
Cmnd_Alias - define alias de comandos.
User_Alias - define alias de usuarios normales.
Runas_Alias - define alias de usuarios administradores o con privilegios.
Host_Alias - define alias de hosts o equipos.
El NOMBRE_DEL_ALIAS puede llevar letras, nmeros o guin bajo ( _ ) y
DEBE de comenzar con una letra mayscula, se acostumbra a usarlos siempre en
maysculas.
Los elementos del alias varian dependiendo del tipo de alias, asi que vemoslos
por partes asi como varios ejemplos para que comience a quedar claro todo esto.

Reglas de acceso
Aunque no es obligatorio declarar alias, ni opciones (defaults), y de hecho
tampoco reglas de acceso, pues el archivo /etc/sudoers no tendra ninguna razn de ser
si no se crean reglas de acceso. De hecho podramos concretarnos a crear solamente
reglas de acceso, sin opciones ni alias y podra funcionar todo muy bien.
Las reglas de acceso definen que usuarios ejecutan que comandos bajo que
usuario y en que equipos. La mejor y (segn yo, nica manera) de entender y aprender a
configurar sudoers es con ejemplos, asi que directo al grano:

usuario host = comando1, comando2, ... comandoN


Sintaxis bsica, 'usuario' puede ser un usuario, un alias de usuario o un grupo
(indicado por %), 'host' puede ser ALL cualquier equipo, un solo equipo, un alias de
equipo, una direccin IP o una definicin de red IP/mscara, 'comandox' es cualquier
comando indicado con su ruta completa. Si se termina en '/' como en /etc/http/ entonces
indica todos los archivos dentro de ese directorio.

daniela ALL = /sbin/iptables


Usuario 'daniela' en cualquier host o equipo puede utiliar iptables.

ADMIN ALL = ALL


Los usuarios definifos en el alias 'ADMIN' desde cualquier host pueden ejecutar
cualquier comando.

%gerentes dbserver = (director) /usr/facturacion, (root) /var/log/*


Un ejemplo ms detallado. Los usuarios que pertenezcan al grupo del sistema
llamado 'gerentes' pueden en el equipo llamado 'dbserver' ejecutar como si fueran el
usuario 'director' la aplicacin llamada 'facturacion', adems como usuarios 'root' pueden
ver el contendido de los archivos que contenga el directorio /var/log.

Lo anterior intoduce algo nuevo, que en la lista de comandos es posible indicar


bajo que usuario se debe ejecutar el permiso. Por defecto es el usuario 'root', pero no
siempre tener que asi. Adems la lista 'hereda' la primera definicin de usuario que se
indica entre parntesis ( ), por eso si se tiene ms de alguno hay que cambiar de usuario
en el comando conveniente, el ejemplo anterior tambin sera vlido de la siguiente
manera:
%gerentes dbserver = /var/log/*, (director) /usr/facturacion

No es necesario indicar (root) ya que es el usuario bajo el cual se ejecutan los


comandos por defecto. Tambin es vlido usar (ALL) para indicar bajo cualquier
usuario. El ejemplo siguiente da permisos absolutos.

sergio ALL = (ALL) ALL


Se establece permiso para el usuario 'sergio' en cualquier host, ejecutar cualquier
comando de cualquier usuario, por supuesto incluyendo los de root.

SUPERVISORES PRODUCCION = OPERACION


Una regala formada solo por alias. En el alias de usuario 'SUPERVISORES' los
usuarios que esten indicados en ese alias, tendrn permiso en los equipos definidos en el
alias de host 'PRODUCCION', de ejecutar los comandos definidos o listados en el alias
de comandos 'OPERACION'.
En este ltimo ejemplo se aprecia lo ltil que pueden ser los alias, ya que una
vez definida la regla, solo debemos agregar o eliminar elementos de las listas de alias
definidos previamente. Es decir, se agrega un equipo ms a la red, se aade al alias
'PRODUCCION', un usuario renuncia a la empresa, alteramos el alias
'SUPERVISORES' eliminndolo de la lista, etc.
checo ALL = /usr/bin/passwd *, !/usr/bin/passwd root
Este es un ejemplo muy interesante de la potencia y flexibilidad de sudo. Al
usuario 'checo', desde cualquier equipo, tiene permiso de cambiar la contrasea de
cualquier usuario (usando el comando 'passwd'), excepto '!' la contrasea del usuario
'root'. Lo anterior se logra mediante el uso de argumentos en los comandos. En el primer
ejemplo '/usr/bin/passwd *' el asterisco indica una expansin de comodin (wildcard) que
indica cualquier argumento, es decir, cualquier usuario. En el segundo caso
'!/usr/bin/passwd root', si indica un argumento especfico 'root', y la '!' como ya se sabe
indica negacin, negando entonces el permiso a cambiar la contrasea de root.
Cuando se indica el comando sin argumentos: /sbin/iptables sudo lo interpreta
como 'puede usar iptables con cualquiera de sus argumentos'.
mariajose ALL = "/sbin/lsmod"
Al estar entre comillas dobles un comando, entonces sudo lo interpreta como
'puede hacer uso del comando lsmod pero sin argumentos'. En este caso el usuario
'mariajose' podr ver la lista de mdulos del kernel, pero solo eso.

5.2

Cmnd_Alias
Definen uno o ms comandos y otros alias de comandos que podrn ser
utilizados despus en alias de usuarios. Ejemplos:
Cmnd_Alias WEB = /usr/sbin/apachectl, /usr/sbin/httpd, sudoedit /etc/httpd/
Indica que a quien se le aplique el alias WEB podr ejecutar los comandos
apachectl, httpd y editar todo lo que este debajo del directorio /etc/httpd/, ntese que
debe de terminar con '/' cuando se indican directorios. Tambin, la ruta completa a los
comandos debe ser indicada.
Cmnd_Alias APAGAR = /usr/bin/shutdown -h 23\:00
Al usuario que se le asigne el alias APAGAR podr hacer uso del comando
'shutdown' exactamente con los parmetros como estn indicados, es decir apagar -
h (halt) el equipo a las 23:00 horas. Ntese que es necesario escapar el signo ':', asi
como los smbolos ' : , = \
Cmnd_Alias NET_ADMIN = /sbin/ifconfig, /sbin/iptables, WEB
NET_ADMIN es un alias con los comandos de configuracin de interfaces de
red ifconfig y de firewall iptables, pero adems le agregamos un
alias previamente definido que es WEB, asi que a quien se le asigne este alias podr
hacer uso de los comandos del alias WEB.
Cmnd_Alias TODO_BIN = /usr/bin/, !/usr/bin/rpm
A quien se le asigne este alias podr ejecutar todos los comandos que estn
dentro del directorio /usr/bin/ menos el comando 'rpm' ubicado en el mismo
directorio. NOTA IMPORTANTE: este tipo de alias con un permiso muy amplios
menos '!' algo, generalmente no son una buena idea, ya que comandos nuevos que se
aadan despus a ese directorio tambin podrn ser ejecutados, es mejor siempre definir
especficamente lo que se requiera.

User_Alias
Definen a uno o ms usuarios, grupos del sistema (indicados con %), grupos de
red (netgroups indicados con +) u otros alias de usuarios. Ejemplos:
User_Alias MYSQL_USERS = andy, marce, juan, %mysql
Indica que al alias MYSQL_USERS pertenecen los usuarios indicados
individualmente ms los usuarios que formen parte del grupo 'mysql'.
User_Alias ADMIN = sergio, ana
'sergio' y 'ana' pertenecen al alias ADMIN.
User_Alias TODOS = ALL, !samuel, !david
Aqui encontramos algo nuevo, definimos el alias de usuario TODOS que al
poner como elemento la palabra reservada 'ALL' abarcara a todos los usuarios del
sistema, pero no deseamos a dos de ellos, asi que negamos con '!', que seran los
usuarios 'samuel' y 'david'. Es decir, todos los usuarios menos esos dos.
NOTA IMPORTANTE: este tipo de alias con un permiso muy amplios menos '!' algo,
generalmente no son una buena idea, ya que usuarios nuevos que se aadan despus al
sistema tambin sern considerados como ALL, es mejor siempre definir
especficamente a los usuarios que se requieran. ALL es vlido en todos los tipos de
alias.
User_Alias OPERADORES = ADMIN, alejandra
Los del alias ADMIN ms el usuario 'alejandra'
Runas_Alias
Funciona exactamente igual que User_Alias, la nica diferencia es que es
posible usar el ID del usario UID con el caracter '#'.
Runas_Alias OPERADORES = #501, fabian
Al alias OPERADORES pertenecen el usuario con UID 501 y el usuario 'fabian'

Host_Alias
Definen uno o ms equipos u otros alias de host. Los equipos pueden indicarse
por su nombre (si se encuentra en /etc/hosts) por nombre de dominio, si existe un
resolvedor de dominios, por direccin IP, por direccin IP con mscara de red.
Ejemplos:

Host_Alias LANS = 192.168.0.0/24, 192.168.0.1/255.255.255.0


El alias LANS define todos los equipos de las redes locales.
Host_Alias WEBSERVERS = 172.16.0.21, web1 : DBSERVERS = 192.168.100.10,
dataserver
Se define dos alias en el mismo rengln: WEBSERVERS y DBSERVERS con
sus respectivas listas de elementos, el separador ':' es vlido en cualquier definicin de
tipo de alias.

5.3 Para la asignacin de privilegios, se realiza mediante la modificacin de archivo


sudoers agregando el usuario, y luego agregndolo al grupo segn los privilegios que se
desee, y finalmente realizando un update de la lista del archivo sudoers.

Visualizacin de con el comando more de /etc/shadow en cual se observa


scomputacional sin privilegios root.
Visualizacin de con el comando more de /etc/shadow en cual se observa
scomputacional con privilegios root.

Uso del visudo, para agregar el usuario(scomputacional) al cual se le desea asignarlo


determinados permisos, en este caso asignndole permisos de root.
Se agrega scomputacional al grupo sudo para que finalmente este pueda tener
privilegios root.

Usuario scomputacional sin privilegios root, se puede observar que no puede acceder en
este caso al archivo sudoers.
Usuario scomputacional con privilegios root.

Вам также может понравиться