Usando RSA en SSHD y Putty

GNU/Linux, Seguridad 2 Comments

Actualmente muchos son las personas que usan SSH para conectarse remotamente a otros ordenadores (especialmente servidores) generalmente para tareas de administración.

Les aseguro que hay ya bastante información sobre el protocolo SSH y su uso con RSA, pero al estar investigando e implementando dicha técnica se me han presentado problemas (lo más seguro es que sea neófito XD) y bueno, hagamos más largo el historial del blog :D y de paso, ayudarlos para que no se les presenten algunos problemas (o al menos lo que me sucedieron a mi) ;) .

Si ya leyeron algo en la wikipedia sobre RSA, hay que crear dos llaves para lograr la autenticación, una que es la privada que se nos quedará a nosotros y la otra, la pública para que la tenga el servidor ssh y disponer de ella para establecer la conexión. Para tal caso, he usado puttygen.exe:

Bajar el cliente Putty y sus herramientas - Clic

rsa.PNG

Hay que especificar que se utilizará SSH-2 RSA, pulsamos en generate y pasamos el mouse por donde se nos indica para generar bits aleatorios que nos servirán para crear las claves. Al terminar, nos mostrará la siguiente ventana:

rsa_generate.PNG

Ahora copiamos donde dice “Public Key….” (que es la llave pública) a un archivo (yo le he puesto id_rsa.pub) y lo mandamos usando SCP al servidor:

putty04.PNG

Ahora nos logueamos por ssh (aún sin implementar la clave RSA) y pasamos esa llave a ~/.ssh/authorized_keys

h4x012@UnderHouse ~ $ ls -lh

total 4,0K

-rw-r--r-- 1 h4x012 users 464 ago 27 23:15 id_rsa.pub

h4x012@UnderHouse ~ $ mkdir .ssh

h4x012@UnderHouse ~ $ cat id_rsa.pub >> ~/.ssh/authorized_keys

Ahora ya casi estamos listos :)

Hay que configurar el servidor SSH (en mi casi OpenSSH):

Archivo: /etc/ssh/sshd_config

# Usando RSA

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile      .ssh/authorized_keys

# To disable tunneled clear text passwords, change to no here!

PasswordAuthentication no

# Autizaciones

AllowUsers h4x012

PermitRootLogin no

Lo que hemos especificado es:

1) Activar el uso de RSA
2) Deshabilitar el ingresar una contraseña
3) Permite el acceso solo al usuario h4×012 y denegarlo a root

Probamos el acceso restringido a cualquier usuario menos h4×012:

putty02.PNG

putty03.PNG

Ahora solo nos falta especificar en el putty que hay que usar una clave RSA privada para conectar con el servidor, para eso: Vamos a Connection > SSH > Auth y en el campo “Private key file for authentication” especificamos el archivo *.ppk que guardamos desde puttygen :D

rsa_add.PNG

Reiniciamos sshd, conectamos desde putty y veremos los resultados :) (debemos acceder sin ingresar ninguna contraseña más que usando la nuestra clave RSA) ;)

putty05.PNG

Más información en este PDF: ssh-documento.pdf

Califica el tema:
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Apoyen al TEAM HACKERSS en BOINC

General No Comments

Hace poco me vengo enterando de BOINC ( mirar: Wikipedia :) ), en forma resumida BOINC sirve para apoyar proyectos que necesitan de un nivel de procesamiento y calculo grande, los proyectos generalmente son científicos, de universidades y de investigación. Uno a los cuales se ha unido recientemente hackerss.com es SHA-1 Collision Search Graz.

SHA-1 Collision Search Graz es un proyecto que trata de demostrar debilidades en dicho algoritmo (SHA-1).

La url del proyecto es: http://boinc.iaik.tugraz.at/sha1_coll_search/

Para saber como instalar el cliente pulsa acá.

El TEAM de hackerss.com:

http://boinc.iaik.tugraz.at/sha1_coll_search/team_display.php?teamid=191

Ahora si, hacer la obra buena del día :D

Screenshot de mi cliente :P:

Boinc modo simple.

Boinc modo avanzado.

Califica el tema:
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Librería rota: libexpat en Gentoo

GNU/Linux, Gentoo 1 Comment

Bien hace ya un rato que hay un problema al actualizar el paquete expat en gentoo:

[ Searching for packages matching expat... ]
* Contents of dev-libs/expat-2.0.1:
/usr
/usr/bin
/usr/bin/xmlwf
/usr/include
/usr/include/expat.h
/usr/include/expat_external.h
/usr/lib
/usr/lib/libexpat.a
/usr/lib/libexpat.la
/usr/lib/libexpat.so -> libexpat.so.1.5.2
/usr/lib/libexpat.so.1 -> libexpat.so.1.5.2
/usr/lib/libexpat.so.1.5.2
/usr/share
/usr/share/doc
/usr/share/doc/expat-2.0.1
/usr/share/doc/expat-2.0.1/Changes.bz2
/usr/share/doc/expat-2.0.1/README.bz2
/usr/share/doc/expat-2.0.1/html
/usr/share/doc/expat-2.0.1/html/expat.png
/usr/share/doc/expat-2.0.1/html/reference.html
/usr/share/doc/expat-2.0.1/html/style.css
/usr/share/doc/expat-2.0.1/html/valid-xhtml10.png
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/xmlwf.1.bz2

