Mostrando entradas con la etiqueta seguridad informatica. Mostrar todas las entradas
Mostrando entradas con la etiqueta seguridad informatica. Mostrar todas las entradas

lunes, 13 de febrero de 2012

[Seguridad] Linux: Como cifrar información para una mejor protección de nuestra información, al utilizar servicios como Dropbox.

Últimamente estoy leyendo algo sobre seguridad en los sistemas informáticos y con estas lecturas me ha entrado esa espinita por proteger un poco mas mi sistema y concretamente mis archivos personales.

Hace un par de semanas escuche un podcast sobre seguridad informática concretamente en redes wifi, en entradas posteriores mencionare un poco sobre ello, en el podcast también se toco el tema de Dropbox y la persona mencionaba una experiencia que tuvo, comentaba que un día cambio su password en la web de Dropbox y después se logueaba con su celular a la cuenta de Dropbox y esta seguía entrando a ver sus archivos aun cuando había cambiado su password, supongamos que perdemos nuestra computadora o celular o gadget, donde tengamos instalado Dropbox, pues bien, aun cambiando el password, dicho dispositivo podría seguir viendo los archivos ya que continuaba enlazado a nuestra cuenta, si bien desde el portal de Dropbox se puede desenlazar el equipo, existen personas que no tienen la menor idea de que esto se puede realizar, por lo cual de alguna u otra manera quedan expuestos totalmente sus archivos personales de su cuenta en Dropbox.

Por tal motivo he decidido cifrar lo que subo a Dropbox para así al menos tener un poco mas de seguridad en que no cualquier persona vera mis documentos y tambien hacer un poco mas seguro mis datos en dicho servicio en la nube, partamos de que tenemos Linux instalado en nuestra computadora uso Debian y sobre esta distro en su rama estable trabajaremos (lo mismo funcionara para Ubuntu o cualquier otra distribución Linux que exista).

Lo primero que les recomiendo es que comprimamos el/los archivos que queremos cifrar, hay diferentes maneras de hacerlo, en modo visual o desde una terminal con comandos, veremos a continuación las dos formas de hacerlo.

Modo visual: Se presiona el botón derecho del mouse en el archivo o directorio a comprimir, después simplemente presionamos en el menú desplegable comprimir... seguido de esto damos un nombre y un tipo de extensión a nuestra compresión, el tipo de comprensión sera gusto de cada uno

Modo consola: La opción de hacerlo mediante la consola (un poco mas divertida), sera de la siguiente manera, utilizare un archivo tipo tar y compresión Gzip se tecleara de la siguiente manera:

tar czf nombre_comprimir.tar.gz /directorio/a/encriptar/

De esta menara se creara un archivo "nombre_comprimir.tar.gz" el cual contendrá nuestro(s) archivo(s) previamente seleccionado(s). Ahora pasemos al cifrado de nuestro archivo previamente comprimido.

Cabe mencionar que hay diferentes formas de cifrar y depende de ustedes cual desean utilizar, para mi ejemplo usare el cifrado aes-256.

Continuando con lo anterior, después de comprimir nuestro(s) archivos pasaremos ahora a cifrarlo de la siguiente manera.


openssl enc -aes256 -e -in nombre_comprimir.tar.gz -out cifrado_nombre.cy
donde:
nombre_comprimir.tar.gz es el archivo previamente comprimido
cifrado_nombre.cy es el nombre del archivo una vez cifrado

Después de presionar la tecla enter nos pedirá un password, se recomienda usar mayúsculas, minúsculas o números y así juntar sucesiones de caracteres, no se recomienda el uso de palabras que se encuentren en el diccionario.

Una vez generado el archivo "cifrado_nombre.cy", lo subimos a nuestra cuenta de Dropbox, con esto garantizamos tener una mayor seguridad en que nuestros archivos estarán un poco mas protegidos.

Si queremos descifrar nuestro archivo cifrado basta con teclear desde consola lo siguiente:


openssl enc -d -aes256 -d -in /donde/este/cifrado_nombre.cy -out asi_se_llamara_el_comprimido.tar.gz

Nota: El pass que les pide es el mismo que utilizaron para cifrar su archivo.

Tal vez el proceso resulte un poco "latoso" obviamente es mas cómodo simplemente subir los archivos sin ninguna compresión, pero es mejor cifrarlos ya que con este proceso se garantiza tener un poco de mayor seguridad en lo que a archivos críticos personales se refiere, así que, es mejor acostumbrarse a hacerlo ya que de cierto modo nos puede evitar dolores de cabeza futuros.

