miércoles, 17 de junio de 2009

Problemas de seguridad

Problemas más frecuentes en un sistema de información:

• Uso indebido o malicioso de programas: Dos formas frecuentes de generar talios de seguridad usando están técnicas son el caballo de Troya y la puerta de atrás. El caballo de Troya se basa en la idea de crear un programa para que haga cosas no autorizadas en el sistema cuando actúa en el entorno adecuado. Ejemplo: un editor de texto modificado para que haga copias de los archivos a los directorios de ¡os intrusos. La puerta de atrás consiste en crear un agujero de seguridad al sistema a través de un programa privilegiado que o permite. Algunos ejemplos: Convencer a un programador de sistema para que le deje acceder con privilegios anormales; permitir que el diseñador de un programa se reserve el acceso por medios no conocidos, tales como una identificación reservada. Los problemas de seguridad generados por programas maliciosos son generalmente difíciles de detectar y corregir. Las puertas de atrás no siempre son perjudiciales o maliciosas. Pueden tener varias causas: se dejan a propósito para probar el sistema, como un medio de acceso encubierto que permite extraer información del sistema sin que el dueño sea consciente de ello: este último caso es realmente peligroso.

• Usuarios inexpertos o descuidados: Borrar archivos no deseados, dejar abiertos los accesos al sistema durante largo tiempo o escribir la palabra clave en un papel junto a la computadora. Este tipo de problemas generados por descuido pueden disminuir si el administrador añade ciertos mandatos, como delete o rm (borrar archivos), se pueden configurar para pedir confirmación de cada acción que realizan.

• Usuarios no autorizados: Los sistemas operativos, como UNIX o Windows NT, mantienen cuentas para los usuarios autorizados. El acceso a dichas cuentas se protege mediante contraseñas, o palabras clave, que solo debe conocer el dueño de las mismas. Uno de estos usuarios, denominado administrador o superusuario, puede acceder a todo el sistema saltándose las protecciones del resto de los usuarios. El proceso de reconocimiento de usuario, denominado autenticación, es muy importante para evitar que usuarios no autorizados accedan al sistema. La posibilidad de cargar programas externos en un sistema o de que existan usuarios no autorizados se incrementa mucho en sistemas con arquitectura abierta conectados en redes. Los administradores prefieren tener sistemas sin interferencias externas, de forma que se pueda evitar que programas externos entren en dominios de otros usuarios. En la actualidad es muy difícil tener sistemas completamente asilados, cualquier computadora actual tiene una unidad de disco extraíble o una conexión a la red. Aunque se intenten comprobar todos los accesos desde dispositivos externos, existe un cierto grado de apertura que no se puede evitar. Por ejemplo: el correo electrónico que puede cargar programas pequeños que posteriormente cargan en el sistema programas más destructores. La existencia de sistemas abiertos da lugar a cuatro tipos principales de ataques de seguridad virus, gusanos, rompedores de clave y bombardeos. Todos ellos están relacionados con la velocidad de propagación de unos sistemasa otros, lo que permite atacar desde sistemas remotos o enviar programas de ataque a otros sistemas.

Leia Mais…

domingo, 14 de junio de 2009

Conceptos de Seguridad y Protección

La seguridad en los sistemas de una computadora es un elemento muy importante en diseño de los sistemas operativos ya que manejan información muy valiosa para sus propietarios.

La seguridad de un sistema tiene múltiples facetas, desde la protección ante posibles daños físicos de los datos (fuego, terremotos, etc.) hasta el acceso indebido a los mismos (intrusos, fallos de confidencialidad, etc.).

Los ataques contra la confidencialidad, la integridad o la disponibilidad de recursos en un sistema deben prevenirse y solventarse mediante la política y los mecanismos de seguridad de un sistema. La seguridad debe tener en cuenta eventos tanto internos como externos (provenientes del entorno en que opera el sistema), de nada sirve tener mecanismos de protección interna muy buenos, si el sistema operativo no es capaz de identificar a los usuarios que acceden al sistema o si no existe una política de salvaguarda de datos antes la rotura de un disco.