El error se trata algo como esto:

error while loading shared libraries: libexpat.so.0: cannot open shared object file: No such file or directory

Por lo cual, no podía abrir ni nautilus :o, prácticamente nada que tuviera que ver con gnome y las aplicaciones que antes de actualizar expat ya estuvieran ejecutándose (de suerte tenía el navegador, xchat, amsn y listen :D).

Por ahí hay una solución rápida pero errónea:

ln -s /usr/lib64/libexpat.so.1 /usr/lib64/libexpat.so.0

Lo correcto es hacer:

revdep-rebuild –library=libexpat.so.0

En su momento cuando me pasó, tenía un error al compilar gtk+, para logar que compile hay que recompilar otros paquetes:


emerge fontconfig
emerge pango
emerge gtk+

Para brincar el paquete en donde emerge tuvo la falla (en este caso gtk+ que ya recompilamos) y regresar a seguir recompilando los demás en la lista, hacemos:

emerge --resumen --skipfirst

Lo anterior es valido por si cualquier otro paquete no funcionan y si no es muy importante, pasar a los demás paquetes que hay en la lista para recompilar ;)..

Califica el tema:
1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 2 out of 5)
Loading ... Loading ...

María y el espacio 8) (Café Tacuba)

Música 1 Comment

Algo de música para cantar :D (en mi caso gritar XD) y este es el café tacuba :o

Califica el tema:
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Migración a wordpress = Done!

Base de Datos, Blog, Programación 8 Comments

Ps ya, parece que después de pelear con las codificaciones de las tablas con mysql ha podido quedar como debería de ser :D ( de hecho la solución fue más simple que todas las que había intentado anteriormente ;) ).

Para aquellos como Th3r0rn que quieren migrar de gekko a wordpress les muestro el pequeño script que hice a partir del migrador de SERGIO MILARDOVICH..

Código:

$gekkodb = "";
$wpdb = "";
$gekkoprefix = "gekkocms_";
$wpprefix = "wp_";

$host = "localhost";
$user = "root";
$pass = "";

$link = mysql_connect(
$host,
$user,
$pass
);

$wppoststable = $wpprefix.'posts';
$gekkoblogtable = $gekkoprefix.'blog';

mysql_select_db($gekkodb);
$res = mysql_query("SELECT * FROM $gekkoblogtable ");
WHILE ($row = mysql_fetch_array($res)){
  $title = $row['title'];
  $content = str_replace("'","'",$row['content']);
  $date = $row['date_created'];
  $id = $row['id'] + 2;
  $title_nice = strtolower($title);

  echo 'migrando la noticia " ', $row['title'], '"...', '';
  mysql_select_db($wpdb);

  mysql_query("INSERT INTO `$wppoststable` ( `ID` , `post_author` , `post_date` , `post_date_gmt` , `post_content` , `post_title` , `post_category` , `post_excerpt` , `post_status` , `comment_status` , `ping_status` , `post_password` , `post_name`, `to_ping`, `pinged`, `post_modified`, `post_modified_gmt`, `post_content_filtered`, `post_parent`, `guid`, `menu_order`, `post_type`, `post_mime_type`, `comment_count` )
  VALUES ( '$id', '1', '$date', '0000-00-00 00:00:00', '$content', '$title', '0', '', 'publish' , 'open', 'open', '', '$title_nice', '', '', '0000-00-00 00:00:00', '0000-00-00 00:00:00', '', '0', '', '0', 'post', '','0' );");

  if( mysql_errno() ){
    echo "Error: " , mysql_error();
    break;
  }
  else{
    $rel_id = $id -1;
    mysql_query(" INSERT INTO `wp_post2cat` ( `rel_id`, `post_id`, `category_id` ) VALUES ( '$rel_id', '$id', '1' );");
    mysql_query(" UPDATE `wp_categories` SET category_count='$rel_id' WHERE cat_ID='1'");
  }
}

?>

gekko_wp.zip

Como verán el script es muy sencillo:

Pasa de la tabla gekkocms_blog a la tabla de los posts en wordpres que es wp_posts.

Agrega las referencias entre los posts y las categorías en wp_post2cat.

Actualiza el contador de los números de posts en la categoría Uncategorized que es donde guardé todos los posts para después poder catalogarlos mejor (aunque para pasar las categorias del gekko a wp me dio weba xD)..

Notas para ejecutar el script sin modificaciones:

1) Las base de datos de los sistemas de blog (gekko y wordpress) deben estar en el mismo servidor.

2) El wordpress debe estar recien instalado. En caso contrario, habría que modificar las referencias entre ids (id real e id del núm. de post en la categoría) y el contador de la categoria Uncategorized.

Bueno :), ahora solo falta hacer un par de modificaciones al wordpress y mirar sus características, probarlo, acostumbrarme, acomodar y rectificar algunas entradas :) xD.

Califica el tema:
1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5 out of 5)
Loading ... Loading ...

« Previous Entries