jueves, 29 de marzo de 2012

Cuestionario de conceptos básicos de seguridad


1.-¿Cual es la función de seguridad?
Es establecer medidas de protección y/o seguridad para garantizar el correcto funcionamiento de un sistema informático.

2.-¿Qué daños puede ocasionar un hacker?
Los daños más comunes son:
1.-robar información confidencial
2.-afectar nuestro sistema
3.-hackear paginas  web
4.-ingresar a bases de datos de bancos
5.-robar indentidades

3.-¿Qué es el software anti-malware?
Programa que detecta, bloquea y elimina programas maliciosos para la seguridad del sistema.

4.- ¿Qué función tiene el cortafuego?
Sirve para bloquear el tráfico entrante en la red que pueda ser peligroso.

5.- ¿Qué significa IDS y cual es su función?
Sistema de Detección de Intrusos, trata de detectar cuándo alguien no autorizado trata de entrar en un sistema.

6.- ¿Qué son las amenazas de origen internas?
Ataques desde dentro de la red, por ejemplo un empleado de la empresa o despedido.

7.- ¿Qué son las amenazas de origen externas?
Ataques desde fuera de la red. Son mas difíciles de que ocurran.

8.-Nombra los cuatro tipos de amenazas según el daño que pueden producir:
  • De interrupción
  • De interceptación
  • De modificación
  • De fabricación

9.- ¿Qué es un tipo de ataque directo?
El que se produce del atacante a la víctima sin que haya ningún intermediario.

10.- ¿Qué es un tipo de ataque indirecto?
El que se produce del atacante a la víctima, pero hay al menos un intermediario.

11.-Característica del troyano
Se caracteriza por engañar a los usuarios disfrazándose de programas o archivos legítimos/benignos.

12.- ¿Cuál es el objetivo del virus?
Alterar el normal funcionamiento de la computadora, sin el permiso o el conocimiento del usuario.

13.- ¿En que consiste el método de fuerza bruta?
Ir probando combinaciones de caracteres hasta dar con la combinación correcta de la contraseña.

14.- ¿Qué es un impacto cuantitativo?
Cuando los daños del impacto pueden cuantificarse (medirse económicamente, comprar partes dañadas).

15.- ¿Qué es un impacto cualitativo?
Cuando supone daños no cuantificables (no medibles).

jueves, 15 de marzo de 2012

Seguridad



SEGURIDAD

Con los avances de la tecnología, los equipos y las redes informáticas toman el centro de la escena. En el trabajo, en la escuela, o en casa, es casi seguro que utilice una computadora u otro artículo de alta tecnología. Aunque Internet ha hecho la seguridad de la red una prioridad, muchas personas todavía no saben lo suficiente.

La seguridad de la red es algo más que un antivirus o actualizar los programas. Es tener en constante vigilancia su red para evitar intrusos, malware y otras amenazas comunes.

La verdadera seguridad significa el conocimiento acerca de las posibles amenazas y entender qué hacer en caso de un fallo de seguridad. La seguridad de la red puede significar un equipo en relación a la Internet, o un grupo de computadoras y la Internet.

U
na cuestión a tener en cuenta a la hora de pensar en la seguridad de la red es la prevalencia del status “siempre encendido” de la conexión a Internet. Muchas casas y negocios tienen ahora Internet de alta velocidad, tales como las conexiones aDSL ó inalámbricas.

Estas conexiones permiten a la computadora acceder a Internet contínuamente, siempre y cuando el mismo esté encendido. Un status de “siempre encendido” significa que hay más tiempo para que un posible intruso alcance su sistema informático, y aún más oportunidades de tomar ventaja de la computadora en sí. Con la adecuada seguridad de la red puede reducir notablemente sus posibilidades de un ataque por una fuerza externa.

Toda persona que utiliza Internet, o un equipo que se ha utilizado para conectarse a Internet, debe preocuparse por la seguridad de la red


Leyes de seguridad

En muchísimos casos la mejor herramienta de seguridad somos nosotros y nuestro sentido común y en esa línea hace ya tiempo que en Microsoft publicaron una lista de precauciones de seguridad muy serias pero con sentido del humor. 
La seguridad no es solo cosas de parches, programas o actualizaciones, sino principalmente es un problema nuestro como usuarios. En todos los estudios realizados los descuidos o imprudencias son la principal fuente de las brechas de seguridad, tanto desde el punto de vista del usuario personal como de las empresas.


Hace ya tiempo que Microsoft reunió en un decálogo las diez directrices o leyes más importantes a observar para proteger la seguridad de nuestro sistema, y con el nombre de Las 10 leyes inmutables de la seguridad colgó el documento de Technet. Vamos a repasar este decálogo que aunque en clave de humor proporciona unos consejos que tenemos que tomar muy en serio.
1. Si un tipo malvado nos convence de ejecutar SU programa en NUESTRO ordenador, ya no es NUESTRO ordenador
Es otra ley inmutable de la informática: cuando un programa se ejecuta en el ordenador hace lo que el programador le ha dicho que haga, no lo que creemos que tiene que hacer. Por lo tanto, si permitimos que un programa se ejecute en nuestro ordenador tendrá las mismas capacidades de realizar cambios, incluidos los dañinos, que nosotros tenemos como usuarios y los hará según las instrucciones de su programador.
La analogía del sandwitch nos puede ayudar a entender la situación: si nos encontráramos a alguien desconocido por la calle y nos ofreciera un sandwitch ¿nos lo comeríamos sin más? Pues del mismo modo  descargar y ejecutar sin más un programa no es lo mejor para la salud de nuestro ordenador.
2. Si un tipo malvado puede cambiar el sistema operativo de NUESTRO ordenador, ya no es NUESTRO ordenador
El sistema operativo no deja de ser un programa más acompañado por un conjunto de ficheros de configuración, que están protegidos pero que a la larga puede ser modificados. Si permitimos cambios en el sistema nuestro ordenador ya no estará bajo nuestro control
Las nuevas versiones de Windows advierten en numerosas ocasiones cuando un programa intenta hacer cambios en el sistema o si nos disponemos a dar autorización a un programa para realizar cambios, pero una vez que un programa tiene vía libre no hay nada que hacer. Por eso es importante que nunca ejecutemos programas y les otorguemos permisos si no conocemos su procedencia. Si alguien toma el control del sistema operativo puede hacer cualquier cosa.


Es como si alguien consiguiera las llaves de nuestra casa. Una vez con ellas podría hacer cualquier cosa incluso sin que necesariamente nos diéramos cuenta. Por eso es tan importante proteger el sistema operativo y por eso los programas de seguridad controlan constantemente que no se hayan producido cambios en los ficheros del sistema.
3. Si un tipo malvado tiene acceso físico sin restricciones a NUESTRO ordenador, ya no es NUESTRO ordenador
Tomar las mejores precauciones para protegernos de los intrusos que pueden acceder a nuestro ordenador a través de Internet no vale nada si el intruso puede acceder tranquilamente a nuestro ordenador y sentarse a teclear. Es algo que en ocasiones descuidamos, pero un elemento básico de la seguridad. En el artículo de TechNet dan una lista de lo que un “tipo malvado” puede hacer si tiene acceso al ordenador, desde la edad de la piedra a la edad espacial.
Algunos de los peligros son que puede destruir nuestro ordenador con un martillo pilón, robar el ordenador y pedir un rescate, reformatear el disco, robar el disco duro, duplicarlo, grabar las pulsaciones de nuestro teclado… Las precauciones que hay que tomar aumentan con la portabilidad del PC que utilicemos. No hay que desdeñar los candados o los sistemas de acceso biométricos. No hay que olvidar que un ordenador es un dispositivo valioso, pero lo más valioso son siempre nuestros datos.
4. Si un tipo malvado puede agregar programas a NUESTRA página web, ya no es NUESTRA página web
El tipo malvado es el que entra en el servidor e intenta cambiar nuestra página web. Conseguirá así extender el contagio de un virus o malware. La responsabilidad de un usuario que mantenga un sitio web incluye controlar que los usuarios de la web no puedan agregar programas y mantener actualizado el software con los parches de seguridad adecuados.
En este caso no sólo nos hacemos daño a nosotros, sino que contribuimos al contagio de muchas personas a través de nuestra web.
5. Las contraseñas débiles destruyen la seguridad más fuerte
Es uno de los eslabones más débiles de la cadena de seguridad. Si para identificarnos utilizamos contraseñas fáciles de averiguar, los sistemas de seguridad que hayamos instalado no servirán de nada. Hay que tener la precaución de que siempre en nuestro sistema el administrador requiera contraseña. Podemos ver cómo crear contraseñas perfectas en nuestro artículo práctico al respecto.

