Sei sulla pagina 1di 18

nk

Administracin Avanzada en Administracin de Plataformas y Linux I Nivel: Gestin Seguridad Nivel Gua: 1

Objetivos: Conocer las utilidades de la Terminal de Linux en forma remota Utilizar herramientas que permitan la conexin remota segura, para hacer la gestin del Sistema Operativo Conocer algunas utilidades de Linux que permiten su utilizacin para la administracin de servicios de red. Conocer herramientas que permiten realizar backups de la informacin del Sistema Operativo Requerimientos Windows XP (REAL) Acrobat Reader Mquina virtual de Linux (Fedora Core 7) Vmware Server Haber estudiado las gua de Administracin Bsica en Linux I y II

Convenciones Consejo Informacin Advertencia Tarea Extrema precaucin Ejecucin en una Terminal de Linux o Windows Metodologa Durante el desarrollo de la gua primero se indicar lo que se necesita hacer y despus como se har, de esta manera el estudiante est en la libertad de hacer la gua basado en el que, siempre y cuando conozca como lo va a hacer. Todos los conceptos sern desarrollados en el transcurso de la gua.

1 Carlos Andrey Montoya

Pasos Previos Asegrese de iniciar la mquina virtual de Linux Fedora Core 7 o distribucin preferida Inicie con el usuarios root, password Password1

Desarrollo 1. El uso de la terminal depende del nivel y manejo que los usuarios tengan sobre el sistema operativo, ya que, tanto para Windows y Linux, sus labores de gestin se pueden realizar sobre este ambiente, de forma remota y con la certeza de no necesitar mucho ancho de banda para su gestin, lo que implica que a pesar de llegar a tener congestionado un canal, se podra realizar su gestin mucho ms fcil que exportando el modo grfico a travs de la red. Hoy da, la tendencia en la infraestructura es centralizar todos los servidores en un ambiente que garantice la continuidad del negocio, lo que implica, en la mayora de los casos, que la gestin se deba hacer en forma remota y la verdad es que no todos los servicios se pueden administrar va web, incluso si esta falla la solucin es recurrir a una terminal.

Por esto ahora trabajaremos el uso de la terminal va remota, desde el inicio de los sistemas operativos basados en POSIX, la administracin remota ha estado presente, sin embargo, los bug y los huecos de seguridad han vuelto obsoletas las aplicaciones que se, en ese entonces se usaban. Estas aplicaciones son: aplicaciones r como rlogin y telnet, por mencionar algunas.

La solucin actual para acceder a la terminal est basada en el protocolo y aplicacin Secure Shell o ssh. Este protocolo permite conectarse a una terminal tipo telnet, pero con la diferencia que utiliza tcnicas de seguridad en las comunicaciones, cifrando todo el trfico entre el cliente y el servidor. Adicionalmente permite mejoras en la autenticacin ya que un usuario puede utilizar una clave pblica y privada para validarse contra el servidor. En esta gua utilizaremos el servicio ssh que viene con Fedora Core 7 y en el lado del cliente utilizaremos dos aplicaciones, Secure Shell y. putty. El primero es un cliente gratuito para educacin que integra ssh y sftp, el segundo es muy verstil, con muchas herramientas y con licencia MIT-License, lo que permite que cualquier usuario lo pueda usar, lo que lo hace uno de los clientes ms utilizados. Aunque existen otras aplicaciones muy tiles como el winscp.

El servicio sftp permite transferir archivos entre cliente y servidor en forma segura. Eliminando los problemas relacionados con el servicio ftp.

2 Carlos Andrey Montoya

El putty y el Secure Shell se encuentran instalados en sus equipos, de no ser as puede descargarlos de http://www.openssh.com/windows.html o http://www.ice.mtu.edu/ssh/SSHSecureShellClient.exe

Antes iniciar la conexin con el servidor por ssh se debe asegurar que el servicio de ssh en Linux este iniciado. Para ello ejecute: service sshd start Asegrese que la mquina de Linux y Windows tengan conexin a travs de la red y que estn en el mismo segmento, ya sea con la interfaz de la mquina virtual en modo Bridge, NAT, o Host Only. Tenga en cuenta que si desea conectarse con la mquina virtual en modo Host Only o NAT, las interfaces que debe revisar en la mquina real son: la VMnet 1 y la VMnet 8 respectivamente. Primero utilizaremos Secure Shell, para accederlo puede hacer clic en inicio programas utilidades Sesure Shell o haciendo clic en el icono todos los