Estas cosas sobre seguridad están llamando mi atención, no soy un experto en este tema, pero si me iré adentrando un poco mas en estas cuestiones, cualquier duda, sugerencia o comentario acá abajo lo pueden expresar.

lunes, 21 de marzo de 2011

SQL Inyección con PHP. PARTE II

Continuando con lo anterior en el que vimos una pequeña introducción a la Inyección SQL, creo que para mostrar la inyección sql es mejor si nos hacemos un ejemplo practico verdad, pues bien manos a la obra.

Mi ejemplo practico esta hecho en:
SO: Linux Debian Squeeze
Mysql:  5.1
PHP: 5.3
Apache
Editor PHP Bluefish
Navegador Chromium




Crearemos una base de datos inyección de esta manera:
mysql> create database inyeccion;
Usamos nuestra base de datos:
mysql>use inyeccion
Creamos una tabla usuario con 4 campos, id, login , password, email
mysql>create table usuario(id int primary key auto_increment, login varchar(30), password(50), email varchar(50));
Agregamos datos a la tabla:
Insert into usuario values(null,"Hiram","passw_hiram","email_hiram"),
(null,"Edgar","passw_edgar","email_edgar"),
(null,"Luis","passw_luis","email_luis"),
(null,"Isai","passw_isai","email_isai");
Ahora ya tenemos nuestra base de datos, lo que prosigue es hacer un script en php para hacer nuestras pruebas, abrimos nuestro editor php, yo les recomiendo esté, o usen el que mas les acomode o guste.

El script php se llamara inyecciones.php, contendrá un campo de texto(input) para poder hacer nuestros ejemplos de inyecciones, y un botón para enviar el valor.

<html>
<head>
  <title>SQL Injection</title>
</head>
<body>

  <form action="inyecciones.php" method="get">
     <label for="id">ID: </label>
     <input type="text" id="id" name="id" />
     <input type="submit" value="Iniciar" />
  </form>

<?php
if( isset($_GET['id']) )
{
  $id    = $_GET['id'];

  $mysqli = new mysqli('localhost', 'root', '');

  $mysqli->select_db('inyeccion');

  $consulta = 'SELECT * FROM usuario WHERE id='.$id;

  echo $consulta.'<br />';

  $resultado = $mysqli->query($consulta);

  $usuario = $resultado->fetch_row();
  echo 'DATOS DEL USUARIO: <br />';
  echo 'ID: '.$usuario[0].'<br />';
  echo 'LOGIN: '.$usuario[1].'<br />';
  echo 'EMAIL: '.$usuario[3].'<br />';

  $resultado->free();

  $mysqli->close();
}
?>
</body>
</html>

Seguido de esto ejecutamos el script en el navegador, se mostrara de esta forma:


Podemos jugar un poco con el formulario ingresando el id que queremos buscar, en la próxima entrada empezaremos a "inyectar" código sql, así que tienen tiempo de hacer la base y el script anterior para empezar a probar el ejemplo.

jueves, 17 de marzo de 2011

SQL Inyección con PHP. PARTE I

Hoy estaba testeando una aplicación que estoy desarrollando; ya saben, la típica que la interfaz esta hecha para todo menos para que el usuario de click en donde nunca jamas debe de dar click simplemente por que no es obvio no es razonable no es intuitivo, pero el usuario hace el click y truena el sistema, la verdad esto es molesto pero muy necesario hacer este tipo de pruebas para que cuando liberes tu aplicacion tenga lo menos posible de errores o caídas,.

Este fin de semana platique con mi cuñada y le mostré mi aplicación le pedi de favor que interactuara con ella y al cabo de tiempo me dice "que pasa si en lugar de guardar todos dejo este sin seleccionar" increíblemente no había pensado en eso, estaba tan preocupado por otros aspectos que no había colocado una validación en los campos de un formulario; seguido de esto me fui a mi casa y estuve pensando que así como deje de hacer esa validacion sencilla de campos deberían de existir mas bugs en mi aplicacion, de esta forma supe que necesitaba poner atención.