6. Un ordenador es tan seguro como la confianza que nos merece su administrador
Todo ordenador tiene su administrador, aunque en muchos casos el administrador seamos nosotros. El edministrador es el que instala el software, modifica el sistema operativo y establece las políticas de seguridad. En el decálogo de Technet se advierte que un administrador chapucero puede frustrar cualquier medida de seguridad que tomemos nosotros.
Si necesitamos un administrador para nuestra empresa tomemos eso en cuenta. Ahorrar y contratar un mal administrador, uno descuidado o no fiable puede salirnos muy caro a la larga.
7. Los datos encriptados son tan seguros como su clave de desencriptación
Una versión distinta del problema de las passwords. La encriptación es una excelente herramienta para proteger nuestros datos y se utiliza en las transacciones que se realizan en Internet, pero en el caso de los programas de encriptación, hay que tener cuidado dónde se almacenan. Lo mejor es utilizar claves que memorizaremos o almacenarlas en un dispositivo externo a nuestro ordenador para que sean difíciles de localizar.
8. Un antivirus no actualizado sólo es ligeramente más seguro que ningún antivirus
En Internet van apareciendo y mutando nuevos virus y malware a un ritmo muy alto. Por eso hoy más que nunca, cuando pasamos más tiempo conectados a Internet, es muy importante disponer de un antivirus actualizado. Uno que no esté puesto al día nos protegerá solamente de amenazas obsoletas pero no será una herramienta de protección fiable.




Además, actualizar los antivirus y programas de seguridar periódicamente contribuye a que la expansión de los virus sea menos rápida y que por lo tanto el daño que puedan hacer sea limitado.
9. El anonimato absoluto no es práctico, tanto en la vida real como en Internet
Las herremientas que permiten conseguir un grado de anonimato importante en Internet son muchas, como los proxies o conversores de direcciones IP que hacen que no podamos ser localizados o los navegadores web que no dejan rastros de nuestra actividad. Hay que tener cuidado con qué servicios utilizamos para conseguir el anonimato, porque puede que estemos consiguiendo precisamente lo contrario.


En algunos casos estos servicios ofrecen anonimato frente a otras páginas web, pero no somos anónimos frente a ellos. Es más, en algunos casos tendremos que rellenar un formulario. Pero en muchos casos en Internet será útil dejar nuestros datos, para que nos informen de ciertas promociones, para recibir noticias, para contactar con antiguos compañeros, para participar en redes sociales…
En estos casos el sentido común es lo más importante. Nunca compartir datos personales sensibles de forma pública o con personas que no conocemos y proteger en lo posible nuestra navegación. Los modernos navegadores permiten ejecutar un modo privado que podemos activar solamente cuando lo necesitemos. Ser selectivos es importante también.
10. La tecnología no es la panacea
Una lección que es necesario aprender a pesar de los grandes adelantos tecnológicos que estamos viviendo y en el campo de la seguridad en particular. Como adelantábamos al principio, a pesar de toda esta tecnología tan sofisticada y los avances en el software de seguridad, no podemos encomendar nuestra seguridad totalmente a la tecnología.
Nuestro sentido común, la prudencia y la inteligencia tienen que ser los ingredientes más importantes. Sin ellos la tecnología más avanzada no servirá de nada. Es tentador dar la culpa a los fabricantes de software o a los proveedores de acceso de nuestros problemas de seguridad, pero no perdamos de vista que los responsables somos nosotros.

Obtención de Información de un atacante

Es importante conocer la metodología que sigue un atacante para poder defendernos mejor de él. La expresión “conoce a tu enemigo” es válida también en el mundo de la informática.
El primer paso que realiza un atacante es la exploración. En la exploración, el atacante obtiene una lista de direcciones IP y de red utilizando descargas de transferencias de zona y consultas whois (en la figura 1, puede ver un ejemplo de consulta whois). Estas técnicas proporcionan información valiosa a los atacantes, incluyendo nombres de empleados, números de teléfono, rangos de direcciones IP, servidores DNS, etc. 

 Figura 1. Consulta whois
Uno de los pasos básicos de exploración de una red para determinar qué sistemas están activos, es llevar a cabo un barrido de ping automatizado en un rango de direcciones IP y de bloques de red. Ping se utiliza tradicionalmente para enviar paquetes ICMP ECHO a un sistema destino, en un intento de obtener un ICMP ECHO_REPLY que indica que el sistema destino está activo (vivo). Aunque enviar un ping resulta un método aceptable para determinar el número de sistemas activos en una red pequeña o de tamaño medio, no es eficiente en redes corporativas de mayor tamaño. Para llevar a cabo exploraciones de redes de Clase A es necesario varias horas.
En la figura 2 se puede ver cómo el comando ping –sP 192.168.1.0/24 permite detectar los equipos activos.
 

                                                          Figura 2. nmap –sP 192.168.0.1/24
Una vez identificados los sistemas que están activos mediante el uso de barridos ping, el siguiente paso que realiza un atacante es la exploración de puertos.
La exploración de puertos es el proceso de conexión a puertos UDP y TCP del sistema destino que nos permite determinar los servicios que se están ejecutando. Identificar los puertos que están a la escucha es crítico para determinar el tipo de sistema operativo y aplicaciones que se están utilizando. Los servicios activos que estén a la escucha pueden permitir que un usuario no autorizado tenga acceso a sistemas que no estén bien configurados o que ejecuten una versión de software que tenga vulnerabilidades de seguridad conocidas. Los objetivos que se persiguen con la exploración de puertos son los siguientes:
  • Identificar los servicios TCP y UDP que se están ejecutando en el sistema.
  • Identificar el tipo de sistema operativo instalado en el sistema.
  • Identificar las versiones o aplicaciones específicas de un determinado servicio.
  • Identificar las vulnerabilidades del sistema.
En la figura 3 se puede ver el esquema general del proceso de obtención de información por parte de un atacante.
 



Figura 3. Esquema general del proceso de obtención de información

Los sistemas operativos son configurables, y por lo tanto pueden engañar a un posible atacante con información incorrecta. Cuestiónese las siguientes preguntas:
  • ¿Qué pasaría si identificasemos servicios de forma incorrecta? Por ejemplo, identificamos un servidor de correo qmail en una máquina con Exchange.
  • ¿Qué pasaría si identificamos mal el sistema operativo?
  • ¿Qué pasaría si los equipos activos realmente no existen?
