lunes, 26 de noviembre de 2012

1.1 Conceptos y características de los sistemas operativos de redes y sistemas operativos centralizados.


 
 
Los sistemas operativos de red es el equipo lógico que controla las comunicaciones y los recursos compartidos en la red y proporciona la capacidad de proceso distribuido. En un principio los sistemas operativos de red sólo permitían compartir impresoras y discos, y una única estación podía acceder de cada vez a un volumen de disco. En la actualidad los sistemas operativos de red proporcionan la base para crear aplicaciones cliente/servidor, integrar diferentes tipos de ordenadores, y formar grupos de trabajo.

Existen varias definiciones qu pretende determinar  algunos  de los aspectos que se describen con el termino SO. Por este motivo plantearemos diversas definiciones

 

1.-Podemos definir al SO como un programa que facilita el uso del soporte físico  esta definición  pone de manifiesto que el SO no es nada mas que un  programa bastante complejo, que presenta  las siguientes características:

El SO suele estar escrito en un lenguaje de alto nivel. (la tendencia  actual es utilizar C como lenguaje  de programación  de sistemas.)

El SO  debe estar diseñado  de forma que sea fácil comprender, de sencilla  utilización y cuya modificación  ha de ser posible y fácil para una continua  actualización

Como todo programa complejo, el SO puedeno ser  posible y  fácil o estar  basado  en suposisiones erróneas

2.- el SO puede definirse como un intermediario  entre los programas  de aplicación y el soporte fisico

3.-Un sistema operativo  es un programa o conjunto de programas que en un sistema informático gestiona los recursos de hardware y provee servicios a los programas de aplicación, ejecutándose en modo privilegiado respecto de los restantes.

Un sistema operativo es un conjunto de sistemas y procedimientos que actúa como intermediario entre el usuario y el hardware de un computador y su propósito es proporcionar un entorno en el cual el usuario pueda ejecutar programas. El objetivo principal de un sistema operativo es lograr que el sistema de computación se use de manera cómoda, y el objetivo secundario es que el hardware del computador se emplee de manera eficiente.
Existen muchos tipos distintos de sistemas operativos, desde los básicos como el POST (Power On Self Test), Sistemas operativos de tiempo real, Sistemas Operativos de Redes, Mono-Usuarios, Multi-Usuarios entre otros. En el desarrollo de este trabajo estaremos desarrollando el concepto de Sistema operativo Distribuido, su historia, sus funciones y aplicaciones y modo de trabajo.

EficienciaLa idea base de los sistemas operativos distribuido es la de obtener sistemas mucho mas rápidos que los utilizados de procesador único, Y para lograr esto tenemos que olvidar la idea antigua de ejecutar los programas en estos procesadores y pensar en distribuir las tareas a los procesadores libres mas rápidos en cada momento.
El concepto global de que un procesador haga todas las tareas y la desarrolle rápido depende de muchos factores concretos: Velocidad, Memoria y tipo de procesamiento, Pero para un sistema operativo distribuido esto es mucho mas fácil y eficiente, solo buscara un procesador mas rápido y mas libre para que desarrolle las tareas y hará un display de los resultados obtenidos.

Flexibilidad
La Flexibilidad dentro de sistema operativo distribuido, describe su capacidad para soportar cambios, actualizaciones y mejoras que le permitan irse desarrollando al mismo ritmo de la evolución tecnológica.
Dicha capacidad es una virtud y un conflicto. Una Virtud debido a las grandes necesidades de los sistemas operativos de mejorar después de las primeras versiones y un conflicto que surge entre los sistemas de con Núcleo Monolítico y los sistemas con Micro núcleo las cuales son dos arquitecturas distintas del núcleo del sistema operativo.
Núcleo MonolíticoComo ejemplo de sistema operativo de núcleo monolítico esta UNIX, estos sistemas tienen en núcleo grande y complejo, que engloba todos los servicios del sistema. Esta programado de forma no modular, y tiene un rendimiento mayor que un micro núcleo. Sin embargo, cualquier cambio a realzar en cualquiera de los servicios, requiere de hacer un STOP a todos los servicios y la recopilación del núcleo.