Navegando con el buen amigo Google y buscando vulnerabilidades de PHP+Mysql, me encontré con la Inyeccion SQL, pero ¿que es eso?, según Wikipedia:
Inyección SQL es un método de infiltración de código intruso que se vale de una vulnerabilidad informática presente en una aplicación en el nivel de validación de las entradas para realizar consultas a una base de datos.
En pocas palabras, la inyeccion SQL es como su nombre lo dice una inyección de código sql en una consulta previamente definida, casi siempre con el objeto de tomar información de una base de datos llegando a conseguir un user y un password para poder manipular totalmente una base de datos, para los que entienden un poco de esto habrán pensado que es realmente delicado, si nuestra aplicacion maneja información sensible para la empresa en donde se esta desarrollando es sumamente importante dotar de mayor seguridad a nuestras aplicaciones, tratare de explicar como entiendo lo que es la inyección sql a continuación un ejemplo; Supongamos que tenemos una url así:

http://mipagina.com/viewrentas.php?iden=2

Ahora bien necesitamos observar bien la url, en ella nos muestra información importante de como podría estar haciendo el programador la consulta a la base de datos llegando al siguiente query:

$sql = 'SELECT * FROM clientes
WHERE personas.id = '.$_GET['iden'];


La query anterior selecciona todos los campos de la tabla clientes donde id de los clientes sea igual a 2(esto segun nuestra url). La consulta anterior es claramente vulnerable a inyecciones SQL, ¿Por que?, eso lo tratare de explicar en mi próxima entrada.


SQL Inyección con PHP. PARTE II

miércoles, 16 de marzo de 2011

Seguridad: Twitter ahora con conexion Https

Para todos aquellas personas que tengan cuenta en Twitter les ayudara esto,  ahora en Twitter puedes iniciar sesión en tu cuenta con Https esto ayudara a brindar mayor seguridad a las personas cuando se encuentren en conexiones Wi-Fi publicas. 
Para activar HTTPS en tu cuenta tienes que entrar a la configuración y en la pestaña activa "Cuenta" en la parte de abajo activar Usar Siempre HTTPS y listo, de ahora en adelante cada que ingresen a su cuenta tendrán mayor seguridad en transmitir sus datos(passwords) vía Twitter.

Lo vi acá.

sábado, 12 de marzo de 2011

Que tan segura es tu contraseña?

Se han preguntado alguna ves, si su contraseña es realmente segura, siguiendo un poco la temática de mi compañero Luis que hace unos días hablo de unos consejos básicos de seguridad en la red, pues bien acabo de ver una pagina en donde con solo poner tu contraseña(password) te calcula el tiempo estimado que le llevaría a alguien crackear tu contraseña, la verdad esto nos puede ayudar a darse cuenta si la contraseña esta débil y necesitamos hacerla un poco mas fuerte, prueba a ver que tan segura es tu contraseña??, además puedes descargar el código como un plugin para el Framework Jquery.


Acá otro medidor de seguridad en contraseñas, muestra aun mayores parámetros que el anterior, te indica que es lo que tienes flaco en tu contraseña esta muy bueno pueden verlo acá.


Acá pueden ver la primer pagina y acá la segunda.

viernes, 4 de marzo de 2011

Consejos básicos de seguridad en la red

Facebook, Messenger, Gmail, cuentas y cuentas y más cuentas, sin embargo muchos podemos ser inconscientes con el contenido que introducimos en la red, por eso les ponemos unos consejos básicos de seguridad.

1. Contraseña

Una contraseña segura deberá constar de mayúsculas, minúsculas y número, con por lo menos 8 caracteres.

No fecha de cumpleaños, numero de casa, etc.
2.- Información personal

Bueno está de más. no teléfono, no dirección, no cumpleaños, nada personal.

3.- Fotos

Subir fotos no está mal. Subir fotos de tus vacaciones en Cancún, con tu coche nuevo, o no tan nuevo, de fondo tu casa de dos pisos muy bonita, etc. Nada que de tentación.

4.- chats

Jamás te quedes de ver con gente que conociste en internet. Uno nunca sabe. Siempre hay gente ingenua y siempre hay quien se aprovecha.

Bueno como dice el messenger no números confidenciales, nunca sabes en donde esta chateando la otra persona aunque sea de confianza, tal vez esté en un cyber y dicho cyber tiene un programa para captar esos datos.

5.- Y bueno esto es una lista de nunca acabar.

Pero, la red no lo es todo, socializa y suerte.

Para enriquecer esta lista, danos tus comentarios.