Sunteți pe pagina 1din 90

INSTITUTO DE FORMACION PROFESIONAL CBETECH Y UNIVERSIDAD TECNOLOGICA NACIONAL CURSO EXPERTO EN ADMINISTRACION Y SEGURIDAD REDES INFORMATICAS PROYECTO FINAL

Nombre Apellido

Elena Madalina Ion

Bucharest 2011

INSTITUTO DE FORMACION PROFESIONAL CBTECH Y UNIVERSIDAD TECNOLOGICA NACIONAL

Titulo Los servidores Linux , la seguridad en Internet y el hacking etico

Nombre Apellido

Elena Madalina Ion

Bucharest 2011

Los servidores Linux , la seguridad en Internet y el hacking etico

Epigrafe: ''Nunca consideres el estudio como una obligacion sino como una oportunidad para penetrar en el bello y maravilloso mundo del saber '' -Albert Einstein

INDICE DE CONTENIDOS PARTE 1. EL SISTEMA GNU-LINUX

1.1 Que es Linux? Linus Torvalds, Richard Stallman Free Software Foundation ,Licencias Gnu y BSD Distribuciones Linux Comunidad Linux Bibliografias 1.2 Escritorios Linux -Una historia de verdad-mi primer Linux Que es Gnome y KDE Quien es X El sistema de ficheros,los directorios Comandos basicos y herramientas de administracion Bibliografias 1.3 Cuentas de usuarios User,superuser Grupos Permisos Ha perdido la contrasena de root? 1.4 Gestores de arranque Grub Sobre Init 1.5 Construccion y recontruccion de paquetes TAR 1.6 Que es el kernel Construccion de un kernel Los partches 1.7 Alguien vigila mi sistema? Logs y auditorias

PARTE 2. REDES Y SERVICIOS BASICOS DE INTERNET 2.1 El IP Direccionamiento IP Puertos TCP,UDP,ICMP Configurar la red en Debian Herramientas para comprobar la red-ping,traceroute,netstat,fuser Bibliografias 2.2 DHCP-Dynamic host configuration protocol DHCPD Parametros de configuracion 2.3 DNS- Domain name system Dominios Servidores,tipos de servidores BIND NDC Herramientas -nslookup,dnsquerry,host,whois Bibliografias 2.4 Compartir archivos Servidor samba Bibliografias 2.5 Servidores Web Apache 2.6 El control a distancia SSH 2.7 La seguridad y el netfilter Netfilter Iptables ejemplo firewall casero ejemplo firewall un poco mas complejo Bibliografias 2.8 Enlaces web utiles

PARTE 3.

El HACKING ETICO

Introduccion al hacking etico,leyes Ingeneria social Exploracion,enumeracion Troyanos, Rootkits Sniffers Negacion de servicios -DOS atacks Seguridad Fisica Cortafuegos y sistemas de deteccion de intrusos -IDS Metodologia de pen-testing. Bibliografias CONCLUSION

EL SISTEMA GNU-LINUX PARTE1 1.1 QUE ES LINUX?

Linux, o mejor dicho GNU-Linux,es un sistema operativo opensource,es decir tiene el codigo fuente abierto-todo el mundo tiene acceso a el y lo puede modificar a su gusto. Es independiente de platforma hardware,funciona en Intel,Amd,y claro,es multi-user y multitasking.Que significa esto? Un sitema multi-user contiene varias cuentas de usuario,cada uno con su directorio,con sus permisos de acceso o sin permiso para ejecutar programas,leer ficheros,etc.Utiliza contrasenas.Este tipo de sistemas permite el trabajo de varios usurios conectados simultaneamente. Un sistema multi-tasking es un sistema en que se ejecuta a la vez los programas tambien llamados procesos.Por ejemplo,en este momento estoy editando esta tesina,y voy leyendo alguna documentacion en una pagina web,escucho musica,y tengo abierto el chat. Ejemplos sistemas operativos USER TASK Mono-task MONO USER Dos, CP/M MULTI USER No hay

Multi-task Os/2,Windows 3.x y mas, Unix Family Observacion:Los sistemas operativos de red,como Novell ,Windows Nt pueden ser vistos como sistams multi-user,multi-procesador.

LINUS TORVALDS,RICHARD STALLMAN

En 1991 Linus Benedict Torvalds era un estudiante de informatica en la Universidad Helsinki y tambien un hacker autodidacta.Le gustava jugar con el poder del ordinador, En esa epoca el trabajo sobre un sistema llamado Minix.Minix era un sistema de codigo abierto y esa ha sido la ventaja,por que cualquier persona que tenia al mano el libro Sistemas operativos de Tanebaum tenia a disposicion las 12.000 instrucciones del codigo escritos en C .Por primera vez un programador o un hacker podia leer el codigo fuente del sistema,codigos que los vendedores de software habian guardado vigorosamente. Un gran autor,Tanebaum, ha atraido a las mentes mas briallantes de la cibernetica con la discucion elaborada y realista del arte de crear un sistema operativo.Los estudiantes de ingeneria de todo el mundo compraron el libro para entender como funciona el sistema operativo desde sus proprios ordenadores.Linus Torvalds era uno de ellos.

El joven estudiante escribe al profesor Tanebaum que desea modificar el sistema Minix pero no recibe ninguna respuesta.Asi que,en agosto 1991,anuncia en una lista de discuciones de Minix su intencion de crear un sistema operativo publico.En octumbre sale la version 0.01 llamada Linux y esta publicada en Internet bajo licencia GNU.En el grupo de discuciones Linux pide el apoyo de los programadores voluntarios y el sistema se perfecciona saliendo en diciembre la version 0.1. El sistema se llama corectamente GNU-Linux,por que cuando hablamos de Linux,nos referimos al kernel o el nucleo del sistema operativo.El sistema esta compuesto por el nucleo-linux y el sofware,las librerias y utilitarios. Richard Stallman y la FSF-free sofware foundation (los autores del proyecto GNU)proponen el termino de GNU-Linux,ya que dicho sistema esta compuesto por el nucleo-linux y programas GNU. Venerado como un heroe en el campo de las computadoras ,Stallman comenzo su impresionante carrera el el famoso Laboratorio de inteligencia artificial de MIT ,y en la primera mitad de los '70 creo el editor Emac. En los primeros de los '80,las grandes empresas de sofware comercial querian atraer a muchos programadodes y tambien negociar acuerdos muy restrictivos para protejer los secretos. Stallman tuvo otra vision sobre el software.El pensaba que el codigo del software debe ser libre,al alcance del todo el mundo,y que todo el mundo puede copiar,modificar los programas ,si el proposito es de conseguir mejorias. En su famoso manifiesto de 1983 ,que declaro el principio del proyecto GNU se inicio un movimiento para crear y distribuir software que coresponde a su filosofia. GNU es ahora un acronimo recursivo que significa GNU-no es Unix. LA FUNDACION PARA EL SOFTWARE LIBRE Como he mencionado arriba ha sido creada por Richard Stallaman en 1985.Es una organizacion con caracter sin fines de lucro,que apoya el proyecto GNU y la comunidad Free Software.Reciben dinero por las camisetas que venden ,los CD-ROMs y la distribucion de GNU. La FSF,mantiene la licencia GNU-GPL y otras licencias para el software libre.

El simbolo de la fundacion GNU

GNU GPL-GENERAL PUBLIC LICENCE -licencia publica general Es una licencia para el software escrita por el ya mencionada Richard Stallman.La mayoria de las licencias de los programas prohiben la libertad de modificar el codigo fuente y de copiarlo. Al contrario con la mayoria de las licencias,Gnu-gpl permite esas acciones,y se asegura que ese codigo se queda libre para todos los utilizadores.Aqui el termino de libertad ,software libre no se refiere al coste.Todas las licencias gnu-gpl,estan hechas para cumplir con el manifiesto,asi que tenemos el derecho

para distribuir copias de programas y tambien cobrar dinero si deseamos.Solo tenemos la responasbilidad de respectar la libertad de otros.Por ejemplo,si distribuimos copias de programas a otros,gratis o con algun coste,tenemos la obligacion de presentar y la licencia gpl,transmitir las libertades que hemos recibidos,y asegurarnos de que ellos reciben o pueden obtener el codigo fuente BSD LICENCE-licencia BSD publicada por la Universidad Berkley Grupo de licencias para el software libre utilizadas con frecuencia de los sistemas BSD.Hay varios tipos ,pero la mas conocida es la licencias con tres clausulas. Esta licencia permite la utilizacion de un programa sin ningun tipo de restricciones.La redistribucion del programa -codigo fuente o compilado,se puede hacer con la condicion de guardar la informacion sobre el autor y la licencia,en el codigo o en la documentacion del programa. Otra condicion es de no usar el nombre de los titulares del derecho de autor ,o colaboradores , para respaldar,apoyar o promocionar productos derivados sin los autores. DISTRIBUCIONES LINUX Hoy en dia hay mas de 300 distribuciones Linux. En principio se parecen todas por que llevan en nucleo-linux ,paquetes ,el sistema de ventanas X y software del proyecto GNU. Hay distribuciones sostenidas de empresas -Red Hat,Fedora,Suse(Novell),Mandriva,Ubuntu,etc y otras sostenidas por la comunidad -Debian-(mi preferida) ,Gentoo,etc! RED HAT Desarollado por Red hat software. La mas propagada segun linux.box.sk .Los programas estan en formato RPM-red hat package management. SUSE LINUX

Desarollado por S.u.S.e Linux ,se dice que es una de las mejores distribuciones Linux,Se instala facilmente y ofrece dos herramientas de configuracion muy potentes -YAST y Sax. Suse es la solucion ideal para un usuario de nivel medio en linux.Una de sus problemas es el numero grande de aplicaciones comerciales que contiene.

GNU-DEBIAN LINUX

Desarollada por Debian,es una de las mas estables distribuciones Linux .Comenzo como la distribucion oficial de la FSF de Linux,el proyecto Debian luego se separo y se convertio en una entidad independiente.Todavia tiene furtes lazos con la FSF,y sus miembros se encuentran entre los mas diligentes en la proteccion del software de codigo fuente abierto (Opensource). No se recomienda a usuarios sin experiencia. En vez de RPM,Debian utiliza un sistema de administracion de paquetes llamado dpkg .

COMUNIDAD LINUX

Las opiniones sobre que distribucion usar,que tipo de licencia llevar son bastantes divididas . Eso por que a cada uno le gusta una cosa,o se tiene consideraciones sobre que distribucion ha instalado cada una cuando entro en el mundo Linux. Normalmente cada distrubucion esta sostenida por alguna comunidad,que normalmente lleva el nombre de la distrubucion. Se puede encontrar informacion en los sitios web de cada distribucion y tambien en los canales de chat del irc. Tambien hay forums donde encontrar informacion,ayuda y tutoriales.Yo utlizo con frecuencia http://howtoforge.com . BIBLIOGRAFIAS Para esta documentacion he mirado algunos sitios web en combinacion con la informacion que he adquirido durante el curso. http://ro.wikipedia.org/wiki/Gnu/Linux/Linus_Torvalds http://www.gnu.org/gnu/manifiesto.es.html http://www.unixside.org/projects/linux-ro/gplro.html http://forum.ubuntu.ro http://www.redhat.com www.opensuse.com http://www.debian.org/

1.2 ESCRITORIOS LINUX Antes de hablar de los escritorios y el medio grafico en Linux,quiero contar una pequena historia. En 2004-2005 he oido hablar sobre linux.Bueno,en esa epoca yo era un usuario normal de windows,que usaba el ordinador solo para chatear,mirar peliculas,bajar algun programita interesante y nada mas. El termino linux lo he visto por primera vez en un canal de chat del irc.Me gusto mucho como se escuchaba al pronunciar la palabra,y me puse a preguntar a mis amigos que es esto? Todos se pusieron a reir,diciendo que yo no tengo que preguntar esas cosas,que soy chica y que mejor voy de compras con mis amigas,por que linux es algo muy dificil y es cosa de chicos. Eso si que me ha enfadado de momento.Pasaron unas semanas y ya me habia olvidado de esa pregunta,hasta que un dia pase por una tienda de revistas con temas informaticos y he visto una revista que tenia un cd de color negro con rosa y con una etiqueta Debian-Gnu Linux.Por supuesto ,he comprado la revista,y al llegar a casa me puse al instalar el sistema ,sin hacer un backup de lo que tenia en el ordenador.Los pasos no fueron muy dificiles,las preguntas sobre que nombre de usuario elegir,las contrasenas,los parametros de red por dhcp,si deseo o no usar todo el disco duro,etc.Me ha sorprendido mucho ver que en menos de 30 minutos el sistema era listo para usar. Al reiniciar el sistema me asuste un monton.Mi pantalla era negra y volaba mucha letra en blanco por alla.Dios mio!Que esta pasando? Me pedia el nombre de usuario y la contrasena.Con mucha prisa meti los datos y me quede aun mas asustadadonde estaba mi escritorio?? QUE ES GNOME Gnome significa gnu-network object model environment(entorno de trabajo de red orientado a objetos de GNU). Es un escritorio completo que permite hacer todas las tareas que cualquier otro escritorio.Permite colocar iconos en el escritorio para montar y desmontar discos extraibles,moverse por el sistema de manera grafica,etc.Es un entorno grafico muy familiar para el usuario. Gnome no contiene solo el escritorio sino una serie de aplicaciones y herramientas. Aparecio como respuesta a varios problemas de otros escritorios que tenian algunas herramientas que no eran completamentes libres o tenian el codigo fuente de unix y no permitia la modificacion.Por eso ,se dice,que gnome es una filosofia.Basado en gtk + se convirtio rapidamente en el rival de otros escritorios. En Debian gnome viene instalado predeterminado.Hoy en dia casi todas las distribucionen vienen con un escritorio listo para usar,pero hay veces en que no podemos bajar una imagen muy grande para un dvd,y tenemos que instalar solo el sistema base,y luego al tener una conexin al internet instalamos todo lo que hace falta.Esto pasa normalmente con las pequenas imgenes de debian. Bueno si pasa esto no hay ningun problema,solo se tiene que instalar algunos paquetes y yasta.Para instalar gnome desde la shell hay que meter los siguientes comandos: root@sandybell:~# apt-get install x-window-system apt-get install gnome-core gnome gdm Con esto ya deberia ser suficiente.Solo hace falta escrbir un startX en la misma consola cuando

los paqutes terminan de instalarse y yasta.Tenemos el escritorio.

EL ESCRITORIO KDE Claro que gnome no es el unico escritorio de linux.Intentare no hablar demasiado de Kde,solo hacer describir algunas caracteristicas,como se instala (mas o menos igual que el gnome,solo diferan los nombres de paquetes) . KDE significa K desktop environment (Entorno de escritorio de K),donde K no significa nada. Proporciona las mismas funcionalidades que cualquier escritorio.Es un entorno de escritorio completo ,en la distribucion predeterminada de kde hay mas de 100 programas que van desde juegos hasta utilidades del sistema y un paquete ofimatico completo-Koffice .En su rival gnome hay menos programas como unas 50,y el paquete ofimatico se llama openoffice,como el nombre del proyecto openffice.Mas informacion sobre el openoffice se encuentra en http://openoffice.org . La mayoria de las distribuciones Linux incluyen KDE automaticamente cuando se instalan.La unica excepcion es Debian,debido a su desacuerdos sobre las licencias. Kde se compone de varios paquetes : Paquete Qt kdesupport kdelibs kdebase kdegames kdegraphics kdemultimedia kdenetwork Kdetoys kdeutils koffice Uso Obligatorio.Kde se basa en este juego de herramientas para entornos graficos desarollado por Trolltech. Recomandable.Bibliotecas kde. Obligatorio.Bibliotecas compartidas de KDE Obligatorio.Aplicacione basicas de kde como el administrador de ventanas,el administrador de paquetes,kpackage. Opcional.Juegos Opcional.Programas de tratamiento grafico Opcional,Aplicaciones multimedia Opcional.Aplicaciones de red,-cliente de correo. Opcional.Aplicaciones de entretenimento Opcional.Otras utilidades-calculadora. Opcional-Aplicaciones de offimatica,editor de texto,oja de calculo,etc.

El escritorio se instala de la misma forma que el gnome,desde la consola,solo cambiamos los paquetes.

QUE ES LA X?

Linux ofrece la funcionalidad de poder ejecutar aplicaciones a traves de una red heterogenea ,mediante la incorporacion de la implementacion Xfree86 del estandar X11del sistema x window creado en el MIT-Instituto tecnologico de Massachusetts.Ademas de ser una interfaz grafica es tambien un poderoso sistema cliente-servidor,que permiten que las aplicaciones se puedan ejecutar y compartir en red. El administrador de ventanas original en que se basa el sistema X Window se llamaba W,pero debido al hecho que ha sufrido muchas modificaciones los autores decidieron rebautizarlo con el nombre de X.El nombre correcto del sistema entero es SISTEMA X WINDOW. Ofrece una serie de protocolos de comunicacin y funciones para la construccion de la interfaz grafica. Tiene la propriedad de OpenGroup,pero el modo de operacin -cliente -servidor no se ha cambiado. Bajo X los programas de comunicacin se llaman clientes.Los clientes X no manipulan directamente el medio grafico en nuestra pantalla sino se comunica con el servidor X ,que controla la pantalla.Linux utiliza el Xfree 86. El servidor X es el responsable del manejo de los recursos para los clientes.Estos recursos implican el teclado,la pantalla y el raton.El servidor X se esta ejecutando en el ordenador que interacciona con el usuario y manda el input que este recibe a los clientes. Ejemplos de servidores X: Xorg,Xfree86,etc. La interfaz grafica se instala con el comando siguiente: apt-get install xserver-xorg x-window-system x-window-system-core En el caso en que la interfaz no arranca a la vez que el sistema arranca,se puede inciar por separado.Para realizar esto hay varias modalidades: Usando xinit Xinit es un programa que inicia el servidor X y un primer cliente que se conecta a el.Cuando el primer cliente acaba su actividad ,xinit apagara el servidor X. root@sandybell:~# man xinit [] The xinit program is used to start the X Window System server and a first client program on systems that are not using a display manager such as xdm(1) or in environments that use multiple window systems. When this first client exits, xinit will kill the X server and then

terminate. [] Usando startX StartX es un front-end para xinit que ofrece al usuario una interfaz mas compleja: root@sandybell:~# man startx [] The startx script is a front end to xinit(1) that provides a somewhat nicer user interface for running a single session of the X Window Sys tem. It is often run with no arguments. [] Iniciando un display manager Cuando un display manager se esta ejecutando en el ordinador local primero arrancara el servidor X,presentado despues al usuario una ventana para hacer el login con un nombre y un contrasena. Un display manager se inicia de la siguiente forma: Para kdm root@sandybell:~#/etc/init.d/kdm start Para gdm root@sandybell:~#/etc/init.d/gdm start Para parar la interfaz es suficiente parar el display manager.Esto se hace con: root@sandybell:~# kill -9 *dm o root@sandybell:~# etc/init.d/*dm stop El servidor X se puede reiniciar tambien con la combinacion de teclas : CTRL+ALT+BACKSPACE La configuracion del servidor X /etc/X11/xorg.conf La configuracion del servidor X se hace editando un fichero texto.Para xorg dicho fichero se encuentra en /etc/x11/xorg.conf y para xfree86 el fichero se encuentra en /etc/X11/XF86Config.La estructura de ambos ficheros se parece !