Micro Núcleo.
La arquitectura ofrece la alternativa al núcleo monolítico, se basa en una programación altamente modular y tiene un tamaño mucho menor que el núcleo monolítico. Como consecuencia, el refinamiento y el control de errores son mas rápidos y sencillos. Además, la actualización de los servicios es más sencilla y ágil. Ya que solo es necesario la recopilación del servicio y no de todo el núcleo. Como desventaja, El rendimiento se ve afectado negativamente.
En la actualidad la mayoría de los sistemas operativos distribuidos en desarrollo tienden a un diseño de micro núcleo el cual aun siendo un poco mas lento, garantiza una estabilidad mayor y un aumento de la flexibilidad del sistema.

Escalabilidad
Un sistema operativo distribuido debería funcionar tanto para una docena de computadoras como para mil en una sola red, el tipo de red utilizada no debe de ser un problema ni su topología (LAN o WAN) (TOKEN RING o ETHERNET) y mucho menos la distancia entre los equipos. Sin embargo todo esto influye, Aunque estos puntos serian muy deseables, pude que la solución valida para unas cuantas computadoras no sean aplicables como para mil. Del mismo modo el tipo de red condiciona grandemente el rendimiento del sistema y puede que lo funcione para un tipo de red requiera modificaciones para otro.
Los sistemas operativos distribuidos necesitan de grandes estándares para trabajar y sobre todo de ajustes a las necesidades principales de cada red y sus usuarios. Este concepto propone que cualquier computador debe funcionar perfectamente como un sistema operativo distribuido, pero de la misma forma debe de formar parte y trabajar como más equipos no importan la cantidad o los recursos que estos le puedan proporcionar.
SincronizaciónLa sincronización es un punto clave para los sistemas operativos distribuidos. Para computadores únicos no es nada importante, pero en el caso de los recursos compartidos de la red, la sincronización es sumamente importante.
Los sistemas operativos distribuidos tienen un reloj por cada ordenador del sistema, con lo que es fundamental una coordinación entre todos los relojes para mostrar una hora única. Los osciladores de cada ordenador son ligeramente diferentes, y como consecuencia todo los relojes sufren un desfase y deben ser sincronizados continuamente. La sincronización no es trivial, porque se realiza a través de mensajes por la red. Cuyo tiempo de envió pude ser variable y depender de muchos factores como la distancia, la velocidad de transmisión y la propia estructura de la red.

El Reloj.
La sincronización del reloj no tiene que ser exacta y bastara con que sea aproximadamente igual en todos los ordenadores. Hay que tener en cuenta eso si. El modo de actualizar la hora de un reloj es particular. Es fundamenta no retrasar nunca la hora, aunque el reloj adelante. En vez de eso, hay que atrasar la actualizaron del reloj. Frenarlo. Hasta que alcance la hora aproximada. Existen diferentes algoritmos de actualizan de la hora.
El Reloj es únicamente uno de los tantos problemas de sincronización que existen en los sistemas operativos distribuidos.


miércoles, 21 de noviembre de 2012

amenazas en aplicaciones web


¿CÓMO ES QUE UNA APLICACIÓN WEB  PUEDE SER PELIGROSA? 

Como saber como y cuando una aplicación web es peligrosa una pregunta que sin duda alguna mas de uno nos hemos hecho

Típicamente, una aplicación web maliciosa está en forma de un como  lo conocemos en el ámbito informático como un troyano o caballo de Troya creo que hasta el mismo nombre lo dice algo que creemos que no nos causara problema alguno: La aplicación demanda ser algo más, y de hecho puede funcionar como una legitima utilidad o aplicación, pero una vez que le das clic, corre un código malicioso escondido que puede comprometer tu sistema o descargar secretamente otro malware más poderoso.