La protección, consiste en evitar que se haga un uso indebido de los recursos que están dentro del ámbito del sistema operativo. Es necesario comprobar que los recursos (archivos, zonas de memoria, etc.) solo se usan por aquellos usuarios que tienen derechos de acceso.

El sistema operativo debe proporcionar los medios para implementar políticas de protección deseadas por el usuario.

La seguridad de un sistema operativo se basa principalmente en tres aspectos de diseño:

1. Evitar pérdida de datos
2. Controlar la confidencialidad
3. Controlar el acceso a los datos y recursos

La pérdida de datos puede deberse a catástrofes naturales o artificiales, a errores del hardware o del software de la computadora (rotura de un disco) o a errores humanos. Una solución para estos problemas es hacer que los administradores del sistema mantengan varias copias de los datos almacenados en distintos lugares.

En el ámbito interno del sistema operativo hay operaciones que pueden violar la confidencialidad de los datos. Una simple asignación de bloque de disco libre a un usuario le proporcionará el bloque con el contenido del usuario anterior si el sistema operativo no tiene una política definida para este tipo de situaciones. En estos casos, siempre hay que limpiar los recursos de los datos anteriormente existentes.

Sin embargo la confidencialidad de los datos es un problema de seguridad que sobrepasa el ámbito de los sistemas operativos.

En cuanto al control del acceso a datos y recursos, es necesario asegurar que los usuarios no acceden archivos para los que no tienen permisos de acceso, a cuentas de otros usuarios o páginas de memoria o bloques de disco que contienen información de otros usuarios.

Leia Mais…

Para que sirve la script del Shell

Un shell es la parte fundamental de un sistema operativo encargada de ejecutar las órdenes básicas para el manejo del sistema. También se denomina shell. Suelen incorporar características tales como control de procesos, redirección de entrada/salida y un lenguaje de órdenes para escribir programas por lotes o (script).

Los principales intérpretes de comandos son:

* command.com: perteneciente a los sistemas MS-DOS y derivados como Windows 95 y 98.

* ksh: El korn shell de UNIX.

* C Shell (csh): similar en sintaxis al lenguaje C.

* Bourne Shell (sh)

* GNU Bourne Again Shell (bash): variante del Bourne Shell clásico para Linux con características avanzadas como control de procesos, historial de órdenes y edición similar a Emacs entre otras.

* Tcsh: versión de C Shell para Linux con funcionalidades similares a bash.

* Zsh: pequeño intérprete similar al Bourne Shell.

¿Qué es un guión (script)?

Un guión o script es un fichero de texto que contiene una serie de instrucciones que se pueden ejecutar en la línea de órdenes, y que se ejecutarán seguidas. En ese sentido son iguales que los ficheros con extensión BAT de MS-DOS, aunque, por supuesto, como en los sistemas UNIX no existe el concepto de extensión, pueden tener cualquier nombre. El único requisito es que ese fichero de texto tenga permiso de ejecución para la persona que intenta ejecutarlo. Alternativamente, puedes llamar al intérprete y darle como parámetro el nombre del guión, pero es más cómodo dar permiso de ejecución al guión para ahorrarnos escribir el nombre del intérprete. El objetivo de un script en el shell es para automatizar tareas que hacemos habitualmente ahorrando un tiempo considerable al usuario.

Esas instrucciones se procesarán por orden, como si alguien las escribiera en el mismo orden en la línea de órdenes. Por ello, van una por línea (los saltos de línea se interpretan igual que si hubieras pulsado INTRO), o separadas por caracteres ``punto y coma'' (;) si están en la misma línea. Cuando se ejecuta un guión para el intérprete de órdenes, se intenta ejecutar como un binario normal, pero al darse cuenta el sistema operativo de que no es un binario válido, pero que es un archivo de texto, ejecuta un intérprete hijo y empieza a interpretar el fichero de texto. Si fuera un archivo con un texto cualquiera, tarde o temprano (probablemente en la primera línea) habría un error de sintaxis y se abortaría la ejecución del programa.
Scripts de Shell - Básicos

Siempre que interactuamos con el shell estamos creando pequeños programas. Cuando a estos pequeños programas se guardan en un archivo que pueda ejecutarse luego, lo son llamados "script". Estos scripts sirven, entre otras cosas, para tareas de automatización.

