miércoles, 16 de marzo de 2011

Seguridad en las redes Wifi

Muchos creen que las redes WiFi son seguras porque traen instalada de fábrica la correspondiente contraseña de acceso, pero esto es un grave error. La seguridad no debe basarse exclusivamente en un único punto, que además hoy por hoy cualquier persona sin conocimientos en informática y con un móvil de gama media puede saltarse en menos de 2 minutos.
Un ejemplo : ponte junto a un router de Telefónica o Jazztel con configuración original (wlan_XX o Jazztel_XX) y consentimiento del dueño, coge en terminal android con el Software "gratuito " "WPA TextTool e intenta obtener la contraseña. Ha sido fácil.
Para evitar esto podemos seguir los siguientes consejos que dan los expertos en seguridad.

Apaga el router cuando no lo uses, parece una tontería pero es más efectivo de lo que cree la gente.
Cambia de nombre de red, como expuse en el ejemplo, la mayoría de programas buscan redes con nombres específicos, principalmente las wlan.
Cambia la clave y el tipo de encriptación, dejar la clave original es un error ya que van asociadas a la dirección mac del router, y es fácil de averiguar.

A partir de aquí complicamos la historia.

Deshabilitar el broadcast de la señal es una buena práctica, con ella decimos al router que no se anuncie, seremos nosotros los que configuraremos en cada terminal el router y la clave de acceso y de que tipo es.
Elimina la activación de dhcp, tendrás que asignar la ip de forma manualmente los terminales. Esta opción es buena combinarla con el cambio de ip del router, evitando que si alguien consigue saltar todas las protecciones anteriores tendrá que averiguar por donde sale.
Activa el control de acceso por las mac de las tarjetas o habilita la opción wps (solo para equipos con vista y 7). Este sistema está bien si no hay muchos terminales y además no cambian.
Busca un lugar central y ajusta la potencia del router no suelen pasar más de 3 paredes,si conseguimos que sean 2 mejor.

Bueno, a groso modo es todo. Podeis preguntarme o ampliar por la red si tenéis dudas.

Un saludo.

jueves, 3 de marzo de 2011

Empezamos con java.

Hoy espero comenzar una serie de posts sobre programaciónen java. No pretendo ni ser un experto ni dar lecciones a nadie ni tener miriadas de seguidores. Con estos posts lo único que quiero es aprender, poner los avances que vaya logrando y si alguién quiere avanzar conmigo pues bienvenido sea, así como las sugerencias y correcciones, que no serán pocas.
¿Por qué java?, bueno es un lenguaje multiplataforma, es decir, la aplicación que creemos valdrá para cualquier sistema operativo (linux,windows), no solo podemos crear aplicaciones sino utilidades y código avanzado para páginas web. La razón principal en mi caso es programar aplicaciones para android.
La perorata ha sido bastante aburrida,así que empezamos.

Actualmente sigo varios libros y documentos, pero el que má me está gustando es "aprenda java como si estuvierae en primero".

Para poder programar necesitamos un entorno, kde, que viene con todo lo necesario para la programación o trabajar directamente con el compilador,debugger el editor de textos que queramos,etc.  Yo uso eclipse un kde gratuito y fácil de manejar.
Java es un lenguaje de programación orientado a objetos, de lo que encontraréis en la web mucho sobre eso. La base principal de este lenguaje son las clases, agrupación de funciones y datos  que operan sobre estos datos. La definición de una clase es
{public} class Classname
{
// definición de variables y métodos
...
}
donde la palabra public es opcional: si no se pone, la clase tiene la visibilidad por defecto, esto es, sólo es visible para las demás clases del package. Todos los métodos y variables deben ser definidos dentro del bloque {...} de la clase.
Un objeto (en inglés, instance) es un ejemplar concreto de una clase. Las clases son como tipos de variables, mientras que los objetos son como variables concretas de un tipo determinado.
Classname unObjeto; Classname otroObjeto;
A continuación se enumeran algunas características importantes de las clases:
1. Todas las variables y funciones de Java deben pertenecer a una clase. No hay variables y funciones globales.
2. Si una clase deriva de otra (extends), hereda todas sus variables y métodos.
3. Java tiene una jerarquía de clases estándar de la que pueden derivar las clases que crean los usuarios.
4. Una clase sólo puede heredar de una única clase (en Java no hay herencia múltiple). Si al definir una clase no se especifica de qué clase deriva, por defecto la clase deriva de Object. La clase Object es la base de toda la jerarquía de clases de Java.
5. En un fichero puede haber varias clases pero solo una puede ser public y además debe llamarse exactamente igual que el fichero *.java.