Haciendo referencia Cameron Camp investigador de ESET dice acerca de este tipo de  virus de malware

Mientras puedan incrementarse o funcionar con el navegador, los usuarios deben estar prevenidos para cualquier tipo de malware que puede entrar muy profundamente en tu sistema.”

Y tener en claro como es que no los podemos encontrar hoy en dia en la red.

Algunos ataques de malware intentan tentarte a hacer clic en un link dentro de un mensaje de mail, el cual te conecta a una aplicación maliciosa que infecta tu PC de malware. Otras aplicaciones tentadoras están acechando en la Web, esperando pacientemente por las víctimas. En algunos de los casos, los atacantes han explotado las vulnerabilidades dentro de un website o empleado ads envenenadas para insertar malware en alguna aplicación o sitio legal de confianza

Fred Pinkett, vicepresidente de producto en Security Innovation, dice que los usuarios deberían acercarse a los websites desconocidos y sospechosos con mucha cautela y escepticismo. Explica, “Generalmente, pensamos que los sitios que mejor conocemos, los que más nos gustan están bien, pero esa no siempre es la verdad. Busca por medio de los trucos comunes, como la dirección IP, sitios vinculados, y buscando URLS divertidos con caracteres especiales en ellos, aunque estos no siempre son maliciosos.”

 

 

TIPOS D AMENAZAS EN APLICACIONES WEB

Bueno empezaremos con este tema que sin duda alguna hemos de conocerque tipos de amenazas se pueden infiltrar en estas herramientas de tarbajo empezaremos hablando

1.    Inyecciones: Fallos de inyección de código, desde SQL hasta comandos del sistema.

2.    Cross-site Scripting: Anteriormente fue número uno en la lista, es uno de los problemas más extendidos.

3.    Gestión defectuosa de sesiones y autenticación: Son los fallos en las acciones de gestión de sesiones y autenticación.

4.    Referencias directas a objetos inseguras: Fallos al exponer partes privadas o internas de una aplicación sin control y que son de acceso público.

5.    Cross-site Request Forgery: Fallo producido por el desencadenamiento de actuaciones legítimas provenientes de un usuario autenticado, que proceden del control de un atacante que pasa desapercibido para el usuario.

6.    Ausencia de, o mala, configuración de seguridad: Es la ausencia de seguridad o la mala configuración de ésta en el total de los componentes que forman una aplicación web, desde la misma aplicación hasta la configuración del sistema operativo o el servidor web.

7.    Almacenamiento con cifrado inseguro: Es la falta o mal empleo de los sistemas de cifrado en cuanto a los datos almacenados o utilizados por la aplicación.

8.    Falta de restricciones en accesos por URL: Es la carencia de validación en el procesamiento de URLs que se podrían utilizar para solicitar recursos sin los derechos adecuados o páginas ocultas.

9.    Protección insuficiente de la capa de transporte: Esta en relación con la A7 pero se orienta a la protección del tráfico de red. Es la elección de un cifrado débil o la mala gestión de certificados.

10. Datos de redirecciones y destinos no validados: Fallos en el tratamiento de redirecciones y utilización de datos no fiables como destino.

 

 

Se puede confiar en una aplicación  web

Hoy se podía hacer este pregunta tan seria se puede podríamos estar confiando  nuestra información en estas aplicaciones  se puede decir que podría ser un ejemplo como las relaciones sexuales se puede tener muchas precauciones para no contraer una enfermedad  sexual pero está el peligro de poder contraer   una no  nos asegura que podamos tenerla o otros

 

 

 

 

Protección ante la amenaza de una aplicación web

Las aplicaciones web se han convertido en el esqueleto del negocio en casi todos los segmentos de la economía. Conectan a los empleados, clientes y socios a la información que necesitan en cualquier lugar y en cualquier momento. Aunque se han reducido los costes de acceso a esa información y se ha acelerado drásticamente el ritmo de los negocios, también han aumentado los riesgos: robos de identidad, fugas de datos, malware, ataques de denegación de solicitud de servicio (DoS) y botnets maliciosos impactan cada vez más a las aplicaciones web, con consecuencias que afectan a la marca, los ingresos y el cumplimiento de las normas.