# /etc/X11/xorg.conf (xorg X Window System server configuration file) [] Section Files FontPath /usr/share/X11/fonts/misc FontPath /usr/share/X11/fonts/cyrillic FontPath /usr/share/X11/fonts/100dpi/:unscaled FontPath /usr/share/X11/fonts/75dpi/:unscaled FontPath /usr/share/X11/fonts/Type1 FontPath /usr/share/X11/fonts/100dpi FontPath /usr/share/X11/fonts/75dpi EndSection Section Module Load i2c Load bitmap Load ddc Load dri Load extmod Load freetype Load glx Load int10 Load type1 Load vbe EndSection Section InputDevice Identifier Driver Generic Keyboard kbd [] Section InputDevice Identifier Driver Configured Mouse mouse OptionOptionOptionOptionEndSection CorePointer Device Protocol Zaxismapping Emulate3Buttons /dev/input/mice ExplorerPS/2 4 5 true

[] Section Device Identifier Driver VMWare Inc [VMware SVGA II] PCI Display Adapter vmware BusID PCI:0:15:0 EndSection Section Monitor Identifier OptionHorizSync DPMS [] Section ServerLayout Identifier Default Layout Screen Default Layout InputDevice Generic Keyboard InputDevice Configured mouse [] EndSection Section DRI Mode 0666 EndSection Las principales secciones del fichero de configuracion son:Files,ServerFlags,Module,Device Screen,Monitor,InputDevice,ServerLayouts. La seccion Files se usa para decirle al servidor X algunos caminos que necesita.Algunos de estos caminos se pueden setear desde la consola. La seccion Modules se usa para decir a X que modulos necesita ser cargadas.Esto se hace con loadmodulename La seccion InputDevice especifica las configuraciones del teclado y del raton. La seccion Device contiene las especificaciones de la tarjeta video. Otra seccion importante es Monitor.Aqui se puede especificar las frecuencias orizontal y vertical de la pantalla. La seccion Screen une la pantalla con la tarjeta video,definidas anteriormente. La seccion DRI es opcional.Se usa para ofrecer informaciones sobre la estructura de prestacion directa.

EL SISTEMA DE FICHEROS ,LOS DIRECTORIOS LOS CAMINOS RELATIVOS Y ABSOLUTOS Un sistema de ficheros representa el modo de organizar y almacenar las informaciones. Los datos estan almacenados en ficheros,y estos estan organizados en directorios que van estructurados en niveles jerarquicos. Cualquier sistema operativo debe tener su proprio sistema de ficheros y por esto hay varios tipos de sistemas de ficheros: El sistema de ficheros FAT para MS-DOS El sistema de ficheros NTFS para Windows NT y mas. El sistema de ficheros EXT2,EXT3,EXT4 ,REISERFpara LINUX. Actualmente se usa EXT3,o EXT4. El equipo de desarrollo del sistema de ficheros ext3 tomo una aproximacion unica para crear un nuevo tipo de sistema de ficheros con registro.Como el sistema de ficheros ext2 se entiende bien,es estable y completamente fiable para qualquier persona que haya guardado datos en un sistema Linux,los desarolladores decidieron que la manera mas facil de agregar un sistema de ficheros con registro a Linux era agregar capacidades de registro al sistema de ficheros ext2. Linux se parece mucho a Unix en el sistema de archivos.El truco para comprender el sistema de archivos es entender la estructura subyacente. Como el Unix,y Dos,tiene unu nivel superior donde se encuentra el directorio principal,llamado tambien directorio raiz al que se hace referencia con el simbolo / y al que se suele llamar root,pero no debe confundirse con el directorio /root que es un subdirectorio del del directorio /. root@sandybell:/# ls -CF bin/ etc/ boot/ home/ cdrom/ initrd.img@ lib/ opt/ selinux/ usr/ var/ vmlinuz@ vmlinuz.old@

lost+found/ proc/ srv/ media/ root/ sys/ sbin/ tmp/

dev/ initrd.img.old@ mnt/

Los directorios se simbolizan con una barra inclinada al final / y los enlances simbolicos con @,cuando se genera una lista de archivos con la opcion F. Vamos a ver para que se usa cada directorio y que importancia tiene. /bin -contiene utilidades del sistema y de usuario.Se trata de utilidades que casi siempre son codigo compilado y a las que les llama binarios o ejecutables ,de ahi del nombre del directorio bin. /boot -contiene componentes muy importantes para el proceso de arranque,incluyendo y el directorio grub,directorio del bootloader. /dev aqu residen las definiciones de dispositivos.En las nuevas distribuciones tambien hay un sistema de archivos virtual devfs,que no existe hasta que el sistema arranca.Con devfs cuando se conecta un dispositivo se carga un controlador y devfs crea una entrada para el en /dev dinamica y virtualmente. /etc -en este directorio encontramos los archivos de configuracion de los servicios del sistema.Es muy importante conocer este directorio ya que se trabaja mucho con los archivos de alli para mantener el sistema .

/home -es el directorio donde el usuario almacena sus datos.Cada usuario tiene su proprio directorio /home. /lib las bibliotecas comunes se guardan en este directorio. /lost+found aqu se encuentran los i-nodes perdidos. /mnt aqu estan los puntos de montaje para otros sistema de archivos.Por ejemplo em dispositivo CD-ROM,monta en /mnt/cdrom,la unidad de disquete en /mnt/floopy.Estos dispositivos pueden ser montados y en otros directorios pero por comodidad se suele usar el /mnt. /opt -como su nombre parece decirlo,aqui van las opciones.Aqui se instalan los complementos. /proc -contiene informacion detallada sobre procesos que estan ejecutandose en este momento asi como informacion especifica sobre configuracion hardwaer.Actua como una interfaz con las estructura de datos del kernel. /root es el home directory del usuario root. /sbin contiene utilidades de administracion del sistema o ejecutables. /tmp este directorio guarda los archivos temporales. /usr -esta pensado para datos compartibles de solo lectura. /var-esta configurado para mantener datos variables. Cada distribucion tiene estos directorios en el directorio raiz.Algunas tienen otros directorios como /netware,/dev/shm,/initrd. Para moverse entre los directorios se utiliza el comando cd que significa change directory o cambiar directorio. Por ejemplo estoy en el directorio /home/zuzu y quiero llegar en el directorio raiz : root@sandybell:/home/zuzu# cd / root@sandybell:/# pwd / El comando pwd nos dice siempre en que directorio estamos. COMANDOS BASICOS Y HERRAMIENTAS DE ADMINISTRACION El sistema Linux tiene mas de 300 comandos ,pero para poder trabajar en condiciones normales es suficiente saber los basicos que son absolutamente necesarios para poder trabajar en el sistema,para copiar un directorio ,montar una particion,crear un usuario,etc. Algunos de estos comandos son : info, man, apropos, which, mkdir, rmdir, mount, touch, rm, cp, mv, cat, cd, ls, grep, ps, who, whoami, su, sudo, df, du, tar, more, less, ps, kill, killall, ln, chown, chmod, chattr, passwd, useradd, groupadd, ping, ifconfig, route, iptables, locate, slocate, updatedb, find Para entender el uso de cada comando se usa el comando man.Por ejemplo : root@sandybell:/# man rmdir RMDIR(1) RMDIR(1) User Commands

NAME rmdir - remove empty directories

SYNOPSIS [] Que es una shell? La respuesta mas simple es que una shell es un interprete de comandos.El mas usado es BASH. Cuando hablamos de programacion en bash hablamos de escribir quiones (scripts)que nos hacen el trabajo mas facil.Todas las funciones de inicializacion en el sistema gnu-linux son escritas en BASH o SH. Un script (guion) esta interpretado y ejecutado directamente sin la necesidad de ser compilado como los demas programas. Tomemos como ejemplo el superconocido hello world root@sandybell:/# vi hello.sh #!/bin/bash echo Hello World El fichero se hace ejecutable con el comando chmod seguido de las permisiones corespondientes ( chmod 775 hello.sh ) .Si estamos en el directorio donde escribimos el script lo ejecutamos con ./hello.sh. Si estamos en otro directorio hay que darle toda la ruta para que se ejecute corectamente,si no ,nos dira que el fichero no existe o no se encuentra. Un ejemplo completo seria /home/zuzu/hello.sh si estuvieramos en /opt/tests y directamente ./hello.sh si estuvieramos en el /home/zuzu/.En la consola aparecera el mensaje Hello World . Como he dicho anteriormente hay muchas distribuciones GNU-Linux,con el mismo kernel,con las mismas aplicaciones ,pero con el sistema de paquetes diferentes.El manejo de paquetes y las tareas de administracion se hace con distintas herramientas en funcion de la distribucion que elegimos. En Debian ,Ubuntu y sus derivados utilizamos el APT -Advanced Packaging Tools, dpkg, o aptitude que es parecido al apt. Por ejemplo queremos instalar una maquina virtual.Nos bajamos las fuentes desde la pagina oficial y luego con el dpkg instalamos el programa. root@sandybell:~# wget http://download.virtualbox.org/virtualbox/4.0.2/virtualbox4.0_4.0.2-69518~Ubuntu~maverick_i386.deb root@sandybell:~# dpkg -i virtualbox-4.0_4.0.2-69518~Ubuntu~maverick_i386.deb ,donde la opcion -i significa install. Dpkg tiene muchas opciones.Con el se puede desinstalar algo,reconfigurar un programa,etc. root@sandybell:~# man dpkg

dpkg(1)

dpkg suite

dpkg(1)

NAME dpkg - package manager for Debian

SYNOPSIS dpkg [options] action [] ACTIONS -i, --install package_file... Install the package. If --recursive or -R option is specified, package_file must refer to a directory instead. --unpack package_file... Unpack the package, but don't configure it. If --recursive or -R option is specified, package_file must refer to a directory instead.

--configure package...|-a|--pending Configure a package which has been unpacked but not yet config ured. If -a or --pending is given instead of package, all unpacked but unconfigured packages are configured.

To reconfigure a package which has already been configured, try the dpkg-reconfigure(8) command instead. [] Dpkg es una herramienta muy poderosa y los principiantes deben prestar mucha atencion al trabajar con

ella. Otra opcion para instalar programas,paquetes,librerias ,etc, es usar el apt o el aptitude.Son dos herramientas muy comodas y faciles de usar. Si quieremos instalar ,desinstalar o simplemente buscar un programa escribimos apt seguido de los parametros necesarios. Por ejemplo: root@sandybell:~# apt-cache search gaim gaim-extendedprefs - plugin for the instant messenger pidgin (transitional package) Si lo que hemos buscado es lo que necesitamos,para instalarlo solo tenemos que escribir : root@sandybell:~# apt-get install gaim-extendedprefs (nos saldra lo de abajo) Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: pidgin-extprefs The following NEW packages will be installed: gaim-extendedprefs pidgin-extprefs 0 upgraded, 2 newly installed, 0 to remove and 29 not upgraded. Need to get 17.6kB of archives. After this operation, 111kB of additional disk space will be used. Do you want to continue [Y/n]? Para quitar algo se utiliza el comando apt-get remove -nombre paquete- ,o apt-get remove - purge si quieremos borrar tambien las configuracion del programa que vamos a quitar. Aptitude se usa mas o menos de la misma forma ,por eso no lo voy a ejemplificar aqu. Tambien hay una posibilidad grafica de instalar o quitar programas llamada synaptic.No se puede usar a la vez con las herramientas de arriba.

BIBLIOGRAFIAS Linux 6edicion,David Bandel y Robert Napier,Prentice Hall http://www.debianhelp.co.uk/gui.htm http://www.howtoforge.com/forums/showthread.php?t=1960 http://www.x.org/archive/x11r6.8.0/doc/xorg.conf.5.html http://wiki.linux360.ro/ http://www.linuxiso.ro/index.php/Sistemul_de_fisiere

1.3CUENTAS DE USUARIOS

Como he dicho al principio ,Linux es un sistema multiusuario.Cuando instalamos Linux,el sistema se configura con dos cuentas.La cuenta de superusuario tambien llamado root,y otra cuenta para usuario normal o normal user. Root es un usuario unico,especial y muy poderoso.Tiene privilegio para controlar todo,crear otros usuarios,administrar el sistema y tambien borrarlo ,por eso se recomienda mucha atencion cuando se utiliza la cuenta de root.El nombre de superusuario realmente procede de un comando llamado su (o sustituir usuario).En las distribuciones derivadas de las principales como Ubuntu derivado de Debian,o Fedora de Redhat,se utiliza el comando sudo su. Siendo una cuenta privilegiada ,con la que se tiene el acceso a todo los archivos y directorios,a las otras cuentas de usuarios,ejecuta las tareas de mantenimiento,detiene el sistema cuando es necesario,cambia la contrasenas,etc,se recomienda que esta cuenta se guarde cuidadosamente.La contrasena de usuario root es importantisima. Tambien hay otras cuentas especiales,llamadas cuentas de sistema como las :bin,daemon,adm, y otras ,pero no gozan de los privilegios del usuario root. El home directory del usuario root tambien se llama /root. En Linux hay dos archivos muy importantes donde se guardan los usuarios y la contrasena,o mejor dicho el hash de la contrasena.Estos archivos estan dentro del directorio /etc,y se llaman passwd y shadow. El archivo /etc/passwd es simplemente un archivo de texto ASCII,pero es crucial para el concepto de multiusuario de Linux.Se llama tambien archivo de claves.El contenido del archivo es semejante a lo siguiente : root@sandybell:~# more /etc/passwd [] root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh mail:x:8:8:mail:/var/mail:/bin/sh news:x:9:9:news:/var/spool/news:/bin/sh uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh

proxy:x:13:13:proxy:/bin:/bin/sh www-data:x:33:33:www-data:/var/www:/bin/sh [] Cada linea representa un usuario.La informacion sobre usuario esta dividida en seis campos delimatados por dos puntos.El primer campo nos ensena el nombre de usuario o el identificador de inicio de sesion y debe ser unico.El segundo campo es un campo de contrasena,simbolizado por un x,que nos quiere decir que la contrasena esta oculta.El tercer campo contiene un numero de identificador de usuario,y se utiliza para identificar una unica cuenta.El siguiente campo nos ensena el identificador de grupo GID,seguido de un campo de comentario,que normalemente contiene el nombre completo del usuario.El sexto campo se usa para identificar el lugar de jerarquia del sistema de archivos donde se debe situar el usuario despues del inicio de la sesion.La cuentas se configuran de forma que utilicen el directorio /home.Al final se especifica que tipo de shell utilizara el usuario.La shell predeterminada es la shell bash. Las cuentas de usuario normal son cuentas que se configuran para usuarios individuales.Cada usuario tiene su propria cuenta y su proprio directorio principal.Esto permite a cada usuario personalizar su entorno de trabajo,ya que todas las aplicacines guardan las preferencias del usuario en su directorio principal.Tambien se pueden compartir las aplicaciones del sistema,claro con algunas excepciones,ya sabemos que root tiene el control total del sistema,y es normal que las tareas de administracion y mantenimiento sean prohibidas a los usuarios normales. Las contrasenas tanto para el root como para el normal user se guardan en un lugar especial dentro del directorio /etc. El archivo es /etc/shadow guarda las contrasenas ocultas de forma predeterminada.El concepto de contrasena oculta ha nacido debido al hecho que hoy tenemos maquinas muy potentes y es mas facil descubrir el cifrado,incluso de las contrasenas bien elegidas. root@sandybell:~# more /etc/shadow root:!:15058:0:99999:7::: daemon:*:14889:0:99999:7::: bin:*:14889:0:99999:7::: sys:*:14889:0:99999:7::: sync:*:14889:0:99999:7::: games:*:14889:0:99999:7::: man:*:14889:0:99999:7::: lp:*:14889:0:99999:7::: [] El archivo es parecido al /etc/passwd,tambien formado por lineas con campos separados por dos

puntos.En el primer campo tenemos el nombre de la cuenta de usuario seguido del campo de la contrasena cifradam,luego tenemos los dias trascurridos desde el comienzo de la era hasta la fecha que la contrasena fue cambiada por ultima vez.Luego tenemos el numero de dias que deben pasar hasta que la contrasena se vuelva a cambiar. -1 significa nunca. En linux las cuentas de usuario se pueden anadir editando directamente el archivo /etc/passwd o bien usando una utilidad como useradd que se encuentra en todas las distribuciones de Linux. Useradd no crea de forma predeterminada el directorio principal del nuevo usuario por eso hay que darle correctamente algunos parametros. Vamos a crear un usuario. root@sandybell:~# useradd -d /home/stela -m stela root@sandybell:~# passwd stela Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Se ha creado un nuevo directorio /home/stela y se almacenan en el copias de los archivos predeterminados de /etc/skel y /etc/skel.d . Tambien se ha creado la nueva contrasena para el usuario. GRUPOS Los grupos se crean anandiendo una entrada al archivo /etc/group. root@sandybell:~# more /etc/group root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4:zuzu tty:x:5: [] Cada linea del archivo /etc/group representa un grupo.Muchos de los grupos predeterminados coresponden directamente a un servicio especifico. El primer campo es el nombre de grupo.Por ejemplo podria ser testeo ,para un grupo de personas que testean aplicaciones o personal para el grupa de personas que trabajan en HR. El segundo campo representa la contrasena de grupo.Generalmente no se usa.Luego tenemos el numero identificador de grupo llamado GID.Las cuentas de los usuarios que son miembros de este grupo de forma predeterminada ,tienen este numero en la entrada del archivo /etc/passwd.El ultimo campo es la

lista de las cuentas de usuario asociadas a este grupo. Por ejemplo zuzu es asociada al grupo adm. Las cuentas de usuario se pueden anadir al ultimo campo de la entrada del grupo en el archivo /etc/group.Tambien se puede usar el comando groupadd.La sintaxis es muy facil: root@sandybell:~# groupadd -g 302 testeo Para anadir un usuario al grupo testeo ,vamos a utilizar el comando gpasswd. root@sandybell:~# gpasswd -a stela testeo Adding user stela to group testeo

Para eliminar un usuario utlizaremos el mismo comando seguido de la opcion -d . PERMISOS En Linux hay tres niveles de permiso a archivos y directorios.Los tres niveles corresponden a las siguientes categorias: USUARIO,GRUPO,OTROS Cada nivel tiene privilegios asociados con tres formas de permisos:lectura,escritura y ejecucion. Si abrimos una shell y escribimos ls -l nos sale algo parecido a esto: root@sandybell:~# ls -l total 8 -rwxr-xr-x 1 root root 496 2011-03-26 00:34 fw drwxr-xr-x 2 root root 4096 2011-04-09 16:13 scripturi