Un atacante obtiene las vulnerabilidades del sistema a partir de la información de los servicios y servidores. Por lo tanto, si esta información es incorrecta, el atacante, que se encuentra engañado, jamás va a realizar con éxito su ataque. Es imposible utilizar los fallos de seguridad en el servidor de correo de Windows (p.e. Exchange) en el sistema de correo de Linux (p.e. qmail).
Los atacantes, sobre todo los atacantes externos, aprenden a superar las barreras de seguridad investigando su organización. Este proceso puede ser llamado de reconocimiento, descubrimiento o footprinting. En última instancia, esto es producto de una investigación intensiva, enfocada en obtener toda la información disponible sobre su organización de recursos públicos y no tan públicos.
Si ha realizado algún estudio o lectura sobre tácticas de guerra, es consciente de que el arma más importante que puede tener a su disposición es la información. Los atacantes lo saben y dedican mucho tiempo y esfuerzo a adquirir un completo arsenal. Lo que a menudo es desconcertante es cuánto su organización contribuye libremente al acopio del arsenal de armas de los atacantes.
La mayoría de las organizaciones son hemorragias de datos; las empresas dan libremente demasiada información que puede ser utilizada en su contra a través de diversos tipos de ataques lógicos y físicos. Aquí sólo se encuentran algunos de los ejemplos más comunes de la información que un atacante puede obtener sobre su organización, por lo general, en cuestión de minutos:
  • Los nombres de sus altos ejecutivos y de cualquier empleado llamativo pueden ser obtenidos examinando sus comunicados de prensa.
  • La dirección de la empresa, números telefónicos y números de fax desde el registro de nombres de dominio.
  • El proveedor de servicio a Internet.
  • La dirección de la casa de los empleados, sus números telefónicos, currículum vitae de los empleados, los miembros de su familia, antecedentes penales y mucho más buscando sus nombres en varios sitios de investigación gratuitos y pagos.
  • Los sistemas operativos, los principales programas utilizados, los lenguajes de programación, plataformas especiales, fabricantes de los dispositivos de red utilizados y mucho más desde los anuncios en sitios de empleos.
  • Debilidades físicas, puntos de ventaja, señales activas, formas de entrada, coberturas para los caminos de acceso y más a través de imágenes satelitales de su empresa y las direcciones de los empleados.
  • Nombres de usuario, direcciones de correo electrónico, números de teléfono, estructura de archivos, nombres de archivos, tipos de sistemas operativos, la plataforma del servidor web, lenguajes de script, entornos de aplicaciones web y más con escaners de sitios web.
  • Documentos confidenciales accidentalmente enviados a un sitio web como archivo.org o Google Hacking.
  • Fallos de los productos, problemas con el personal, publicaciones internas, políticas de la empresa y muchos más desde blogs, comentarios, críticas de la empresa y servicios de inteligencia competitiva.
Como se puede ver, no hay fin a la información que un atacante puede obtener desde fuentes públicas abiertas. Esta lista de ejemplos es sólo un comienzo. Cada dato obtenido por el atacante, puede llevar al descubrimiento de más información. A menudo, un atacante gastará más del 90% de su tiempo en actividades de reconocimiento y obtención de información. Cuanto más aprende el atacante sobre el objetivo, más fácil será el posterior ataque.
En cuanto a la defensa que en última instancia está pérdida, principalmente porque ya es demasiado tarde, vale aclarar que una vez que la información se encuentra en Internet, siempre estará allí disponible. Evidentemente, puede limpiar cualquier recurso de información que se encuentre bajo su control directo. Incluso, puede ponerse en contacto con quienes poseen su información y solicitar que cambien su información.

Medios de seguridad

Existen numerosas técnicas para proteger la integridad de los sistemas. Lo primero que se debe hacer es diseñar una política de seguridad. En ella, definir quiénes tienen acceso a las diferentes partes de la red, poner protecciones con contraseñas adecuadas a todas las cuentas, y preocuparse de hacerlas cambiar periódicamente (Evitar las contraseñas «por defecto» o demasiado obvias).  
Existen numerosas técnicas para proteger la integridad de los sistemas. Lo primero que se debe hacer es diseñar una política de seguridad. En ella, definir quiénes tienen acceso a las diferentes partes de la red, poner protecciones con contraseñas adecuadas a todas las cuentas, y preocuparse de hacerlas cambiar periódicamente (Evitar las passwords «por defecto» o demasiado obvias).  

Políticas generales de seguridad

2.1 - ¿Qué son las políticas de seguridad informática (PSI)?
Una política de seguridad informática es una forma de comunicarse con los
usuarios y los gerentes [3, pág.382]. Las PSI establecen el canal formal de actuación
del personal, en relación con los recursos y servicios informáticos, importantes de la
organización.
No se trata de una descripción técnica de mecanismos de seguridad, ni de una
expresión legal que involucre sanciones a conductas de los empleados. Es más bien una
descripción de los que deseamos proteger y el por qué de ello.
Cada PSI es consciente y vigilante del personal por el uso y limitaciones de los
recursos y servicios informáticos críticos de la compañía.

2.2 - Elementos de una política de seguridad informática

Como mencionábamos en el apartado anterior, una PSI debe orientar las
decisiones que se toman en relación con la seguridad. Por tanto, requiere de una
disposición por parte de cada uno de los miembros de la empresa para lograr una visión
conjunta de lo que se considera importante.
Las PSI deben considerar entre otros, los siguientes elementos: [4]

*Alcance de las políticas, incluyendo facilidades, sistemas y personal sobre la
cual aplica. Es una invitación de la organización a cada uno de sus miembros a
reconocer la información como uno de sus principales activos así como, un
motor de intercambio y desarrollo en el ámbito de sus negocios. Invitación que
debe concluir en una posición.

 *Objetivos de la política y descripción clara de los elementos involucrados en su
definición. 

*Responsabilidades por cada uno de los servicios y recursos informáticos a
todos los niveles de la organización. 

*Requerimientos mínimos para configuración de la seguridad de los sistemas
que cobija el alcance de la política.

* Definición de violaciones y de las consecuencias del no cumplimiento de la
política.

 *Responsabilidades de los usuarios con respecto a la información a la que ella
tiene acceso.

Las PSI deben ofrecer explicaciones comprensibles acerca de por qué deben
tomarse ciertas decisiones, transmitir por qué son importantes estos u otros recursos o
servicios.


Conceptos básicos sobre Seguridad

Seguridad: Sector de la informática cuya función es establecer medidas de protección y/o seguridad para garantizar el correcto funcionamiento de un sistema informático.
Objetivo de la seguridad informática: Proteger los activos informáticos.
 Whackers: expertos especializados. Se mueven por dinero y fama. Provocan daños al sistema.
 Crackers: expertos especializados. Se mueven por fama y satisfacción personal. Causan daño.
 Crashers: Inhabilitan el sistema, tienen conocimientos informáticos, les mueve el dinero o el aprendizaje. Causan daño.
 Lamer: Conocimientos informáticos nulos. Sus intereses son la fama, la experiencia y la satisfación personal. Causan daños.
 Phreakers: tienen amplios conocimientos informáticos y se mueven por dinero.
 Script kiddies: Muy similares a los lamer.
 Newbies: Tienen conocimientos informáticos básicos. Su motivación es aprender. No causan daño.

Seguridad activa: Conjunto de medidas cuyo objetivo es evitar o reducir los riegos que amenazan al sistema.
Seguridad Pasiva: Conjunto de medidas que se implementan una vez producido el accidente y que minimizan el daño, facilitando la recuperación del sistema.