Como su nombre lo indica, esta vulnerabilidad permite al atacante ejecutar código en el servidor vulnerable y obtener información almacenada en él. Los errores de codificación impropios resultan de esta vulnerabilidad.

A veces es difícil descubrir vulnerabilidades durante la puesta a prueba del sistema, pero tales problemas son a menudo revelados mientras se hace la revisión de código.

 

1.    Las versiones recientes de PHP, por default traen register_globals en Off, sin embargo algunos usuarios cambian esta configuración para aplicaciones que lo requieren. Esta configuración puede ser definida en “On” o en “Off” en el archivo php.ini o un .htaccess. La variable deberá ser propiamente inicializada si el registro está definido en “On”.

2.    Se debe filtrar todas las entradas de datos del usuario antes de procesarlas. Hasta donde sea posible, tratar de no utilizar comandos de la shell. Sin embargo, si son requeridos, asegurarse que solo datos filtrados sean usados para construir la cadena a ser ejecutada.

Por desgracia, actualmente el gasto en seguridad de datos se centra en las redes empresariales, dejando puntos débiles en las base de datos y aplicaciones que pueden ser explotadas por los ciberdelincuentes. En 2009, las 10 mayores fugas de datos revelan que el 74% de las pérdidas de datos provenían de las violaciones de bases de datos, el 19% de brechas en la aplicación y el 7% de brechas de la red. Sin embargo,más del 90% de los 16.000 millones de dólares invertidos en seguridad en 2009 se destinaron a las redes.

creacion de un archivo .bat

bueno hoy veremos lo sencillo que es poder crear un archivo . bat sin tanto conocimiento en esto de la progrmacion primero que le mostrare es el codigo para que puedan realizar lo que es un menu par que lleve acabo ciertas operaciones en nuestro sistema operativo este tipo de archivos lo podemos llevar acabo desde nuestro bloc de notas obviamente ala hora de guradar nuestro archivo le daremos la extencion .bat bueno aqui le muestro el codigo:


@echo off
:menu
cls
echo:
echo 1 - Bloc de notas
echo 2 - reproductor
echo 3 - solitario
echo 4 - paint
echo 5- salir
echo.

:menu
set /p me=insertar
If %me% ==1 goto 1
If %me% ==2 goto 2
If %me% ==3 goto 3
If %me% ==4 goto 4
If %me% ==5 goto 5

 

 

:1
start notepad
cls
pause >nul
goto menu

:2
start wmplayer
cls
pause
goto menu

 

:3
start spider
cls
pause > nul
goto menu

 
:4
start mspaint
cls
pause
goto menu

 

:5
cls
pause
exit
goto menu

 

 
echo.
echo ADIOS.....
pause
exit

 
bueno es asi como quedaria nuestro menu
 
seleccionamos la opcion que desamos en este caso seleccione el reproductor  y por consecuente se ha de ejcutar la aplicacion opbiamante dandola lo que es  la orden de ejecucion con la opcion 2

le damos la opcion 5 y se ha de cerrar nuestro menu
 
espero les guste y sea de gran ayuda par alguna tarea  o investigacion de cualquier materia de tecnologuias de la informacion

 


martes, 20 de noviembre de 2012

claves en bases de datos

pero demientra aqui les dejo un trabajo que recientemente ice en bases de datos