de la barra de tareas.

Haga clic en Quick Connect

Host Name: Direccin IP del Linux User Name: root

3 Carlos Andrey Montoya

Antes de solicitar la contrasea, el servicio de ssh necesita intercambiar las claves pblicas con el cliente, por lo que le preguntar si desea intercambiar las claves, haga clic en yes Se necesita que el cliente y el servidor intercambien sus claves pblicas para poder encriptar toda la informacin que se transfiera entre el cliente y el servidor.

Despus aparecer la ventana solicitando la contrasea.

Password: Password1

En este momento ya inici la sesin y puede empezar a ejecutar comandos en la terminal del equipo Linux en forma remota.

ls ls -l pwd cat /etc/syslog.conf clear exit

4 Carlos Andrey Montoya

Ahora iniciaremos la sesin con el putty en Windows. Para accederlo puede hacer clic en inicio todos los programas utilidades Putty o haciendo clic en el icono de la

barra de tareas.

En el campo Host Name (or IP address) introduzca la direccin IP del servidor Linux y luego haga clic en open.

En este momento se debe iniciar el intercambio de claves entre el cliente y el servidor.

Aunque ya se haba intercambiado las claves cuando se hizo el proceso con el Secure Shell estas claves se intercambian por aplicacin, por lo que es necesario intercambiar otras claves.

Haga clic en Si, y digite el usuario y la contrasea.

5 Carlos Andrey Montoya

En este momento ya inici la sesin y puede empezar a ejecutar comandos en la terminal del equipo Linux en forma remota.

ls ls -l clear pwd clear

2. El comando ps permite monitorear los procesos que se estn ejecutando en el sistema. Su correcta utilizacin nos permitir monitorear su ejecucin, o darnos informacin para realizar operaciones sobre los procesos. ps el comando ps sin opciones mostrar los procesos que se estn ejecutando en esa sesin. ps -ef ps -ef mostrar todos los procesos que se estn ejecutando en el sistema, adicionalmente muestra el usuario propietario, su padre, la terminal desde donde se ejecuta y el comando con el que se invoc.

En Linux, se acostumbra a ejecutar el comando ps aux, para obtener el listado de todos los procesos en ejecucin; sin embargo, en algunos sistemas POSIX no funciona.

6 Carlos Andrey Montoya

3. El comando grep permite buscar coincidencias, de acuerdo a un patrn dado, dentro de un archivo y filtrar aquellas lneas que coincidan con el patrn, ya sea que muestra las lneas que coincidan o las que no.

Una de las mayores utilizaciones de grep es para filtrar la salida de otros, comandos, sin embargo est utilizacin la veremos en el siguiente punto, cuando trabajemos con los pipes (tuberas). Ahora veremos algunas de las opciones del comando grep

cd /etc cat syslog.conf recuerde que el comando cat imprime el contenido de un archivo en la pantalla. grep log syslog.conf con el anterior comando se est mostrando por pantalla aquellas lneas del archivo syslog.conf que contienen la palabra log grep Log syslog.conf note que las lneas que se filtraron ahora son diferentes a las del comando anterior, la diferencia est en que en el primer comando se filtr la palabra log mientras que en el segundo se filtr la palabra Log. Recuerde que Linux es sensible a Maysculas y Minsculas y por esta razn se filtraron lneas diferentes. Ahora contaremos cuantas lneas se filtraron en cada uno de los dos comandos anteriores grep -c log syslog.conf grep -c Log syslog.conf note que la cantidad de lneas es diferente en cada caso, de todas formas si en alguna lnea existiera las palabras Log y log, esa lnea se filtrar con ambos comandos.

Ahora veremos una opcin que permitir seleccionar las lneas que contengan la palabra log independiente de las maysculas y minsculas. grep -i log syslog.conf grep -ic log syslog.conf note qu con la opcin -i, se obtienen tanto los registros que contienen log, como los que contienen Log, adicionalmente se puede ver que las opciones de los comandos se pueden juntar, es el caso de: -ic para ignorar las maysculas y minsculas y contar los resultados.