En el listado de arriba se puede ver que el proprietario es root.El primer grupo de guiones y letras representa el tipo de archivo y los permisos para este archivo.Vamos a explicar que significa cada carcter : El simbolo - significa fichero La letra d significa directorio Las siguientes tres caracteres son los derechos del utilizador ,el que tiene el fichero .Los tres siguientes representan los derechos del grupo.Los tres ultimos representan los derechos de otros sobre el fichero. -r =derechos de lectura -w=derechos de escritura -x=derechos de ejecucion Por ejemplo en la primera linea tenemos -rwxr-xr-x 1 root root 496 2011-03-26 00:34 fw .Esto quiere decir que fw es un fichero,el proprietario es el root ,pertenece al grupo root,el propriatario tiene derechos de lectura,escritura y ejecucion,el grupo tiene permisos de lectura y ejecucion y los otros

tambien de lectura y ejecucion. Los derechos de acceso se pueden modificar con el comando chmod.Cuando se modifica los permisos hay que especificar el nivel que se va a modificar,el permiso que se va a modificar,el archivo o los archivos que se van a modificar. COMO SE RECUPERA UNA CONTRASENA DE ROOT PERDIDA Para acabar el capitulo vamos a tomar en cuenta que pasaria si hemos perdido la contrasena de root!A mi me ha pasado algunas veces. Yo personalmente conosco dos posibilidades de volver a entrar en el sistema con otra contrasena! La primera seria a traves del single user mode.Cuando el grub o el lilo arranca (los bootloaders),nos sale la opcion single user mode.En este modo,el sistema Linux arranca como siempre pero en un modo que no necesita la introduccion de una contrasena.Cuando aparece el simbolo bash# hay que escribir la nueva contrasena mediante la orden passwd,pulsar enter y reiniciar el sistema. Otra forma muy comun para setear una nueva contrasena es utilizar un livecd.Primero cargamos el sistema,luego tenemos que montar la particion / del sistema al sistema de archivos creados por el livecd. Ejemplo: mkdir /root/mount mount /dev/hda2 /root/mount cd /root/mount Claro que para saber cual es la particion primero vamos a dar un fdsik -l . El siguiente paso es pasarnos a la shell del sistema real.Esto se hace con el comando chroot. chroot /root/mount/ /bin/bash Ahora solo falta setear la nueva contrasena para el root mediante el comando passwd y reiniciar el sistema. BIBLIOGRAFIAS Totul despre RehHat Linux,Naba Barkakati,Teora Linux 6edicion,David Bandel y Robert Napier, Prentice Hall

1.4GESTORES DE ARRANQUE

Un bootloader es un programa que se ejecuta en el momento en el que el ordenador arranca. Es responsable de la transferencia del control a un sistema operativo (en principal a su kernel) o a otro bootloader de otro sistema operativo. En linux tenemos a Lilo y a GRUB como bootloaders,grub siendo muy poderoso y mas popular. La nueva version se llama GRUB2 y en las nuevas distribuciones de Ubuntu ya viene predeterminado. La parte mas critica cuando intentamos de entender el grub es el modo en el que este se refiere a las particiones y al disco duro.En linux la particion /dev/hda1 ,sera casi siempre en grub como (hd0,0).Los dispositivos del disco duro estan numerotadas a partir de 0(cero) en lugar de a y las particiones empiezan desde 0 en lugar de 1. En funcion de la distribucion que tenemos instalamos el grub con la herramienta de administracion que la consideramos mas comoda y facil de usar.Tomemos como ejemplo el gentoo: # emerge grub Aunque grub esta instalado hay que escribir un fichero de configuracion e instalarlo en la zona MBR para que el grub se ejecute en el nuevo kernel.Este fichero se crea con el editor de texto preferido. # nano -w /boot/grub/grub.conf ################################################################################### #cual entrada arrancara implicitamente.0 es la primera,1 la segunda,etc. default 0 #cuantos segundos esperar hasta que cargue la prinera entrada timeout 30 #imagen splash ,se comenta si no tenemos tarjeta video instalada splashimage=(hd0,0) /boot/grub/splash.xpm.gz title=Gentoo Linux 2.6.12 -r10 #la particion donde esta la imagen del kernel root (hd0,0) kernel /boot/kernel-2.6.12-gentoo-r10 root=/dev/hda3 #las siguientes lineas son por si hacemos un dualboot, con windows por ejemplo. title=Windows XP rootnoverify (hd0,5) makeactive chainloader +1 ################################################################################### Se guarda el fichero y se sale de la editacion.Lo siguiente seria instalar el GRUB en la zona MBR para que este se cargue automaticamente cuando el sistema arranca.Esto se hace con una herramienta llamada grub-install o de forma manual. Para instalarlo hay que usar el comando grub-install,pero primero hay que salir de un medio chroot,por eso se tiene que crear un fichero llamado /etc/mtab que contiene todas los sistemas de ficheros montadas.Esto se hace copiando /proc/mounts en /etc/mtab ,dejando atrs la linea rootfs si hemos creado una particion separada de boot.El comando es: #grep -v rootfs /proc/mounts > /etc/mtab #grub-install /dev/hda

Para configurar el grub solamente se escribe en la shell el comando grub.Grub funciona muy bien con Tab por eso no es muy dificil de utilizar.Asi se instala grub en la zona MBR. grub> root (hd0,0) (se especifica donde esta nuestra particion ./boot) grub> setup (hd0) (instala grub en zona MBR) grub> quit (se sale de la shell de grub) Se continua con el reinicio del sistema y esto es el grub!

El PADRE DE LOS PROCESOS : INIT

El sistema operativo Unix por lo qual y el Gnu-Linux,tiene como concepto fundamental el concepto de proceso.En principio un proceso puede ser definido como un programa en ejecucion.Un programa ejecutable puede tener en un momento dado multiples procesos asociadas llamadas instancias.La caracteristica mas importante del proceso es el identificador de proceso conocido como PID. El proceso es la unidad elementar para la asignacion de recursos en el sistema. Un sistema operativo Linux se carga asi: -primero se inician las estructuras de datos proprios-del nucleo. -se monta el sistema de ficheros -se crea el proceso 0 ,llamado swapper,cual es el planificador de procesos . -se crea el proceso 1,llamado init,cual es el padre de todos los procesos.Se ejecuta el proceso init que inicializa las estructuras de datos proprios,a continuacion lea el archivo /etc/inittab para de determinar que procesos se creara y el archivo /etc/rc para iniciar los procesos en la memoria del sistema que se ejecuta a lo largo de toda la operacin del sistema ,llamdos procesos en segundo plano o demonios. Propriedades: -tiene los derechos de quien lo esta ejecutando. -cada proceso tiene un proceso padre,salvo init que es el padre de todos los procesos. -cada proceso puede crear subprocesos. -cada proceso se identifica con el PID ,PPID. -cada proceso tiene una prioridad. Estados: 1.created-->2.runable(ready)-->3.running -->4.terminated

Tipos: -padre -chield (hijo) -daemon -zombie -orfan Comandos: -ps (ps -e,aux,ef) -pstree -pgrep -top -kill -pkill -killall

BIBLIOGRAFIAS http://www.gnu.org/software/grub/manual/grub.html http://www.gentoo.org http://users.utcluj.ro/~somodi/so2/lab08.html http://www.unixinside.org/tech/admin/admin5.pdf Linux 6 edicion,David Bandell y Robert Napier,Prentice Hall

1.5CONSTRUCCION DE PAQUETES El codigo fuente de un programa la mayoria de la veces lo encontramos archivado.Este puede ser

en formata tar,tar.gz,o tar.bz2 ,llamodo genericamente tarball. Para abrir el programa e instalarlo hay que seguir los siguentes pasos: Para un archivo en formato tar: tar xvf nombre_programa.tar Para un archivo en formato tar.gz : tar zxfv nombre_programa.tar.gz Para un archivo en formato tar.bz2 : tar jxvf nombre_programa.tar.bz2 Como se instala un programa? Esto depende de cada distribucion en parte.Para los principiantes se recomienda el manager de paquetes en modo grafico.Que son las dependencias? Las dependencias son programas /paquetes/librerias que dependen de otras programas que queremos instalar. A veces cuando queremos instalar algun problema nos damos cuenta que no se puede por que falta una dependencia,una librera que depende del programa que deseamos instalar.Para solucionar estos tipos de problemas han salido los manageres de paquetes. Para gentoo vamos a utilizar un sistema portage-sistema de manejo de paquetes inspirado en FreeBsd. Para instalar : #emerge nombre_programa Para quitar : #emerge - - unmerge nombre programa Para Debian y Redhat se utiliza apt y rpm ,herramientas comentadas en la seccion COMANDOS BASICOS Y HERRAMIENTAS DE ADMINISTRACION. La distribucion Slackware se basa en paquetes en formata tgz Para instalar : installpkg nombre_programa.tgz Para quitar : removepkg nombre_programa.tgz Para crear un paquete directamente de las fuentes : tar zxf nombre.tgz cd nombre ./configure - - prefix=/usr/ - - sysconfdir=/etc/ make make install DESTIR=/tmp/nombre cd /tmp/nombre makepkg nombre.tgz BIBLIOGRAFIAS http://www.debian.org/doc/maint-guide/build.es.html http://open-eslack.org/wiki/index.php5?title=Paquetes_para_slackware http://www.monografias.com/trabajos29/creacion-paquetes-debian/creacion-paquetesdebian.shtml

1.6 QUE ES EL KERNEL

El sistema GNU Linux esta compuesto por el nucleo tambien llamado kernel y los programas gnu.El kernel es el corazon del sistema operativo.Es el mediador entre los programas y el hardware.Ofrece soporte para el filtrado de los paquetes de red y gestiona los procesos que se ejecuta en la memoria. Hay dos versiones la estable y la beta.La version estable es siempre la que lleva el segundo numero como numero par.Siendo opensource significa que tenemos acceso a las fuentes,y lo podemos configurar para nuestro gusto y personalizar para nuestro hardware.Se recomienda tener la ultima version del kernel,por que a veces aparecen bugs.Esto se arregla con la ayuda de los parches. El kernel es modular,esto significa que algunos drivers pueden ser compilados como modulos. Los ficheros del directorio /dev y /proc solamente son ficheros virtuales ,ellos no existen en la realidad. Pasos para compilar un kernel nuevo para nuestra distribucion.Primero instalamos algunas herramientas . root@sandybell:~# apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential Nos situamos en el directorio /usr/src,por que alli vamos a compilar el kernel.Vamos a suponer que compilamos el kernel 2.6.36.1. root@sandybell:~# wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux2.6.36.1.tar.bz2 --2011-04-13 17:40:43-- http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.1.tar.bz2 Resolving www.kernel.org... Tambien vamos a instalar el patch CK creado por Con Kolivas. root@sandybell:/usr/src# wget -c http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/2.6.36/2.6.36-ck2/patch-2.6.36-ck2.bz2 Ya tenemos las fuentes y el patch,empecemos: tar zxvf linux-2.6.36.1.tar.bz2 ln -s linux-2.6.36.1 linux cd /usr/src/linux Desarchivamos el kernel,creamos un symlink llamado linux y nos situamos en el nuevo directorio /usr/src/linux.Aplicamos el patch. bzip2 -dc /usr/src/patch-2.6.36-ck2.bz2|patch -p1 --dry-run bzip2 -dc /usr/src/patch-2.6.36-ck2.bz2|patch -p1 La primera linea chequea si el patch se puede aplicar sin error y la segunda linea aplica el patch. Ahora viene la parte mas dificil,es decir ,la configuracion del kernel.Para empezar lo mejor es guardar la antigua configuracion del kernel. cp /boot/config-`uname -r` ./.config make menuconfig Esta linea nos genera un menu de configuracion para el nuevo kernel.Iremos hasta a la linea Load an Alternate Configuration File y escojemos .config. Cuando acabamos de configurar el kernel con las opciones que nuestro sistema necesita , empieza la compilacion:

make-kpkg clean fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers La compilacion del kernel puede tardar unas horas,en funcion del procesador que tenemos y las opciones que le hemos dado cuando lo hemos configurados,por eso tenemos que armarnos con paciencia.Cuando acaba,en el directorio /usr/src tenemos dos paquetes deb.Uno contendra el kernel y el otro los headers necesarios para la compilacion de modulos para el kernel. Se instalan los dos paquetes : dpkg -i linux*deb El grub tendra que detectar el nuevo kernel y generar el grub.cfg pero para asesgurarnos y no tener problemas ejecutamos : update-grub Al reiniciar el sistema elegimos el nuevo kernel y entramos en el sistema.

BIBLIOGRAFIAS:

http://www.ubuntu.ro http://www.kernel.org

1.7 LOGS Y AUDITORIAS

El logging se usa para manter un registro de las acciones del sistema.Tambien es util para la seguridad.Todos los sistemas operativos tiene este tipo de archivos llamado logs. En linux ,se encuentran en el directorio /var/log. Se pueden ver estos archivos con el comando : tail -f /var/log/nombrefichero El comando tail nos ensena los logs en el tiempo real.Por ejemplo : root@sandybell:/usr/src# tail -f /var/log/syslog Apr 13 20:17:23 sandybell NetworkManager[928]: <info> Activation (hso0) Stage 4 of 5 (IP4 Configure Get) complete. Apr 13 20:17:23 sandybell NetworkManager[928]: <info> Activation (hso0) Stage 5 of 5 (IP Configure Commit) started... Apr 13 20:17:24 sandybell NetworkManager[928]: <info> (hso0): device state change: 7 -> 8 (reason 0) Otras herramientas: lastlog,last,logwatch,secure syslog,logrotate. El ultimo comando es util para hacer backup de los loggs cuando ya tenemos un numero muy grande de los logs en el sistema,comprima y envia logs. Otras herramientas para monitorizar el sistema son netstat ,tcpdum y nmap. netstat Ensena informaciones sobre el estado actual de las conexiones de red activas,las tablas de enrutamiento,estatisticas sobre la interfaz de red,etc.Estas informaciones pueden ser utiles para determinar conexiones sospechosas o que efectuan trafico injustificado. Por ejemplo si se usa sin opciones netstat nos dara como resultado las conexiones activas : root@sandybell:~# netstat Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address tcp 0 0 sandybell:46349 Foreign Address State

email.1and1.com:https ESTABLISHED

*Sobre nmap y tcpdump hablare mas adelante en la seccion de seguridad . BIBLIOGRAFIAS: Logs_auditorias.pdf -Carolina Garcia Anton,Gunther Rodriguez Diaz

PARTE2. REDES Y SERVICIOS BASICOS DE INTERNET

2.1LA IP

Los propositos principales del layer network OSI son: -encapsulacion -routing -decapsulacion -direccion IPV4) Caracteristicas: -connectionless -besteffort -media independent La clasificacion de los protocolos en connection-oriented y connection-less puede ser comparada con el sistema de telefonia y el sistema de correos. Un protocolo connection-oriented (orientado a conexin),supone el establecimiento de un enlace y un cambio de mensajes antes de la transferencia de los datos. Un protocolo connection-less es parecido al sistema de correos.No existe un enlance establecido entre el sender y receiver.S no sabe si D ha recibido el paquete,o si la destinacion puede leer puede leer el paquete. D no sabe cuando debe llegar el paquete. Estructura: Una direccion Ip se llama y direccion logica y pertence L3 OSI. Se usa para identificar logicamente los host conectados a la red.El encaminamiento (routing) -los envios de los paquetes siguiendo el mejor camino,se basa primeramente en el IP. Cada ordenador conectado a la red debe tener una unica direccion ip .En comparacion con la direccion MAC que pertenece a L2,y que no se puede modificar (teoreticamente) ,las direcciones IP,estan establecidas por el usuario .Cada tarjeta de red puede tener una o mas direcciones IP. Una direccion IP esta compuesta por 4bytes,32 bits en total.Puede ser escrita en base 10,transformando cada byte de base2 en base 10 y separandolos por punto.

Una direccion IP esta compuesta por dos partes : -NETWORK ADDRESS-la direccion de la red -HOST ADDRESS -la direccion del host de la red ,por lo que resulta que los bits de una direccion se dividen en bits de red y bits de host.

Los host de la misma red deben tener la misma network address. Muy unida al IP viene la nocion de mascara de red-NETWORK ADDRESS.Ella estables cuales de los bits son de red y cuales son de host.Un direccion IP no existe sin la mascara de red.Siempre se configuran juntas. Primer ejemplo: 255.0.0.0 o /8 Si transformamos esta mascara en base 2 vamos a observar que los primeros 8 bits son 1,y resulta que los primeros 8 bits son de red ,y los ultimos 24 son de host. Segundo ejemplo: 255.255.255.0 o /24 Si transformamos esta mascara en base 2 vamos a observar que los primeros 24 bits son 1,y resulta que los primeros 8 bits son de red ,y los ultimos 8 son de host. Un ordenador o un router realiza una operacin de AND LOGIC entre el IP y la mascara para averguar la direccion de red. Para separar network address de host address ,se transforma el ip y la mascara en la base 2. Se coloca el ip y la mascara uno bajo otro,bit bajo bit. Los bits de la ip bajo los bits de 1 de la mascara se llaman bits de red y forman network address y los bits de la ip bajo los bits de 0 se llaman bits de host. La direccion de red representa la caracteristica comun de los host de la misma red. Decimos que dos ordenadores estan en la misma red por que tienen los mismos bits de red. 192.168.100.12/24 o 255.255.255.0 esta en la misma red con 192.168.100.10/24 o 255.255.255.0 por que los primeros 24bits de de red ,dados por el subnet mask/24 son iguales 192.168.100.x . Clasificacion: En funcion de los primeros bits del primer octet hay 5 clases de IP,definadas por IANA en el RFC1700. Los bits del primer El primere octet octet CLASE A CLASE B CLASE C CLASE D 0xxxxxx 10xxxxxx 110xxxxx 1110xxxx 0-127* 128-191 192-223 224-239 El numero total de redes 128 16384 2097152 N/A El numero de hosts en cada red 167772160-2 65536-2 256-2 N/A

CLASE E 1111xxx 240-255 N/A N/A 127.0.0.1 es una direccion especial ,usada como direccion de loopback.Esta usada por los hosts para redirectar el trafico entre los ellos mismos.

* La CLASE D es una clase especial ,usada para el multicast.No se configuran interfaces o tarjetas de red con esta direccion. La CLASE E esta reservada para estudios e investigacion.

PUERTOS

Cuando hablamos de puertos entramos tambien en el nivel transporte ,L4 OSI,que es el responsable con el primer empaquetamiento de los datos .La informacion que recibe del nivel session esta dividida en segmentos y se le anade headers.En los headers,entre otros elementos, encontramos dos numeros,llamados puertos ,que identifican el programa del nivel aplicacin que ha mandado el mensaje y la fuente del destino si es la destinacion del mensaje. Los dos puertos se llaman : -source port (puerto de origen) -destination port (pueto de destinacion) Por ejemplo,si uno de los dos puertos es 21,el programa es FTP,si es 25 se trata de un correo,si el puerto es 80,el programa del nivel aplicacin es un servidor web. En networking un puerto es componente software de una aplicacin o un proceso que sirve como punto de un terminal en la comunicacin de los protocolos TCP y UDP.Un puerto es identificado por su numero,su direccion ip y el protocolo usado en la comunicacin. Un puerto se encuentra en tres estados : -abierto -cerrado -filtrado Listado de puertos generales: 21-ftp 22-ssh 23-telnet 25-smtp 53-dns 80-http 443-https 389-ldap 445-smb 1433-mssql 3306-mysql 5900-vnc etc.