Claves
Una clave primaria es aquella columna (o conjunto de columnas) que identifica únicamente a una fila. La clave primaria es un identificador que va a ser siempre único para cada fila. Se acostumbra a poner la clave primaria como la primera columna de la tabla pero es más una conveniencia que una obligación. Muchas veces la clave primaria es numérica auto-incrementada, es decir, generada mediante una secuencia numérica incrementada automáticamente cada vez que se inserta una fila.
En una tabla puede que tengamos más de una columna que puede ser clave primaria por sí misma. En ese caso se puede escoger una para ser la clave primaria y las demás claves serán claves candidatas.
Una clave ajena (foreign key o clave foránea) es aquella columna que existiendo como dependiente en una tabla, es a su vez clave primaria en otra tabla.
Una clave alternativa es aquella clave candidata que no ha sido seleccionada como clave primaria, pero que también puede identificar de forma única a una fila dentro de una tabla. Ejemplo: Si en una tabla clientes definimos el número de documento (id_cliente) como clave primaria, el número de seguro social de ese cliente podría ser una clave alternativa. En este caso no se usó


como clave primaria porque es posible que no se conozca ese dato en todos los clientes.
Una clave compuesta es una clave que está compuesta por más de una columna.
La visualización de todas las posibles claves candidatas en una tabla ayudan a su optimización. Por ejemplo, en una tabla PERSONA podemos identificar como claves su DNI, o el conjunto de su nombre, apellidos, fecha de nacimiento y dirección. Podemos usar cualquiera de las dos opciones o incluso todas a la vez como clave primaria, pero es mejor en la mayoría de sistemas la elección del menor número de columnas como clave primaria.
Una superclave es un conjunto de uno o más atributos que, tomados colectivamente, permiten identificar de forma única una entidad en el conjunto de entidades. Por ejemplo, el atributo id-cliente del conjunto de entidades   cliente es suficiente para distinguir una entidad cliente de las otras. Así, id-cliente es una superclave.
Análogamente, la combinación de nombre-cliente e id cliente es una superclase del conjunto de entidades cliente.
El atributo nombre-cliente de cliente no es una superclave, porque varias personas podrían tener el mismo nombre.El concepto de una superclave no es suficiente para lo que aquí
se propone, ya que, como se ha visto, una superclave puede contener atributos innecesarios. Si K es una superclave, entonces también lo es cualquier super conjunto de K. A menudo interesan las superclaves tales que los subconjuntos propios de ellas no son
superclave. Tales superclaves mínimas se llaman clavescandidatas. Es posible que conjuntos distintos de atributos pudieran servir como clave candidata. Supóngase que una combinación de nombre-cliente y calle-cliente es suficiente para distinguir entre los miembros del conjunto de entidades cliente. Entonces, los conjuntos {id-cliente}
y {nombre-cliente, calle-cliente} son claves candidatas

Aunque los atributos id-cliente y nombre-cliente juntos puedan distinguir entidades cliente, su combinación no forma una clave candidata, ya que el atributo id-cliente por sí solo es una clave candidata. Se usará el término clave primaria para denotar una clave candidata que es elegida por el diseñador de la base de datos como elemento principal para identificar las entidades dentro de un conjunto de entidades. Una clave (primaria, candidata y superclave) es una propiedad del conjunto de entidades, más que de las entidades individuales. Cualesquiera dos entidades
individuales en el conjunto no pueden tener el mismo valor en sus atributos clave al mismo tiempo. La designación de una clave representa una rerestricción en el desarrollo del mundo real que se modela. Las claves candidatas se deben designar con cuidado. Como se puede comprender, el nombre de una persona es obviamente insuficiente, ya que hay mucha gente con el mismo nombre. En España, el D.N.I. puede ser una clave candidata. Como los no residentes en Españanormalmente no tienen D.N.I., las empresas internacionales pueden generar sus propios identificadoresúnicos. Una alternativa es usar alguna combinación única de otros atributos como clave.
La clave primaria se debería elegir de manera que sus atributos nunca, o muy raramente, cambien. Por ejemplo, el campo dirección de una persona no debería formar parte de una clave primaria, porque probablemente cambiará. Los números de D.N.I., por otra parte, es seguro que no cambiarán. Los identificadores únicos generados por empresas generalmente no cambian, excepto si se fusionan dos empresas; en tal caso el mismo identificador puede haber sido emitido por ambas empresas y es necesario la reasignación de identificadores para asegurarse de que sean únicos