- Mecanismos para que un sistema sea seguro:
Autenticación. Mecanismo que permite verificar la identidad del usuario que quiere acceder al sistema.
Autorización. Mecanismo que permite comprobar con qué permisos cuenta el usuario que quiere acceder al sistema.
Verificador de integridad de la información.
Cifrado. Evita que la información viaje sin protección (en texto plano) a través de la red.
Copias de seguridad. Se utilizan con el fin de restaurar el sistema cuando se produzca una pérdida de información, sobre todo de información sensible.
El software anti-malware. Programa que detecta, bloquea y elimina programas maliciosos para la seguridad del sistema.
El cortafuegos. Sirve para bloquear el trafico entrante en la red que pueda ser peligroso.
IDS (Sistema de Detección de Intrusos). Trata de detectar cuándo alguien no autorizado trata de entrar en un sistema.
Certificados. Es un documento digital mediante el cual un tercero confiable garantiza la vinculación entre la identidad de un sujeto o entidad y una clave pública.
Auditorías. Recaudan información para comprobar si el nodo es o no seguro.
- Propiedades de un sistema informático seguro.

La confidencialidad garantiza que el acceso a la información no se produce de
forma no autorizada.
  La disponibilidad garantiza que el sistema y los datos estarán disponibles
para los usuarios.

  La integridad. Garantiza que la información no ha sido modificada sin autorización.
  No repudio. Impide que el emisor niegue haber estado involucrado en una comunicación.
 Suplantación de identidad: hacer pasar por el usuario de la red para poder entrar en el sistema con los privilegios con la identidad suplantada.
Reactuación: La repetición de uno varios mensajes son capturados y repetidos para producir un efecto no deseado.
Modificación de mensajes: cambiar todo o parte del mensaje con la finalidad de conseguir unos efectos distintos al original.
Degradación de servicios: impide o deteriora el uso normal del servicio.
Tipos de ataques. 
Ataque: La materialización de una amenaza.
Amenaza: Es la presencia de una serie de factores de diversos tipos que de tener la oportunidad atacarían al sistema produciendole daño.
Tipos de amenazas según su origen:
Internas: Ataques desde dentro de la red, por ejemplo un empleado de la empresa o despedido.
Externas: Ataques desde fuera de la red. Son mas difíciles de que ocurran.
Tipos de amenazas según el daño que pueden producir:
-De interrupción: Todo lo que te impida el acceso a la información.
-De interceptación: Cuando te interceptan información sin tu permiso, por ej: con páginas webs falsas. 
-De modificación: Cuando modifican la información del sistema.
-De fabricación: Añade información falsa al sistema.
Tipos de amenazas según la causa:
 -Accidentales: Sin querer.
-Intencionales: Queriendo.

Tipos de ataques en función del impacto causado a los activos:

-Pasivos: Son aquellos que se basan en la obtención de información sin alterar la comunicación y los datos.
-Activos: Son aquellos que modifican datos, añaden datos o impiden el acceso a los datos.
·Suplantación de identidad: Que el atacante se hace pasar por otra persona, para adoptar por los privilegios de esa persona.
·Reactuación: Repetición de uno o varios mensajes reales son capturados y repetidos, para producir un efecto no deseado.
·Modificación de mensajes: Modificar todo o parte del mensaje, o el orden de los mensajes, con el objetivo de conseguir unos efectos distintos a los originales.
·Degradación del servicio: Consiste en impedir o deteriorar el uso normal de los servicios.
Tipos de ataques: Directos o indirectos.
Directo: El que se produce del atacante a la víctima sin que haya ningún intermediario.
Indirecto: El que se produce del atacante a la víctima, pero hay al menos un intermediario.
Ataques Típicos.
· Spoofing. Hace referencia al uso de técnicas de suplantación de identidad generalmente con usos maliciosos o de investigación.
Se pueden clasificar los ataques de spoofing, en función de la tecnología utilizada. Entre ellos tenemos el IP spoofing (quizás el más conocido), ARP spoofing, DNS spoofing, Web spoofing o email spoofing, aunque en general se puede englobar dentro de spoofing cualquier tecnología de red susceptible de sufrir suplantaciones de identidad.
 · Pishing. Es un término informático que denomina un tipo de delito encuadrado dentro del ámbito de las estafas cibernéticas, y que se comete mediante el uso de un tipo de ingeniería social caracterizado por intentar adquirir información confidencial de forma fraudulenta (como puede ser una contraseña o información detallada sobre tarjetas de crédito u otra información bancaria). El estafador, conocido como phisher, se hace pasar por una persona o empresa de confianza en una aparente comunicación oficial electrónica, por lo común un correo electrónico, o algún sistema de mensajería instantánea o incluso utilizando también llamadas telefónicas. 
· DoS. En seguridad informática, un ataque de denegación de servicio, también llamado ataque DoS (de las siglas en inglés Denial of Service), es un ataque a un sistema de computadoras o red que causa que un servicio o recurso sea inaccesible a los usuarios legítimos. Normalmente provoca la pérdida de la conectividad de la red por el consumo del ancho de banda de la red de la víctima o sobrecarga de los recursos computacionales del sistema de la víctima.
.buffer overflow:Consiste en escribir en un pila mas datos de los que puede contener. Con esto se puede conseguir corromper la pila de ejecución de un programa escribiendo mas aya de los limite de la pila, causando que la dirección de retorno de dicha función sea una dirección aleatorio o que se ejecute algún código no dirigido.
.Troyano:se caracteriza por engañar a los usuarios disfrazándose de programas o archivos legítimos/benignos
.Virus:es un malware que tiene por objeto alterar el normal funcionamiento de la computadora, sin el permiso o el conocimiento del usuario.
.Worms:Estos malwares son tan dañinos que son capaces de hacer caer cientos de páginas Web y servidores Web muy potentes.
.Rootkit:es un conjunto de herramientas usadas frecuentemente por los intrusos informáticos o crackers con el objetivo de acceder ilícitamente a un sistema informático
.Exploit:El fin puede ser la destrucción o inhabilitación del sistema atacado.
 Vulnerabilidad: Probabilidad de que una amenaza se materialice contra un activo.
Bugtraq: Expediente de seguridad que genera una vulnerabilidad.
Día Cero: día en el que una vulnerabilidad se hace pública.
Tiempo de reacción: Tiempo que transcurre desde que una vulnerabilidad se hace pública hasta que se parchea.

Técnicas de "password cracking" (romper contraseñas):
 - Método de fuerza bruta: consiste en ir probando combinaciones de caracteres hasta dar con la combinación correcta (contraseña) y así poder entrar en el sistema.
- Método de diccionario: consiste en usar una aplicación o herramienta diccionario que va probando como contraseña todas las palabras que se incluyen en él. Por eso es recomendable que una contraseña de acceso al sistema conste de caracteres alfanuméricos, incluídas mayúsculas, minúsculas y caracteres especiales.
Riesgo: Posibilidad de que se materialice una amenaza aprovechando una vulnerabilidad. No constituye riesgo una amenaza cuando no hay vulnerabilidad ni una vulnerabilidad cuando no existe una amenaza asociada. 
Opciones de la empresa ante el riesgo:
- No hacer nada. en caso de impacto mínimo o nulo, o en caso de coste excesivo al solventar el riesgo.
- Aplicar las medidas de seguridad necesarias, atendiendo a la política de seguridad de la entidad.
- Contratar un seguro.
 Impacto: Es la consecuencia de un ataque.