Los scripts de shell son básicamente programas escritos en el lenguaje del shell, se parecen a los archivos .BAT del DOS. Aunque es cierto que, si se van a escribir más de varias decenas de líneas de script, es mejor recurrir a un lenguaje diferente del shell, pensar en que los scripts de shell son solamente pequeños programas sería cometer una injusticia con la flexibilidad y comodidad que ofrecen al usuario.

Normalmente los scripts de shell se crean cuando es necesario combinar en una única acción una tarea rutinaria.

Estos scripts pueden ser muy breves (una sola línea), o bastante largos (varias pantallas). A continuación se muestran algunos ejemplos muy sencillos.
Primer Script de Shell

Creamos un archivo que contenga: who | wc -l, esto lo podemos hacer utilizando el comando echo, con la salida standard a un archivo, o bien utilizando el editor vi. El archivo lo llamaremos cuantos.

Para poder ejecutar este pequeño script, tenemos que utilizar el intérprete del shell. Hay dos formas de hacerlo: sh cuantos, invocará al sh para que interprete el script y lo ejecute.

El archivo no lo podemos ejecutar directamente, porque al crearlo, se ha creado como archivo de texto, y no tiene permisos de ejecución. Para que podamos ejecutarlo tenemos que agregarle el permiso: chmod u+x cuantos. Una vez que le hemos agregado el permiso, nuestro archivo ha pasado a ser un ejecutable, y se lo puede invocar como a cualquier comando. La línea para invocarlo será: ./cuantos.
La variable PATH

Llama la atención el ./ que tenemos que agregar al principio para poder ejecutar el archivo. Esto simboliza al directorio actual. Lo que estamos haciendo es diciéndole al shell que busque el archivo "cuantos" en el directorio actual. Esto se debe a que el directorio actual no está en la lista de los directorios en los que el shell busca para encontrar un determinado comando.

Los directorios en los que el shell busca son /bin, /usr/bin y algunos otros. Están definidos en una variable llamada PATH.

Para poder ver el contenido de la variable PATH, podemos ejecutar desde línea de comandos: echo $PATH. Es importante recalcar que la variable se llama PATH, pero para ver su contenido le agregamos el símbolo $ adelante, este símbolo es un metacaracter de shell, como los vistos anteriormente, y le dice al shell que lo que viene a continuación es una variable.
Variables de entorno

Así como PATH también existen muchas otras variables. Algunas determinadas por el sistema, y otras determinadas por nosotros.

Llamamos entorno al conjunto de variables, como el PATH, el nombre de usuario, el directorio actual, el directorio principal, las preferencias de lenguaje, etc. que determinan a la consola que estamos utilizando. Podemos ver cuales son las variables de nuestro entorno escribiendo: set.

A estas variables de entorno, nosotros podemos agregar nuevas variables. Para ello podemos escribir: variable = valor. Y haciendo echo $variable podremos ver el valor que le asignamos a la variable.

Al ejecutar un programa, este programa recibe una copia de nuestro entorno, donde algunas variables pueden mantenerse (variables exportadas), y otras pueden no estar. Un programa puede modificar las variables que tiene en su entorno, pero no las del entorno anterior. A su vez, dentro de ese programa podemos ejecutar un nuevo programa, que tendrá su propio entorno, con sus propias variables.

Para hacer que los programas hereden las variables que nosotros definamos, existe un comando llamado export, que nos asegura que los programas que se ejecuten, reciban esa variable en su entorno.

Ejemplos

* Crear un script que contenga: echo $variable. Este script, no mostrará nada, ya que la variable no ha sido exportada todavía. Para que el script muestre el valor de la variable, debemos ejecutar, en la línea de comandos: export variable. Al ejecutar el script nuevamente veremos el valor de la variable.
* Crear otro script, que contenga: variable2=valor2; export variable2. Ejecutar el script, y luego, desde la línea de comandos echo variable2. Esto no nos mostrará nada, ya que como se dijo anteriormente, no se puede modificar el entorno anterior.
* Crear otro script, que contenga: cd /; echo $PWD; export PWD. Al ejecutar el script, notar que por más que el echo nos haya mostrado que el cd había logrado cambiar de directorio, al volver del script, permanecemos en el directorio en el que estábamos al ejecutar el script.