TCP,UDP,ICMP

Transport layer protocol representa un grupo de protocolos responsables con la encapsulacion de los datos de los niveles superiores ,en segmentos (tcp) / datagramas (udp) que pueden ser transmitidas en la destinacion. Los mas conocidos protocolos de layer 4 son TCP-transmision control protocol y UDP-user datagram protocol. TCP (Connection oriented protocol-rfc 793) Un protocolo connection oriented es el opuesto del protocolo connectionlessej UDP,y esto supone un cambio inicial de mensaje entre el origen y el destino antes de empezar la transferencia de los datos. Funciones: segmentacion,reasamblacion,multiplexacion,flowcontrol,fiabilidad,establecimiento de la conexin y la terminacion. UDP (Connectionless protocol -rfc 768) Udp es un protocolo de transporte que ofrece servicios minimos para el layer aplicacin pero con un overheading pequeo y sin fiabilidad. Los siguientes protocolos usan UDP: tftp (69),dns (53) ,snmp (161) ,dhcp (67/68) ,rip (520). Caracteristicas : -connectionless(sin conexin) -unreliable (sin fiabilidad) -identifica los protocolos del nivel aplicacin -funcion checksum ICMP-Internet control message protocol IP es un protocolo que no garantiza la transmision de los datos en una red.Se llama tambien best effort delivery protocol .La llegada de los mensajes desde el origen hasta la destinacion esta asegurada por los protocolos de los niveles OSI superiores. Por que IP no contiene un mecanismo para raportar los errores de la red se utiliza el ICMP. ICMP pertence a TCP/IP. Se divide en dos grandes categorias: -protocolos de control e informacion de los hosts -protocolos para la presentacion de informes de error para IP. ICMP pertenece layer 3 OSI. Funciones ICMP: -verifica la conectividad en la red (echo request-type0 y echo reply -type8) -registra el tiempo necesario para que los paquetes vayan ida y vuelta entre origen y destinacion (timestamp request -type13 y timestam replay -type14) -avergua network mask (address mask request -type17 y address mask replay -type18) -redirecta los paquetes por un camino mejor (redirect/change request -type5) -flow control (source quench -type4) -informa el origen por que los paquetes no han llegado a la destinacion (destination unreachable -type3) -selecciona default gateway (router advertsiment -type9 y router selection -type10)

CONFIGURAR LA RED EN DEBIAN Linux tiene una herramienta llamada ifconfig para iniciar ,para y configurar la interfaz de red. Ifconfig se puede utilizar para configurat cualquier dispositivo de interfaz. Para dispositivos ethernet se usa el termino eth(0,)(1),etc,dependiendo del numero de tarjetas de red que tenemos instaladas. Con el comando ifconfig tambien podemos modificar mac address. Si invocamos ifconfig -a nos saldran todas las interfaces del sistema. root@sandybell:~# ifconfig -a eth0 Link encap:Ethernet HWaddr 00:a0:d1:69:49:a6 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

hso0

Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:10.80.119.154 P-t-P:10.80.119.154 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1486 Metric:1 RX packets:112 errors:0 dropped:0 overruns:0 frame:0 TX packets:129 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:10 RX bytes:43597 (43.5 KB) TX bytes:10934 (10.9 KB)

lo

Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:712 errors:0 dropped:0 overruns:0 frame:0 TX packets:712 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:44639 (44.6 KB) TX bytes:44639 (44.6 KB)

Asi se configura un dispositivo de interfaz: root@sandybell:~# ifconfig eth0 192.168.0.3 netmask 255.255.255.0 broadcast 192.168.0.255 Para activar la interfaz se usa el comando ifconfig eth0 up y para desactivar ifconfig eth0 down. En Debian existe el directorio /etc/network,con el fichero interfaces.Tambien se puede configurar la red editando ese fichero .(nano /etc/network/interfaces) Tambien necesitamos una pasarela,o default gateway para salir en Internet. Para anadir la pasarela tenemos el comando route. Suponiendo que nuestro linux esta dentro de la red,si no tiene toda la configuracion de red asignada por dhcp,hay que anadirle la pasarela manualmente despues de haber configurado los otros parametros del a red en la interfaz. root@sandybell:~# route add default gw 192.168.0.1 El comando route -n nos muestra la tabla de enrutamiento IP. Para quitar el default gw : root@sandybell:~# route del default gw 192.168.0.1 Cuando nuestro Linux es configurado como router ,tambien podemos anadir rutas estaticas hacia destinaciones exactas. (route add -net ) En Debian,y en todo Linux,los dns,si estan en el fichero /etc/resolv.conf,fichero que tenemos que editarlo manualmente si configuramos la red de forma estatica. Tambien se pueden editar en el /etc/network/interfaces. Para que se realicen los cambios hay que reinciar la red .Esto se hace con el comando /etc/init.d/networking restart

HERRAMIENTAS PARA COMPROBAR LA RED

PING -envia una peticion de echo ICMP al dispositivo.Cuando usamos ping hacia otra maquina ,probamos primero conla direccion IP. TRACEROUTE -esta utilidad monstrara la ruta que los paquetes toman para alcanzar un determinado destino.Con traceroute se pueden ver los sisteamas a traves de los cuales viajan los paquetes,aunque un host esta apagado,desde nuestro sistema hasta el lugar donde la red finalmente se detiene . NESTAT -ofrece informaciones sobre encaminamiento,conexiones abiertas,puertos listos para acceptar conexiones. FUSER -se usa para averiguar que proceso esta acoplado a un puerto.

BIBLIOGRAFIAS

Linux 6 edicion,David Bandel y Robert Napier,Prentice Hall Libro NETWORK + para Administracion de redes,Mike Meyers, Rossetti Educational http://www.crystalmind.ro http://www.iana.org/ http://www.faqs.org/rfcs http://www.safemode.ro

DHCP -DINAMIC HOST CONFIGURATION PROTOCOL El protocolo dhcp es un protocolo de red que asigna ip y otra configuracion de red a los sistemas hosts automaticamente.Esta definido en RFC2131. DHCP se ejecuta cliente-servidor,el servidor alquila una configuracion al cliente por un cierto periodo de tiempo,llamado lease time Cuando un cliente se conecta a la red envia una peticion de tipo broadcast al servidor dhcp.El

servidor tiene una reserva de direcciones Ip y otras informaciones sobre la configuracion de los parametros del cliente como gateway,nombre de dominio,servidores dns,etc. Todos los sistemas modernos incluyen un cliente dhcp. Internet System Consortium (ISC)ofrece el servidor dhcp open-source. La comunicacin cliente-servidor se divide en quatro fases: 1) DHCP DISCOVERY El cliente envia una peticion de tipo broadcast usando como IP destino -255.255.255.255 y con la origen 0.0.0.0 . Se usa el protocolo UDP. 2) DHCP OFFER Los servidores dhcp que han recibido la peticion responden con dhcp offer y ofrecen al cliente cierta configuracion (ip,mascara,gateway,dns,etc).La configuracion puede ser estatica establecida por el administrador de la red en funcion del MAC. ips=server_ip ipd=255.255.255.255 sport=67 dport=68 3)DHCP REQUEST Si existen mas servidores dhcp,el cliente elige una oferta ,en general la primera y envia un broadcast con el que hace conocida su eleccion . ips=0.0.0.0 ipd=255.255.255.255 sport=68 dport=67 4)DHCP ACKNOWLEDGEMENT El servidor envia DHCPACK al cliente con un lease time y otras informaciones necesarias. En Linux para pedir una configuracion de red de tipo dhcp al servidor se usa el comando dhclient. Para instalar el servidor dhcp necesitamos el paquete dhcp3-server.Se instala rapidamanete con el comando aptitude o con apt-get install dhcp3-server. El demonio del servidor se llama dhcpd.El fichero de configuracion es dhcpd.conf,situado en /etc/dhcp. Esta es una configuracion para un servidor dhcp :

#dhcpd.conf file subnet 192.168.10.0 netmask 255.255.255.0 { range 192.168.10.10 192.168.10.33; default-lease-time 86400; max-lease-time 86400; option routers 192.168.10.1; option domain-name tehnicdc.ro; } ####hasta aqu es la configuracion del servidor con los parametros para todas las estaciones de la red

####asignacion de ip por mac host sts1 { hardware ethernet 00:0b:ef:ac:24:5c; fixed-address 192.168.10.10; option host-name sts1; } ##### y asi cuantas estaciones tenemos en la red y definidas en el range! Para iniciar el sevidor dhcp : /etc/init.d/dhcpd start Para reiniciar el servidor dhcp : /etc/init.d/dhpd restart Para apagar el servidor dhcp : /etc/init.d/dhcpd stop Si algo no funciona como nos esperabamos se ejecuta el comando tail -f /var/log/syslog | grep dhcp* y nos saldra el log del servidor , y la linea de configuracion que esta escrita mal. BIBLIOGRAFIAS http://www.isc.org/software/dhcp http://www.linuxhomenetworking.com/wiki/index.php/ http://ro.wikipedia.org/wiki/DHCP

2.3DOMAIN NAME SYSTEM (DNS)

DNS representa un protocolo que tiene como proposito la traduccion de los nombres de dominios en direcciones IP.DNS es un conjuto de conceptos y programas como: 1.El espacio de nombres dns 2.Servidores dns 3.Clientes dns El espacio de nombres DNS representa todos los nombres dns.Tiene una estructura arborescente parecida a la estructura del sistemas de archivos en linux .Cada dominio representa un camino en ese arbol al reves ,llamado espacio de nombres dns. En el pico del arbol se encuentra el nombre de dominio raiz(root),seguido al siguiente nivel de los dominios genericos TLD-top level domain (.com,.gov,.biz,.org,.net,.es,etc). Cada nodo del arbol tiene una etiqueta (label),salvo root,formada como mucho por 63 caracteres sin punto. Cada nodo puede ser root para un subarbol del arbol general. El protocolo DNS defina el tipo de QUERY,RESPONSE Y RR. Las informaciones guardadas del servidor dns llevan el nombre RR -resourse records,y son definidas en rfc1035.Un nombre completo se llama FQDN-fully qualified domain name y se especifica desde la hoja asta la raiz . . DELEGACION Una organizacin que administra un dominio puede dividirlo en subdominios y delegar la administracion de estos a otras organizaciones. SERVIDORES DNS Con el proceso de delegacion un servidor dns es responsable solo de una parte del espacion de nombres y no con el dominio entero.Un dominio puede ser propagado en mas servidores. Una zona dns es esa parte del espacion de nombres dns que se encuentra en un especificado servidor. El archivo zona es aquel que guarda las informaciones que hacen referencia a la zona que esta en la administracion del servidor. El servidor que guarda el fichero zona se llama autoritario para esa zona. Los servidores dns se dividen en dos categorias : 1) PRIMARY MASTER NAME SERVER Lea las informaciones que hacen referencia a la zona del fichero que esta en su disco local.Es el que esta declarado en el recurso SOA. Las modificaciones de una zona se hacen solamente en primary master. 2) SECONDARY MASTER NAME SERVER (SLAVE) Toma la informacion de la zona automaticamente desde su servidor master con una operacin llamada zone transfer.Despues el servidor slave hace un backup al fichero zona en su proprio disco duro,y al siguiente reinicio carga primero el fichero local y despues se pone en contacto con el servidor master para averiguar si la informacion es de actualidad. Negative caching -en el momento en el que otro servidor dns manda al nuestro servidor informacion sobre un dominio inexistente ,el servidor hace un cache a esa informacion. 3) CLIENTES DNS Esta representado por un modo del sistema operativo llamado dns resolver .El resolver dns recibe por la parte de la aplicacin la tarea de transformar el nombre del dominio en una direccion logica. Tipos de query: 1) Iterativo 2) Recursivo

El cliente manda un query a su servidor y este le tiene que responder imediatamente desde su fichero zona (si es autoritario ) o desde su cache (si no es autoriatario).El servidor debe dar la mejor respuesta que tiene.Si la informacion es desconocida el servidor responde con un referal,con una lista de servidores dns que podrian dar la respuesta.(query iterativo) El cliente manda un query a su servidor y este le tiene que devolver o la respuesta final o un mensaje de error. El servidor contacta a otros servidores si no conoce la respuesta.Esta modalidad es la mas usada.(query recursivo). QUE ES BIND BIND -Berkley Internet Nameserver Daemon(demonio servidor de nimnbres de internet ). Como lo hemos visto ariba bind es el servidor dns opensource.La ultima version es BIND 10. Cada distribucion tiende a funcionar en su modo,pero todos los servidores bind tendran un archivo named.conf en /etc y los scripts de inicio. En debian el paquete bind instala todos los archivos necesarios e implementa un servidor de nombres de cache que pueden expandirse simplemente anadiendo los archivos de zona y las entradas en named.conf . La instalacion con compilacion se realiza en el mismo modo en todas la distribuciones Linux. Pasos a seguir: 1. Se baja la fuente de la ultima version de bind desde la pagina web www.isc.org wget http://ftp.isc.org/isc/bind9/9.5.0-P2/bind-9.5.0-P2.tar.gz 2. Se checkea la integridad del archivo tar.gz 3. Se descomprima el archivo: tar -zxvf bind-9.5.0-P1.tar.gz 4. Se ejecuta el script configure en el directorio /opt/bind. ./configure - - prefix=/opt/bind 5. La compilacion se hace con un user sin privilegios.Se ejecuta : make 6. Instalacion.El comando puede ser lanzado solamente desde la cuenta root .Se ejecuta: make install Generalidades: Despues de la instalacion del servidor dns en el directorio /opt/bind,resultaran otros subdirectorios que contienen los ficheros necesarios para la funcionalidad del servidor dns. Estos son los mas importantes: /opt/bind/bind-contiene utilitarios para el testeo de la funcionalidad del servidor tales como:dig,host,nslookup,nsupdate . /opt/bind/include -contiene cabezeras con constantes y otros datos necesarios. /opt/bind/lib -contiene bibliotecas del servidor. /opt/bind/man -manpages para las herramientas que han venido con el servidor . /opt/bind/sbin contiene el demonio dns representado por el fichero named y otras herramientas de las cuales mas importantes son: -rndc -herramienta de control del servidor (start,restart,stop.etc) -rndc-confgen herramienta para la configuracion del modo de comunicacin entre rndc y el servidor -named-checkconf -herramienta para validar el fichero de configuracion named.conf -named-checkzone -herramienta para validar el fichero zona. La configuracion del servidor dns bind para un dominio autoritario supone:

1.la editacion del fichero global de configuracion llamado named.conf que en nuestro caso esta en /opt/bind/etc .En este fichero se definan cuestiones sobre la funcionalidad general del servido y tambien referencia a las zonas/dominios para las cuales el servidor es autoritario. 2.se crean y editan los archivos zona para el dominio para cual el servidor es autoritario.Existe un fichero zona para cada dominio autoritario. 3.otras configuraciones especificas como el control de los logs,el control del acceso,etc . Ejemplo del fichero de configuracion named.conf -master para un dominio autoritario . Generalidades: -cada linea se acaba con ; (punto y coma) -la sintaxis es muy sensible y cualquier carcter como la falta del ; representa un error grave. -el fichero contiene dos secciones ,la seccion global que hace referencia al modo de funcionamiento del servidor y que se defina en el container options y la seccion de las zonas para las cuales el servidor es autoritario. -la directiva directory del optionsque defina un directorio en el cual el servidor buscara los archivos en las cuales nos referimos a continuacion usando el camino relativo. - la ultima linea contiene una clave usada para la comunicacin entre rndc y named.Para generar la clave se usa el comando : /opt/bind/sbin/rndc-confgen Este es el fichero (configuracion minimal) #named.conf options{ directory/opt/bind/etc; }; zoneezztek.com { type master; file zoneEzztek.ro; }; include /opt/bind/etc/rndc.key; ####fin#### Este es el fichero zona para el dominio ezztek.com $TTL 3h; @ SOA ns1.ezztek.com admin.ezztek.com.( 3;serial 3h;refres in 3 hours 5m;retry in 5 minutes 3w;expire in 3 weeks 1h;mom in 1hour ) NS n1.ezztek.com. MX 10 mail.ezztek.com. ns1.ezztek.com A 192.168.0.3 ezztek.com. A 192.168.0.3 mail A 192.168.0.1 www CNAME mail pc1 A 192.168.0.5 ###fin###

El archivo zone esta formado por lineas que contienen: nombre_dominio tipo_RR valor_RR En el entero fichero zone ,los nombres de dominios deben ser FQDN y que acaben con punto . -dominio root. @es un carcter especial y representa FQDN. RR -RESOURCE RECORDS -tipos: SOA -Start of autority -declara el servidor autoritario para esa zona .En cada fichero zona debe existir un RR de tipo SOA. NS- Name server -declara el nombre del servidor autoritario para ese dominio.Obligatorio que se encuentre en cada fichero zona. A -Ipv4Address -Declara una corespondencia entre el dominio y el IP -resolucion directa. PTR-Pointer- echivalente entre IP y dominio . CNAME-Canonical Name -declara un alias de un recurso.Un alias representa otro nombre para la misma cosa.Este RR es opcional. MX-Mail Exchanger-declara un servidor de correo para esa zona.Se declara con una prioridad entre 0 y 65535. HERRAMIENTAS PARA TROUBLESHOOTING NSLOOKUP-es una herramienta que tiene como proposito la interogacion manual de los servidores dns. nslookup www.google.ro nslookup -type=MX mail.ezztek.com nslookup -all root@sandybell:~# nslookup -all

Set options: novc search timeout = 0 querytype = A srchlist = > www.ezztek.com Server: Address: 93.122.135.199 93.122.135.199#53 nodebug recurse retry = 3 class = IN port = 53 nod2

Non-authoritative answer: Name: www.ezztek.com Address: 74.208.120.6 El comando nslookup tambien en windows . DIG -es una herramienta muy completa. Dig output Flags : qr-query response aa-authoritative answer rd-recursion desired ra -recursion available ad -authenticated date

BIBLIOGRAFIAS http://www.isc.org/software/bind http://www.langfeldt.net/DNS-HOWTO/BIND-9/DNS-HOWTO-7.html#ss7.1 http://en.wikipedia.org/wiki/List_of_DNS_record_types http://www.kloth.net/services/nslookup.php Linux 6edicion,PRENTICE HALL

2.4COMPARTIR ARCHIVOS CON SAMBA El servidor samba ,se usa para compartir archivos en una red Linux-Windows.Tambien puede se puede usar como PDC-primary domain controller.