Impacto cuantitativo: cuando los daños del impacto pueden cuantificarse (medirse económicamente).
Impacto cualitativo: cuando supone daños no cuantificables (no medibles).
Nivel de confianza del que hace uso el analizador:
·Con acreditaciones: El analizador es una persona que está autorizada para recopilar información de la máquina, etc... Pasiva.
·Sin acreditaciones: El analizador es una persona que no está autorizada para recopilar información de la máquina, etc..... Activa.
·Prueba por explotación (Testing by exploit): lanzar ataques reales contra los objetivos, es decir, sobre la maquina. Los ataques suelen estar programado en lenguajes de scrit, una vez que lanza el ataque espera a la respuesta.
·Método de inferencia: buscan indicios de que alguien a realizado ataques sobre la máquina, pero los resultados son menos específicos. Programa "Nessus".
-Técnica "Password cracking": Es una técnica utilizada en la mayoría de los escanners de vulnerabilidades, totalmente distinta a los métodos anteriores pero de gran importancia. Se basa en intentar romper contraseñas con el propósito de determinar el grado de calidad de la misma. Para intentar adivinar las contraseñas, se puede utilizar la fuerza bruta o bien utilizando diccionarios.
-Escánner de vulnerabilidades: es una herramienta que realiza una serie de pruebas para determinar si una red o una máquina tiene fallos de seguridad.
Riesgo: posibilidad de que se materialize una amenaza aprovechando una vulnerabilidad. No constituye riesgo una amenaza cuando no hay vulnerabilidad ni una vulnerabilidad cuando no existe amenaza.
Una política de seguridad establece los objetivos de la empresa con respecto a la seguridad, así como las normas a aplicar.


 

lunes, 12 de marzo de 2012

software del servidor


Windows vs Linux
¿Cuales son las ventajas de Linux frente a Windows?, ¿en qué se diferencian?
La instalación:
  • En Linux a pesar de todos los esfuerzos la instalación no resulta sencilla siempre, pero te permite personalizar totalmente los paquetes que quieras instalar.
  • En Windows la instalación es mínimamente configurarle aunque es muy sencilla.

La compatibilidad: Ninguno de los dos sistemas operativos son totalmente compatibles con el Hardware, a pesar de que Windows se acerca más, los dos están cerca de conseguirlo.
  • Aunque Linux no esta detrás de ninguna casa comercial gracias a su elevada popularidad ofrece una alta compatibilidad ofreciendo, además, actualizaciones frecuentes.
  • Windows al ser parte de Microsoft intenta ofrecer una gran cantidad de drivers ya que su gran poder económico hace que las empresas mismas de hardware creen sus propios drivers.

Software:
  • Linux al tener menos software en algunos campos sufre una menor aceptación por parte de las empresas, aunque gracias a los apoyos de empresas como Sun Microsystems o IBM se ha logrado muchos avances.
  • Windows al ser el más fácil de usar en las empresas, posee una gran cantidad de software.

Robustez:
  • Linux se ha caracterizado siempre por la robustez de su sistema ya que pueden pasar meses e incluso años sin la necesidad de apagar o reiniciar el equipo, también si una aplicación falla simplemente no bloquea totalmente al equipo.
  • En Windows siempre hay que reiniciar cuando se cambia la configuración del sistema, se bloquea fácilmente cuando ejecuta operaciones aparentemente simples por lo que hay que reiniciar el equipo.

Razones para cambiar:
  • Es software libre, lo que quiere decir que no hay que pagar nada por el sistema en sí.
  • Es un sistema operativo muy fiable ya que hereda la robustez de UNIX.
  • Ideal para las redes ya que fue diseñado en Internet y para Internet
  • No es cierto que tenga pocos programas, solo en algún campo muy especifico.
  • Es 100% configurarle.
  • Es el sistema más seguro, ya que al disponer del código fuente cualquiera puede darse cuanta de algún fallo, se puede decir que decenas de miles de personas velan por tu seguridad.
  • Existe muchísima documentación, también en español gracias a los proyectos como LUCAS.
  • Cuenta con el soporte de muchas grandes empresas como IBM, Corel, Lotus, Siemens, Motorola, Sun, etc.
  • Puedes encontrar ayuda en millones de sitios en Internet como los foros.
  • Es muy portable, si tienes un Mac un Alpha o un Sparc puedes usar Linux sin problemas.

Qué ventajas tiene Linux sobre Windows?
·         Es más seguro
o        Ya que la gran mayoría de los ataques de hackers son dirigidos a servidores Windows al igual que los virus los cuales se enfocan principalmente a servidores con éste sistema operativo.
o        La plataforma Linux es más robusta lo cual hace más difícil que algún intruso pueda violar el sistema de seguridad de Linux.
  • Es más rápido
    • Al tener una plataforma más estable, ésto favorece el desempeño de aplicaciones de todo tipo tales como: bases de datos, aplicaciones XML, multimedia, etc.
    • La eficiencia de su código fuente hace que la velocidad de las aplicaciones Linux sean superiores a las que corren sobre Windows lo cual se traduce en velocidad de su página.
·         Es más económico
o        Ya que requieren menor mantenimiento. En servidores windows es más costoso debido a que es necesaria una frecuente atención y monitoreo contra ataques de virus, hackers y errores de código, instalación y actualización de parches y service packs.
o        El software Linux así como también un sin número de aplicaciones son de código abierto (gratuitos).
o        No requieren supervisión tan estrecha ni pagos de pólizas de mantenimiento necesarias para obtener los Service Packs.

¿Qué ventajas tiene Windows sobre Linux?
·         Es más fácil
o        Al ser de mayor facilidad de uso Windows en este momento continúa siendo el sistema operativo más comercial lo cual se refleja en la disponibilidad de aplicaciones, facilidad de mantenimiento así como soporte en el desarrollo de nuevas aplicaciones, puntos que pueden ser cruciales en la elección de servidores que corren aplicaciones web.
  • Aplicaciones desarrolladas en menor tiempo
    • Fruto de la inversión realizada por Microsoft y aunado a una comunidad de programadores cada vez más grande se ha logrado facilitar el desarrollo de aplicaciones y sistemas que corran sobre servidores Windows lo cual se ve reflejado en tiempos de desarrollo menores.
    • La curva de aprendizaje en el sistema Windows es mucho menor.
Conclusión: Tanto Windows como Linux tienen su ventajas y inconvenientes, aunque desde un punto de vista más técnico Linux sale ganando.

Arquitectura de Sistema Operativo Windows

Con el paso de los años se ha producido una evolución gradual de la estructura y capacidades de los Sistemas Operativos. Sin embargo, recientemente se ha introducido un cierto número de nuevos elementos de diseño en los nuevos Sistemas Operativos y en las nuevas versiones de los Sistemas Operativos existentes. Estos Sistemas Operativos modernos responden a nuevos desarrollos del hardware y nuevas aplicaciones. Entre estos dispositivos de hardware están las máquinas multiprocesador, incrementos enormes de la velocidad de la máquina, alta velocidad en los enlaces de las redes de comunicación e incremento en el tamaño y variedad de los dispositivos de almacenamiento de memoria. En los campos de aplicación que han influido en el diseño de los Sistema Operativos están las aplicaciones multimedia, el acceso a Internet y páginas Web y la ejecución cliente/servidor.
El porcentaje de cambios en las demandas de los Sistemas Operativos, requiere no solamente las modificaciones y mejoras en las arquitecturas ya existentes, sino nuevas formas de organización del Sistema Operativo. Muchos de los diferentes enfoques y elementos de diseño se han probado tanto en Sistemas Operativos experimentales como comerciales, y muchos de ellos encajan dentro de las siguientes categorías.
Arquitectura Micronúcleo.
Multihilos.
Multiproceso Simétrico.
Sistemas Operativos Distribuidos.
Diseño Orientado a Objeto.