7 Carlos Andrey Montoya

Ahora veremos con que opcin podemos ver aquellas lneas que no cumplen con el patrn de bsqueda grep -iv log syslog.conf grep -vi log syslog.conf con la opcin -v se logra mostrar aquellas lneas que no cumplen con el patrn de bsqueda. Note que tanto -iv como -vi muestran la misma informacin, lo que indica que el orden de las opciones no afecta el resultado. Las opciones que permitirn la bsqueda de archivos con base en el contenido son las opciones -l y -L que permiten mostrar los archivos que cumplen con el patrn o los que no. grep -l log *.conf la opcin -l se utiliza para listar los archivos que cumplen con el patrn. En el comando se dieron los parmetros log y *.conf, para que buscara la palabra log en los archivos que terminen en .conf. El parmetro log corresponde a la opcin -l y *.conf al comando grep. grep -l Log *.conf note que con ambos comandos se listo el archivo syslog.conf y como ya vimos ese archivo contiene ambas palabras. grep -L log *.conf note que en esta ocasin no se list el archivo syslog.conf esto se debe a que la opcin -L es para listar los archivos que no cumplen con el patrn de bsqueda y como ya comprobamos syslog.conf si lo cumple por eso no est en ese listado. Predeterminadamente grep busca en el directorio actual, si se desea que grep busque en forma recursiva se debe utilizar la opcin -R. Ahora buscaremos que archivos contienen la palabra log sin importar las maysculas o las minsculas en todos los archivos desde el directorio /etc grep -lRi log *.conf en el anterior comando no se especific el directorio por ya nos encontrbamos en l. Sin embargo si se desea dejar por explcito o en caso de no encontrarse directamente en el directorio de bsqueda, se puede ejecutar: grep -lRi Log /etc/*.conf Note que el resultado es el mismo a pesar de utilizar la palabra Log, esto se debe a la opcin i, que as la palabra a buscar est en mayscula las tratar a todas de la misma forma

8 Carlos Andrey Montoya

4. El pipe (|) o tubera se utiliza para reutilizar la salida de un comando como entrada de otro, de esta manera se comunican diferentes aplicaciones. Por ejemplo, cuando estbamos utilizando el comando ps -ef se listan todos los procesos que se estn ejecutando, pero estos procesos son aproximadamente 130 lo cual hace difcil encontrar el proceso que se necesita entonces combinaremos el comando ps con el comando grep para filtrar un proceso especfico o que cumpla con un patrn en particular. Listaremos el proceso sendmail

ps -ef ps -ef | grep sendmail note como solo aparecen aquellos procesos que contienen la palabra sendmail a veces se puede ver un proceso adicional que es el proceso de grep pues al ejecutar el comando ps -ef se listan todos los procesos en ejecucin y se podra llegar a ver el proceso grep cuando se ejecuta. Si se quisiera asegurar de que no se muestre el proceso de grep sendmail puede ejecutar un comando que muestre solo las lneas de los que no cumplen con la condicin que, como ya vimos, se hace con grep -v ps -ef | grep sendmail | grep -v grep la utilizacin del pipe se puede dar con cualquier aplicacin que tenga salida por la salida estndar y que lo reciba cualquier aplicacin que se le puedan pasar argumentos o que se alimenten desde archivos planos. ps -ef | less ls -l /etc | less ps aux | grep vmware ls -l | grep .conf

5. El comando kill permite la comunicacin con los procesos, y a travs de este se le pueden mandar mensajes a procesos, mensajes como terminar, detener, continuar En la administracin de plataformas la seal ms utilizada es la de terminacin (-9) o (SIGKILL), para mandarle seales a los procesos, solo se necesita el Process ID (PID) est informacin la obtenemos a travs del comando ps y veremos como combinar los comandos vistos hasta el momentos.

9 Carlos Andrey Montoya

Antes iniciar la terminacin de un proceso, se debe tener procesos en el sistema que podamos terminar sin ningn problema para ello debe ejecutar: vi archivo; vi archivo2; vi archivo3

Ejecute CTRL-z tres veces, para detener los tres procesos de vi, detener un proceso es diferente a terminar, cuando un proceso se detiene quiere decir que no va a volver a tomar la CPU mientras que terminar un proceso, quiere decir que ya no estar en ninguna cola de los estados de los procesos.

vi es un editor de archivos el cual trabajaremos ms adelante. La utilizacin de ; se revisar en otra gua.

Ahora ejecutaremos el comando ps -ef | grep vi para listar los procesos en ejecucin que contienen la palabra vi ps -ef | grep vi al ejecutar el comando ps -ef se puede verificar en la columna #8 el comando que se utiliz para cargar el proceso, en nuestro caso buscaremos: vi archivo, vi archivo2, vi archivo3. En la columna #2 se puede verificar el PID de cada uno de ellos. Apunte los 3 PID de los procesos que vamos a terminar y ejecute: kill -9 PID1 kill -s SIGKILL PID2 kill -s 9 PID3 cambie PID1, PD2 y PID3 con los PIDs que apunt.

Las tres formas son vlidas para dar la seal de terminacin a los procesos; sin embargo, la primera es la ms utilizada. ps -ef | grep vi note que los procesos de vi ya no se estn ejecutando.

10 Carlos Andrey Montoya

6. tar es un aplicacin que permite agrupar el contenido de una carpeta o varios archivos en uno solo, normalmente es archivo es comprimido. Esto es lo mismo que se ve con los archivo .zip en Windows donde estn agrupados varios archivos en uno solo y adicionalmente se comprime la informacin.

Para el ejemplo haremos un archivo tar del contenido de la carpeta /etc, ese archivo lo dejaremos en el home del usuario root y se llamar etc.tar cd tar -cvf etc.tar /etc en el anterior comando, la opcin -c es para crear un nuevo archivo tar, la opcin -v es para mostrar por pantalla los archivos que se van agregando (modo verbose) y la opcin -f especificar el nombre del archivo .tar donde quedar la informacin. Cuando se utiliza la opcin -v se puede monitorear, en lnea, los archivos que se agregar al tar, sin embargo esta opcin hace que el proceso tome mucho ms tiempo. Ahora vamos a desempaquetar el archivo sobre home y vericaremos que hay algunos archivos dentro del nuevo directorio que se debe crear en el home del usuario root.

tar -xvf etc.tar la opcin -x se utiliza para extraer la informacin de un archivo tar. esta informacin fue extrada en el directorio actual.

pwd cd etc pwd ls -l ls -l /etc ls -l syslog.conf note que el contenido, en cuanto archivos, de los directorios /etc y /root/etc son idnticos

11 Carlos Andrey Montoya

7. Los comandos gzip y gunzip se utilizan para comprimir y descomprimir archivos respectivamente. Ahora veremos el resultado de comprimir el archivo etc.tar , pero primero le sacaremos una copia para poder compararlos y despus veremos como se fuciona con el comando tar

cd cp etc.tar etc.tar.bk ls -l | grep etc.tar note en la columna 5 el tamao de los dos archivos gzip etc.tar ls -l | grep etc.tar note que el archivo tiene ahora la extensin .gz y que su tamao es mucho menor al anterior.

Para descomprimir el archivo puede ejecutar el comando gunzip etc.tar.gz pero primero le sacaremos una copia para realizar la integracin mencionada con el comando tar rm rf /root/etc cp etc.tar.gz etc2.tar.gz ls -l | grep etc ls -l | grep tar.gz gunzip etc2.tar.gz note que se descomprimi el archivo y ahora pesa lo mismo que etc.tar.bk, se elimin el directorio etc de /root para comprobar el descomprimir el archivo etc.tar.gz y extraerlo del archivo .tar ls -l | grep etc tar -zxvf etc.tar.gz ls -l cd etc ls -l note que de nuevo existe el directorio etc en /root y se hizo en 1 solo paso.

cd rm *.tar.gz

12 Carlos Andrey Montoya

rm *.tar 8. vi es una aplicacin que permite editar archivos de texto, y es una de las aplicaciones ms utilizada por los usuario Linux en todo el mundo. Esta aplicacin tiene un modo muy particular de trabajar, pues al iniciarla mantiene en modo de lectura hasta que se especifique con un comando que se entrar en modo de edicin. En Linux se utiliza realmente vim para editar los archivos este editor tiene varias mejoras respecto al tradicional vi, al invocar bien Linux realmente se est invocando vim. Para iniciar vi solo debe ejecutarlo y especificar como parmetro el nombre del archivo: vi nombrearchivo. Los comandos ms utilizados en vi son:

Tabla de comandos de vi / n N i I insert Inicia el modo de bsqueda dentro del archivo Repetir la bsqueda en sentido hacia adelante Repetir la bsqueda hacia atrs Inicia modo de insercin a partir del curso Inicia modo de insercin antes del curso Inicia modo de insercin a partir del curso Inicia el modo de insercin despus del cursor X delete Back Space :w :wq ZZ Borra un carcter antes del cursor Borra un carcter a partir del cursor Borra un carcter antes del cursor, cuando se est en modo de insercin Guarda las modificaciones, si especifica un nombre se guardar con ese nombre Guarda y se sale de la aplicacin Guarda y se sale de la aplicacin

Guarda y se sale de la aplicacin, si es a :x! root logra guardarlo as no tenga permiso Inicia el modo de insercin al Se sale de la aplicacin, si ha hecho A :q final de la lnea modificaciones no lo dejar salir Inicia modo insercin antes de Se sale de la aplicacin descartando los o :q! la lnea actual cambios Inicia modo de insercin Posiciona el cursor al principio de la ^ O despus de la lnea actual lnea actual Borra un carcter a partir del Posiciona el cursor al final de la lnea x $ cursor actual Busca una palabra o frase y la reemplaza por otra palabra o :s/Buscar/Reemplazar frase en la lnea actual Busca una palabra o frase y la reemplaza por otra palabra o :%s/Buscar/Reemplazar/g frase en todo el archivo

13 Carlos Andrey Montoya

cuando escribe : inicia el modo de comandos, para ejecutar el comando debe presionar la tecla enter

cd cd etc vi syslog.conf puede utilizar las flechas para moverse a travs del archivo. Los comandos se activan con las teclas y secuencias de la tabla de comandos de vi. Para salirse de cualquiera de los modos, solo debe presionar la tecla ESC y estar listo para ejecutar otro comando. Ejecute /Log Luego pruebe las letras n y N Pruebe los diferentes modos de insercin Escriba prueba de insercin por cada modo Pruebe los diferentes comandos para borrar Pruebe los posicionamientos del cursor Pruebe las formas de grabar y grabar y salir. Pruebe las bsquedas y reemplazos Para ir a una lnea en particular escriba :# de lnea por ejemplo: :1 o :10. Para ir a la ltima lnea puede ejecutar :$

9. Los shell permiten ejecutar procedimientos antes de que un usuario inicie sesin, estos archivos definen el perfil del usuario, lo que quiere decir que se ejecutan comandos y se define variables de ambiente para el usuario. Por ejemplo, en este archivo se podran agregar directorios a la variable PATH. Como estamos trabajando con bash, el archivo que se debe modificar es el .bash_profile, este archivo se encuentra en el home de cada usuario. PATH es una variable de ambiente que le especifica al Sistema Operativo en que rutas se debe buscar los comandos que se ejecutan.

14 Carlos Andrey Montoya

Los archivos que empiezan por . son archivos ocultos, si desea ver estos archivos puede ejecutar el comando ls -la, compare la salida de este comando con ls -l Edite el archivo .bash_profile con vi .bash_profile adicione al final del archivo: echo Bienvenido a la sesin de root guarde el archivo y ejecute

su - root note que apareci el mensaje que acab de escribir. Si desea que cada que inicie sesin se ejecuten algunas, puede hacerlo a travs del .bash_profile un ejemplo de lo que se podra hacer es modificar el PATH para un usuario o crear alias los alias se vern en el siguiente punto. 10. Los alias son abreviaciones de comandos sobre el shell permite ejecutar los comandos ms utilizados o que sean muy largos o con varios argumentos de una forma rpida por ejemplo:

Los alias son solo vlidos para la sesin actual, si cierra la sesin y la vuelve a iniciar estos ya no estarn disponibles.

l alias l=ls l alias ..=cd .. alias =cd ../.. alias c=clear ls -l l note que despus del alias permiti ejecutar l y que los resultados entre los dos comandos fueron idnticos

pwd .. pwd note que qued en el directorio anterior

cd

15 Carlos Andrey Montoya

cd etc pwd pwd note que qued en / subiendo dos niveles rpidamente c alias PS=ps -ef | grep -v grep | grep PS sendmail note que el alias est incompleto, sin embargo al ejecutarlo qued completo con el argumento de sendmail, pero el alias ayuda a ejecutar rpidamente una serie de comandos con argumentos. Si pone los alias en el archivo .bash_profile estos quedarn activos para cada vez que inicie la sesin 11. Iniciar y detener servicios, en la mayora de los casos, es solo cuestin de utilizar scripts. La mayora de los servicios tienen sus scripts en el directorio /etc/init.d o en /etc/rc.d/init.d. ls -l /etc/init.d la mayora de los scripts que estn en este directorio se ejecutan con los argumentos: o o o o start stop restart reload (depende del script)

En este directorio estn los scripts para los servicios de la red, ssh, web, dns, dhcp entre otros. Para reiniciar los servicios de red puede ejecutar el script de network /etc/init.d/network restart Al inicio de la gua se subieron los servicios de ssh puede revisar que en este directorio este el script de ssh ls -l /etc/init.d/sshd /etc/init.d/sshd restart

16 Carlos Andrey Montoya

/etc/rc.d/init.d/crond stop /etc/rc.d/init.d/crond start En Fedora y Red Hat existe el comando service el cual permite ejecutar los scripts que estn en el directorio /etc/init.d o /etc/rc.d/init.d

service network restart service sshd restart service sendmail stop service sendmail start

12. El comando chkconfig permite configurar los servicios para que suban o no automticamente. Los servicios se suben de acuerdo a 7 niveles los cuales estn en el directorio /etc/rc.d y se van subiendo en orden 0, 1, 2, 3, 4, 5 y 6. Cuando se apaga el SO se corren en orden invertido 6, 5, 4, 3, 2, 1 y 0. En el nivel 0 y 1 son servicios bsicos del SO, sin embargo la mayora de scripts de estos directorios estn para asegurarse de que se bajen todos los servicios cuando se apague el SO. En los directorios rc2.d y rc3.d estn los servicios bsicos de red y en los niveles superiores los servicios que permiten el modo grfico. Aquellos scripts que empiecen por S es porque se van a iniciar al subir el sistema y aquellos que empiecen por K son los que se van a ejecutar cuando se baje el sistema, aquellos scripts que empiezan por minsculas ni se suben ni se bajan. Ahora vamos a configurar el servicio sshd para que no suba automticamente. ls -l /etc/rc.d/rc2.d/ | grep sshd chkconfig --del sshd ls -l /etc/rc.d/rc2.d/ | grep sshd note que ya no aparece el servicio en este directorio lo que indica que no sub

Para programar de nuevo el servicio para que suba automticamente puede ejecutar

chkconfig --add sshd ls -l /etc/rc.d/rc2.d/ | grep sshd note que de nuevo, el servicio se ha configurado para subir automticamente.

17 Carlos Andrey Montoya

Puede verificar los resultados del comando con la aplicacin grfica, la cual se inicia con system-config-services &. Pruebe configurar servicios con el chkconfig y verificarlos en esta consola. 13. El programa dump permite hacer backups de los sistemas de archivos en mltiples niveles, los cuales van de 0 a 9. Estos niveles son utilizados para las estrategias de backup de la informacin. Un ejemplo breve: el lunes puede hacer un backup de la informacin con nivel 0 el mircoles con nivel 1, esto quiere decir que solo sacar backup a aquellos archivos que hayan sido modificados desde el lunes el viernes con nivel 2, esto quiere decir que solo sacar backup a aquellos archivos que hayan sido modificados desde el mircoles el sbado con 1, y se le sacar backup a todos los archivos que fueron modificados desde el lunes. Teniendo as el backup de todos los archivos modificados de la semana. Para sacar un backup de /etc con dump se puede ejecutar:

dump -f etc.dump -0 /etc la opcin -f especifica el archivo donde se va a realizar el dump, -0 especifica el nivel y finalmente el directorio o sistema de archivo. el archivo donde se realiza el dump puede ser una unidad de cinta. ls -l etc.dump note que se cre el archivo el cual contiene toda la informacin de /etc Para mayor informacin sobre las estrategias de backup visite:

http://es.wikipedia.org/wiki/Copia_de_seguridad

18 Carlos Andrey Montoya

Potrebbero piacerti anche