Caracteristicas: -comparte ficheros en linux/unix accesibles por usuarios windows. -compartir impresoras -crear un esquema de nombres para poder utilizar los nombres en lugar de direcciones IP -ofrece una alternativa a active directory con el LDAP. Componentes servidor :smbd y nmbd. Paquetes a instalar : root@sandybell:~# apt-get install samba samba-common smbfs smbclient The following NEW packages will be installed: cifs-utils samba smbfs Para administrar samba via web se instala el programa llamado swat. El archivo de configuracion del servidor samba es smb.conf dentro del directorio /etc/samba. Antes de editar el archivo se recomienda hacer una copia de este. root@sandybell:~# cp -p /etc/samba/smb.conf /etc/samba/smb.confOLD Ahora vamos a editar el archivo.Primero creamos el directorio /mnt/share,que vamos a compartir en el archivo de configuracion.(mkdir /mnt/share) root@sandybell:/etc/samba# mkdir /mnt/share root@sandybell:/etc/samba# chown -R share /mnt/share/ root@sandybell:~# nano /etc/samba/smb.conf root@sandybell:/etc/samba# smbpasswd -a share New SMB password: Con smbpasswd establecimos la contrasena para el usuario share,usuario que tendra permisos para acceder a los recursos compartidos del servidor samba. Cuando modificamos el archivo smb.conf,verificamos si los parametros son corectos con el comando testparm. root@sandybell:/etc/samba# testparm Load smb config files from /etc/samba/smb.conf rlimit_max: rlimit_max (1024) below minimum Windows limit (16384) Processing section "[share]" Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions

[global] workgroup = SAMBASRV

[share] path = /mnt/share username = share read only = No Ahora podemos reiniciar el servidor. /etc/init.d/samba restart o smbd restart Esto es todo! Ya tenemos nuestro servidor samba.Claro el fichero de configuracion es muy minimal ,pero ha sido usado solo para hacer el servidor funcional. Para acceder al recurso compartido a traves de la red desde una estacion windows ,se abre una ventana explorer y se escribe \\ip_servidor_samba.Pedira el nombre de usuario y la contrasena,en mi caso es user share,password share. A traves de Linux se puede abrir un navigator web y se escribe en la barra de direcciones :smb://ip_servidor .

BIBLIOGRAFIAS http://www.scribd.com/doc/16611596/Configurar-Samba-en-Debian

2.5 EL SERVIDOR WEB APACHE Representa un servidor que implementa el protocolo HTTP.Es el servidor web mas popular y tambien el mas rapido. Apache se instala desde las fuentes y se compilan o se instala con el manejador de paquetes de cada distribucion Linux.Se puede instalar tambien en sistemas Microsoft Windows y muchos usurios de

windows lo preferien antes el IIS el servidor web de Microsoft. Normalmente cuando se instala un servidor web ,el administrador instala el conjunto LAMP,que significa Linux,Apache,MySQL,Php/perl. Instalacion apache2.2.17 Antes de empezar con la instalacion se recomienda crear un usuario y un grupo bajo cual apache se ejecutara . root@sandybell:~# groupadd www root@sandybell:~# useradd -g www apache2 Vamos a bajar las fuentes : root@sandybell:~# wget http://apache.idilis.ro/httpd/httpd-2.2.17.tar.gz Despues de bajar las fuentes vamos desarchivarlas en el directorio donde las hemos bajado: root@sandybell:/opt# tar -xzf httpd-2.2.17.tar.gz root@sandybell:/opt# cd httpd-2.2.17 root@sandybell:/opt/httpd-2.2.17# root@sandybell:/opt/httpd-2.2.17# ./configure --prefix=/usr/local/apache2 --enable-so La opcion - - prefix representa el destino de instalacion del servidor y la opcion - - enable-so activara el modulo Dynamic Shared Object para poder acceder en el futuro a distintos modulos como por ejemplo mod_rewrite. Ahora vamos a instalar el servidor : make ,make install. La configuracion del servidor La primera modificacion sera en el fichero de configuracion del apache.Editamos : root@sandybell:~# nano /usr/local/apache2/conf/httpd.conf Una vez abierto el archivo debe quedar como el de abajo ,[...] representa lineas que deben ser ignoradas ,para esta configuracion minimal. ############ ServerRoot "/usr/local/apache2" ... <IfModule !mpm_winnt.c> <IfModule !mpm_netware.c> User apache2 Group www </IfModule> </IfModule>

... DocumentRoot "/usr/local/apache2/htdocs" ... <Directory "/usr/local/apache2/htdocs"> Options FollowSymLinks AllowOverride None </Directory> ... DirectoryIndex index.php index.html index.htm index.html.var ############# Damos permisos al directorio donde tendremos nuestros ficheros . root@sandybell:~# chmod -R 750 /usr/local/apache2/htdocs/* Reiniciamos el servidor : root@sandybell:~# /usr/local/apache2/bin/apachectl restart El siguiente es hacer unos cambios para que el servicio arranque con el sistema . root@sandybell:~# cp /usr/local/apache2/bin/apachectl /etc/init.d/ chmod 755 /etc/init.d/apachectl root@sandybell:~# chkconfig --add apachectl root@sandybell:~# chkconfig --level 35 apachectl on Con estas lineas ya tenemos nuestro apache instalado y configurado. Cuando tenemos mas de una pagina web en nuestra maquina hay que recurrir al virtual hosting. Si optamos por una instalacion clasica con el manejador de paquetes ,el servidor se instala por defecto en /etc/apache2/ y el fichero sera apache2.conf. Dentro del fichero tendremos la linea Include /etc/apache2/sites-enabled/[^.#]* Si nos situamos en ese directorio vamos a encontrar lo siguiente $cd /etc/apache2/sites-enables .Dentro del directorio vamos a crear los archivos de configuracion para cada dominio virtual que tengamos.Este es un ejemplo de archivo : ###############

<VirtualHost dev.example.com> ServerAdmin webmaster@localhost #We want to be able to access the web site using www.dev.example.com or dev.example.com ServerAlias www.dev.example.com DocumentRoot /home/myuser/public_html/example.com #if using awstats ScriptAlias /awstats/ /usr/lib/cgi-bin/ #we want specific log file for this server CustomLog /var/log/apache2/example.com-access.log combined </VirtualHost> ################# Otro ejemplo archivo configuracion ,con las directivas mas importantes y usadas para una optima configuracion: ########## #Ubicacion de los archivos de configuracion y los registros Apache ServerRoot /etc/httpd #accepta conexiones persistentes KeepAlive 0n #El numero maximo de peticiones en el tiempo de una conexin persistente MaxKeepAliveRequest 100 #El numero minimo de servidores libres MinSpareServers 3 #El numero maximo de servidores libres MaxSpareServers 10 #El numero de servidores en marcha al inicio del demonio StartServers 5 #El numero maximo de clientes conectados a la vez MaxClients 150 #El puerto en el que el servidor accepta conexiones Listen 80 #El usuario y el grupo User apache Group apache #La direccion de correo del administrador del sitio ServerAdmin webmaster@test.com #El nombre oficial del servidor

ServerName www.test.com #La ubicacin de las paginas web DocumentRoot /var/www/html #El nombre del directorio de las paginas web de los usuarios UserDir public_html #El nombre del fichero que contiene informaciones sobre el acces control AccesFileName .htaccess #Determina los nombres de las maquinas desde donde vienen las peticiones HostnameLookups On #Virtual Hosting NameVirtualHost * #Definicion para el servidor virtual www.test.com <VirtualHost *> ServerName www.test.com ServerAdmin webmaster@test.com DocumentRoot /var/www/html ErrorLog logs/error_log CustomLog logs/access_log combined </VirtualHost> <VirtualHost *> ServerName www.mada.ro ServerAdmin mada@mada.ro DocumentRoot /var/www/mada/html ErrorLog /var/www/mada/logs/error_log CustomLog /var/www/mada/logs/access_log combined </VirtualHost> #############

BIBLIOGRAFIAS : http://www.debuntu.org/2006/02/22/7-virtual-hosting-using-apache-2 http://tecnoloxiaxa.blogspot.com/2008/11/servidor-web-apache-instalar-y.html

http://www.linuxparatodos.net/portal/staticpages/index.php?page=como-apache http://httpd.apache.org/docs/2.0/vhosts/

2.6EL SERVICIO SSH

Secure Shell ,(ssh) ,representa una modalidad segura de conexin entre maquinas ,mediante el cifrado de la informacion antes de ser enviada por la red y proporciona autentificacion a traves de un sistema de claves publicas y privadas ,garantizando asi la confidencialidad de la informacion. El servicio puede ser usado tambien para el tunel de otros servicios de red. La version para linux se llama OpenSSH. Utilizacion clientes SSH Para la conexin a otras maquinas por el medio de protocolo ssh,se utiliza el programa ssh . La sintaxis es : ssh (opciones) usuario@maquina (comando) ,como en el ejemplo: root@sandybell:~# ssh root@80.x.128.x -p 45000 The authenticity of host '[80.x.128.x]:45000 ([80.x.128.x]:45000)' can't be established. RSA key fingerprint is 58:b9:1c:8e:cb:83:15:ee:98:51:9c:03:c4:ec:67:69. Are you sure you want to continue connecting (yes/no)? Tambien se puden copiar archivos de un host a otro ,con el comando scp: scp abc.odt zuzu@sandybell.ezztek.com:/home/zuzu El nombre scp singnifica securecopy. Para configurar una maquina acceptar conexiones ssh desde otras maquinas debe tener instalado el demonio sshd. Los ficheros de configuracion se encuentran en /etc/ssh ,/etc/ssh/ssh_config establece las opciones implicitas ,usadas tanto por el servidor y por los clientes ssh. Un ejemplo de fichero de configuracion /etc/ssh_config es el siguiente: ############ #El puerto que accepta conexiones,por defecto 22 Port 22 #No permite la entrada directa del usuario root en el sistema PermitRootLogin no #clase de journaling syslogd SyslogFacility AUTHPRIV #el nivel de journaling LogLevel INFO #Utiliza el sistema de autentificacion RSA RSAAuthentication yes #La autentificacion se hace a base de contrasenas de acceso PasswordAuthentication yes #no accepta contrasenas vacias PermitEmptyPassword no #Chequea la dirreccion de la maquina que intenta la conexin UseDNS yes #listado de usuarios a los cuales se les permite la entrada en el sistema ############## Para razones de seguridad se recomienda el implentar el portknoking (llamar a la puerta ) y cambiar el

puerto que se usa por defecto.

2.7.LA SEGURIDAD Y NETFILTER