La mayor parte de los Sistemas Operativos hasta hace poco tiempo se caracterizaban por un gran núcleo monolítico. Gran parte de la funcionalidad que se pensaba debía tener un Sistema Operativo la proporcionaba este gran núcleo, incluyendo planificación, sistema de archivos, redes, controladores de dispositivos, gestión de memoria y muchas cosas más. Normalmente un núcleo monolítico está implementado como un único proceso, con todos sus componentes compartiendo el mismo espacio de direcciones.
La arquitectura micronúcleo asigna solamente unas pocas funciones esenciales al núcleo, incluyendo espacios de direcciones, comunicación entre procesos (IPC) y planificación básica. Otros servicios del Sistema Operativo los proporciona procesos, algunas veces llamados servidores, que se ejecutan en modo usuario y que el micronúcleo trata como a cualquier otra aplicación. Este enfoque desconecta el núcleo y el desarrollo de servidores. Los servidores pueden estar diseñados para aplicaciones específicas o necesidades del entorno. El enfoque del micronúcleo simplifica la implementación, proporciona flexibilidad y se adapta bien para entornos distribuidos. En esencia, un micronúcleo interactúa de la misma forma con procesos servidores locales y remotos, facilitando la construcción de sistemas distribuidos.
La siguiente figura muestra mediante un diagrama de bloques los principales componente de Windows.
  • Maquina virtual del sistema: o VM del sistema , es el nombre dado en Windows 95 al entorno que soporta todas las aplicaciones y los componentes de subsistema de Windows, como por ejemplo la interfaz de dispositivo gráfico (GDI).
  • Aplicaciones Windows de 32 bits: son las nuevas aplicaciones Windows que usan el modelo de memoria de 32 bits del procesador 80386 y un subconjunto de la interfaz de programacion de aplicaciones (API) win32 de Microsoft, cada una tiene un espacio de direcciones privado que es inaccesible a otras aplicaciones.
  • Interfaz de ordenes>: es una aplicación Windows de 32 bits que proporciona al sistema la interfaz de usuario esencial. La interfaz de ordenes en Windows 95 concentra las funciones de las utilidades Administrador de Programas, Administrador de archivos, administrador de tareas de win 3.1 en una única aplicación.
  • Aplicación de Windows en 16 bits: son las aplicaciones Windows antiguas, estas aplicaciones utilizan el modelo de memoria segmentada de la familia de procesadores Intel el modelo de memoria 80286.
  • Capa de la interfaz de programación de aplicaciones: proporciona en Windows 95 una compatibilidad completa con la actual API de Windows 3.1, así como el soporte para la nueva API de 32 bits accesible solo para aplicaciones Windows de 32 bits. La API de 32 bits es un subconjunto de la completa API WIN32 de Microsoft vista por primera vez en Windows NT y en la WIN32s añadida en Windows 3.1.
  • Núcleo de Windows: proporciona soporte a los servicios de nivel mas bajo que requieren las aplicaciones Windows, tales como la asignación dinámica de memoria. Para Windows 95, el núcleo proporciona estos servicios a las aplicaciones de 16 y 32 bits.
  • El GDI : es el corazón de las capacidades gráficas de Windows, gestionando los tipos de letras, las primitivas de dibujo y el color tanto para los dispositivos de visualización como para los de impresión.
  • Usuario: es como se denomina al administrador de ventanas, el componente de Windows que dirige la creación y manipulación de ventanas, diálogos, botones y otros elementos de la interfaz de Windows.
  • Maquinas virtuales MS DOS: dan soporte a la ejecución de aplicaciones MS-DOS en Windows.
  • EL SISTEMA BASE
  • La administración de archivos: ha cambiado de forma marcada en Windows 95. En Windows 3.1 es MS-DOS quien controla el sistema de archivos local del disco fijo. este control de MS-DOS perjudicaba las prestaciones de Windows y la oportunidad de mejorar el soporte del sistema de archivos resultaba imposible mientras el siguiera con el control. Bajo Windows 95 la situación es totalmente diferente, ya no se utiliza DOS para la administración de archivos en los discos locales.
  • Subsistema de red: es la encarnación mas reciente de la red igualitaria de Microsoft vista por primer vez en 1992 en el producto Windows para trabajo en grupo y después Windows NT. El subsistema de red utiliza el nuevo subsitema de administración de archivos para coordinar su acceso a los archivos remotos.
  • Servicios del sistema operativo : incluyen el subsistema de configuración hardware conectar y listo .
  • Administrador de maquina virtual: es el corazón del sistema operativo Windows. Incluye el software que implementa todas las primitivas básicas del sistema para la planificación de tareas, operaciones de memoria virtual, carga y finalización de programas, y comunicación entre tareas.
  • Controladores de dispositivos: controladores de modo real y los denominados controladores virtuales o VxD. Algunos sistema aún pueden necesitar de el uso de los antiguos controladores de dispositivos de MS-DOS en modo real para dar soporte a dispositivos de hardware concretos, Windows 95 ha querido crear controladores de dispositivos protegido para tantos dispositivos populares. Ejemplo para el ratón, para los dispositivos de CD-ROM y muchos dispositivos de disco fijo.
  • Controladores de dispositivos virtuales: asumen el papel de compartición de un único dispositivos hardware entre diversas aplicaciones. Ejemplo la ejecución de dos aplicaciones MS-DOS en distintas ventanas de la pantalla necesita que el sistema cree dos VM MS-DOS, cada una de las cuales requiere el acceso a una única pantalla física . el VxD del controlador de pantalla tiene que aceptar estos requisitos de compartición. También se usa como un descriptor general para otros módulos del sistema operativo de 32 bits.
Visión General de la Arquitectura de Windows.
Un Sistema Operativo serio, capaz de competir en el mercado con otros como Unix que ya tienen una posición privilegiada, en cuanto a resultados, debe tener una serie de características que le permitan ganarse ese lugar. Algunas de estas son:
  • Que corra sobre múltiples arquitecturas de hardware y plataformas.
  • Que sea compatible con aplicaciones hechas en plataformas anteriores, es decir que corrieran la mayoría de las aplicaciones existentes hechas sobre versiones anteriores a la actual, nos referimos en este caso particular a las de 16-bit de MS-DOS y Microsoft Windows 3.1.
  • Reúna los requisitos gubernamentales para POSIX (Portable Operating System Interface for Unix).
  • Reúna los requisitos de la industria y del gobierno para la seguridad del Sistema Operativo.
  • Sea fácilmente adaptable al mercado global soportando código Unicode.
  • Sea un sistema que corra y balancee los procesos de forma paralela en varios procesadores a la vez.
  • Sea un Sistema Operativo de memoria virtual.
Uno de los pasos más importantes que revolucionó los Sistemas Operativos de la Microsoft fue el diseño y creación de un Sistema Operativo extensible, portable, fiable, adaptable, robusto, seguro y compatible con sus versiones anteriores (Windows NT).
Y para ello crearon la siguiente arquitectura modular:

ARQUITECTURA DE LINUX MANDRAKE
Linux es un núcleo monolítico híbrido, donde sus controladores de dispositivos y las extensiones del núcleo normalmente se ejecutan en un espacio privilegiado conocido como anillo, con acceso irrestricto al hardware, aunque algunos se ejecutan en espacio de usuario.

A diferencia de los núcleos monolíticos tradicionales, los controladores de dispositivos y las extensiones al sistema operativo se pueden cargar y descargar fácilmente como módulos, mientras el sistema continúa funcionando sin interrupciones.
Así mismo, a diferencia de los núcleos monolíticos tradicionales, los controladores pueden detenidos momentáneamente por actividades más importantes bajo ciertas condiciones.

