<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>A precio de robado &#187; seguridad</title>
	<atom:link href="http://aprecioderobado.com/category/seguridad/feed" rel="self" type="application/rss+xml" />
	<link>http://aprecioderobado.com</link>
	<description>god@galaxy: /Milky Way$ make earth  ./configure-human -selfdestructive -inteligent -rootacess</description>
	<lastBuildDate>Tue, 14 Jun 2011 21:14:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Autentificacion SSH mediante llaves asimetricas RSA</title>
		<link>http://aprecioderobado.com/2008/09/17/167</link>
		<comments>http://aprecioderobado.com/2008/09/17/167#comments</comments>
		<pubDate>Thu, 18 Sep 2008 05:36:40 +0000</pubDate>
		<dc:creator>Ca0s</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[guias]]></category>
		<category><![CDATA[seguridad]]></category>
		<category><![CDATA[comandos basicos]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[rsa]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://aprecioderobado.com/?p=167</guid>
		<description><![CDATA[Seguramente yo como muchos de ustedes usamos como sistema operativo Linux en cualquiera de sus sabres distros, en mi caso tengo una gran familia =D, en mi hogar a la que estan invitados, tengo un servidor mulero con ubuntu, en mi laptop manejo gentoo y debian, en la computadora de la escuela tengo gentoo, y [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><a href="http://aprecioderobado.com/wp-content/uploads/2008/09/winscp.png"><img class="alignright size-medium wp-image-165" title="winscp" src="http://aprecioderobado.com/wp-content/uploads/2008/09/winscp.png" alt="" width="256" height="256" /></a>Seguramente yo como muchos de ustedes usamos como sistema operativo Linux en cualquiera de sus <span style="text-decoration: line-through;">sabres</span> distros, en mi caso tengo una gran familia =D, en mi hogar a la que estan invitados, tengo un servidor mulero con ubuntu, en mi laptop manejo gentoo y debian, en la computadora de la escuela tengo gentoo, y administro 2 servidores uno centOS y otro ubuntu server, se imaginaran que es dificil loguearse en todos los servidores y conocer de memoria siempre todos los passwords que como buen linuxero paranoico siempre son bastante dificiles tanto de escribir como de memorizar procurando que igualmente sean dificiles de predecir, asi que tanto por seguridad como por comodidad las cuentas como ROOT de todos los clientes y servidores solo pueden ser accedidas mediante autentificacion por llaves <a href="http://es.wikipedia.org/wiki/Claves_RSA">RSA</a>, y registrandolas como autorizadas de esta forma unicamente se puede acceder teniendo la llave privada. no pienso entrar mucho en detalles de como funciona el manejo de llaves asimetrico, ni en los algoritmos, simplemente les platicare a grandes rasgos como lo manejo yo, y como les puede funcionar a ustedes.</p>
<p style="text-align: left;">Como pre-requisitos hay que tener en cuenta que para que todo funcione adecuadamente hay que tener openssh-server que generalmente ya viene en la mayoria de los distros, y si no es asi pueden buscar el rpm, y en ubuntu/debian basta con hacer un</p>
<p style="text-align: left;">
<p><code>sudo apt-get install openssh-server</code></p>
<p>Ya esto adaptenlo segun su distro, en gentoo seria con un</p>
<p><code>emerge openssh-server</code></p>
<p>Ya teniendo el servidor <acronym title="Secure SHell (encrypted protocol replaces telnet and FTP)">SSH</acronym> solo quedaria hacer un par de llaves, yo recomiendo hacer las llaves desde un usuario <strong>root</strong> yo asi lo prefiero, da una capa mas de seguridad, de esta forma solo root@cliente puede acceder a root@server, por lo que como root hacemos uso de <acronym title="Secure SHell (encrypted protocol replaces telnet and FTP)">SSH</acronym>-keygen -t rsa -b 2048, nos daria un resultado similar a este:</p>
<p><code>root@hax0rina:~# <strong><acronym title="Secure SHell (encrypted protocol replaces telnet and FTP)">SSH</acronym>-keygen -t rsa -b 2048</strong><br />
Generating public/private rsa key pair.<br />
Enter file in which to save the key (/root/.ssh/id_rsa):<br />
Created directory '/root/.ssh'.<br />
Enter passphrase (empty for no passphrase):<br />
Enter same passphrase again:<br />
Your identification has been saved in /root/.ssh/id_rsa.<br />
Your public key has been saved in /root/.ssh/id_rsa.pub.<br />
The key fingerprint is:<br />
XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX root@hax0rina<br />
root@hax0rina:~#</code></p>
<p>Ya con esto tendremos un par de llaves, una publica y una privada, en terminos generales lo que hicimos fue usando <strong><acronym title="Secure SHell (encrypted protocol replaces telnet and FTP)">SSH</acronym>-keygen </strong>hicimos las llaves, con <strong>-t rsa </strong>especificamos que las llaves queremos que sean de tipo RSA (por costumbre siempre uso estas) y con <strong>-b 2048</strong> especificamos que queremos que sea una llave de 2048 bits (solo por si las moscas).</p>
<p>Teniendo las llaves procedemos a copiar la respectiva llave al server destino, para hacer esto hay dos formas, hacerlo manualmente (que lo veremos proximamente cuando explique como hacer este mismo procedimiento, pero desde windows usanto <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html">PuTTY</a>) y la que mencionaremos en este post, que consiste en usar las herramientas de linux, en este caso <strong><acronym title="Secure SHell (encrypted protocol replaces telnet and FTP)">SSH</acronym>-copy-id, </strong>lo que nos daria una salida similar a esta:<br />
<code>root@hax0rina:~# <strong><acronym title="Secure SHell (encrypted protocol replaces telnet and FTP)">SSH</acronym>-copy-id -i ~/.ssh/id_rsa.pub root@server.com</strong><br />
The authenticity of host 'server.com (xx.xx.xx.xx)' can't be established.<br />
RSA key fingerprint is 31:8d:1d:d5:86:89:4e:aa:02:0d:67:a1:0f:33:36:11.<br />
Are you sure you want to continue connecting (yes/no)? yes<br />
Warning: Permanently added 'server.com,xx.xx.xx.xx' (RSA) to the list of known hosts.<br />
Now try logging into the machine, with "ssh 'root@server.com'", and check in:</code></p>
<p>.ssh/authorized_keys</p>
<p>to make sure we haven&#8217;t added extra keys that you weren&#8217;t expecting.</p>
<p>root@hax0rina:~#</p>
<p>A grandes razgos lo que hace este comando es con la flag <strong>-i</strong> <code><strong>~/.ssh/id_rsa.pub </strong>especificamos la ruta de nuestra llave privada (recordemos que " ~ " es una wilcard para especificar el home del usuario logueado), <strong>root@server.com</strong> indica en donde se intentara copiar la llave, basicamente lo que hace es hacer un SCP (secure copy) de la llave y concatenarla a un authorized_keys, ya teniendo esto deberiamos ser capaces de autentificarnos en el servidor remoto sin tener que haces uso del password, lo podemos comprobar simplemente con hacer un <strong><acronym title="Secure SHell (encrypted protocol replaces telnet and FTP)">SSH</acronym> root@server.com</strong>, con lo que obtendriamos un resultado similar a este:</code></p>
<p><code>root@hax0rina:~# <acronym title="Secure SHell (encrypted protocol replaces telnet and FTP)">SSH</acronym> root@server.com<br />
Last login: Wed Sep 17 03:14:46 2008 from evdomip-211-238.iusacell.net<br />
Linux xxxx.xxxxx.com 2.6.18-028stab057.4 #1 SMP Fri Aug 1 10:47:59 MSD 2008 x86_64</code><br />
root@pluton:~#</p>
<p>Espero la guia les sea de utilidad, podemos usar las mismas llaves para cuantos servidores queramos administrar, y lo hacemos con el mismo proceso, ya si queremos implementar un poco mas de seguridad podemos editar el archivo <strong>/etc/ssh/sshd_config</strong> y editamos las siguientes lineas:<br />
<code>PermitRootLogin yes</code><br />
para que quede asi:</p>
<p><code>PermitRootLogin without-password</code></p>
<p>De esta forma ya no sera posible loguearse mediante <acronym title="Secure SHell (encrypted protocol replaces telnet and FTP)">SSH</acronym> usando password unicamente llaves, pero siempre tengan la precaucion de tener un usuario que pueda ingresar por <acronym title="Secure SHell (encrypted protocol replaces telnet and FTP)">SSH</acronym>, y pueda hacer sudo, en caso de que perdamos o formatiemos la maquina y perdamos las llaves, por mi parte seria todo, espero les sea util esta mini guia, en proximas fechas explicare como hacer esto, pero desde windows haciendo uso del ya mencionado puTTY</p>
<img src="http://aprecioderobado.com/?ak_action=api_record_view&id=167&type=feed" alt="" /> <br><br><strong><a href="http://es.wikipedia.org/" target="_blank">Wikipedia</a></strong>:&nbsp;&nbsp;<a href="http://es.wikipedia.org/wiki/Especial:Search?search=SSH" target="_blank"><i>SSH</i></a>&nbsp;&nbsp;]]></content:encoded>
			<wfw:commentRss>http://aprecioderobado.com/2008/09/17/167/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