Leia Mais…

Orden de preferencia de los símbolos de Bash

A continuación se enumera el orden de preferencia que sigue Bash a la hora de resolver símbolo:

1. Alias.
2. Palabras clave (keywords) como function, if o for.
3. Funciones
4. Comandos internos (p.e. cd o type).
5. Scripts y programas ejecutables, para los cuales se sigue el orden en
que se dan sus directorios en la variable de entorno PATH.

Leia Mais…

Script en Bash Linux

Un script es un fichero que contiene comandos bash ejecutables, los ficheros de configuración de bash como .bash_profile o .bashrc, son ejemplos de scripts.
Para crear un scripts es necesario utilizar algun editor de texto como vi o nano.

Hay 2 formas de ejecutarlo; Una utilizando el comando source fichero cual carga en la memoria de bash y lo ejecuta, y la otra es dando los permisos necesarios y ejecutarlo con ./fichero.

Leia Mais…

sábado, 13 de junio de 2009

Descargar Kerio WinRoute Firewall 6.5.2


Descripción: WinRoute Firewall es un potente firewall para evitar la intrusión de tu PC o red por parte de cualquier hacker a través de Internet.

Está especialmente enfocado para empresas de tamaño medio, en las que te ofrece un control total sobre el tráfico en la red y una protección eficaz en múltiples máquinas, incluso si usan Linux, Mac OS, Unix o AS400.


Soporta cualquier tipo de conexión, ya sea cable, ADSL, Wireless, módem, etc. Se adapta a cualquier protocolo soportando: IPSEC, H.323, NetMeeting, Net2Phone, WebPhone, UnixTalk, RealAudio, RealVideo, ICA Winframe, IRC, FTP, HTTP, Telnet, PPTP, Traceroute, Ping, cuseeme, daytime, discard, dns, echo, finger, gopher, https, imap3, imap4, ipr, IPX overIP, netstat, nntp, ntp, ping, pop3, radius, wais, rcp, rlogin, rsh, smtp, snmp, ssh, systat, tacacs, uucpover IP, whois, xtacacs, etc.

Descarga:
Tamaño: 53.14 Mb
Servidor: Rapidshare

http://rapidshare.com/files/214473349/Kerio_WinRoute_Firewall_6.5.2.rar

Leia Mais…

viernes, 12 de junio de 2009

Pequeño tutorial para configurar router para VTR

1-tener un ROUTER y el MODEM de VTR
2-conectar el cable utp en el puerto ethernet del modem al puerto WAN de el router
3-encender ambos aparatos
4-entrar a la configuración de su router mediante algún navegador web, por ejemplo entrar a explorer y colocar en la barra de búsqueda http:192.168.1.1, la mayoría de los router se entra con esa dirección y le pidirá usuario:admin contraseña:admin (por defecto los router traen esta configuración)
5-Buscar en el menu Clonar Mac
6-Ahora iremos a buscar la Mac que su pc tiene para esto es necesario ir a Inicio>ejecutar>escribes dentro de hay cmd>dentro de esto tecleas ipconfig/all,

Adaptador Ethernet Conexión de área local :

Sufijo de conexión específica DNS :
Descripción. . . . . . . . . . . : xxxxx
Dirección física. . . . . . . . . : XX-XX-XX-XX-XX-XX (Esta es tu dirección MAC)
DHCP habilitado. . . . . . . . . : xxx
Autoconfiguración habilitada. . . : xxx
Dirección IP. . . . . . . . . . . : xxx.xxx.xxx.xxx
Máscara de subred . . . . . . . . : xxx.xxx.xxx.xxx
Puerta de enlace predeterminada : xxx.xxx.xxx.xxx
Servidor DHCP . . . . . . . . . . : xxx.xxx.xxx.xxx
Servidores DNS . . . . . . . . . .: xxx.xxx.xxx.xxx

7-Esa dirección la escribes en la configuración de tu router y la clonas.
8-Espero que hayas configurado bien tu router

Leia Mais…