Esta habilidad fue agregada para manejar correctamente interrupciones de hardware, y para mejorar el soporte de multiprocesamiento Simétrico.
A diferencia de los núcleos monolíticos tradicionales, los controladores de dispositivos son fácilmente configurables como Loadable Kernel Modules, y se pueden cargar o descargar mientras se está corriendo el sistema.
La arquitectura interna de Linux es compleja pero se puede resumir las partes importántes de forma breve y fácil de entender.

Procesos

Linux se organiza en procesos, que son tareas independientes que se ejecutan de forma simultánea mientras el sistema está en funcionamiento. Los procesos cuelgan unos de otros en una dependencia padre/hijo. Inicialmente al arrancar el sistema sólo existe un proceso, llamado init. Init lee los ficheros de configuración de arranque presentes en el directorio /etc y va creando procesos hijos. Estos a su vez tendrán sus propios hijos formando un árbol de descendientes. Los procesos en ejecución se encuentran alojados en la memoria rápida RAM del sistema. Cuando se habla de ejecutar o lanzar o arrancar un proceso, nos estámos refiriendo al proceso de leer un fichero almacenado en el disco duro que contiene las instrucciones del programa, colocando las mismas en la memoria RAM y a continuación empezando a ejecutar las instrucciones del programa ya en RAM.

Usuarios

Linux está diseñado para ser utilizado por varios usuarios simultáneamente. Aun cuando el sistema sólo vaya a ser utilizado por un único usuario, como es el caso corriente hoy en día, en general internamente Linux utilizará varios usuarios 'robots' para organizar mejor y de forma más segura el sistema. Linux siempre tiene un superusuario llamado 'root' ('raíz' traducido). En el siguiente párrafo se explica el por qué crea varios usuarios en vez de uno único.
Cada uno de los procesos pertenece a un usuario y en función del usuario asociado, dicho proceso tendrá unos permisos u otros. Un proceso en ejecución puede cambiar su usuario asociado si tiene los permisos suficientes para hacerlo. En general sólo tendrá permisos para cambiar de usuario cuando el usuario actual asociado al proceso sea 'root'. El proceso inicial Init se ejecuta con el usuario asociado 'root' lo cual le confiere permisos totales sobre la máquina. En general cuando Init ejecute sus procesos hijos lo hará asociandolos a usuarios distintos cuyos permisos se reduzcan a los esenciales para ejecutar la tarea para la cual están diseñado. P.ej, Init puede arrancar un proceso 'servidor de correo' asociado al usuario 'mail'. Este usuario tendrá los permisos justos y necesarios para poder enviar y recibir correo y almacenarlo en el directorio /var/spool/mail. El proceso 'servicio de correo' puede a su vez arrancar procesos hijos pero estos estarán automáticamente asociados a su usuario 'mail', nunca a 'root'. Este simple sistema de permisos provee a Linux de un sistema de seguridad muy sólido.
El entorno gráfico estándar de Linux es un proceso más llamado X. Cuando se arrancan las X todos los programas gráficos (que son a su vez procesos) colgarán de él y se ejecutarán por normal general con los permisos del usuario que se ha logeado con su nombre y password al inicio de la sesión. Las aplicaciones que solemos manejar frecuentemente como el navegador web o el reproductor de video no son más que procesos hijo del proceso X. Si ejecutamos por ejemplo un cliente de correo con un agujero de seguridad y descargamos un correo con virus, dicho virus 'engañará' al cliente de correo para que lo ejecute y entonces tendremos un nuevo proceso 'virus' colgando del cliente de correo y asociado al usuario que inició la sesión. Sin embargo puesto que este usuario no tiene permisos de administración el virus no podrá modificar ficheros claves del sistema, sólamente los ficheros propios del usuario. Al reiniciar el ordenador el virus habrá desaparecido. Esto complica enormemente la creación de virus para Linux. El entorno gráfico X es un proceso más, sin ningún privilegio sobre cualquier otro. Esto significa que podemos prescindir del mismo si no nos hace falta. En general, cuando Linux se utiliza como servidor de Internet es normal no iniciar el entorno gráfico ya que consume mucha memoria y puede ralentizar el sistema. Este ha hecho que Linux se popularice y desplaze a Windows en el entorno profesionales ya que por ejemplo permite contratar servicios de hospedaje virtual a precios mucho más reducidos que sus equivalentes en Windows. También al no depender de un entorno gráfico, puede administrarse remotamente de forma mucho más cómoda mediante líneas de comandos, mientras que Windows requiere transmitir el entorno gráfico a través de Internet (mucho más lento, costoso e inseguro).

Ficheros

Los procesos acceden al hardware y a otros recursos como la conexión de red a internet o los datos almacenados en disco a través de un sistema de ficheros. Todas las entradas y salidas de datos desde/hacia procesos se realiza a través de ficheros. P.ej, para acceder a la tarjeta gráfica de vídeo lo hará leyendo y escribiendo en:
/dev/video/card0    
  ^     ^    ^
           └── Tarjeta 0 (podría haber más de una tarjeta de video en el sistema)
                                         
       └── Subdirectorio/carpeta video      
                                            
  └── Abreviatura de device (dispositivo)
Mientras que para acceder a un documento de texto almacenado en su disco duro lo hará accediento a una ruta similar a:
 /home/usuario1/documento1.odf
  ^     ^        ^
               └── Documento que queremos leer/editar.
                                         
       └── Subdirectorio/carpeta usuario1 (puede haber muchos usuarios)
                                            
  └── Directorio reservado para los ficheros de los usuarios finales
 
En general un mismo proceso puede acceder simultáneamente a varios ficheros y a su vez un mismo fichero puede ser accedido simultáneamente por varios procesos como se vé en el esquema siguiente:
 ARBOL DE PROCESOS                                   FICHEROS Y DIRECTORIOS
 ==========================================================================
 procesoInicial(Init)                                /bin/Init
      
    ├── proc.Hijo1 ───────────────────▇───────────── /bin/proc.Hijo1
          ├── proc.Hijo1.1 ──────────┼─▇─────────── /bin/proc.Hijo1.1
          └── proc.Hijo1.2 ──────────┼─┼─▇───────── /bin/proc.Hijo1.2
    ├── proc.Hijo2 ───────────────────┼─┼─┼─▇─────── /bin/proc.Hijo2
          ├── proc.Hijo2.1 ──────────┼─┼─┼─┼─▇───── /bin/proc.Hijo2.1
          └── proc.Hijo2.2 ──────────┼─┼─┼─┼─┼─▇─── /bin/proc.Hijo2.2
    ├── proc.Hijo3 ───────────────────┼─┼─┼─┼─┼─┼─▇─ /bin/proc.Hijo3
          └── proc.Hijo3.1 ──────────┼─┼─┼─┼─┼─┼─┼─ /bin/proc.Hijo3.1
                   └── proc.Hijo3.1.1┼─┼─┼─┼─┼─┼─┼─ /bin/proc.Hijo3.1.1
    ├── proc.Hijo4                            ...
    ...                               ▇─▇─▇─▇─▇─▇─▇─ /
                                      ▇─▇─▇─┼─┼─┼─┼─ /dev/pts/0  
                                      ┼─┼─┼─▇─▇─▇─┼─ /dev/pts/1  
                                      ┼─┼─┼─┼─┼─┼─┼─ /dev/pts/2  
                                      ┼─▇─┼─┼─▇─┼─┼─ /etc/passwd  
                                      ┼─┼─▇─┼─┼─▇─┼─ /dev/snd/controlC0  
                                      ▇─▇─▇─▇─▇─▇─▇─ /dev/null
                                      ▇─┼─▇─┼─▇─▇─▇─ /lib/i686/libc-2.11.so  
                                      ...                                   
