<?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>tips &#8211; Rafael Bonifaz</title>
	<atom:link href="https://rafael.bonifaz.ec/blog/tag/tips/feed/" rel="self" type="application/rss+xml" />
	<link>https://rafael.bonifaz.ec/blog</link>
	<description>Software libre, criptografía, privacidad y algo más</description>
	<lastBuildDate>Wed, 08 Feb 2017 00:49:48 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://rafael.bonifaz.ec/blog/wp-content/uploads/2019/01/cropped-I4GErw6b_400x400-1-32x32.jpg</url>
	<title>tips &#8211; Rafael Bonifaz</title>
	<link>https://rafael.bonifaz.ec/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Compartir de forma segura y anónima</title>
		<link>https://rafael.bonifaz.ec/blog/2016/09/compartir-de-forma-segura-y-anonima/</link>
					<comments>https://rafael.bonifaz.ec/blog/2016/09/compartir-de-forma-segura-y-anonima/#comments</comments>
		
		<dc:creator><![CDATA[Rafael Bonifaz]]></dc:creator>
		<pubDate>Tue, 06 Sep 2016 00:55:19 +0000</pubDate>
				<category><![CDATA[Comos]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[privacidad]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[censura]]></category>
		<category><![CDATA[compartir archivos]]></category>
		<category><![CDATA[criptografía]]></category>
		<category><![CDATA[NSA]]></category>
		<category><![CDATA[PRISM]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tor]]></category>
		<guid isPermaLink="false">https://rafael.bonifaz.ec/blog/?p=4449</guid>

					<description><![CDATA[Muchas veces se quiere compartir archivos con otras personas sin depender de servicios de terceros como Google Drive que dependen de empresas que han participado en programas de espionaje como PRISM. Una forma fácil de hacerlo es utilizando la herramienta OnionShare. Es una herramienta súper sencilla que funciona para Linux, Windows y Mac. Lo único [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Muchas veces se quiere compartir archivos con otras personas sin depender de servicios de terceros como Google Drive que dependen de empresas que han participado en programas de espionaje como <a href="https://rafael.bonifaz.ec/blog/2013/06/la-vigilancia-en-internet/">PRISM</a>.</p>
<p>Una forma fácil de hacerlo es utilizando la herramienta <a href="https://onionshare.org/">OnionShare</a>. Es una herramienta súper sencilla que funciona para Linux, Windows y Mac. Lo único que se requiere tener instalado es el navegador Tor tanto en la máquina que envía y recibe el archivo.</p>
<p>En el caso de Debian, la instalación se la hizo directo desde repositorio. Cuando se ejecuta el programa por primera vez se tiene la siguiente pantalla:</p>
<p><a href="https://rafael.bonifaz.ec/blog/2016/09/compartir-de-forma-segura-y-anonima/onionshare_040/" rel="attachment wp-att-4451"><img fetchpriority="high" decoding="async" class="alignnone size-full wp-image-4451" src="https://rafael.bonifaz.ec/blog/wp-content/uploads/2016/09/OnionShare_040.png" alt="OnionShare_040" width="350" height="392" srcset="https://rafael.bonifaz.ec/blog/wp-content/uploads/2016/09/OnionShare_040.png 350w, https://rafael.bonifaz.ec/blog/wp-content/uploads/2016/09/OnionShare_040-268x300.png 268w" sizes="(max-width: 350px) 100vw, 350px" /></a></p>
<p>En esta pantalla se añade archivos ya sea arrastrando (1), de forma individual (2) o toda una carpeta (3). Una vez que todo esta listo se enciende el servidor y se generará un url accesible desde el navegador Tor similar a este: http://2j2abk2pytphpahu.onion/7x7at2z7hlqhus4d67vztm35pi</p>
<p>Para que esto funcione es importante correr el navegador Tor en la máquina local, sino aparecerá el siguiente mensaje.</p>
<p><a href="https://rafael.bonifaz.ec/blog/2016/09/compartir-de-forma-segura-y-anonima/onionshare_043/" rel="attachment wp-att-4453"><img decoding="async" class="alignnone size-full wp-image-4453" src="https://rafael.bonifaz.ec/blog/wp-content/uploads/2016/09/OnionShare_043.png" alt="OnionShare_043" width="502" height="131" srcset="https://rafael.bonifaz.ec/blog/wp-content/uploads/2016/09/OnionShare_043.png 502w, https://rafael.bonifaz.ec/blog/wp-content/uploads/2016/09/OnionShare_043-300x78.png 300w, https://rafael.bonifaz.ec/blog/wp-content/uploads/2016/09/OnionShare_043-500x130.png 500w" sizes="(max-width: 502px) 100vw, 502px" /></a></p>
<p>Una vez que se tiene el navegado funcionando se genera la url que mencioné antes y bastará con copiarlo al navegador Tor de las personas que deseen descargarlo.</p>
<p><a href="https://rafael.bonifaz.ec/blog/wp-content/uploads/2016/09/OnionShare-Navegador-Tor_044.png"><img decoding="async" class="alignnone wp-image-4455" src="https://rafael.bonifaz.ec/blog/wp-content/uploads/2016/09/OnionShare-Navegador-Tor_044-300x190.png" alt="OnionShare - Navegador Tor_044" width="382" height="247" /></a></p>
<p>Una vez que alguien inicie una descarga, OnionShare nos avisará con una o varias barras de estado:</p>
<p><a href="https://rafael.bonifaz.ec/blog/2016/09/compartir-de-forma-segura-y-anonima/onionshare_047/" rel="attachment wp-att-4454"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-4454" src="https://rafael.bonifaz.ec/blog/wp-content/uploads/2016/09/OnionShare_047.png" alt="OnionShare_047" width="350" height="409" srcset="https://rafael.bonifaz.ec/blog/wp-content/uploads/2016/09/OnionShare_047.png 350w, https://rafael.bonifaz.ec/blog/wp-content/uploads/2016/09/OnionShare_047-257x300.png 257w" sizes="auto, (max-width: 350px) 100vw, 350px" /></a></p>
<p>En «1» se tiene la opción de copiar el url para compartirlo con otras personas. En «2» se tiene la opción de ver el estado de las descargas. «3» permite apagar automáticamente el servicio OnionShare una vez que se terminaron las descargas evitando que otras puedan acceder al archivo.</p>
<p>Eso es todo, fácil, sencillo. Además se comparte el archivo de forma anónima y cifrada a través de un <a href="https://rafael.bonifaz.ec/blog/2014/01/servicios-ocultos-con-tor/">servicio oculto de Tor</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rafael.bonifaz.ec/blog/2016/09/compartir-de-forma-segura-y-anonima/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Acceder a un Computador a través de Tor sin IP Público</title>
		<link>https://rafael.bonifaz.ec/blog/2015/02/acceder-a-un-computado-a-traves-de-tor-sin-ip-publico/</link>
					<comments>https://rafael.bonifaz.ec/blog/2015/02/acceder-a-un-computado-a-traves-de-tor-sin-ip-publico/#comments</comments>
		
		<dc:creator><![CDATA[Rafael Bonifaz]]></dc:creator>
		<pubDate>Wed, 25 Feb 2015 02:16:14 +0000</pubDate>
				<category><![CDATA[Comos]]></category>
		<category><![CDATA[Comunicaciones]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[privacidad]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[seguridades]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tor]]></category>
		<guid isPermaLink="false">https://rafael.bonifaz.ec/blog/?p=4017</guid>

					<description><![CDATA[Poder acceder a un computador personal de forma remota es muy conveniente, sin un IP pública puede resultar complicado. Sin embargo, se puede utilizar un servicio oculto de Tor y acceder a la computadora a través de ssh y la red Tor. La configuración es bastante sencilla. Instalamos y configuramos Tor en nuestro PC o [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Poder acceder a un computador personal de forma remota es muy conveniente, sin un IP pública puede resultar complicado. Sin embargo, se puede utilizar un servicio oculto de Tor y acceder a la computadora a través de ssh y la red Tor.</p>
<p>La configuración es bastante sencilla. Instalamos y configuramos<a title="Servicios Ocultos con Tor" href="https://rafael.bonifaz.ec/blog/2014/01/servicios-ocultos-con-tor/" target="_blank"> Tor en nuestro PC o servidor para configurar un servicio oculto</a>. Habilitamos el servicio de ssh para ser escuchado como un servicio .onion. Para esto editamos el archivo /etc/tor/torrc y añadimos las siguientes líneas:<br />
<code><br />
HiddenServiceDir /var/lib/tor/hidden_service/<br />
HiddenServicePort 22 127.0.0.1:22</code></p>
<p>Para saber nuestro url .onion:</p>
<p># cat /var/lib/tor/hidden_service/hostname<br />
adn6xndfyhgcpl5o.onion<span id="more-4017"></span></p>
<p>Este es un url aleatorio que no es recomendable compartirlo. Si queremos generar otro url .onion, básicamente se borra los archivos dentro de /var/lib/tor/hidden_service/ y se reinicia Tor.</p>
<p>En la máquina desde donde queremos acceder al servicio también debemos tener instalado Tor (<a title="Servicios Ocultos con Tor" href="https://rafael.bonifaz.ec/blog/2014/01/servicios-ocultos-con-tor/" target="_blank">ver sección instalar Tor</a>) y torsocks.</p>
<p><code>apt-get install tor  torsocks</code></p>
<p>Ahora podemos hacer ssh al servicio oculto utilizando torsocks</p>
<p><code>$ torsocks ssh usuario@adn6xndfyhgcpl5o.onion<br />
usuario@adn6xndfyhgcpl5o.onion's password:<br />
</code></p>
<p>Listo ya puedo acceder a mi computadora de forma remota, con ssh sin necesidad de ip público.</p>
<p>Una última medida podría ser configurar ssh para que escuche solo en localhost. Para esto editamos el archivo /etc/ssh/sshd_config y añadimos la siguiente línea:</p>
<p><code>ListenAddress 127.0.0.1</code></p>
]]></content:encoded>
					
					<wfw:commentRss>https://rafael.bonifaz.ec/blog/2015/02/acceder-a-un-computado-a-traves-de-tor-sin-ip-publico/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Guardar Videos de Youtube en GNU/Linux</title>
		<link>https://rafael.bonifaz.ec/blog/2011/02/guardar-videos-de-youtube-en-gnulinux/</link>
					<comments>https://rafael.bonifaz.ec/blog/2011/02/guardar-videos-de-youtube-en-gnulinux/#comments</comments>
		
		<dc:creator><![CDATA[Rafael Bonifaz]]></dc:creator>
		<pubDate>Wed, 09 Feb 2011 02:35:00 +0000</pubDate>
				<category><![CDATA[Comos]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[youtube]]></category>
		<guid isPermaLink="false">https://rafael.bonifaz.ec/blog/?p=436</guid>

					<description><![CDATA[Youtube es una excelente herramienta para acceder a videos de prácticamente cualqueir cosa que se nos ocurra. Sin embargo este sitio tiene un defecto muy grande, no permite grabar de una manera fácil los videos en nuestro disco duro. Esto quiere decir que cada vez que queremos bajar el mismo video consumimos de forma innecesaria [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Youtube es una excelente herramienta para acceder a videos de prácticamente cualqueir cosa que se nos ocurra. Sin embargo este sitio tiene un defecto muy grande, no permite grabar de una manera fácil los videos en nuestro disco duro. Esto quiere decir que cada vez que queremos bajar el mismo video consumimos de forma innecesaria el ancho de banda. Eso es algo que alguien que usa 3G o vive en el campo no quiere hacer.</p>
<p>Se que existe un plugin para Firefox que sirve para guardar los videos, pero a mi me gusta hacerlo de la forma más genérica posible. Una gran ventaja de GNU/Linux es que es fácil entender como funcionan las cosas en el sistema. Cuando descargamos un video desde internet, este es grabado de forma temporal en el directorio /tmp, por lo que bastará con copiar ese video a un directorio dentro de nuestra carpeta personal.</p>
<h2>Un Ejemplo Práctico</h2>
<h2><span style="font-weight: normal; font-size: 13px;">Como ejemplo voy a utilizar un video de <a href="http://bonifaz.ec/wikirebels">Wikirebels</a> con subtítulos en Español. Un video altamente recomendable, pero dura una hora y pesa cerca de 200M. Una ejemplo perfecto de porque es recomendable guardar videos en nuestro computador.</span></h2>
<div id="attachment_437" style="width: 476px" class="wp-caption alignnone"><a href="https://rafael.bonifaz.ec/blog/wp-content/uploads/2011/02/Pantallazo-1.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-437" class="size-full wp-image-437" title="Wikirebels" src="https://rafael.bonifaz.ec/blog/wp-content/uploads/2011/02/Pantallazo-1.png" alt="Wikirebels" width="466" height="319" srcset="https://rafael.bonifaz.ec/blog/wp-content/uploads/2011/02/Pantallazo-1.png 666w, https://rafael.bonifaz.ec/blog/wp-content/uploads/2011/02/Pantallazo-1-300x204.png 300w" sizes="auto, (max-width: 466px) 100vw, 466px" /></a><p id="caption-attachment-437" class="wp-caption-text">Pantallazo del video de en Youtube Wikirebels</p></div>
<p>Una vez que se descarga el video completo y sin cerrar la ventana del navegador web, abrimos nuestro explorador archivos favoritos y vamos a la ruta /tmp y buscamos un archivo con un nombre similar a FLASHXX7fywGT. Básicamnete la palabra FLASH seguida por algún código aleatorio.  En el caso de GNOME con Nautilus el archivo se vería así:</p>
<div id="attachment_438" style="width: 301px" class="wp-caption alignnone"><a href="https://rafael.bonifaz.ec/blog/wp-content/uploads/2011/02/Pantallazo-tmp-Navegador-de-archivos.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-438" class="size-full wp-image-438" title="Video Youtube en Nautilus" src="https://rafael.bonifaz.ec/blog/wp-content/uploads/2011/02/Pantallazo-tmp-Navegador-de-archivos.png" alt="Video Youtube en Nautilus" width="291" height="192" /></a><p id="caption-attachment-438" class="wp-caption-text">Video Youtube en Nautilus</p></div>
<p>Este archivo lo copiamos y pegamos dentro de nuestra carpeta personal y le ponemos un nombre fácil de recordar. En mi caso lo copié a  /home/rafael/Videos/Wikirebels.flv. La extensión flv es implemente para recordar que es un video en formato Flash. Ahora ya podré ver el video cuando quiera y sin Internet utilizando mi reproductor de videos favoritos.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rafael.bonifaz.ec/blog/2011/02/guardar-videos-de-youtube-en-gnulinux/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>11 + 1 Tips SSH</title>
		<link>https://rafael.bonifaz.ec/blog/2011/02/tips-ssh/</link>
					<comments>https://rafael.bonifaz.ec/blog/2011/02/tips-ssh/#comments</comments>
		
		<dc:creator><![CDATA[Rafael Bonifaz]]></dc:creator>
		<pubDate>Thu, 03 Feb 2011 20:00:30 +0000</pubDate>
				<category><![CDATA[Comos]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[fail2ban]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[tips]]></category>
		<guid isPermaLink="false">https://rafael.bonifaz.ec/blog/?p=368</guid>

					<description><![CDATA[SSH es una herramienta esencial para cualquier administrador de sistemas basados en Unix. La mayoría sabemos que con SSH se puede ingresar de forma segura a un servidor remoto y administrarlo.  SSH hace mucho más que eso y por este motivo les comparto 11 tips que harán de su vida como administrador de sistemas más [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>SSH es una herramienta esencial para cualquier administrador de sistemas basados en Unix. La mayoría sabemos que con SSH se puede ingresar de forma segura a un servidor remoto y administrarlo.  SSH hace mucho más que eso y por este motivo les comparto 11 tips que harán de su vida como administrador de sistemas más fácil y divertida.</p>
<ol>
<li><a href="https://rafael.bonifaz.ec/blog/2011/01/ssh-con-claves-publicas-y-privadas/">SSH con Llaves Públicas y Privadas</a>: Autentificar un usuario con contraseñas tiene sus problemas. Si administramos varios servidores debemos recordar la clave de todos y muchas veces para no olvidaras utilizamos claves débiles. Al utilizar llaves públicas y privadas solucionamos estos 2 problemas.</li>
<li><a href="https://rafael.bonifaz.ec/blog/2011/01/tuneles-ssh-parte-1/">Túneles SSH (parte 1)</a>: Es muy probable que alguna vez sea necesario ingresar a un servidor dentro de una Intranet con IP privada desde Internet. Si tenemos un servidor con acceso a SSH accesible desde Internet y que puede ver esta IP privada, asunto solucionado con túnles SSH</li>
<li><a href="https://rafael.bonifaz.ec/blog/2011/01/tuneles-ssh-parte-2/">Túneles SSH (parte 2)</a>: En este how to se aprende como compartir servicios desde mi máquina con IP privada hacia Internet gracias a los túneles SSH. El ejemplo más interesante es como con un servidor SSH en un ip pública, 2 máquinas con IPs privadas en distintas redes se pueden ver entre sí sin necesidad de VPNs.</li>
<li><a href="https://rafael.bonifaz.ec/blog/2011/01/aplicaciones-graficas-con-ssh-en-red/">Aplicaciones Gráficas en Red con SSH</a>: Todos usamos SSH para acceder a línea de comandos en un servidor. No todos saben que también podemos usar SSH para acceder a aplicaciones gráfica en nuestra red.</li>
<li><a href="https://rafael.bonifaz.ec/blog/2011/01/ssh-y-proxy-socks-navegacion-segura-en-internet/">SSH y Proxy Socks navegación segura en Internet</a>: Con una simple opción de SSH podemos navegar en Internet de forma encriptada y sin restricciones. Muy útil cuando navegamos en sitios done los servidores proxy no dejan navegar a ningún lugar o donde queremos tener mayor seguridad al navegar.</li>
<li><a href="https://rafael.bonifaz.ec/blog/2011/01/ssh-y-https-en-puerto-443/">SSH y HTTPS en el puerto 443</a>: Muchas veces el puerto 22 puede estar bloqueado en una red, haciendo que la mayoría de estos tips no sean útiles. Sin embargo, muy rara vez una red bloqueaa el puerto 443, en este ejemplo se enseña como hacer para compartir el puerto 443 para HTTPS y SSH de manera simultanea.</li>
<li><a href="https://rafael.bonifaz.ec/blog/2011/01/copiar-archivos-con-scp-ssh/">Copia Remota con SCP</a>: La herramienta SCP permite copiar archivos a través de la red utilizando el protocolo SSH. En este tip aprenderemos como hacer esto y además como hacerlo limitando el ancho de banda si queremos copiar archivos muy grandes.</li>
<li><a href="https://rafael.bonifaz.ec/blog/2011/01/sshconfig-simplifica-nuestra-vida-con-ssh/">Simplifica tu vida gracias a  ~/.ssh/config</a>: Manejamos varios servidores, cada uno de ellos utiliza puertos diferentes. Podemos configurar nuestro cliente SSH para que algo como <em>«ssh -p 2200 usuariox@servidorremoto.com»</em> sea tan simple como «<em>ssh serv</em>«</li>
<li><a href="https://rafael.bonifaz.ec/blog/2011/01/sshsftp-enjaulado/">SSH y SFTP con usuarios enjaulados</a>: Muchas veces se tiene la necesidad de dar acceso a nuestro servidor a personas en las que no confiamos. En este tip se aprende como hacer para crear un ambiente limitado para estos usuarios y que tengan solamente las herramientas que necesitan.</li>
<li><a href="https://rafael.bonifaz.ec/blog/2011/02/sincronizar-yo-respaldar-directorios-con-ssh-y-rsync/">Sincronizar Directorios con SSH y RSYNC</a>: RSYNC, es una poderosa herramienta de sincronización a través de la red. En este tip se aprende como combinar su poder con SSH y poder sacar respaldos o crear mirrors de forma segura.</li>
<li><a href="https://rafael.bonifaz.ec/blog/2011/02/proteger-ssh-con-fail2ban/">Proteger SSH con Fail2Ban</a>: Muchas personas creen que cambiar el puerto de SSH significa asegurar su servidor. Cualquier persona que conoce poco de nmap y sabe usar Google seguro podrá descubrir en que puerto se ejecuta SSH. Fail2Ban es una herramienta mucho más poderosa que bloquea los IPs luego de X números de intentos fallido por un tiempo Y. De esta manera se hacen inútiles los ataques de diccionario.</li>
<li><a href="https://rafael.bonifaz.ec/blog/2015/02/acceder-a-un-computado-a-traves-de-tor-sin-ip-publico/">Acceder a un Computador a través de Tor sin IP Públicor</a>: Los servicios ocultos de Tor permiten que cualquier protocolo TCP sea accedido a través de la red Tor. En este post explico como hacerlo para ssh.</li>
</ol>
]]></content:encoded>
					
					<wfw:commentRss>https://rafael.bonifaz.ec/blog/2011/02/tips-ssh/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Proteger SSH con Fail2Ban</title>
		<link>https://rafael.bonifaz.ec/blog/2011/02/proteger-ssh-con-fail2ban/</link>
		
		<dc:creator><![CDATA[Rafael Bonifaz]]></dc:creator>
		<pubDate>Thu, 03 Feb 2011 02:49:16 +0000</pubDate>
				<category><![CDATA[Comos]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[fail2ban]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[tips]]></category>
		<guid isPermaLink="false">https://rafael.bonifaz.ec/blog/?p=422</guid>

					<description><![CDATA[Una de las principales formas de atacar un servidor SSH es através de ataques de diccionario o de fuerza bruta .Fail2Ban tiene una forma muy simple de solucionar el problema. Si después de X intentos escribo la clave de forma incorrecta, bloquea ese ip por un tiempo definido. Por defecto es 10 minutos. Con esta [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Una de las principales formas de atacar un servidor SSH es através de ataques de diccionario o de fuerza bruta .Fail2Ban tiene una forma muy simple de solucionar el problema. Si después de X intentos escribo la clave de forma incorrecta, bloquea ese ip por un tiempo definido. Por defecto es 10 minutos. Con esta solución tan simple, nos tendrá protegidos de los ataques de diccionario.</p>
<h2>Instalar Fail2Ban</h2>
<p>En las distros basadas en Debian, basta con instalar el paquete fail2ban. Supongo que en otras distros la instalación es igual de simple</p>
<p style="padding-left: 30px;"><code>aptitude install fail2ban<span id="more-422"></span><br />
</code></p>
<h2>Configurar Fail2Ban</h2>
<p>Como cualquier aplicación de Linux, su configuración se encuentra dentro del directorio /etc. En este caso el directorio donde debemos buscar es /etc/fail2ban. El archivo que modicaremos en este mini tutorial es el /etc/fail2ban/jail.conf. Por defecto viene con varios templates para proteger servicios de nuestros servidores, no solo SSH. Algunas variables interesantes para modificar:<br />
Al inicio del archivo encontraremos las variables ignoreip y bantime La primera sirve para que no bloquee mi IP si algo sale mal y la segunda especifica el tiempo a bloquear un IP en segundos. Por defecto son 10 minutos (600 segundos).</p>
<p style="padding-left: 30px;"><code> ignoreip = 192.168.182.3<br />
bantime  = 600<br />
</code></p>
<p>Luego bajamos a la sección de SSH y verificamos que la configuración este correcta:</p>
<p style="padding-left: 30px;"><code> [ssh]</code></p>
<p style="padding-left: 30px;"><code> </code></p>
<p style="padding-left: 30px;"><code>enabled = true<br />
port    = ssh<br />
filter  = sshd<br />
logpath  = /var/log/auth.log<br />
maxretry = 6<br />
</code></p>
<p>Reiniciamos fail2ban<br />
<code><br />
/etc/init.d/fail2ban restart<br />
</code></p>
<p>Listo ahora estamos protegidos contra los ataques de diccionario a nuestro servidor SSH</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Sincronizar y/o Respaldar directorios con SSH y RSYNC</title>
		<link>https://rafael.bonifaz.ec/blog/2011/02/sincronizar-yo-respaldar-directorios-con-ssh-y-rsync/</link>
					<comments>https://rafael.bonifaz.ec/blog/2011/02/sincronizar-yo-respaldar-directorios-con-ssh-y-rsync/#comments</comments>
		
		<dc:creator><![CDATA[Rafael Bonifaz]]></dc:creator>
		<pubDate>Wed, 02 Feb 2011 02:20:56 +0000</pubDate>
				<category><![CDATA[Comos]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[tips]]></category>
		<guid isPermaLink="false">https://rafael.bonifaz.ec/blog/?p=417</guid>

					<description><![CDATA[Es muy probable que se requiera replicar la información de un directorio de una máquina o servidor a otro en mi red local o en Internet. Con RSYNC podríamos hacer cosas simples como sacar respaldos incrementales a un disco duro externo, a otra máquina en la red. También nos sirve para sincronizar directorios a través [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Es muy probable que se requiera replicar la información de un directorio de una máquina o servidor a otro en mi red local o en Internet. Con <a href="http://es.wikipedia.org/wiki/Rsync">RSYNC</a> podríamos hacer cosas simples como sacar respaldos incrementales a un disco duro externo, a otra máquina en la red. También nos sirve para sincronizar directorios a través del Internet y tener mirrors de un sitio web distribuidos en la red. Esto es lo que hacemos para los repositorios de <a href="http://www.elastix.org">Elastix</a> y lo que hace <a href="http://wikileaks.ch/Mirrors.html">Wikileaks con sus cientos de mirrors.</a></p>
<p>Si bien RSYNC no necesita de SSH para sincronizar, utilizar los 2 en conjunto tiene algunas ventajas entre las que destaco algunas:</p>
<ul>
<li>La información viaja encriptada</li>
<li>No necesito correr un servidor RSYNC</li>
<li>Solo necesito preocuparme de tener abierto el puerto de SSH<span id="more-417"></span></li>
</ul>
<p style="padding-left: 30px;"><strong> Nota</strong>: todos los ejemplos son una sola línea</p>
<h2>Ejemplo 1: Sincronizar 2 servidores web</h2>
<p style="padding-left: 30px;"><code>rsync -avz --delete  -e ssh /var/www/sitioweb usuario@servidorremoto.com:/var/www/mirror</code></p>
<p>Las opciones quieren decir:</p>
<ul>
<li><strong>-a</strong> Sirve para hacer una sincronización recursiva</li>
<li><strong>-v</strong> Sirve para mostrar en pantalla información de lo que esta haciendo el proceso</li>
<li><strong>-z</strong> Sirve para enviar la información comprimida y ahorrrar ancho de banda</li>
<li><strong>&#8211;delete</strong> Sirve para borrar del destino todo lo que no esta en el origen. En otras palabras para tener un mirror 100% igual.</li>
<li><strong>-e ssh</strong>: Es la parte del comando que hace que este artículo sea catalogado como un tip ssh ;). Básicamente sirve para hacer la sincronización utilizando el protocolo ssh</li>
</ul>
<p>Al igual que SCP el primer directorio es el origen y el segundo es el destino.</p>
<h2>Ejemplo 2: Sincronizar con puerto  no Estandard</h2>
<p>Algo muy común es que la gente  corra el servidor SSH en un puerto distinto al 22. Inclusive hace unos días publiqué como hacer para que escuche<a href="http://bonifaz.ec/ssh443"> en el puerto 443</a>. Ahora explicamos como sincronizar los 2 directorios donde el puerto del destino no es estandard.</p>
<p style="padding-left: 30px;"><span style="font-family: monospace;">rsync -avz &#8211;delete &#8211;rsh=&#8217;ssh -p 443&#8242;  /var/www/sitioweb usuario@servidorremoto.com:/var/www/mirror</span></p>
<p>Como pueden ver hay un solo cambio en este ejemplo. En lugar de usar<em><strong> -e ssh</strong></em> utilizamos<strong> &#8211;</strong><em><strong>-rsh=&#8217;ssh -p 443&#8242;</strong></em>. Básicamente estamos diciendo que se utilice el puerto 443 en lugar del puerto 22.</p>
<h2>Recomendaciones</h2>
<p>Si desean hacer tareas automatizadas como usar su servidor como un mirror de un tercer (ej. Elastix, Wikileaks <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> ) es muy recomendable crear un ambiente <a href="http://bonifaz.ec/sshchroot">enjaulado para ese usuario SSH</a> y seguro necesitará trabajar c<a href="http://bonifaz.ec/sshclaves">on autenticación con llaves públicas y privadas.</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://rafael.bonifaz.ec/blog/2011/02/sincronizar-yo-respaldar-directorios-con-ssh-y-rsync/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>SSH/SFTP Enjaulado</title>
		<link>https://rafael.bonifaz.ec/blog/2011/01/sshsftp-enjaulado/</link>
					<comments>https://rafael.bonifaz.ec/blog/2011/01/sshsftp-enjaulado/#comments</comments>
		
		<dc:creator><![CDATA[Rafael Bonifaz]]></dc:creator>
		<pubDate>Tue, 01 Feb 2011 03:05:01 +0000</pubDate>
				<category><![CDATA[Comos]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[chroot]]></category>
		<category><![CDATA[sftp]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[tips]]></category>
		<guid isPermaLink="false">https://rafael.bonifaz.ec/blog/?p=413</guid>

					<description><![CDATA[SSH es una herramienta extremadamente poderosa. Mucho poder quiere decir mucha responsabilidad. Si alguna vez tenemos que dar acceso de SSH o SFTP a nuestro servidor a alguien que no conozcamos, entonces es buena idea darles lo mínimo necesario para que realicen sus tareas. Las buenas noticias es que podemos crear ambientes aislados a los [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>SSH es una herramienta extremadamente poderosa. Mucho poder quiere decir mucha responsabilidad. Si alguna vez tenemos que dar acceso de SSH o SFTP a nuestro servidor a alguien que no conozcamos, entonces es buena idea darles lo mínimo necesario para que realicen sus tareas.<br />
Las buenas noticias es que podemos crear ambientes aislados a los usuarios con el conjunto de herramientas que ellos necesitan. . Entre otras cosas, estas herramientas pueden servir ser sincronizar directorios  utilizando rsync sobre ssh, tener acceso para subir archivos de forma segura al servidor utilizando SFTP, entre otras.<br />
La primera vez que me tocó crear un ambiente chroot para un usuario era necesario compilar una versión modificada de ssh. Si bien era un trabajo tedioso, existe buena documentación en Internet y se podría seguir how-tos bastante bien documentados. Recientemente investigué otra vez sobre el tema y veo que ahora ssh soporta nativamente ambientes enjaulados y existe un script que nos permite crear los ambientes enjaulados.</p>
<p style="padding-left: 30px;"><strong>Nota</strong>: Todos los ejemplos que pongo a continuación con SSH se podría utilizar con cliente SFTP como Filezilla.<span id="more-413"></span></p>
<p>Descargar el script make_chroot_jail y guardarlo en /usr/local/sbin:</p>
<p style="padding-left: 30px;"><code>cd /usr/local/sbin<br />
wget http://www.fuschlberger.net/programs/ssh-scp-sftp-chroot-jail/make_chroot_jail.sh<br />
chmod 700  make_chroot_jail.sh<br />
</code></p>
<p>La razón por la que guardamos el archivo en /usr/local/sbin, es porque es una ruta estandard para poner aplicaciones o scripts que no vienen con la distribución que usamos y que deben ser ejecutadas solo por el administrador. Además tiene la ventaja de estar incluido en el path de los administradores por lo que se puede ejecutar directamente escribiendo make_chroot_jail.sh en lugar de la ruta completa.</p>
<h2>Modificaciones al script</h2>
<p>Antes de ejecutar el script, me encontré con algunos detalles que deben ser cambiados para que funcione perfectamente. El primer cambio que se debe hacer es cambiar la primera línea del archivo. En lugar de decir:</p>
<p style="padding-left: 30px;"><code>#!/bin/sh</code></p>
<p>Deberíá decir</p>
<p style="padding-left: 30px;">
<code>#!/bin/bash</code></p>
<p>Normalmente el comado /bin/sh es un link a /bin/bash, pero esto no es cierto en todas las distros. Para que este script funcione correctamente deberíamos ejecutarlo con el shell bash.</p>
<p>En el caso de mis pruebas con Ubuntu 10.4 y Debian Squeeze es necesario modificar la línea 472 y cambiar la librería:</p>
<p style="padding-left: 30px;"><code>/lib/libcap.so.1</code></p>
<p>por</p>
<p style="padding-left: 30px;"><code>/lib/libcap.so.2</code></p>
<p>En este script Ubuntu es reconocido como Debian. Así que en los 2 casos hay que modificar la línea 472. Si estas usando una distro como Suse, Fedora u otra, habría que modificar la línea correspondiente.</p>
<h2>Personalizar el Ambiente</h2>
<p>La última modificación que debemos hacer al script es agregar o quitar (lo dudo) las aplicaciones que queremos darle al usuario. En el caso de Debian/Ubuntu deberíamos modifcar la línea 119.</p>
<p>Crear el primer usuario:<br />
La forma más básica de crear el usuario es:</p>
<p style="padding-left: 30px;"><code>make_chroot_jail.sh gnu</code></p>
<p>En este caso creamos el usuario gnu que será un usuario enjaulado. Ahora intentemos ingresar al servidor y listemos algunos directorios para ver si todo esta en orden.</p>
<p style="padding-left: 30px;"><code>ssh gnu@servidorremoto.com<br />
ls /</code></p>
<p>Si la salida del comando es la siguiente hemos creado exitosamente nuestra Jaula.</p>
<p style="padding-left: 30px;"><code>bin  dev  etc  home  lib  sbin  usr</code></p>
<p>Por defecto la jaula se creará en el directorio /home/jail. Este directorio se podría cambiar pasando argumentos al comando. Para ver lo que se puede hacer con este script podemos ejecutarlo de la siguiente forma</p>
<p style="padding-left: 30px;"><code>make_chroot_jail.sh | less<br />
</code></p>
<p>Si quisieramos podríamos crear varios usuarios dentro de la misma jaula.</p>
<h2>Crear varias Jaulas ssh</h2>
<p>Es muy probable que queramos tener varias usuarios y cada uno con su propio ambiente chroot. Esto es algo muy útil si alguien vende hosting y quiere que sus usuarios utilicen SFTP en lugar de FTP, aumentando mucho la seguridad para los usuarios y para el servidor. Para crear los usuarios en un ambiente distinto se les debe asignar un shell propio y un directorio donde estará la jaula.</p>
<p>Con un ejemplo se entiende mejor. Vamos crear 2 ambientes enjaulados. El primero tendrá su shell como /usr/local/bin/shelltuxs y su ambiente chroot estará en /jaulas/tuxs. El segundo tendrá su shell como /usr/local/bin/shellgnues y su ambiente chroot estará en /jaulas/gnues. Podríamos tener tantos ambientes enjaulados como quisieramos, pero cada uno deberá tener su propio shell. Los shells que estamos creando podríán estar en cualquier directorio y llamarse de cualquier forma. El script los creará.</p>
<p>Crear usuarios gnues y su ambiente</p>
<p style="padding-left: 30px;">
<code>make_chroot_jail.sh gnu1 /usr/local/bin/shellgnues /jaulas/gnues/<br />
make_chroot_jail.sh gnu2 /usr/local/bin/shellgnues /jaulas/gnues/<br />
make_chroot_jail.sh gnu3 /usr/local/bin/shellgnues /jaulas/gnues/<br />
</code></p>
<p>Crear usuarios tux y su ambiente:</p>
<p style="padding-left: 30px;"><code>make_chroot_jail.sh tux1 /usr/local/bin/shelltuxs /jaulas/tuxs/<br />
make_chroot_jail.sh tux2 /usr/local/bin/shelltuxs /jaulas/tuxs/<br />
make_chroot_jail.sh tux3 /usr/local/bin/shelltuxs /jaulas/tuxs/</code></p>
<p>Listo hemos creado 2 ambientes enjaulados y cada ambiente enjaulado. La verdad esta mucho más fácil que hace algunos años atrás cuando hice esto por primera vez.</p>
<h2>Algunas consideraciones.</h2>
<p>Si bien este script nos facilita la vida, tiene algunas errores. Si se actualiza varias veces el mismo usuario, habría que revisar el archivo /etc/passwd tanto en el ambiente real como el enjaulado para que no tenga usuarios repetidos. Lo mismo se debería hacer con el comando visudo y borrar los usuarios repetidos.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rafael.bonifaz.ec/blog/2011/01/sshsftp-enjaulado/feed/</wfw:commentRss>
			<slash:comments>15</slash:comments>
		
		
			</item>
		<item>
		<title>Simplifica tu vida gracias a ~/.ssh/config</title>
		<link>https://rafael.bonifaz.ec/blog/2011/01/sshconfig-simplifica-nuestra-vida-con-ssh/</link>
					<comments>https://rafael.bonifaz.ec/blog/2011/01/sshconfig-simplifica-nuestra-vida-con-ssh/#comments</comments>
		
		<dc:creator><![CDATA[Rafael Bonifaz]]></dc:creator>
		<pubDate>Fri, 28 Jan 2011 02:01:19 +0000</pubDate>
				<category><![CDATA[Comos]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[tips]]></category>
		<guid isPermaLink="false">https://rafael.bonifaz.ec/blog/?p=406</guid>

					<description><![CDATA[Para las personas que trabajamos mucho con SSH, tenemos que recordar varios nombres de host, ips, usuarios, puertos, etc&#8230;. Ya vimos como hacer para no recordar demasiadas contraseñas, pero igual todavía son demasiadas cosas que recordar para acceder a nuestros servidores remotos. Hace poco descubrí que existe el archivo de configuración ~/.ssh/config que sirve para [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Para las personas que trabajamos mucho con SSH, tenemos que recordar varios nombres de host, ips, usuarios, puertos, etc&#8230;. Ya vimos como hacer para <a href="http://bonifaz.ec/sshclaves">no recordar demasiadas contraseñas</a>, pero igual todavía son demasiadas cosas que recordar para acceder a nuestros servidores remotos. Hace poco descubrí que existe el archivo de configuración ~/.ssh/config que sirve para facilitar nuestra vida.</p>
<p>Supongamos que debemos ingresar a un servidor remoto, con un nombre de usuario que no es el mismo de mi máquina local y además corremos el servidor en un puerto distinto al 22. Cada vez que accedamos a este servidor deberíamos escribir algo así:</p>
<p style="padding-left: 30px;"><code>ssh -p 443 usuarioremoto@servidorremoto.com</code></p>
<p>No es el fin del mundo, pero si tenemos muchos servers y una mala memoria se nos complica un poco la vida. Que tal si en lugar de escribir toda esa línea podemos escribir simplemente:</p>
<p style="padding-left: 30px;"><code>ssh sremoto<span id="more-406"></span></code></p>
<p>Gracias al archivo de configuración ~/.ssh/config  podemos hacer sin problema. Empezamos creando el archivo:</p>
<p style="padding-left: 30px;"><code>vim ~/.ssh/config</code></p>
<p>En mi caso estoy utilizando vim como editor, pero podría ser un editor gráfico como gedit. El caracter «~» quiere decir home del usuario con el que estoy trabajando en este momento. En otras palabras si estoy trabajando con el usuario juan entonces lo más probable es que  «~» se refiera a /home/juan/.<br />
En el archivo de configuración añadimos las siguientes líneas.<code><br />
</code></p>
<p style="padding-left: 30px;"><code>Host sremoto<br />
HostName servidorremoto.com<br />
User    usuarioremoto<br />
Port    443</code></p>
<p>La primera línea es algo así como un alias para este servidor. La segunda línea nos dice el nombre del host para el servidor. En la tercera ponemos el nombre de usuario y en la última el puerto. No existe un orden específico sobre las variables que podemos utilizar. Podemos tener tantos Host como sea necesario.</p>
<p>Listo ahora ingresamos al servidor remoto.</p>
<p style="padding-left: 30px;"><code>ssh sremoto</code></p>
<p>Inclusive se puede utilizar el alias «sremoto » para copiar archivos con scp</p>
<p style="padding-left: 30px;"><code>scp archivo sremoto:</code></p>
<p>En este ejemplo estamos poniendo solo un servidor remoto, pero podríamos tener los que queramos. Las variables con configuramos aquí no son las únicas. Para más información sobre lo que podemos hacer con este archivo de configuración basta ver su página de manual:</p>
<p style="padding-left: 30px;"><code>man ssh_config</code></p>
]]></content:encoded>
					
					<wfw:commentRss>https://rafael.bonifaz.ec/blog/2011/01/sshconfig-simplifica-nuestra-vida-con-ssh/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Copiar archivos con SCP (SSH)</title>
		<link>https://rafael.bonifaz.ec/blog/2011/01/copiar-archivos-con-scp-ssh/</link>
					<comments>https://rafael.bonifaz.ec/blog/2011/01/copiar-archivos-con-scp-ssh/#comments</comments>
		
		<dc:creator><![CDATA[Rafael Bonifaz]]></dc:creator>
		<pubDate>Wed, 26 Jan 2011 02:20:27 +0000</pubDate>
				<category><![CDATA[Comos]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[tips]]></category>
		<guid isPermaLink="false">https://rafael.bonifaz.ec/blog/?p=401</guid>

					<description><![CDATA[Para muchos esto no sea ningún tip, sino el día a día. Sin embargo, me he topado con muchos administradores de sistema no conocen un comando tan básico como scp. Además, seguro que muchos no saben que se puede controlar el ancho de banda mientras se copia un archivo. Útil para cuando copiamos archivos muy [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Para muchos esto no sea ningún tip, sino el día a día. Sin embargo, me he topado con muchos administradores de sistema no conocen un comando tan básico como scp. Además, seguro que muchos no saben que se puede controlar el ancho de banda mientras se copia un archivo. Útil para cuando copiamos archivos muy grandes al Internet pudiendo saturar nuestra conexión.</p>
<p>El comando SCP básicamente sirve para copiar archivos de un computador a otro, de manera encriptada, a través del protocolo SSH. Funciona de manera muy similar a como funciona el comando cp, donde tenemos un origen y un destino. La diferencia es que el origen o el destino van a ser computadores diferentes.</p>
<h2>Ejemplo 1: Origen local, destino remoto</h2>
<p style="padding-left: 30px;"><code>scp archivo.tar.gz usuario@servidorremoto.com:</code></p>
<p><span id="more-401"></span>En este caso el origen es un archivo local de la computadora donde estoy trabajando y el destino es el servidor remoto. El «:» al final del nombre del servidor quiere decir que vamos a copiar el archivo en el directorio home del usuario que realiza la copia. Después del : podríamos poner una ruta relativa al home del usuario o una ruta absoluta. Por ejemplo, si quisiera copiar en la ruta /home/usuario/directoriox</p>
<h3>Rutas relativas:</h3>
<p style="padding-left: 30px;"><code>scp arhivo.tar.gz usuario@servidorremoto.com:directoriox</code></p>
<h3>Rutas absolutas:</h3>
<p style="padding-left: 30px;"><code>scp arhivo.tar.gz usuario@servidorremoto.com:/home/usuario/directoriox</code></p>
<p>En este caso es más comodo usar la ruta relativa, pero no siempre será este el caso.</p>
<h2>Ejemplo 2: Origen remoto, destino local</h2>
<p style="padding-left: 30px;"><code>scp usuario@servidorremoto.com:arhivo.zip . </code></p>
<p>En este caso copiamos el archivo remoto archivo.zip (ubicado en el home del usuario) A la carpeta actual donde me encuentro en mi máquina local.<br />
Tanto para el ejemplo 1, como para el 2 si quisieramos copiar un directorio, lo haríamos con la opción «-r». En general las opciones de <em>scp</em> son las mismas que las del comando <em>cp</em></p>
<h2>Ejemplo 3: Puerto alternativo</h2>
<p>Muchas personas no corren ssh en el puerto 22, en un post anterior expliqué como hacer para <a href="http://bonifaz.ec/ssh443">correr ssh en el puerto 443</a> en conjunto con https. Pues bien, ahora hagamos un ejemplo de copia de scp utilizando el puerto 443.</p>
<p style="padding-left: 30px;"><code>scp -P 443 -r /ruta/directorio usuario@servidorremoto.com:/ruta/deestino<br />
</code></p>
<p><code>En este caso copiamos todo un directorio y lo hacemos por el puerto no estadard 443.</code></p>
<h2>Ejemplo 4: Limitar Ancho de Banda</h2>
<p>Esta opción no la sabe mucha gente y en ocasiones puede ser muy útil. Que tal si queremos copiar un archivo muy grande desde o hacia Internet. Es muy probable que eso genere mucho tráfico que haga insoportable el uso del Internet para el resto de personas en la red, incluido quien esta subiendo el archivo. Por suerte, parece ser que los desarrolladores de Openssh han pensado en todo <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> y se puede limitar el ancho de banda de la transeferencia. Para esto usamos la opción «-l» seguido por el ancho de banda a limitar en kbits/segundo. (8 kbit/segundo = 1 kbyte/segundo)</p>
<p style="padding-left: 30px;"><code>scp -l 80 archivgrande.tar.gz usuario@servidorremoto.com:</code></p>
<p>De esta manera limitaremos la copia a 80 kbits/seg (10 kbytes/segundo).</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rafael.bonifaz.ec/blog/2011/01/copiar-archivos-con-scp-ssh/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>SSH y HTTPS en puerto 443</title>
		<link>https://rafael.bonifaz.ec/blog/2011/01/ssh-y-https-en-puerto-443/</link>
					<comments>https://rafael.bonifaz.ec/blog/2011/01/ssh-y-https-en-puerto-443/#comments</comments>
		
		<dc:creator><![CDATA[Rafael Bonifaz]]></dc:creator>
		<pubDate>Sun, 23 Jan 2011 02:56:01 +0000</pubDate>
				<category><![CDATA[Comos]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[tips]]></category>
		<guid isPermaLink="false">https://rafael.bonifaz.ec/blog/?p=394</guid>

					<description><![CDATA[En el artículo anterior explique como navegar a través de un servidor socks creado con ssh. Eso va a funcionar siempre y cuando no tengamos bloqueado el puerto en el que estamos corriendo ssh en nuestro servidor (por defecto el 22). Es muy probable que el puerto 22 este bloqueado, pero muy poco probable que [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>En el artículo anterior explique como navegar a través de un <a href="http://bonifaz.ec/sshsocks">servidor socks creado con ssh</a>. Eso va a funcionar siempre y cuando no tengamos bloqueado el puerto en el que estamos corriendo ssh en nuestro servidor (por defecto el 22). Es muy probable que el puerto 22 este bloqueado, pero muy poco probable que el 443 sea bloqueando.</p>
<p>Una solución simple podría ser ejecutar SSH en el puerto 443, pero lo más probable es que necesitemos correr alguna aplicación HTTPS en ese puerto. La solución a este problema se llama <a href="http://www.rutschle.net/tech/sslh.shtml">SSLH</a>. Sus autores lo llaman un multiplexor SSH/HTTPS.</p>
<p>Básicamente lo que hace este servicio es redirigir las peticiones de SSH a localhost:22 y las de HTTPS a localhost:443. Para que todo funcione bien debemos deberíamos configurar nuestro servidor web para que escuche en: 127.0.0.1:433 en lugar de *:443.<span id="more-394"></span></p>
<h2>Manos a la Obra</h2>
<p style="padding-left: 30px;"><strong>Nota</strong>: Si se va hacer esto en un servidor remoto podría perder la conexión al mismo. Trabaje con atención y mantenga una conexión de ssh abierta por si las moscas.</p>
<p>Lo primero que tenemos que hacer es instalar <a href="http://www.rutschle.net/tech/sslh.shtml">SSLH</a>. En las distribuciones basadas en Debian (ej. Ubuntu) bastará instalarlo desde repositorios. En otras distros supongo que el procedimiento debe ser muy similar.</p>
<p style="padding-left: 30px;"><code>aptitude install sslh</code></p>
<p>Una vez instalado, lo primero que debemos hacer es configurar nuestro servidor web para que el puerto 443 sea solo escuchado en localhost y no en el ip público.  En mi caso personal uso <a href="http://www.cherokee-project.com/">Cherokee</a> y para esto en el Cherokee admin debemos ir a: General-&gt; puertos. Una vez ahí añadimos la dirección ip junto a la directiva de 443.  En el caso de <a href="http://httpd.apache.org/docs/2.0/bind.html">Apache</a> o cualquier otro servidor web se aplica el mismo concepto.</p>
<p>El servicio ssh si queremos lo podemos configurar para que escuche solo en 127.0.0.1:22 ya que ahora podríamos acceder desde el 443. No recomiendo hacer esto hasta que todo este funcionando.</p>
<p>Una vez que tenemos configurado el servidor web, tenemos que configurar el sslh. Para esto editamos el archivo /etc/default/sslh. Básicamente se debe añadir la lista RUN=yes y configurar el ip pública de nuestro servidor. Deberíamos tener algo similar a esto:</p>
<p style="padding-left: 30px;"><code> DAEMON_OPTS="-u sslh -p 200.200.200.200:443 -s 127.0.0.1:22 -l 127.0.0.1:443 -P /var/run/sslh.pid"<br />
RUN=yes</code></p>
<p style="padding-left: 30px;"><strong>Nota</strong>: Son solo 2 líneas la primera define la variable DAEMON_OPTS y la segunda la variable RUN.</p>
<p>Ahora solo queda arrancar el servicio</p>
<p style="padding-left: 30px;"><code>/etc/init.d/sslh start</code></p>
<p>Listo ahora podemos ingresar a nuestro servidor utilizando el puerto 443</p>
<p style="padding-left: 30px;"><code>ssh -p 443 usuario@servidorremoto.com</code></p>
<p>Ahora si quisieramos navegar utilizando un <a href="http://bonifaz.ec/sshsocks">proxy socks</a> básicamente deberíamos hacer algo así:</p>
<p style="padding-left: 30px;"><code>ssh -p 443 -ND 8080 usuario@servidorremoto.com</code></p>
<p>Ahora ya estamos preparados para redes hostiles donde les gusta bloquear lo que más pueden.</p>
<p>Les recomiendo leer el siguiente artículo de Linux Magazine donde Charlie nos <a href="http://www.linux-magazine.es/issue/61/061-061_Charly61.pdf">cuenta sobre sslh</a>. Si no hubiera sido por Charlie, no supiera como hacer esto y no hubiera escrito este artículo. Sin lugar a dudas mi columna favorita de Linux Magazine.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rafael.bonifaz.ec/blog/2011/01/ssh-y-https-en-puerto-443/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
	</channel>
</rss>