Presentacion Netfilter representa un framework del kernel Linux,responsable con el filtrado de los paquetes ,la marcacion de estos para la prioritazacion del trafico,SourceNat,DestinationNat/PortForwarding ,etc. En comparacion con otros sistemas operativos como Windows,donde se pueden instalar una variedad de firewall,en Linux,Netfilter representa la unica posibilidad para realizar un firewall,NAT,etc. El soporte para el Netfilter debe ser compilado en el kernel o como modulo. Netfilter esta en el kernelspace,mientras iptables,esta en el user space siendo el comando que comunica con el netfilter. Firewall/Cortafuego Un firewall representa una componente de seguridad que separa una red de ordenadores o simplemente maquinas. Tipos de firewall: -Hardware (equipo dedicado,especialmente creado ,que tiene como proposito el filtrado de paquetes entre dos entidades. -Software (aplicacin que se ejecuta en un ordenador-servidor,junto a otros programas que tiene el mismo proposito como el firewall hardware. Hay tres generaciones de firewall: 1.Packet based -hace filtrado en los headers de L3 y L4 OSI.No diferencia los paquetes. 2.Circuit based o statefull firewall 3.Application Layer Firewall-lee los datos del nivel aplicacin -FTP,HTTP,DNS,etc. Netfilter respresenta un conjunto de los tres .Con netfilter se puede crear un fireall desde zero. Netfilter usa por defecto 5 chains,que son los puntos de interaccion con los paquetes. Los cinco son:

1.PREROUTING Este chain esta tocado de los paquetes antes de empezar el proceso de ruteo ,inmediatamente que el driver de la tarjeta de red ha acceptado el paquete. Ejemplo :DNAT 2.INPUT Por aqu pasan los paquetes destinados al host local. 3.OUTPUT Por este chain salen los paquetes generados del ordenador local. 4.FORWARD Por aqu van los paquetes que transitan el host.En este caso el ordenador es un router y une como minimo dos redes. 5.POSTROUTING Es el utimo chain por donde pasan los paqutes despues del routing.Por aqu pasan los paquetes que transitan el host si este es un Router y los paquetes generados de host. TABLAS Cada chain Netfilter esta asociado con un conjunto de reglas definadas en una tabla.Cuando un paquete toca un chain,este esta chequeado por cada regla de la tabla. Una regla contiene criterios y un target como ACCEPT,DROP o SNAT.Por ejemplo si queremos bloquear el puerto 80 ,el target seria DROP. Netfilter ofrece qutro tablas que contiene reglas que capturanlos paquetes y que se anaden a los 5 chains. Tablas netfilter: 1.filter -usado para el filtrado de los paquetes (ACCEPT o DROP) y se usa solamente en los chains FORWARD,INPUT o OUTPUT. 2.nat-usado para nat (network address translation) -SNAT y DNAT.Usa el PREROUTING para

DNAT y POSTROTING para SNAT. 3.mangle modifica los paquetes en los headers l3 y l4 ,modifica el tos,ttl,etc. 4.raw- Se usa en los chains OUTPUT y PREROUTING,para la marcacion de los paquetes que no deben ser procesadas por connection tracking system. THE STATE MACHINE Connection tracking es un componente de netfilter que ofrece a este el estado de firewall stateful.Este puede tomar decisiones en funcion de la relacion del paquete con los demas paquetes. Tiene quatro estados : 1.NEW -el primer paquete de una conexin generado por el host local se encuentra en el estado NEW. 2.ESTABLISHED -el paqute destinado al host local mandado anteriormente cambia de estado en ESTABLISHED en el momento en que entra en PREROUTING.Son todos los paquetes de una conexin menos el primer paquete que inicio la conexin y se encuentra en el estado NEW. 3.RELADED -en este estado se encuentran los paquetes relacionados a otra secuencia de datos. 4.INVALID -los headers de los paquetes contienen informaciones falsos. IPTABLES El comando iptables se usa para comunicar con el netfilter.El proposito del comando es de anadir,borrar ,listar,visualizar,etc, reglas de las quatro tablas estandard que van anadidas al los cinco chains. Por defecto no hay ninguna regla en las tablas,estan vacias.Implicito no hay firewall. Si el paquete no es capturado por ninguna regla de la tabla se ejecuta la politca por defecto que es ACCEPT .(-P ACCEPT). Estructura del comando iptables : iptables -t nombre_tabla -OPERACION_SOBRE_CHAIN NOMBRE_CHAIN -criterios -j TARGET . Es importante escribir con mayusculas la operacin ,los chains,y el target y con minisculas lo demas.Si no se escribe asi,iptables dara un error de sintaxis. Para crear un firewall solamente necesitamos un editor de textos,guardarlo ,darle permisos y decirle que arranque a cada reinicio del sistema. Para visualizar las reglas de nuestro firewall solamente escribimos en la consola : root@sandybell:~# iptables -vnL Saldra la respuesta de lo que tenemos establecido en las reglas,en mi caso : Chain INPUT (policy DROP 714 packets, 45305 bytes) pkts bytes target 0 0 0 ACCEPT 0 ACCEPT prot opt in out source 0.0.0.0/0 0.0.0.0/0 destination 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 flags:0x17/0x02 limit:

all -- loopback * tcp -- * *

avg 5/sec burst 5 0 0 DROP tcp -- * icmp -- * * * * 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 flags:0x17/0x02 icmp type 8 reject-with icmp-netstate

0 0 REJECT unreachable

8008 5234K ACCEPT all -- * RELATED,ESTABLISHED

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination

Chain OUTPUT (policy DROP 0 packets, 0 bytes) pkts bytes target 0 0 ACCEPT prot opt in all -- * out source destination 0.0.0.0/0 0.0.0.0/0 state

loopback 0.0.0.0/0 * 0.0.0.0/0

9112 1002K ACCEPT all -- * NEW,RELATED,ESTABLISHED root@sandybell:~#

Y este es el firewall de arriba ,un firewall bastante basico,casero ,pero eficiente! root@sandybell:~# more fw #!/bin/bash iptables -F iptables -A OUTPUT -o loopback -j ACCEPT iptables -A INPUT -i loopback -j ACCEPT iptables -A INPUT -p tcp --dport 80 --syn -m limit --limit 5/s -j ACCEPT iptables -A INPUT -p tcp --dport 80 --syn -j DROP iptables -A INPUT -p icmp --icmp-type 8 -j REJECT --reject-with icmp-net-unreac hable iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -P INPUT DROP iptables -P OUTPUT DROP He usado el state-machine, se acceptan conexiones establecidas por mi host,se acceptan conexiones hacia y desde el local host, se limita las conexiones hacia el servidor web sobre el puerto 80, en caso de flooding,y lo demas se rechaza. Ejemplo firewall avansado Se desea crear un firewall para un router Linux.El router tiene dos interfaces ethernet.La interfaz eth0 es LAN y eth1 es la del WAN.El proveedor internet nos da sola una ip publica ,y la subnet del LAN es 192.168.0.0/24. Se pide que los usuarios de la lan puedan accesar en Internet solo paginas web ,pueden leer el correo a traves del cliente mozzila thunderbird y se pueden conectar por ssh a otros servidores.Otros servicios no deben ser accesibles . El router no puede ser chequeado desde Internet con el ping ,solamente desde la LAN. ############FIREWALL PARA ROUTER LINUX################## #SECCION DE VARIABLES #################### LAN_ACCESS=22 25 80 110 143 443 #################### #Borrar cualquier regla de las tablas de todos los chains iptables -t filter -F iptables -t nat -F iptables -t mangle -F #Logging de los paquetes falsos enviados o recibidos por el servidor iptables -A INPUT -m state --state INVALID -j LOG --log-level info --log-prefix "INPUT INVALID PACKET" iptables -A OUTPUT -m state --state INVALID -j LOG --log-level info --log-prefix "OUTPUT INVALID PACKET" #DROP a los paquetes falsos recibidas o enviadas por el sevidor iptables -A INPUT -m state --state INVALID -j DROP iptables -A OUTPUT -m state --state INVALID -j DROP #Se permite el trafico loopback iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT

#ciclo para permitir los paquetes que transitan el router for PORT in $LAN_ACCESS do #se permiten los paquetes en la direccion LAN=>WAN iptables -A FORWARD -s 192.168.0.0/24 -p tcp --dport $PORT -j ACCEPT #se permiten los paquetes en la direccion WAN=>LAN iptables -A FORWARD -d 192.168.0.0/24 -p tcp --sport $PORT -j ACCEPT done #se permiten los paquetes DNS desde LAN hacia WAN,si no los usuarios no podran accesar paginas #web. iptables -A FORWARD -s 192.168.0.0/24 -p udp --dport 53 -j ACCEPT iptables -A FORWARD -d 192.168.0.0/24 -p udp --sport 53 -j ACCEPT #se bloquea el ping desde cualquier dirreccion al no ser de la red . iptables -A INPUT ! -s 192.168.0.0/24 -p icmp --icmp-type 8 -j DROP #drop para todo que no ha sido permitido ariba iptables -P FORWARD DROP

BIBLIOGRAFIAS

http://www.netfilter.org/documentation/FAQ/netfilter-faq.html http://www.netfilter.org/ http://www.informit.com/articles/article.aspx?p=421057&seqNum=2 http://www.vicomsoft.com/knowledge/reference/firewalls1.html

PARTE3. 3.1.ETICHAL HACKING Introduccion al hacking etico ,leyes Que significa el ethical hacking?El etichal hacking se define en la mayoria de las partes como una tecnica empleada por los hackers,o los especialistas en seguridad informatica,para simular ataques realistas sobre la red o los sistemas,con el proposito de proteger,aumentar la seguridad de la organizacin,encontrar las vulnerabilidades e implementar soluciones para esas vulnerabilidades. Los ethical hackers son personas que no danan un sistema,pero se comportan como los verdaderos hackers,teniendo las mismas habilidades,herramientas y la misma curiosidad que los verdaderos hackers.Algunas de las personas que se dedican al ethical hacking,han sido hackers recrutados por empresas ,y organizaciones estatales y han aprendido emplear sus amplios conocimientos para el bien de la sociedad. El ethical hacking se divide en tres categorias : White ethical hacking Esta tecnica puede ser empleada por cualquier persona de la organizacin.Hay herramientas comerciales para esto.La persona que usa tecnica tiene informaciones sobre la organizacin,sobre el personal ,y tiene acceso en la organizacin.No se necesitan conocimientos muy tecnicos para emplear esta tecnica en una empresa,pero si se necesita el acuerdo previo ,firmado por los gerentes de la organizacin. Gray ethical hacking Esta es una mezcla de white hacking,lo que acabamos de enunciar arriba, y black hacking.Esto significa que se usan algunas informaciones recibidas de los miembros de la organizacin y algunas tecnicas oscuras.Aqui se necesitan conocimientos tecnicos y personal cualificado. Black ethical hacking Esta tecnica es la mas recomendada ,ya que simula ataques realistas sobre la red,sobre los sistemas.Se usan herramientas especiales, y mucha atencion,ya que un error en el empleo de la tecnica puede causar danos graves a la organizacin. Para todas las tecnicas se pide el acuerdo de los gerentes de la organizacin,ya que cualquier intento de penetrar la red,sin el acuerdo escrito ,se castiga con la ley en vigor,de cada pais y se puede llegar a la prision.Hasta y el escaneo de puertos se considera ilegal. Antes de entrar mas en el tema tenemos que dejar muy claro que antes de proceder a conducir una auditoria de seguridad ,se establecen algunos protocolos por seguir y tambien dejar claro que es lo queremos proteger:el hardware,el software, y la informacion!Hoy en dia quien tiene la informacion tiene el poder! Tambien hay que respectar el principio -Confidentiality,Integrity,Availability(confidencialidad,intergridad y disponibilidad).

Tenemos que asegurar que los datos sean accesados por personas autorizadas,modificadas por esas personas,y que siempre sean accesibles y funcionables. Bueno cuando ya sabemos que es lo que queremos proteger,tenemos que prepar la auditoria.Esto no se hace en un dia.Se establece el objetivo,las tecnicas que se van a usar,se buscan las vulnerabilidades.Si se consigue el acceso dentro del objetivo,se siembra pruebas!Luego se elabora un informe sobre lo que se ha encontrado y las tecnicas usadas,consejos para implementar seguridad,y se presenta a los duenos de la empresa. TIPOS DE ATAQUES ACTIVOS o PASIVOS DESDE DENTRO o DESDE FUERA Un hacker etico siguie los mismos procedimientos o procesos como un hacker malicioso. Estos son los pasos que sigue un hacker malicioso y tambien los que se seguiran en un proceso de auditoria de seguridad. 1.RECONOCIMIENTO > 2.SCANNING > 3.OBTENER EL ACCESO > 4.MANTENIMIENTO DE ACCESO > 5.CUBRIR LAS HUELLAS FASE 1.Reconocimiento pasivo y activo El reconocimiento pasivo implica la obtencion de la informacion sobre el objetivo sin el conocimiento de la empresa o del individuo.Puede ser tan simple como la observacion del edificio de la empresa y el orario de los empleados.Aqui entra tambien la tecnica llamada ingeneria social . El reconocimiento activo implica mas riesgos que el pasivo ya que se sondea la red para averiguar ip,numero de hosts en la red.Este tipo de reconocimiento le puede dar a un hacker informacion sobre la seguridad del objetivo pero tambien puede ser descubierto. FASE 2. Scaning Hay varios tipos de escaners:de puertos,de red,de vulnerabilidades,y todos ellos estan empleados por los hackers para obtener informacion sobre el objetivo que desean atacar y explorar. FASE 3. Obtener el acceso En esta fase interviene el ataque real con la ayuda de la informacion recojida con la ayuda de las tecnicas de scanning y reconocimiento. Se emplean ataques dos, sesiones hijacking, buffer overflow,etc.En el lenguaje de los hackers esto se llama Owning the system-ganar el sistema o ser el proprietario del sistema. FASE 4. Manter el acceso Una vez que el hacker ya tiene el acceso al sistema ,quiere mantener el acceso para futuras exploataciones u otros ataques sobre otras victimas.Asi es mas dificil ser descubierto. Esto se hace con la ayuda de los troyanos,los backdoors-(puertas traseras) y los rootkits. FASE 5. Cubrir las huellas Esta tecnica se usa para no ser descubiertos por el personal IT de la organizacin,o el

administrador del sistema,con el proposito de poder usar cuando quieran el sistema . Tal como hay varias tecnicas de hacking, tambien hay varios tipos de hackers. White hats -son los chicos buenos , los profesionales-hackers eticos que usan sus conocimientos para aumentar la seguridad . Black hats -los hackers maliciosos y los crackers forman esta categoria.Utilizan sus conocimientos con propositos ilegales y tienen malas intenciones.Son muy peligrosos. Gray hats - son una mezcla de white y black hackers.Usan sus conocimientos dependiendo de cada situacion. Tecnicas de etichal hacking -ataques remotos -ataques remotos dial-up -atques locales -robo de equipos -ingeneria social Hay otros tipos de ataques tambien pero estos son los mas usados. Tipos de testeo Black box -supone testeo de seguridad sin conocimientos previos sobre la organizacin.Este tipo de testeo simula un ataque real . White box -se tiene conocimientos sobre la organizacin ,la red y los empleados. Gray box - se usa para el testeo interno,usa una mezcla entre las dos enumeradas anteriormente. LA LEY Y LOS HACKERS En todo el mundo hay leyes sobre la tecnologia de la informacion,leyes que hablan de la seguridad,de las normas de seguridad que cada organizacin y persona tienen que implementar para el bienestar de cada uno,pero tambien hay leyes que castigan a los delicuentes informaticos. Estas leyes diferen en cada estado.Las mas estrictas son en USA,ya que alla han habido muchos ataques en el pasado,ataques que han puesto en peligro la seguridad de las instituciones estatales,la seguridad de la gente,por ejemplo ataques a los sistemas de los aeropuertos. Se castiga incluso el escaneo de una red o host sin autorizacion previa,por eso antes de hacer una auditoria de seguridad o un pent test ,primero hay que obtener el acuerdo escrito de los gerentes o de la persona que responde legalemente del objetivo. Por ejemplo en los Estados Unidos ,las leyes 1029 y 1030 ,hablan del castigo de los hackers directamente sin importar que han intentado hacer,ya sea un simple escaneo de un ordenador. En Rumania la ley es un poco mas permitiva, y los jovenes son absueltos de culpa,y se le dan otras oportunidades,dependiendo de la gravedad del ataque.No creo que alguien ha sido encerrado por escanear una red,y tampoco creo que ha sido denunciado ,si ha sido descubierto por el administrador de la red.Lo mas posible,para el administrador que ha descubierto eso,le viene en la mente la expresion ojo por ojo y diente por diente ,y espera otras ocasiones de intento por parte del curioso.

3.2TECNICAS Y HERRAMIENTAS USADAS POR LOS HACKERS

INGENERIA SOCIAL La ingeneria social ,segun wikipedia,es un termino por el cual se entiende la capacidad de manipular ,y mentir a los demas con el proposito de obtener lo que se desea,en nuestro caso ,obtener informaciones sobre el interval orario de trabajo,el numero de ordenadores,los nombres o las contrasenas de usuarios,etc. Por ejemplo,algunos de los hackers se pueden pasar por administradores de sistemas por telefono,diciendo que han olividado la contrasena de algun ordenar del trabajo ,y que necesitan urgente accesarlo desde casa ,para hacer algunas actualizaciones en el weekend,y si el lunes cuando el vuelva no estan hechas el director general le hechara la bronca.Claro,la gente inocente se lo crea, y por supuesto quieren ayudar.Las mas engandas son las mujeres. Uno de los mas famosos hackers,Kevin Mitnick uso esta tecnica .Al final FBI lo ha pillado y claro lo ha enviado directamente a la carcel.Al salir,Kevin se ha transformado en proveedor de servicio de seguridad. Ingeneria social se divide en dos areas : -human based cuando las personas interaccionan para conseguir la informacion deseada. -computer based cuando se usa el software para conseguir esa informacion.Un ejemplo de ingeneria social computer based es el ataque de tipo phishing . El phishing consiste en eviar un e-mail y por lo general ,el hacker se hace pasar por un banco o una entidad financiera.Las solicitudes de correo electronico piden al destinatario que confirmen la informacion bancaria o el codigo PIN.Al hacer click el usuario es redirectado a otra pagina web falsa.El hacker captura esa informacion y la utiliza e incluso hace tranzacciones electronicas,compras online,y transferencias bancarias. CONTRAMEDIDAS: Ninguna entidad bancaria no nos pedira los datos personales por e-mail o por telefono.El codigo pin de nuestras targetas o cuentas lo sabemos solo nosotros,y es confidencial. Otra medida es mirar al hacer click en la supuestas pagina bancaria,mirar antentamente como se cambia la dirreccion,a veces en lugar de nombres de dominios se utlizan direcciones IP,como por ejemplo 188.10.17.120/ingreso.php . 3.3EXPLORACION,ENUMERACION Es la primera parte del proceso de hacking.Nadie se pone a hackear un sitio web o una red,sin tener unos conocimientos previos sobre los objetivos.Estos se establecen con la ayuda de los utilitarios que son publicos y al alcance de todo el mundo,ademas muchas empresas dejan sus datos en sitios web,sitios de mucha importancia para los hackers. Los profesionales llaman a esta primera parte seguir el rastro.Seguir el rastro es la recopilacion de informaciones sobre el objetivo. Tecnologia e informacion critica que pueden identificar los atacantes: Tecnologia Identifica

INTERNET

Nombres de dominio Bloques de red Direcciones IP especificas de sistemas alcanzables via Internet Servicios TCP e UDP funcionando en cada sistema identificado Arquitectura de sistemas Mecanismos de control de acceso y listas de control de acceso-ACL Sistemas de detection de intrusos Enumeracion del del sistema Protocolos de red en uso Nombres de dominio interno Bloques de red Direcciones IP especificas via intranet Servicios tcp y udp funcionando en cada una de los sistemas identificados ,etc idem como en el campo anterior. Numeros de telefono analogico/digital Tipo de sistema remoto Mecanismo de autentificacion Origen y destino de la conexion Tipo de conexion Mecanismos de control acceso

INTRANET

ACCESO REMOTO EXTRANET

Como punto de partida tomemos como ejemplo la pagina web de la empresa objetivo.Hoy en dia todas las empresas tienen una pagina web.Alla se pueden ver incluso las opciones de configuracion de seguridad y otros puntos de interes como : ubicaciones entidades relacionadas numeros de telefonos direcciones de correo electronico etc Tambien se recomienda revisar el codigo fuente HTML,donde los programadores dejan comentarios interesantes . Es importante revisar el codigo sin estar conectado ,para que sea mas rapido. Herramintas para copiar el codigo fuente : Wget para Unix/Linux (http://www.gnu.org/software/wget/) TeleportPro para Windows (http://www.tenmax.com/teleport/pro/home.htm) Un sitio muy bueno para empezar a recopilar informacion es el buscador http://www.altavista.com/ . Como contramedida se recomienda elimanar cualquier informacion inecesaria en las paginas web y leer una documentacion de seguridad muy buena elaborada por IETF-Site Security Handbook. Otras herramientas interesantes que suelen ser usadas mucho son: Domain name lookup Whois

Nslookup Sam Spade Por ejemplo la base de datos whois nos da como resultado el nombre de los proprietarios,los nombres de dominios,el nombre de la persona responsable de la parte IT,numeros de telefonos : root@sandybell:/home/zuzu# whois ezztek.com

domain: created: last-changed: registration-expiration:

ezztek.com 07-Dec-2010 07-Dec-2010 07-Dec-2011

nserver: nserver:

ns51.1and1.com 74.208.2.8 ns52.1and1.com 74.208.3.7

status:

CLIENT-TRANSFER-PROHIBITED

################################################### La pagina web de sam spade era www.samspade.org,no se si aun funciona,en este momento la quiero accesar pero no puedo!Tal vez la han removido como han removido la pagina de milw0rm,una pagina llena de exploits y herramientas de hacking .

ENCONTRAR EL RANGO DE DIRECCIONES IP DE LA RED

Cada ethical hacker debe entender como encontrar el rango de direcciones ip y la mascara de subred.Las direcciones IP estan usadas para localizar ,escanear y conectarse al objetivo .Para este objetivo se suele usar los registros Internet como ARIN o IANA-internet assigned numbers authority. Tambien se necesita saber la localizacion geografica del target.Esta se puede averiguar con la ayuda de las herramientas traceroute (una herramienta que no debe faltar a ningun administrador de red),VisualTrace,y Neotrace.Traceroute se utiliza en Linux,para Windows tenemes su equivalencia en

tracert. Traceroute trabaja con ICMP y esto manda un echo a cada hop-router o gateway hasta que el destino esta localizado.Cuando el ICMP devuelve la respuesta al router ,la TTL,(time to live) esta disminuyendo por cada router del camino.Esto permite a un hacker averiguar cuantos hops hay desde origen hasta destinacion.

*Otras herramientas:finger,rpcinfo ,rpcdump,rwho,rusers. La forma clasica de enumerar aplicaciones en los sistemas es dirigir la entrada hacia un puerto que se encuentre en la escucha,utilizando netcat.

LOS ESCANERS NMAP Los hackers usan en la primera fase de la pirateria la exploracion y la enumeracion en la localizacion de redes .La enumeracion es la continuacion del escaneo para identificar los nombres de equipo ,nombres de usuarios y acciones. ESCANEO DE PUERTOS,DE REDES Y DE VULNERABILIDADES Cuando las etapas de reconocimiento activo y pasivo se han completado se realiza la exploracion.La exploracion se utiliza para determinar si un sistema esta en la red y si esta disponible.La herramientas de exploracion se utilizan para recopilar informacion sobre un sistema tal como como direcciones IP,el sistema operativo,y los servicios que se ejecutan en el equipo destino. Tipos de escaneos de puertos: 1.TCP connect scan PORT OPEN PORT CLOSED

1-----SYN--------------> <----SYN/ACK--------------2 3-------ACK---------->

1---------SYN-------> <---------RST--------2

Se realiza un 3-way handshake completo con el target.El escaner NMAP utiliza esta tecnica por defecto.Es un metodo sin ventajas por que hay mucha comunicacin antes de obtener la informacion.Utiliza muchos recursos y es facilmente detectado por IDS (intrusion detection system) La unica ventaja es que no necesita privilegios especiales,y puede ser ejecutado por cualquier usuario.El nombre viene de la funcion de system connect () Se ejecuta nmap -sT VICTIMA 2.SYN scan PORT OPEN 1----------SYN--------------> <-------SYN/ACK----------2

PORT CLOSED 1---------SYN--------------> <---------RST--------------2

Es un metodo que ofrece mas ventajas que connect scan por que no se finaliza el 3-way handshake completamente.Se necesitan privilegios de root.Muchos IDS no detectan esta tecnica. Se ejecuta nmap -sS VICTIM 3.Null Scan Representa una modalidad de escaneo de los puertos TCP que supune el envio de paquetes TCP sin ningun FLAG establecido ,lo que representa una anomalia.El estandard RFC especifica que el puerto abierto que no responde y el puerto cerrado responde con reset al recibir un paquete TCP sin ningun bit establecido.Ademas este tipo de escaneo no se registra siempre en los logs. Se ejecuta nmap -sN VICTIM 4.Fin Scan Representa una modalidad de escanear los puertos TCP y supone el envio de paquetes TCP con el bit fin establecido.El puerto abierto responde,y el puerto cerrado responde con reset.Los sistemas Windows no dan muchas veces informaciones correctas ya que el Windows no respecta el estandard. PORT OPEN PORT CLOSED 1----------FIN---------> 1---------FIN---------> <---------RST---------2

5.Ack scan Se usa para identificar la implentacion de un cortafuegos.Tanto los puertos abiertos como los puertos cerrados responden con RST.Los puertos que no responden estan filtrados.No se utiliza para averiguar si un puerto esta abierto o cerrado. 6.Xmas-tree-scan PORT OPEN PORT CLOSED 1------URG/PUSH/FIN----------> 1------URG/PUSH/FIN-------> <------------RST----------------2

Representa una modalidad de escanear los puertos TCP que supone el envio de los paquetes TCP con los bits urg,push y fin establecidos.El puerto abierto no responde y el puerto cerrado responde con reset. 7.Window Scan Detecta si un cortafuegos esta implementado y si es statefull.Los puertos cerrados responden con window size=0 y los abiertos con window size > 0 . 8.Idle Scan Representa una modalidad de escanear puertos que supone no enviar paquetes con el IP origen de la persona que realiza el escaneo.Asi no existe ninguna modalidad de descubrir la fuente del escaneo. Por ejemplo idle scan con la fuente 192.168.2.223 nmap -S 192.168.2.223 -e eth0 -p 22 -v -P0 192.168.3.1 *La direccion de la victima es 192.168.3.1 9.Decoy Scan Otra modalidad para esconder la identidad del que lanza el escaneo aparte de idle scan es la tecnica decoy scan.O simplemente escaneo con trampas.Ademas del paquete enviado al target que contiene el proprio IP fuente se envian otros paquetes con otros IP de los host decoy.La victima observara el escaneo pero no sabra detectar el host real. nmap -D 10.0.0.1,10.0.0.2,10.0.0.3,10.0.0.4 -v -P0 -p 22 192.168.3.1 Mas informaciones sobre como funciona nmap se encuentra en la pagina del programa http://nmap.org/ y http://insecure.org/ HPING Otra herramienta muy poderosa y peligrosa es hping.Hping se utiliza para ataques TCP/UDP. Es un generador de paquetes que realiza: 1.El testeo del TCP/IP 2.El escaneo de un host o de redes ,incluso para el idle scanning 3.El testeo de un cortafuegos (firewall audit) 4.Ofrece ayuda para aprender las nociones de networking que hacen referencia a TCP/IP 5.Instalacion de un backdoor. Hping no viene instalado por defecto,por eso se tiene que instalar La version actual es hping3. Se usa hping3 OPCIONES TARGET OPCIONES: -c nr =numero de paquetes enviados -p nr =el valor del puerto destinacion -s nr =el valor del puerto origen -d nr =la longitud de los datos del paquete ip en bytes -t ttl =el valor del ttl del header IP -etcetera. Por defecto hping realiza null-scan (envio de los paquetes sin ningun bit establecido).Hping utiliza como puerto destinacion 0 (cero). hping3 -c 1 192.168.0.14

1.La verificacion del modo de funcionamiento del TCP y UDP Siendo un generador de paquetes (podemos crear la estructura de un paquete a nuestro gusto) hping es una herramienta excelente para seguir el modo de funcionar de los protocolos TCP y UDP. El escaneo de puertos UDP En el caso UDP el host contesta con ICPM destination unreachable-port unreachable hping3 -2 192.168.0.14 -p 53 -c 1 -i 1 2.TCP Dos Atack/Syn Attack (half-open connections) Este tipo de ataque se realiza facilmente y es muy destructivo especialmente si el ataque se realiza simultaneamente desde varios hosts.El procesador de la victima puede subir hasta 100% y se bloquea. Hping envia un paquete TCP con el bit syn establecido ,recibe syn/ack y TCP/IP responde con rst al recibir el syn/ack.Para evitar el envio de los paquetes con el flag reset establecido ,generamos paquetes con el IP origen falso (spoofed ip) .El host con el ip falso puede existir o no.Entonces la victima envia syn/ack a un host inexistente y no se le devuelve el reset. hping3 -a 192.168.0.105 -S -i u1 -c 99999999999 192.168.0.100 -p 22 , donde -a 192.168.0.105 =el ip origen del paquete de un host inexistente -S =el bit syn establecido -i 1 = se intenta el envio a cada microsegundo -c 999999999999 = se envian 9999999999999 paquetes 192.168.0.100 =el ip de la victima -p 22 =el puerto destinacion es 22 3.Port scanning Los puertos se especifican como 22,25,30 o 1-100 o known (los de /etc/services) y la opcion -V nos ensena todas las respuestas recibidas de hping por cada puerto escaneado. hping3 scan 1,2,22-3438,known -i 1 -c 1000 -S 192.168.0.13 -V *-rand-source ,manda paquetes con la fuente aleatoria.Es util para el estress del cortafuego. 4.Traceroute Hay otras modalidades del funcionamiento pero no las voy a explicar aqu.Me voy a detener un poco sobre el IDLE SCAN. Consiste en una serie de escaneo de puertos sin enviar ni un solo paquete con la IP real del que explora la destinacion. El concepto entero se basa en el campo IDENTIFICATION del header IP. Como funciona: Cada servidor escucha por un puerto (este esta abierto).Para verificar si el puerto esta abierto se manda un paquete SYN a ese puerto.Si esta abierto responde con SYN/ACK ,y si esta cerrado responde con RST . Para cada paquete enviado del host escaneado Identificacion esta aumentando.Combinando estos principios se puede realizar idle scanning.

Con nmap se puede averiguar tambien el sistema operativo incluso si no existen puertos abietos en el sistema destino,el programa puede realizar suposiciones razonables sobre cual es el sistema operativo. root@sandybell:/home/zuzu# nmap -p 80 -O 10.80.61.xxx Host is up (0.000099s latency). PORT STATE SERVICE 80/tcp open http Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port Device type: general purpose Running (JUST GUESSING) : Linux 2.6.X (92%) Aggressive OS guesses: Linux 2.6.27.21-grsec (92%), Linux 2.6.22 (86%), Linux 2.6.19 - 2.6.31 (86%), Linux 2.6.21 - 2.6.27 (86%)

No exact OS matches for host (test conditions non-ideal). Network Distance: 0 hops

OS detection performed. Please report any incorrect results at http://nmap.org/submit/ . *Otro programa que realiza esta operacin se llama queso. *Herramientas automaticas de descubriemiento :cheops,scotty . EL HACKEO DE SISTEMAS Casi todos los intentos de hackeos empiezan con romper contrasenas.Las contrasenas son las llaves para obtener la informacion accesando el sistema.La mayoria de los usuarios eligen contrasenas facilmente recordables pero muy intuitivas como la fecha de nacimiento,el nombre del gato. Las contrasenas pueden ser adivinadas o simplemente se pueden romper con la ayuda de herramientas de fuerza bruta ,con diccionarios de palabras o automaticamente con otras herramientas de espcialidad. Generalmete los hackers sigueien estos pasos: 1.encuentra un usuario valido como INVITADO o Administrador 2.crean una lista con posibles contrasenas 3.intentan el rango de contrasena de alta a baja probabilidad 4.intentan hasta consiguien los resultados deseados

En esta parte hablare solo de hacking unix/linux.Por que?Por que he oido a mucha gente diciendo que si tienen Linux instalado en el sistema no pueden ser hackeados y tampoco tienen vulnerabilidades.Un error muy grave!!!Todo el sistema que no esta protegido y bien configurado esta vulnerable.Por que me sirve un sistema Linux para un servidor si no implemento un cortafuegos ???Ya sabemos que en linux netfilter viene default con todos los chains en ACCEPT. Los hackers intentan capturar cualquier sistema que esta conectado a Internet ,no importa si es Windows,Linux,Unix o Novell. Bueno,vamos alla! Ya sabemos como identificar un sistema en la red y como utilizar los exploradores de puertos tales como nmap para identificar puertos TCP/UDP,abiertos asi como para tomar huella digital del sistema operativo o dispositivo en cuestion. Normalmente los hackers utilizan rpcinfo y showmount para enumerar ,respectivamente servicios RPC y puntos de montaje NFS.Incluso usan el programa netcat (nc) -the tcp/ip swiss army para capturar comentarios o informaciones como las aplicaciones en uso y sus versiones.Para llevar a cabo cualquier tipo de exploatacion unix sera necesario analizar las huellas y reconocer la red. Mapa de vulnerabilidades Para detectar posibles agujeros en la seguridad del sistema los atacantes necesitan conocer cierta informacion sobre los servicios de escucha,las versiones de los servidores en ejecucion ,la arquitectura del sistema e informacion sobre los nombres de usuarios,etc.

Esto se consigue atraves de los programas publicos de exploatacion publicados en las listas de correos sobre seguridad,utilizar herramientas automaticas de rastreo para identificar vulnerabilidades ,tales como Nessus(para propositos comerciales hay que comprar la licencia) y SAINT. La seguridad de la contrasena es tan importante que sin ella ningun sistema sera nunca seguro.Es posible instalar una docena de firewalls,y aun asi ,si las contrasenasa son vulnerables ,el sistema Linux seria una puerta abierta. Los ataques a contrasena son lo primero que aprenden los piratas o los intrusos.Actualmente cualquier puede romper contrasenas de Linux utilizando herramientas automatizadas. Los que inicialmente consiguen el acceso a cuentas limitadas consiguien facilmente la contrasena de root y arrebatan no solo el host sino varios,por que mucha gente pone la misma contrasena a las sistemas de la red para recordarla facilmente. Un hacker puede usar distintos tipos de ataques para conseguir las contrasenas : Pasive online (incluye sniffing,man in the midle atack) Active online (adivinar la contrasena de administrador) Offline (fuerza bruta,diccionario) Nonelectronic (ingeneria social,keyloggers) Pasive online atack /ataque pasivo online Un ataque pasivo online tambien se conoce como sniffing the password en una red con cable o wireless.Los usuarios no detectan este tipo de ataque.La tecnica se llama man in the middle atack,o el hombre de por medio como se puede traducir.Se puede realizar con el programa ettercap o qualquier interceptor de paquetes en la red.El atacante se situa logicamente entre el router y los host, y todo el trafico generado de los host hacia el router y viceversa pasa primero por el ordenador del hacker .Esta tecnica incluye tambien el ARP spoofing,pero hablare mas adelante sobre la seguridad del protocolo ARP (address resolution protocol).

Ataques de fuerza bruta Es la forma de ataque mas basica ,se adivinan las contrasenas por fuerza bruta.Los servicios mas comunes que se pueden forzar utilizado este tipo de ataques son: -telnet -protocolo de transferencia dew archivos (FTP) -los comandos r (rlogin,rsh,etc) -Secure Shell (ssh) -protocolo de oficina de correos (pop -post office protocol) -protocolo de transporte de hipertexto (http/https)

Las herramientas que se usan para este tipo de ataques son muchas pero las mas usadas son brutus para realizar fuerza bruta y john the ripper que realiza fuerza bruta y ataque por diccionario. Tiene un diccionario con palabras que pueden ser contrasenas tipicas, y las va probando todas. Para cada palabra, la cifra y la compara con el hash a descifrar. Si coinciden, es que la palabra era la correcta. Esto funciona bien porque la mayor parte de las contrasenas que usa la gente son palabras de diccionario. Pero John the Ripper tambin prueba con variaciones de estas palabras: les anade numeros, signos, mayusculas y minusculas, cambia letras, combina palabras, etc. John The Ripper es uno de los crakeadores de contraseas ms utilizados. Es muy rpido debido a que no usa la funcin crypt ya que cuenta con sus propias libreras. Es capaz de descifrar DES, MD5 y Blowfish. Se pueden crear sesiones y continuarlas en cualquier momento. Para empezar a usar el programa necesitamos los ficheros que contienen las contraseas. /etc/passwd y en el caso de que este el shadow activado seria el /etc/shadow. Como se utiliza?Primero bajamos el programa desde la pagina http://www.openwall.com/john . root@sandybell:/opt# wget http://www.openwall.com/john/g/john-1.7.7.tar.gz root@sandybell:/opt# gunzip john-1.7.7.tar.gz root@sandybell:/opt# tar -xvf john-1.7.7.tar Nos situamos en la carpeta john/src root@sandybell:/opt# cd john-1.7.7 /src Ejecutamos el make para compilar el programa ,pero si ejecutamos make simple nos saldra una lista y tendremos que elegir la configuracion de nuestro sistema.Yo eligo linux-x86-sse2. root@sandybell:/opt/john-1.7.7/src# make "linux-x86-sse2" Cuando acaba la compilacion nos situamos en el directorio run . root@sandybell:/opt/john-1.7.7/run# ls all.chr alpha.chr john lanman.chr password.lst unique unafs unshadow

alnum.chr digits.chr john.conf mailer

En ese directorio tendremos el fichero de configuracion del programa,john.conf . Algunos ejemplos de las secciones son:

[Options] Wordfile: fichero con lista de palabras para el diccionario Idle: John the Ripper, con esta opcin a Y (yes), se ejecutara mientras el procesador se encuentre en reposo. Save: Cada cuantos segundos se almacena el estado del proceso, par volver a recuperarlo mas tarde. Beep: Se oira un Beep cada vez que se encuentre una contrasena En la carpeta run se encontraran otros ficheros que el programa John the Ripper utilizara para diversos objetivos. Por ejemplo: passwd.lst: Este archivo contendra el diccionario para realizar un ataque con diccionario. john.pot: En este archivo se almacenan las contrasenas crackeadas, para no volver a crackearlas. restore: Este archivo guardara informacion sobre el estado del proceso en determinados momentos para poder restaurarlo a partir de donde se dejo. *.chr: Contendr los caracteres (de forma no legible) que debe combinar john the ripper para realizar ataques por fuerza bruta. Opciones ejecucion single: Modo single crack, en el que utiliza informacin personal para romper una contrasea (finger), con las reglas escritas en la seccin [List.Rules:Single] del fichero john.conf wordfile:FICHERO: Ser el fichero que se emplee para un ataque con diccionario. rules: Activar el uso de reglas en el modo wordlist (diccionario). session:FICHERO: Sera el fichero en el que se almacenara la sesion actual para, en caso de ser detenida por el usuario durante su ejecucion, pueda seguir donde se encontraba antes de ser detenido. En caso de no ser especificada esta opcin, se almacenara en el fichero por defecto restore.

restore Como se ejecuta root@sandybell:/opt/john-1.7.7/run# ./unshadow /etc/passwd /etc/shadow > passwd.1 root@sandybell:/opt/john-1.7.7/run# ./john -single passwd.1 Loaded 2 password hashes with 2 different salts (generic crypt(3) [?/32]) Loaded 2 password hashes with 2 different salts (generic crypt(3) [?/32]) guesses: 0 time: 0:00:00:06 24% c/s: 28.19 trying: Stela8 - ste1a guesses: 0 time: 0:00:00:53 100% c/s: 28.88 trying: stela1921 - stela1900 *el usuario stela lo hemos creado al principio de la documentacion .Curiosamente ya no me acurdo la contrasena por que lo he creado solamente para ejemplificar el comando useradd. :) vamos a ver como trabaja el programa. root@sandybell:/opt/john-1.7.7/run# ./john -w:password.lst passwd.1 Loaded 2 password hashes with 2 different salts (generic crypt(3) [?/32]) 1234 (stela)

root@sandybell:/opt/john-1.7.7/run# ./john -i:All passwd.1 Loaded 2 password hashes with 2 different salts (generic crypt(3) [?/32]) Remaining 1 password hash root@sandybell:/opt/john-1.7.7/run# ./john -show passwd.1 stela:1234:1001:1001::/home/stela:/bin/sh 1 password hash cracked, 1 left

3.4TROYANOS ,ROOTKITS Un troyano es un programa malware,y tiene como proposito sacar todas las informaciones sobre el sistema para conseguir el control total de este. Hay varios tipos de troyanos:de correo,de puertas traseras, y de servidores. La mayoria son de correo.Uno de tipo backdoor circula rapidamente y se propaga por la red.El de servidor esta pensado que se ejecute en el sevidor con el proposito de infectar a los que acceden el servidor. Esta compuesto por dos partes: 1.Llamado a veces builder o cliente.Con este el hacker configura el troyano para enviarlo a la victima.Despues se guarda la configuracion y se crea la segunda parte del troyano. 2.FileServer.Es el resultado de la compilacion y la configuracion de la primera parte.Este file se envia a la persona target. Como funciona? Una vez llegado al sistema target automaticamente ejecuta y utiliza las configuraciones creadas.Estas son algunas de sus funciones: -infecta un proceso del sistema -se une a un archivo del sistema de maxima importancia -robo de informaciones y contrasenas -auto startup,se ejecuta automaticamente despues de cada reinicio -trabaja con el registro del sistema,modifica,crea,anade parametros -keylogger -cambio de la configuracion de la pantalla y del raton -autodestruccion del sistema Para tener xito se usan un programa llamado cryptor ,que tiene como proposito hacer el troyano indetectable por el antivirus. Un troyano muy conocidor y poderos para sistemas windows es SubSeven.

Los troyanos pueden surgir en cualquier parte del sistema pero no aparecen de repente ni se pueden propagar sin la intervencion humana. Por esto hay que tener cuidado al bajar software desde el Internet.Otros troyanos :computerSpy Keylogger,subroot,LetMeRule. Netcat puede ser usado como troyano ,ya que usa la interfaz de comandos para abrir conexiones TCP o UDP,en el sistema objetivo.Un hacker puede usar despues telnet en esos puertos para obtener el acceso a la shell del sistema. Rootkit es termino que se refiere a un programa con lo cual un intruso tiene acceso a un sistema y puede esconder su presencia con el.El concepto no es nuevo,es utilizado de hace mas de 10 anos. Algunas caracteristicas: -esconde ficheros -esconde directorios -permite el acceso remoto desde otro sistema (presenta un problema de seguridad) No siempre este tipo de programas tienen carcter o utilidad mala.Es solo una tecnologia,y su utilidad depende de la persona que lo utiliza. Por ejemplo los de la empresa Sony han creado un rootkit XPC con el proposito de impedir que algunos cds puedan ser copiados. Otras personas crean este tipo de programas para conseguir beneficios financieros o informaciones que valen dinero-contrasenas,cuentas,cuentas de correo,etc) La mayoria de los antivirus tienen funciones de deteccion de rootkits,basadas en firmas .Tambien hay herramientas creadas solamaente para este proposito,por ejemplo Patchfinder y VICE.La primera aplicacin compara el nombre de instrucciones ejecutadas por ciertos servicios con el nombre de instrucciones de un sistema limpio.La segunda verifica el modo en el que las funciones de API-Windows se ejecutan y al detectar una anomalia anuncia al usuario. Para linux los programas que detectan los rootkits son chkrootkit y rkhunter . Otra utilidad muy interesante y potente para detectar codigo danino y ataques es la herramienta tripwire .Esta aplicacin verifica la integridad de los archivos.

3.5SNIFFERS En wikipedia la definicion para los sniffers es la siguiente: Un packet sniffer es un programa de captura de las tramas de una red de computadoras. Para decir mas corto un sniffer escucha a escondidas en rede local.Algunos sniffers muy sofisticados interpretan los paquetes y puede reasamblarlos en el contenido original . Antes eran herramientas para depurar la red.Ahora son las herramientas mas usadas por los hackers.Capturan,interpretan y almacenan los paquetes que viajan por la red. Para los administradores de red los sniffers son las herramientas que no pueden faltar del almacen de programas siendo al mismo tiempo muy apreciados por los hackers y la gente malvada que pueden usar los sniffers para el espionaje industrial(vender informacion de la empresa donde trabajan a otra empresa del mercado). Los sniffers ponen la tarjeta de red en modo promiscuo , y asi reciben todos los paquetes que

viajan por la red ,mientras que normalmente una interfaz de red de Ethernet descarta cualquier trafico que no va dirigido a ella o a la broadcast. Nombres de programas sniffers: Etheral -captura los paquetes de una red wireless o por cable.Actualmente este programa se llama Wireshark.Personalmente creo que es el programa mas usados por los administradores de red. SNORT actua como sniffer y trabaja tambien como Intrusion Detection System. tcpdump para Linux e windump para windows. Los sniffers funcionan en modo activo y pasivo. El modo activo captura paquetes entre equipos ,y el modo pasivo captura los paquetes que pasa por el puerto. ARP SPOOFING El arp spoofing es conocido tambien como arp poisoning o arp flooding,en espanol seria simplemente el enveninamiento arp. Bueno,primero hay que recordar que Adress Resolution Protocol permite a la red transformar las direcciones IP en direcciones MAC. Una computadora conectada a una IP/Ethernet LAN tiene dos direcciones.Una direccion de la tarjeta de red llamada direccion MAC,que en teoria es unica e imposible de cambiar( fisicamente no se puede cambiar pero logicamente hay programas que hacen esto,en Linux se puede hacer directamente con el comando ifconfig o con un programa llamado macchanger).Las direcciones MAC son necesarias para que el protocolo Ethernet pueda enviar datos de un lado a otro independiente de cualquier protocolo que usa la aplicacin superior. La segunda es la direccion IP.Cada computadora en una red debe tener una unica direccion IP para comunicarse. Las direcciones IP son virtuales y se les asigna a traves del software. IP y Ethernet deben trabajar juntos. ARP funciona mediante los paquetes peticion arp (arp request).Una peticion arp pregunta tu direccion ip es x.x.x.x ?Si es asi envia tu direccion MAC.Estos paquetes se envian a la lan con la direccion broadcast .Cada equipo comprueba si tiene asignada la direccion IP petida mediante el arp request y envia la respuesta la computadora que tiene la direccion. Voy a explicar como esnifar una red o una computadora en concreto .Un escenario perfecto es la pirateria de una red inalambrica,nos conectamos a ella como si estuvieramos otro host mas en la red ,controlamos el trafico,lo analizamos con ettercap u otro software..esto seria un ejemplo de MITM. MITM-MAN IN THE MIDLE ATTACK Con la ayuda de la tecnica del enveninamiento arp nos sentamos en el medio ,diciendo a los clientes de la red que nosotros somos el router ,cambiandole la direccion mac ,estariamos entre los clientes y el router controlando todo el trafico. Para poner en practica este ejemplo necesitamos in snifer ,en nuestro caso sera ettercap.El programa se encuentra en http://ettercap.sourceforgfe.net/ . Un vez que tengamos la aplicacin instalada ,la abrimos y elejimos el menu SNIF y alla vamos a selectar la interfaz de red que vamos a utilizar para la escucha,eth0 por ejemplo. Vamos a buscar que estaciones hay en la red desde la opcion HOSTS - - > SCAN FOR HOSTS ,esperamos que termine la busqueda y elegimos la opcion HOST LIST Lo primero que se suele hacer es anadir como Destin1 la puerta de enlace ,por la cual el mundo tendra salida en internet ,es decir el ip del router,por ejemplo 192.168.1.203,selectando despues la opcion

Add to target 1. El siguiente paso seria selectar las estaciones que seran espionadas ,elegiendo el ip deseado,en Add to target 2 y la opcion que permite el sniffing en si, START SNIFFING. El siguiente paso seria el enveninamiento.Esto se hace con la ayuda de las opciones del menu MITM-->Arp Poisoning-->Sniff remote connection-->OK . Esto es todo,como se puede ver no es muy dificil ,y cualquier persona puede hacer esto .Que falta ahora?Tener paciencia y esperar a que salgan las contrasenas que mucha gente desea ver :) . *Saldran solo las de texto plano como POP3,FTP,TELNET .

Con ettercap se pueden hacer tambien dns spoof y otros tipos de ataques.Tambien se puede monitorizar la red,no hay que ser un hacker para usarlo sino un administrador de red que se preocupa del bienestar de lo que administra.

BIBLIOGRAFIAS

Hackers2,Secretos y soluciones para la seguridad de redes,Joel Scambray,George Kurtz,Stuart Mcclune Linux Maxima Seguridad,Anonimo http://www.insecure.org http://www.hping.org http://en.wikipedia.org/wiki/idle_scan http://nmap.org/book/idlescan.html http://www.ouah.org/hping2idle.htm http://www.computerhope.com/unix/urpcinfo.htm http://www.netcat.sourceforge.net http://www.nesus.org http://www.openwall.com/john/doc http://linux.about.com/cs/linux101/queso.htm http://www.tucows.com/preview/31525 http://www.tripwire.com http://rootsecure.net http://www.hackpedia.info

3.6NEGACION DE SERVICIO-DOS ATTACKS

Todo el mundo ha oido hablar sobre este termino?Que significa esto?Simplemente los attaques de negacion de servio,son lo que dice el titulo ...o sea se impide a un servicio que sirva para lo que ha sido creado/configurado. Un servidor web que sufre un ataque dos ,simplemente no podra servir a los clientes los recursos pedidos via web! Hay muchos tipos de ataques dos y muchas herramientas que llevan a cabo esto ,pero el resultado es siempre lo mismo: el servicio se vuelve indisponible por que ya intenta responder a las muchas peticiones -enviadas por el atacante. En terminos generales un ataque dos significa: -el agotamiento del sistema,se consumen todos los recursos y en este modo no se pueden ofrecer los servicios ; -el bloqueo de la comunicacin de tipo medio entre usuario y victima Estos tipos de ataques son rapidos y faciles y generan un resultado inmediato. Los atacantes mandan peticiones de conexin desde direcciones IP inexistentes ,y la maquina receptora no puede aclarar las direcciones,la sesion se puede colgar,puede resultar la incapacitacion de un solo servicio o toda la unidad. Los atacantes se unen a todas las sesiones disponibles ,evitando que pueda alcanzar el router remotamente. Los atacantes producen sobrecargas,haciendo que la maquina se reinicie o caiga.

Algunos terminos y herramientas: Ping of death -el ping de la muerte es un tipo de ataque enviado a una computadora que consiste en mandar numerosos paquetes ICMP muy pesados (mayores a 65.535 bytes) con el fin de colapsar el sistema atacado.Este tipo de ataque en los sistemas de hoy ya no representan un peligro,pero se esta hablando sobre PING FLOODING Un ping flood consiste en saturar una lnea lenta con un nmero de paquetes ICMP suficientemente grande. Esta saturacin causar una degradacin del servicio importante. El ataque en cuestin utiliza las definiciones de la longitud mxima de protocolos as como la capacidad de fragmentacin de los datagramas IP . Rastreo silencioso con nmap .Nmap implementa rastreo TCP SYN llamado conmunmente como rastreo medio abierto.Los atacantes envian al host paqutes SYN para iniciar una conexin.Cuando reciben la respuesta y antes de que se inicie la conexin ,ellos envian paquetes con el bit RST establecido (reset) y se reinicia la conexin.De aqu resulta que los dos host nunca establecen una conexin TCP completa.Normalmente este tipo de ataque no genera negacion de servicio pero nmap envia los paquetes a gran velocidad y gran volumen,llegando al objetivo con el RST y a veces se puede colgar el inetd,seguido de varios servicios (ftp ,http,etc).

Es dificil defenderse contra estos ataques por que se intenta enviar conexiones legitimas de una forma legitima a servicios legitimos. Como solucion se puede usar proxies de aplicacin -firewall que prohiben el contacto directo entre el atacante y varios servicios. Ataques DoS Genericos Se llaman asi por que afectan a muchos tipos diferentes de sistemas.Se refieren a ataques dos de consumo de ancho de banda y consumo de recursos. Un ejemplo de ataque dos generico es el Smurf -uno de los mas temidos por que es un ataque de amplificacion,y el resultado es la realizacion de una peticion ping difundida y dirigida a una red de sistemas que responderan a tales solicitudes. Smurf esta compuesto por tres fases:atacante,red multiplicadora y la red objetivo(victima). El atacante envia paquetes ICMP ECHO a la direccion multiplicadora y la direccion del punto final se cambia por la direccion de la victima.Como resultado sera la respuesta de la red a la red victima.Enviando un paquete ICMP a una red de 100 computadoras,el atacante multiplica el ataque Dos 100 veces mas. Para evitar un elemento amplificador,se recomienda la desactivacion de la funcion de difucion dirigida en los routers frontera.En Linux hay que hacer esto a nivel del Kernel mediante el cortafuegos. 3.7CORTAFUEGOS Y SISTEMAS DE DETECCION DE INTRUSOS Sobre cortafuegos he hablado mucho en la segunda seccion del trabajo,por eso me limitare a decir solamente que los cortafuegos protejen las redes utilizando metodos diferentes,como enmascarar las direcciones IP,el bloqueo de los puertos TCP/IP,filtros,etc.Sabemos que hay firewalls software y equipamentos dedicados que sirven solo para esto. Solo voy a decir que un cortafuegos es algo obligatorio e imprescindible en nuestra red,o simplemente en nuestro sistema casero. Que son los sistemas de deteccion de intrusos y como funcionan? La deteccion de intrusos no es nada mas que encontrar singos de intentos o penetracion de la red,antes que de que el intruso pueda conseguir una negacion de servicio,o una perdida de datos. La seguridad de los sistemas informaticos y de comunicacin en presente a llegado a ser un problema de mayor importancia y a esto deben prestar atencion tanto los desarolladores de harware,como los de software y los administradores de sistemas. Las tareas de un sistema de deteccion de intrusos en principio son las de colectar datos de un sistema,analizarlos para descubrir evenimentos relevantes de seguridad y presentar los resultados del analisis al administrodor de sistemas. ->Un IDS monitoriza la red,y se dedica a espiar el trafico ,poniendo la tarjeta en modo promiscuo.El trafico analizado,(dependiendo del ids) es considerado ataque o no,y entonces el ids mirando las reglas establecidas a la configuracion,decide dar una alarma o no.No todos los ids detienen el ataque,solamente lo localizan ,y la tarea reviene al administrador de la red. ->Un ids no se coloca en una maquina router ,sino separado en otra maquina con capacidad de procesamiento del trafico en tiempo real.Cuanto mas transparente e invisible esta,mejor! ->Monitoriza y analiza los usuarios ->Ofrece auditoria de configuraciones y vulnerabilidades de determinadas sistemas. ->Asegura integridad a los sistemas criticos. ->Ofrece estadisticas sobre los ataques. Tipos IDS : -NIDS,NNIDS,HIDS

Network Intrusion Detection Systems(NIDS) -Con la interfaz en modo promiscuo vigila la red,absorbe todo el trafico y lo analiza en tiempo real.Es el ids mas comun. Network Node Intrusion Detection Systems(NNIDS) -Vigila el trafico destinado a un host y no a toda la subred. Host Intrusion Detection Systems (HIDS) -Comprueban la integridad tomando una instantanea de un sistema y la analiza posteriormente.Comprueban los archivos de los archivos criticos,las firmas md5 y las copias del registro. Los ids son muy utiles a la hora de implementar seguridad,pero no substituyen un firewall.Hay que recordar siempre y no eliminar el firewall de nuestras estaciones pensando que si tenemos un ids,estamos 100%protegidos.Una manera de meter mas seguridad es implementar en la red un IPSIntrusion Prevention systems ,que ofrece una mezcla de firewall+ids. Un ids no se tiene que elegir facilmente y que sea el primero de la lista.Hay que pensar en lo que puede ofrecer y lo que no,y lo que necesita la organizacin:Qual es la importancia de los datos,que probabilidad hay para sufrir un ataque y cuales son las potenciales perdidas. Una vez establecidas estas ideas hay que pensar donde se puede colocar un ids(ya hemos dicho que no se recomienda en una maquina router). Posibles lugares: -tras un firewall -en un DMZ -entre extranet e internet -en el acceso de usuarios Tambien se recomienda instalar mas de un ids en la red. En el mercado hay muchos tipos de ids,de coste o opensource de libre distribucion. NOMBRE SNORT Shadow LogCheq IntruderAlert Cisco Secure Intrusion detection RealSecure CARACTERISTICAS Es el mas potente y mas usado ids .Basado en busqueda de patrones y analisis estadistico. Combina ssh y tcpdump .Envia los paquetes recolectados del trafico a un servidor apache,y se pueden analizar en un fichero html. Verifica los logs del sistema Comercial.Ofrecido por symantec Cisco Systems,inc ISS

METODOLOGIA DE PENTESTING

Que significa penetration testing?-Metodo de evaluar la seguridad de una red o un sistema informatico mediante la simulacion de un ataque malicioso por parte de un hacker o cracker,segun la wikipedia. Hay varios tipos de metodologias de pentesting,una de las mas usadas por ser abierta y gratuita,es la OSSTM-Open Source Security Testing Manual,desarollada por el instito de seguridad ISECOM. OSSTM es simplemente una guia gratuita que se ofrece como referencia . Es un estandar profesional para el testeo de seguridad en cualquier entorno desde exterior al interior. Al hablar de pentetratrion testing, o auditoria de seguridad-concepto distinto,ISECOM nos proporociona algunos pasaso por seguir y tomar en cuenta para un buen desarrollo de la tarea,y claro no olvidar la relacion TIEMPO-COSTE! 1.Busqueda de vulnerabilidades -comprobaciones automaticas de un sistema de la red o de la red. 2.Escaneo de seguridad -identificacion de los puntos debiles de la red y analisis profesional individualizado. 3.Test de intrusion -ganar acceso privilegiado 4.Evaluacion de riesgo -analisis de seguridad a traves de entrevistas e investigaciones 5.Auditoria de seguridad -inspeccion manual con privilegios administrativos del sistema operativo 6.Hacking etico 7.Test de seguridad . Las personas que se dedican a la seguridad informatica ya saben que no existe un sistema 100% seguro .En realidad existen sistamas fiables-se garantizan tres aspectos muy importantes y obligatorios,implementados de todas las instituciones que se dedican a la seguridad. Estos aspectos son : CONFIDENCIALIDAD -las informaciones pueden ser accesados solo por personas autorizadas. INTERGRIDAD las informaciones pueden ser modificadas solo por personas autorizadas en un modo controlodo. DISPONIBILIDAD-las informaciones de un sistema deben permancer accesibles. Antes de hablar de los ambientes de testeo,hay que responder a la pregunta Que es lo que queremos proteger? . -INFORMACION-es el principal elemento de la organizacin,y esta supuesta a las amenazas. -HARDWARE -los elementos fisicos de un sistema informatico. -SOFTWARE -programas logicos que hacen funcionar el hardware. Que se desea obtener con el pentesting? -La reproduccion/simulacion de ataques de intrusion sobre el objetivo -Obtener las pruebas -Identificar vulnerabilidades existentes -Definir un plan de accion para reducir los riesgos: reunion con los gerentes de la empresa objetivo,establecer politicas de seguridad,talleres de seguridad con el personal IT,evaluacion del personal,establecer normas internas ,etc. Sobre los ambientes de testeo y algunas tecnicas de hacking he ablado al principio del capitulo,por eso no me ariesgo a ser catalogada pesada ni que ustedes piensen que me repito solo para

tener un monton de paginas escritas.

CONCLUSION Hoy en dia,todo el mundo tiene acceso al Internet.Todo el mundo sabe usar el ordenar,enviar un correo electronico,acceder paginas web ,chatear o hacer amistades en paginas como facebook,hi5,etc. La mayoria de la gente no se preocupa de la seguridad en Internet,y son muchos los que piensan que si tienen un antivirus instalado ya tienen seguridad cuando dan una vuelta,por esa calle llamada Internet. Es verdad que un virus es peligroso y se propaga rapidamente en la red,pero hay tambien otros tipos de amenazas y tenemos que saber como protejernos o por lo menos intentarlo. Los mas peligrosos en la red son los seres humanos siendo crackers,hackers,ciberterroristas,que se ocupan con molestar la gente,los ninos,las organizaciones. Algunos lo hacen para divertirse solamente,algunos lo hacen para danar a proposito,algunos por curiosidad,por venganza-aqui hablamos tambien de los ex-empleados que conocen bien la organizacin donde trabajaron y saben por donde accesar la red, y los demas por pura maldad. Los usuarios caseros tambien tienen que protejerse.Se recomiendan las actualizaciones del sistema operativo,instalar un cortafuego,un antivirus que debe ser actualizado periodicamente y lo mas importante no confiar en desconocidos.Hay que educar a los ninos sobre los peligros que corren en Internet,sabemos muy bien que hay paginas de pornografia infantil y es muy dificil luchar contra aquellas personas que se dedican a eso ,sin alguna educacion previa . Este no es un capitulo dedicado totalmente a la seguridad de la informacion ,por que no voy a tratar aqu temas como seguridad fisica,perimetral,etc.Aqui hablo solamente desde el punto de vista de usuario normal o de un adminstrador de una red pequena con dos o tres ordenadores.En el siguiente capitulo intentare desarollar el tema. Bueno,la seguridad en internet.Existe seguridad en internet??NO!Personalmente creo que nada es seguro,ni lo que se dice que es lo mas seguro,al final se descubre que tiene algun problema.He leido hace mucho tiempo que un ordenador seguro es el ordenador que tiene desenchufado el cable de red,esta encerrado en una caja fuerte ,caja que se encuentra dentro del oceano,y el proprietario esta muerto desde hace unos anos!Ese si que es seguro! Cuano ya nos conectamos a internet ,estamos como los peces en el mar.Hay todo el tipo de criaturas que nos dan vueltas. Hacker ,Cracker,Virus Los hackers son personas muy inteligentes que gozan de conocimientos muy avanzados sobre los lenguajes de programacion,manejan con facilidad varios sistemas operativos,tienen amplios conocimientos sobre redes y por supuesto tienen una gran curiosidad!Es esa curiosidad la que los empujan a cometer delitos,aunque ellos no destruyen ,y por contrario son personas que arreglan los fallos,pero si lo hacen sin tener el accepto previo para penetrar en un sistema,es delito. Los crackers son personas que hacen casi lo mismo que los hackers pero tienen como principal proposito destruir ,romper,y crear problemas.Son mas peligrosos por que solamente piensan en hacer dano! Los virus,son simplemente programas!Programas que contienen codigo fuente malicioso,y una vez propagado por la red ,entra en los sistemas ,y algunos de ellos pueden quemar hasta el disco duro!

Que hacer?Instalar un buen antivirus,un cortafuego y actualizar el sistema periodicamente. Tambien no confiar en la gente,nadie nos pedira la contrasena del ordenador.Si estamos dentro de la red,el administrador de esa red ya sabe las contrasenas de los usuarios y no las pedira! Tambien hay que recordar que el personal bancario ,no nos pedira los datos personales o de acceso a nustras cuentas online!Esta es una forma de phishing,una tecnica muy peligrosa que ha dejado a muchos inocentes sin dinero! Si tenemos una red pequena por administrar ,tenemos que educar al personal que no accepte programas o archivos de desconocidos,si observan algo raro tienen que llamar al personal IT cualificado,y sobre todo tenemos que limitar las cuentas de usuario.Sin privilegios=seguridad! Si tenemos una red muy grande,con mas de 100 ordenadores, y la empresa tienen puntos de trabajo en otras ciudades,es un poco mas complicado! Se recomienda dividir la red en subredes!Limitar los derechos!Limitar el acceso desde Internet a la red y desde la red a Internet. Se implementan zonas demilitarizadas ,llamadas tambien DMZ,se implementan sistemas que trabajan solamente como cortafuegos!Tambien es importante meter Intrusion Prevention Systems,conexiones vpn(openvpn para linux,ipsec para windows y cisco) para la comunicacin entre las redes de la empresa madre y los puntos de trabajo que estan en otras ciudades. El acceso a la habitacion de los servidores esta permitido solamente al personal IT autorizado,en algunos casos solo el administrador de la red tiene acceso a dicha habitacion. Tambien se puede meter seguridad a los equipamentos de red ,como los switchs ofrecen contra el dhcp snooping(-otra tecnica peligrosas que usan los hackers). Una vez que tenemos todo implementado ,hay que no acostarse por una oreja -una expresion del rumano! Tenemos que vigilar y chequear los logs periodicamente,verificar las contrasenas,se recomienda hacer un training con los empleados nuevos ,etc!

MUCHAS GRACIAS POR SU ATENCION!!!


Pido perdon por la falta de los accentos ,mi teclado esta en rumano,y aunque he puesto el office en espanol no me los ha cojido siempre.

Elena Madalina Ion ,30-06-2011

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