En el esquema anterior puede verse como por ejemplo todos los procesos (lado izquierdo) tienen acceso a '/', la raíz del sistema así como a /dev/null. Cada proceso tiene acceso también a su imagen en el disco duro desde donde se leen el mismo antes de volcarla a memoria RAM.
A continuación se muestra un ejemplo real del árbol de procesos hasta llegar al proceso navegador firefox:
USUARIO  PROCESO
root     /sbin/init [5]
...
root      \_ /usr/sbin/gdm-binary
usuario1       \_ /etc/X11/X            
usuario1            \_ gnome-panel
usuario1                \_ /usr/bin/firefox   
 
En el esquema anterior se puede observar como el proceso inicial init lanzará entre otros el proceso gdm-binary que es el encargado de autentificarnos con nuestro usuario y password. A continuación ejecutará el entorno gráfico X. Dentro de X se ejecutarán una serie de aplicaciones, p.ej, el relog mostrando la hora o el administrador de archivos. En el esquema anterior se muestra sólamente la aplicación gnome-panel, una pequeña barra colocada en el lateral del monitor y que sirve para que el usuario pueda indicarle al sistema qué otras tareas (procesos) quiere ejecutar a continuación pulsando sobre un icóno gráfico asociado a la misma. En este caso se ejecutó él navegador web firefox. Como puede observarse en el esquema firefox se ejecuta asociado al usuario1 y por tanto con los permisos restringidos del mismo ya que es hijo de gnome-panel que a su vez es hijo de X y que fué ejecutado como usuario1 por el gestor de sesiones una vez identificados correctamente con nuestro usuario y password. Si mientras navegamos por internet un virus se colase en nuestro navegador entonces el esquema anterior quedaría como:
USUARIO  PROCESO
root     /sbin/init [5]
...
root      \_ /usr/sbin/gdm-binary
usuario1       \_ /etc/X11/X            
usuario1            \_ gnome-panel
usuario1                \_ /usr/bin/firefox   
usuario1                    \_ /home/usuario1/MiVirusFavorito
MiVirusFavorito estaría muy limitado y sólo podría acceder a ficheros del usuario1, es decir aquellos situados dentro de la carpeta /home/usuario1/. Puesto que no tiene acceso a los ficheros de arranque si reiniciamos la máquina el virus morirá ya que 'init' jamás ejecutará el fichero /home/usuario1/MiVirusFavorito. Por otro lado puesto que otras máquinas sólo permanecerán infectadas mientras el virus esté en funcionamiento la posibilidad de que dicha máquina 'zoombie' nos ataque será muy reducida. Este sistema de seguridad no transforma a Linux en un sistema invencible pero sí mucho más complicado de infectar que otros sistemas operativos. Por tanto hay que procurar mantener actualizado el sistema y hacer copias de seguridad, aun cuando tengamos la certeza de que las posibilidades de ataque son muy inferiores.
Con esta pequeña introducción ya podemos curiosear las tripas de nuestro sistema. Para ello podemos utilizar los comandos de monitorización.

El kernel

Comentaba anteriormente que el primer proceso en ejecutarse el init. En realidad esto no ha sido más que una mentira con fines pedagógicos. El primer proceso en ejecutarse es el Kernel. El kernel hace de frontera entre el software y el hardware. Para nuestra CPU, el kernel es un programa de software como cualquier otro (o casi como cualquier otro) pero para el resto de procesos, init incluido, el kernel se comporta como si fuese hardware. Cuando un proceso quiere acceder al hardware no lo hace directamente, sino que se lo pide al kernel. El kernel hace de interlocutor entre procesos y hardware. Si varios procesos quieren acceder al disco duro o a Internet, el kernel asignará un tiempo a cada uno de ellos, copiará los datos que cada proceso quiere enviar y los enviará al disco duro o a la red. También es el kernel el encargado de distribuir el tiempo de CPU asignado a cada proceso. Linux es un sistema multiproceso debido a que, aun disponiendo de un único procesador, Linux es capaz de ejecutar simultáneamente varias tareas haciendo rotar el propietario de la CPU cada fracción de segundo. En realidad puede asignar el control de la CPU a un nuevo proceso entre 100 o 1000 veces por segundo, dependiendo de la potencia de la CPU. Para un ser humano da la impresión de que todas las tareas se están ejecutando de forma simultánea. Este sistema de asignación de la CPU es clave y está extremadamente estudiado y optimizado. P.ej, Linux es lo suficientemente inteligente como para saber qué procesos están a la espera de recibir un dato de internet y, mientras este dato no llegue, no le asignará el valioso tiempo de CPU. Desde hace unos años a esta parte, los procesadores han desarrollado sistemas de ahorro de energía permitiendo disminuir la frecuencia, potencia o ciclo de trabajo de la CPU cuando no hay tareas que hacer. Linux está al tanto de este hecho y si observa que no hay aplicaciones demandando la CPU automáticamente le indica al procesador que disminuya el consumo de energía.
Si antes nombrábamos que los procesos están asociados a usuarios y gestionan ficheros, en realidad estos usuarios y ficheros son gestionados por el kernel. Cuando un proceso quiere acceder a un fichero, en realidad le pide al kernel que acceda al fichero y será el kernel quien le devuelva los datos que haya leido. Antes de ello el kernel comprueba el usuario y grupo asociado al proceso, comprueba a su vez los usuarios o grupos que pueden acceder a dicho fichero. Si no concuerdan, en vez de devolver el dato, devolverá un error o excepción al proceso llamante indicándole el "porque".
Otra labor del kernel es abstraer a los procesos del hardware real de la máquina. Un proceso 'visor de fotos' que quiera acceder al fichero /home/usuario1/FOTOS/vaciones001.png no tiene que preocuparse si dicho fichero está en un disco duro, una memoria SSD o debe ser accedido a través de la red local ya que se encuentra en otro ordenador. El kernel mediante un sistema llamado "montaje" mapea rutas lógicas de directorios, p.ej, /home/usuario1 con un dispositivo físico, p.ej, el disco duro local o un disco duro en Internet a 1000 kms. de distancia. El proceso 'visor de fotos' no se tiene que preocupar de dónde está fisicamente el fichero, sólamente de su ruta simbólica /home/usuario1/FOTOS/vacaciones0001.png.
La memoria RAM de un sistema es limitada, y de nuevo el kernel se encarga de asignar memoria a los procesos. Además, de nuevo, es lo suficientemente inteligente como para saber qué procesos llevan mucho tiempo sin ejecutarse (por ejemplo un servidor de correo que lleva 10 minutos sin enviar ni recibir correos) y si la memoria RAM escasea, es capaz de mover el proceso de RAM al disco duro y asignar la memoria RAM a procesos que en un instante dado puedan hacer mejor uso de la misma.
La palabra Linux, estrictamente hablando, en realidad se refiere sólamente al kernel. Los procesos normales en realidad no son Linux, son procesos desarrollados por diferentes grupos de trabajo (fundación GNU, Mozilla, empresas,...). Sin embargo es costumbre resumir, por abuso del lenguaje, como Linux a todo y cuanto se ejecuta bajo el kernel (algo que en realidad siempre ha molestado a otros grupos de desarrollo que se ven injustamente ignorados por este hecho).