<?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>Hack Network</title>
	<atom:link href="http://www.hack.net.br/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hack.net.br/blog</link>
	<description></description>
	<lastBuildDate>Tue, 08 Nov 2011 10:39:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Protocolos SSH1 e SSH2</title>
		<link>http://www.hack.net.br/blog/linux/protocolos-ssh1-e-ssh2/</link>
		<comments>http://www.hack.net.br/blog/linux/protocolos-ssh1-e-ssh2/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 17:30:46 +0000</pubDate>
		<dc:creator>Walter Cunha</dc:creator>
				<category><![CDATA[Knowledge]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Português-Brasil]]></category>
		<category><![CDATA[putty]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[ssh1]]></category>
		<category><![CDATA[ssh2]]></category>

		<guid isPermaLink="false">http://www.hack.net.br/?p=327</guid>
		<description><![CDATA[Este post estou criando com um apanhado de informações buscadas na internet com o intuito de sanar algumas duvidas que tive durante a criação de uma chave no PuTTygen que estarei explicando em um outro post.  Nesse não estarei falando de todas as funcionalidades. O SSH (Secure SHell) é ao mesmo tempo um protocolo e [...]]]></description>
			<content:encoded><![CDATA[<p>Este post estou criando com um apanhado de informações buscadas na internet com o intuito de sanar algumas duvidas que tive durante a criação de uma chave no PuTTygen que estarei explicando em um outro post.  Nesse não estarei falando de todas as funcionalidades.</p>
<p><span id="more-327"></span></p>
<p>O SSH (Secure SHell) é ao mesmo tempo um protocolo e uma aplicação para acesso remoto. Os protocolos foram desenvolvidos em 1995 por Tatu Ylonen, fundador da empresa SSH Communications Security. O conjunto permaneceu livre até a sua versão 1.2.12, quando se tornou um produto proprietário desta empresa. Foi desta versão que se originou o aplicativo OpenSSH (uma implementação destes protocolos e várias ferramentas auxiliares), em 1999. Existem também várias outras opções comerciais de implementação do SSH porém, por ser livre, o OpenSSH é a mais popular.</p>
<p>O SSH tem como objetivo principal fazer a autenticação cliente -&gt; servidor de modo seguro através de troca de chave ou senha. Criando entre os dois um tunel de conexão segura. Existem muitas diferenças entre esses dois protocolos, uma vez que o SSH2 não foi apenas uma atualização do SSH1, ele foi reescrito aumentando sua segurança, suas formas de autenticação e funcionalidades que foram criadas a fim de possibilitar um maior grau de segurança.</p>
<p>A primeira versão, conhecida como SSH1, foi desenvolvida principalmente com a intenção de substituir os “comandos r”: rlogin (permite que o usuário logue no sistema remoto utilizando a porta 513/TCP), rsh (que permite executar comandos no shell remoto como outro usuário. Na ponta onde o usuário irá se conectar é necessário que o daemon rshd esteja sendo executado) e rcp (permite fazer uma cópia de arquivos entre sistemas remotos através da Internet). A segunda versão (SSH2, incompativel com a versão SSH1) tem o intuito de resolver falhas de segurança sérias encontradas na primeira versão e melhora o método de transferência de arquivos entre os hosts (através do SFTP).</p>
<p>O protocolo SSH1, já é considerado por muitos como ultrapassado e inseguro, está cada vez mais caindo em desuso, de forma que os novos aplicativos utilizem apenas o SSH2.</p>
<p>O SSH2 tem como principal vantagem, quando comparado ao SSH1, uma maior segurança. As principais mudanças foi a retirada dos algoritmos de criptografia DES e IDEA e a adição do método de autenticação DSA.</p>
<p>Com essas mudanças obtivemos melhora no uso de aplicativos para transferência de arquivos tanto em Linux (SFTP e SCP) e em Windows.</p>
<p>Existem duas falhas mais conhecidas do SSH1. A primeira mais conhecida, permite que a chave de sessão seja recuperada por aquele que está atacando, de modo que deixa vulnerável as próximas conexões. O que acontece, de fato, é que é feita uma escuta de todas as informações que estão sendo transmitidas, e se observa problemas de design ou implementação no cliente ou no servidor que permitam obter a chave de sessão. Apartir daí o texto pode ser decifrado.</p>
<p>A outra falha já documentada é relacionada a um overflow de inteiros no código, que foi criada para detectar ataques contra uma outra falha já detectada no SSH1, envolvendo o CRC checksum dos pacotes de dados. O problema é que esse overflow pode resultar em uma inscrição de dados sobre uma área de memória já utilizada para outros fins. O ataque é feito colocando pacotes maliciosos entre as informações trocadas, permitindo a execução de comandos arbitrários tanto no servidor quanto no cliente. Essa questão se torna ainda mais complexa quando quem está rodando o arquivo é o root, o que pode gerar um dano ainda maior.</p>
<p>Basicamente, ambos os protocolos tem por princípio fazer a autenticação do usuário, e, em seguida, trocar a chave de sessão. Assim, é possível transmitir todas as informações totalmente encriptadas.</p>
<p>Site em inglês para um conhecimento mais aprofundado: <em><a title="Secure Shell (SSH)" href="http://en.wikipedia.org/wiki/Secure_Shell" target="_blank">SecureShell</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hack.net.br/blog/linux/protocolos-ssh1-e-ssh2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Diferença entre kB-kb e MB-Mb</title>
		<link>http://www.hack.net.br/blog/conhecimento/diferenca-entre-kb-kb-e-mb-mb/</link>
		<comments>http://www.hack.net.br/blog/conhecimento/diferenca-entre-kb-kb-e-mb-mb/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 10:40:29 +0000</pubDate>
		<dc:creator>Walter Cunha</dc:creator>
				<category><![CDATA[Knowledge]]></category>
		<category><![CDATA[Português-Brasil]]></category>

		<guid isPermaLink="false">http://www.hack.net.br/?p=163</guid>
		<description><![CDATA[Vou explicar duas das unidades mais vistas ultimamente por todos, seja como velocidade de internet ou como tamanho de arquivo em disco. Ultimamente estamos vendo mais vezes as unidades &#8220;kbps&#8221; e &#8220;mbps&#8221;, isso devido o aumento da velocidade dos links de internet. Isso no passado já era possível ver nos modens de 56kbps, na tranferencia [...]]]></description>
			<content:encoded><![CDATA[<p>Vou explicar duas das unidades mais vistas ultimamente por todos, seja como velocidade de internet ou como tamanho de arquivo em disco.</p>
<p><span id="more-163"></span></p>
<p>Ultimamente estamos vendo mais vezes as unidades &#8220;kbps&#8221; e &#8220;mbps&#8221;, isso devido o aumento da velocidade dos links de internet. Isso no passado já era possível ver nos modens de 56kbps, na tranferencia de arquivos via web, armazenados no nosso HD ou qualquer outro tipo de media.</p>
<p>Normalmente quando verificamos a velocidade exibida no icone de rede no Windows ou algum site para medir nossa velocidade, temos essa exibida em kbps ou mbps, no entanto, quase todos os navegadores mostram a velocidade de download de arquivos em kB/s e MB/s, que seria portanto, a velocidade do link que é definida em kbps ou mbps convertidas para kB e MB. Com uma conexão a 1mbps ou 1024 kbps por exemplo, teriamos no máximo 128 kB/s de download e upload caso sejam iguais as velocidades para down e up.</p>
<p>Já no disco podemos ter exibido em qualquer ordem de grandeza, isso tudo vai depender to tamanho do arquivo. É possível ter arquivos com 1kb, 1kB, 1MB&#8230;</p>
<p><strong>Bit</strong> = É a menor unidade de dados em um computador. Um bit pode somente assumir o valor 1 ou 0 . Um bit é o formato binário utilizado pelos computadores para processar os dados.</p>
<p><strong>Byte</strong> = Unidade de medida que se utiliza para descrever o tamanho de um arquivo de dados, a quantidade de espaço em um disco ou outro meio de armazenamento. Um Byte é constituído por 8 Bits de dados.</p>
<p><strong>Kilobyte (kB)</strong> = 1.024 ou aproximadamente 1.000 bytes</p>
<p><strong>Kilobytes por segundo (kBps)</strong> = Mede a quantidade de dados transferidas em uma conexão. Uma taxa de transferência de dados de 1kBps é aproximadamente uma taxa de 1.000 Bytes por segundo.</p>
<p><strong>Kilobit (kb)</strong> = 1.024 ou aproximadamente 1.000 bits</p>
<p><strong>Kilobits por segundo (kbps)</strong> = Mede a quantidade de dados transferidas em uma conexão. Uma taxa de transferência de dados de 1kbps é aproximadamente uma taxa de 1.000. bits por segundo.</p>
<p><strong>Megabyte (MB)</strong> = 1.048.576 bytes (aproximadamente 1 milhão de bytes)</p>
<p><strong>Megabytes por segundo (MBps)</strong> = É uma medida comum da quantidade de dados transferidas por uma conexão. Uma taxa de transferência de dados de 1 MBps é aproximadamente uma taxa de 1 milhão de bytes ou 1.000 kilobytes por segundo.</p>
<p><strong>Megabit</strong> = 1.048.576 bits (aproximadamente 1 milhão de bits)</p>
<p><strong>Megabits por segundo (Mbps)</strong> = É uma medida comum da quantidade de dados transferidas por uma conexão. Uma taxa de transferência de dados de 1 Mbps é aproximadamente uma taxa de 1 milhão de bits ou 1.000 kilobits por segundo.</p>
<p>Isso é apenas uma explicação básica para um entendimento rápido do que significa, na internet tem materiais bem mais completos explicando mais coisas.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hack.net.br/blog/conhecimento/diferenca-entre-kb-kb-e-mb-mb/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Aircrack-ng: mon0 is on channel -1, but the AP uses channel X</title>
		<link>http://www.hack.net.br/blog/hacking/aircrack-ng-mon0-is-on-channel-1-but-the-ap-uses-channel-x/</link>
		<comments>http://www.hack.net.br/blog/hacking/aircrack-ng-mon0-is-on-channel-1-but-the-ap-uses-channel-x/#comments</comments>
		<pubDate>Sat, 22 Oct 2011 14:21:39 +0000</pubDate>
		<dc:creator>Allan Denot</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Português-Brasil]]></category>
		<category><![CDATA[aircrack-ng]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.hack.net.br/blog/?p=439</guid>
		<description><![CDATA[Dependendo do driver usado, o seguinte erro pode ocorrer: airodump-ng: Fixed channel to -1 = fixed channel mon0: -1  aireplay-ng: Wouldn’t false authenticate OR deauth = mon0 is on channel -1, but the AP uses channel XXX Pesquisando na web, maioria dos sites indicam recompilar o kernel com um patch para resolver o problema. Mas não e necessário recompilar o [...]]]></description>
			<content:encoded><![CDATA[<p>Dependendo do driver usado, o seguinte erro pode ocorrer:</p>
<pre>airodump-ng: Fixed channel to -1 = fixed channel mon0: -1 
aireplay-ng: Wouldn’t false authenticate OR deauth = mon0 is on channel -1, but the AP uses channel XXX</pre>
<p>Pesquisando na web, maioria dos sites indicam recompilar o kernel com um patch para resolver o problema.</p>
<p><span style="text-decoration: underline;">Mas não e necessário recompilar o kernel!</span></p>
<p>Você sim vai precisar <strong>recompilar o pacote aircrack-ng</strong>, mas se utiliza Debian ou Ubuntu, a tarefa e bem simples.</p>
<p>(Solucao baseada no patch descrito em: http://trac.aircrack-ng.org/ticket/742).</p>
<p>Crie um diretório temporario e baixe o fonte do aircrack-ng:</p>
<pre>mkdir tmp
cd tmp
apt-get source aircrack-ng</pre>
<p>Edite o arquivo src/aireplay-ng.c:</p>
<pre>cd aircrack-ng-1.1
cd src
nano aireplay-ng.c</pre>
<p><strong>Remova</strong> o seguinte código (por volta da linha 726):</p>
<pre>        if(ap_chan != iface_chan)
        {
            PCT; printf("%s is on channel %d, but the AP uses channel %d\n", wi_get_ifname(wi), iface_chan, ap_chan);
            return -1;
        }</pre>
<p>Salve o arquivo.</p>
<p>Va para o diretorio onde foi extraido o codigo fonte (aircrack-ng-1.1):</p>
<pre>cd ..</pre>
<p>Recompile o .deb:</p>
<pre>dpkg-buildpackage</pre>
<p>Se tudo deu certo, voce vera a mensagem:</p>
<pre>dpkg-deb: building package `aircrack-ng' in `../aircrack-ng_1.1-1.1_amd64.deb'.
 dpkg-genchanges  &gt;../aircrack-ng_1.1-1.1_amd64.changes
dpkg-genchanges: not including original source code in upload
 dpkg-source --after-build aircrack-ng-1.1
dpkg-buildpackage: binary and diff upload (original source NOT included)</pre>
<p>Basta instalar o novo pacote com o comando:</p>
<pre>dpkg -i ../aircrack-ng_1.1-1.1_amd64.deb</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.hack.net.br/blog/hacking/aircrack-ng-mon0-is-on-channel-1-but-the-ap-uses-channel-x/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>WebPAC: A Proxy auto-config file generator</title>
		<link>http://www.hack.net.br/blog/networking/webpac-a-proxy-auto-config-file-generator/</link>
		<comments>http://www.hack.net.br/blog/networking/webpac-a-proxy-auto-config-file-generator/#comments</comments>
		<pubDate>Sat, 22 Oct 2011 13:11:55 +0000</pubDate>
		<dc:creator>Allan Denot</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Networking]]></category>

		<guid isPermaLink="false">http://www.hack.net.br/blog/?p=394</guid>
		<description><![CDATA[What&#8217;s a .PAC file? PAC file allows your to create custom rules for proxy settings in an intranet. All workstations can have their proxy settings centralized in one file and you can set different proxies, depending on IP address, URL or network. Under the hood, it is basically a JavaScript file (but with .pac extension) [...]]]></description>
			<content:encoded><![CDATA[<h2>What&#8217;s a .PAC file?</h2>
<p>PAC file allows your to create custom rules for proxy settings in an intranet. All workstations can have their proxy settings centralized in one file and you can set different proxies, depending on IP address, URL or network.</p>
<p>Under the hood, it is basically a JavaScript file (but with .pac extension) loaded onto browsers. When the browser is requesting a new URL, the JavaScript function FindProxyForURL() runs, and based on the function&#8217;s return value, a proxy is set.<span id="more-394"></span></p>
<h2>What you will need?</h2>
<ul>
<li>Webserver</li>
<li>Browser</li>
<li>Text editor</li>
<li>2 cups of coffee &#8211; cappuccino recommended</li>
</ul>
<h2>1. Create your PAC file</h2>
<p><a title="WebPAC - A Proxy auto-config file generator" href="http://www.hack.net.br/webpac/" target="_blank">Use our PAC file generator</a> (Chrome/Firefox is recommended, might not work on IE):</p>
<p><a title="WebPAC - A Proxy auto-config file generator" href="/webpac/" target="_blank"><img class="alignnone size-medium wp-image-415" style="border-width: 2px; border-color: black; border-style: solid;" title="webpac-screenshot" src="http://www.hack.net.br/blog/wp-content/uploads/2011/10/webpac-screenshot-300x122.png" alt="" width="300" height="122" /><br />
</a><span class="Apple-style-span" style="color: #993300;">If you get any problem with our PAC file generator (except the IE thing), please let us know in the comments below!</span></p>
<p>Or you can use the following contents for this example:</p>
<pre>function FindProxyForURL(url, host) {
// All other traffic uses below proxies, in fail-over order.
	return "PROXY 192.168.1.1:8080; DIRECT";
}</pre>
<p>This very simple example just sets a proxy for 192.168.1.1 on port 8080 for all websites that the client tries to browse.</p>
<p>Save the contents on a file called <em>proxy.pac</em></p>
<h2>2. Upload to your web server</h2>
<p>Now, upload this file to a web server accessible by the client, in this example, the web server is reached on the URL http://intranet/proxy.pac</p>
<p>If you wish to use WPAD (described below), you need to configure your web server to deploy .pac files with a custom content type.</p>
<p>Create or edit the .htaccess file on htdocs folder (or the web server document root) and add:</p>
<pre>AddType application/x-ns-proxy-autoconfig .dat
AddType application/x-ns-proxy-autoconfig .pac</pre>
<h2>3. Setting the browser to use the PAC file</h2>
<p>Edit your browser proxy configuration, as below:  (IE, Safari and Chrome on left and Firefox on right)</p>
<p><a href="http://www.hack.net.br/blog/wp-content/uploads/2011/10/pac-1.png"><img class="size-full wp-image-398 alignleft" title="pac-1" src="http://www.hack.net.br/blog/wp-content/uploads/2011/10/pac-1.png" alt="" width="259" height="330" /></a><a href="http://www.hack.net.br/blog/wp-content/uploads/2011/10/pac-3.png"><img class="size-full wp-image-403 alignnone" title="pac-3" src="http://www.hack.net.br/blog/wp-content/uploads/2011/10/pac-3.png" alt="" width="323" height="330" /></a></p>
<p>Where &#8220;http://intranet/proxy.pac&#8221; is a valid URL where you dropped your pac file.</p>
<h2>Setting the PAC file to all browsers using <em>proxy auto-discovery</em></h2>
<p>There is another protocol, called WPAD (Web Proxy Auto-Discovery Protocol), which is in charge of deploying the PAC file to browsers. And that&#8217;s how it works:</p>
<ol>
<li>When the browser starts and &#8220;Automatic detect settings&#8221; is enabled, the browser will try to resolve a domain named <em>wpad</em>.</li>
<li>The browser then tries to fetch a file on http://wpad/wpad.dat</li>
</ol>
<p>In order to make this work, you need to create the <em>wpad</em> hostname on your DNS server and point to the IP of  a web server you control.</p>
<p>You can easily test if your domain is working by trying to ping wpad from a command prompt:</p>
<p><a href="http://www.hack.net.br/blog/wp-content/uploads/2011/10/pac-4.png"><img class="size-full wp-image-407 " title="pac-4" src="http://www.hack.net.br/blog/wp-content/uploads/2011/10/pac-4.png" alt="" width="495" height="87" /><br />
</a>Not cool! <em>wpad</em> hostname not working so no auto-discovery for me.</p>
<p>&nbsp;</p>
<p><strong>You don&#8217;t have access to the DNS server but have access to the DHCP server? No problemo!</strong></p>
<p>You can also use DHCP to force the PAC file to be read from an specific location (instead of http://wpad/wpad.dat), just need to add this lines to your dhcpd.conf:</p>
<pre>option local-pac-server code 252 = text;
option local-pac-server "http://intranet/proxy.pac";</pre>
<p>On the example above, the browser will try to fetch the file on http://intranet/proxy.pac</p>
<p><span style="color: #993300;">Note that you can use IP addresses on the URL, example: http://192.168.1.1/proxy.pac, the browser doesn&#8217;t care.</span></p>
<h3>References:</h3>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Proxy_auto-config">http://en.wikipedia.org/wiki/Proxy_auto-config</a></li>
<li><a href="http://www.proxypacfiles.com/proxypac/">http://www.proxypacfiles.com/proxypac/</a></li>
<li><a href="http://findproxyforurl.com/">http://findproxyforurl.com/</a></li>
</ul>
<h3>Pages with examples:</h3>
<ul>
<li><a href="http://technet.microsoft.com/en-us/library/dd361950.aspx">http://technet.microsoft.com/en-us/library/dd361950.aspx</a></li>
<li><a href="http://findproxyforurl.com/pac_file_examples.html">http://findproxyforurl.com/pac_file_examples.html</a></li>
</ul>
<h2>How about Hacking?</h2>
<p>In theory, if you can point the <em>wpad</em> hostname to your machine, you can control the proxy settings of a whole network of machines, make them point to a proxy you control and monitor/fake websites to victims.</p>
<p>It&#8217;s possible to achieve that using a DNS spoofing tool, such as ettercap.</p>
<p>While I don&#8217;t write a post about that, read this: <a href="http://www.mmgeeks.com/discussion/1038/dns-spoofing-with-ettercap/p1">http://www.mmgeeks.com/discussion/1038/dns-spoofing-with-ettercap/p1</a>, just need to change the DNS entry from &#8220;facebook.com&#8221; to simply &#8220;wpad&#8221;, and the IP address to the IP of your &#8220;rogue&#8221; web server holds the pac file (named wpad.dat).</p>
<p>Have fun!</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hack.net.br/blog/networking/webpac-a-proxy-auto-config-file-generator/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Couldn&#8217;t load plugin /usr/lib/pptpd/pptpd-logwtmp.so</title>
		<link>http://www.hack.net.br/blog/linux/couldnt-load-plugin-usrlibpptpdpptpd-logwtmp-so/</link>
		<comments>http://www.hack.net.br/blog/linux/couldnt-load-plugin-usrlibpptpdpptpd-logwtmp-so/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 19:51:28 +0000</pubDate>
		<dc:creator>Walter Cunha</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Português-Brasil]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[logwtmp]]></category>
		<category><![CDATA[pptp]]></category>
		<category><![CDATA[pptpd]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://www.hack.net.br/?p=339</guid>
		<description><![CDATA[Um problema chato porém simples de se resolver. Me deparei com esse problema após instalar o pacote pptpd-1.3.4-2.rhel5.i386.rpm  para configurar um servidor de vpn pptp. Segundo alguns artigos que li pela internet, o problema se trata de um plugin não mais suportado pelo pptpd então a solução é desabilitar esse plugin do arquivo de configuração. [...]]]></description>
			<content:encoded><![CDATA[<p>Um problema chato porém simples de se resolver. Me deparei com esse problema após instalar o pacote pptpd-1.3.4-2.rhel5.i386.rpm  para configurar um servidor de vpn pptp.<span id="more-339"></span><br />
Segundo alguns artigos que li pela internet, o problema se trata de um plugin não mais suportado pelo pptpd então a solução é desabilitar esse plugin do arquivo de configuração. Editar o arquivo com o editor de sua preferencia.</p>
<pre><em>/etc/pptpd.conf</em></pre>
<p>procurar as linhas:</p>
<pre><em># TAG: logwtmp</em>
 <em>#       Use wtmp(5) to record client connections and disconnections.</em>
 <em>#</em>
 <em>logwtmp</em></pre>
<p>E comentar a linha do <em>logwtmp</em>, salvar o arquivo e reiniciar ou iniciar o pptpd.</p>
<pre><em># TAG: logwtmp</em>
<em>#       Use wtmp(5) to record client connections and disconnections.</em>
<em>#</em>
<em>#logwtmp [root@VPN01 ~]# service pptpd restart </em></pre>
<p>Essa foi a solução que encontrei procurando pela internet e simplificando aqui para vocês.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hack.net.br/blog/linux/couldnt-load-plugin-usrlibpptpdpptpd-logwtmp-so/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Can&#8217;t create pid lock file /var/run/file.pid (Permission denied), exiting</title>
		<link>http://www.hack.net.br/blog/linux/cant-create-pid-lock-file-varrunfile-pid-permission-denied-exiting/</link>
		<comments>http://www.hack.net.br/blog/linux/cant-create-pid-lock-file-varrunfile-pid-permission-denied-exiting/#comments</comments>
		<pubDate>Wed, 25 May 2011 16:06:23 +0000</pubDate>
		<dc:creator>Walter Cunha</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Português-Brasil]]></category>
		<category><![CDATA[erro]]></category>
		<category><![CDATA[ospfd]]></category>
		<category><![CDATA[pid]]></category>
		<category><![CDATA[quagga]]></category>
		<category><![CDATA[zebra]]></category>

		<guid isPermaLink="false">http://www.hack.net.br/?p=310</guid>
		<description><![CDATA[Após terminar de compilar aquele programa que vai solucionar nossos problemas, corremos para a hora mais esperada, a execução, eis que recebemos de cara a mensagem &#8220;Permission denied&#8220;. A própria frase já diz qual é o problema: permissão. A solução mais óbvia, é claro, colocar permissão pra o usuário executor do programa na pasta para [...]]]></description>
			<content:encoded><![CDATA[<p>Após terminar de compilar aquele programa que vai solucionar nossos problemas, corremos para a hora mais esperada, a execução, eis que recebemos de cara a mensagem &#8220;<em>Permission denied</em>&#8220;. A própria frase já diz qual é o problema: permissão.<span id="more-310"></span></p>
<p>A solução mais óbvia, é claro, colocar permissão pra o usuário executor do programa na pasta para escrita ou arquivo para leitura, porém, dependendo da pasta não podemos adicionar o usuário ao grupo dono da pasta, então podemos ter alguma soluções de contorno.</p>
<p>O problema citado no título aconteceu quando instalava o <span style="color: #888888;"><em>Quagga</em></span> (<a href="http://www.quagga.net/" target="_blank">http://www.quagga.net/</a>).</p>
<p>Após terminar a instalação, na hora de executar ele não devolveu resposta alguma, fui olhar no log e lá estava a mensagem:</p>
<pre>ZEBRA: Can't create pid lock file /var/run/zebra.pid (Permission denied), exiting</pre>
<p>Assim que tentei carregar o <em>Zebra </em>ele disse que não tinha permissão para criar o .pid, como ele utiliza o usuário e o grupo <em>quagga </em>eu não colocaria permissão para esse usuário escrever direto no <em>/var/run</em> então a minha solução foi:</p>
<p>Criar uma pasta dentro do <em>/var/run</em> com nome <em>quagga</em>:</p>
<pre>mkdir /var/run/quagga</pre>
<p>Depois adicionar permissão para o usuário e o grupo <em>quagga </em>de escrita e leitura:</p>
<pre>chown quagga:quagga /var/run/quagga</pre>
<p>Depois de criada a pasta e dada a permissão, teremos que recompilar o Quagga e definir a pasta onde ficaram os arquivos .pid do Quagga. Dentro da pasta do source digitaremos:</p>
<pre>./configure --localstatedir=/var/run/quagga</pre>
<p>Pronto! Agora assim que executo o <em>Zebra </em>ele já consegue criar o<em> zebra.pid</em> dentro do <em>/var/run/quagga/</em> sem problema algum.</p>
<p>Como sempre digo, essa foi a solução mais rápida que encontrei, caso alguém tenha uma sugestão melhor, só comentar o post.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hack.net.br/blog/linux/cant-create-pid-lock-file-varrunfile-pid-permission-denied-exiting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GPG key retrieval failed: [Errno 14] HTTP Error 404: Not Found</title>
		<link>http://www.hack.net.br/blog/linux/gpg-key-retrieval-failed-errno-14-http-error-404-not-found/</link>
		<comments>http://www.hack.net.br/blog/linux/gpg-key-retrieval-failed-errno-14-http-error-404-not-found/#comments</comments>
		<pubDate>Mon, 02 May 2011 20:19:49 +0000</pubDate>
		<dc:creator>Walter Cunha</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Português-Brasil]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Errno 14]]></category>
		<category><![CDATA[erro]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[GPG]]></category>

		<guid isPermaLink="false">http://www.hack.net.br/?p=306</guid>
		<description><![CDATA[Estava fazendo uma atualização no meu CentOS, quando após ele fazer o download de 240mb ele me retorna o seguinte erro &#8220;GPG key retrieval failed: [Errno 14] HTTP Error 404: Not Found&#8221;. Eu precisava fazer a atualização urgente então, procurando na internet encontrei a seguinte solução: &#60;comando&#62; –nogpgcheck Não parece ser a melhor solução mas [...]]]></description>
			<content:encoded><![CDATA[<p>Estava fazendo uma atualização no meu CentOS, quando após ele fazer o download de 240mb ele me retorna o seguinte erro &#8220;GPG key retrieval failed: [Errno 14] HTTP Error 404: Not Found&#8221;.<span id="more-306"></span></p>
<p>Eu precisava fazer a atualização urgente então, procurando na internet encontrei a seguinte solução:</p>
<pre><span style="color: #888888;"><em>&lt;comando&gt; –nogpgcheck</em></span></pre>
<p><span style="color: #888888;"><span style="color: #000000;">Não parece ser a melhor solução mas como era urgente não pensei duas vezes.<br />
Ainda não investiguei para corrigir o problema, caso alguem saiba só colocar um post!</span></span><em><span style="color: #888888;"><br />
</span></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hack.net.br/blog/linux/gpg-key-retrieval-failed-errno-14-http-error-404-not-found/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Asterisk ended with exit status 1</title>
		<link>http://www.hack.net.br/blog/linux/asterisk-ended-with-exit-status-1/</link>
		<comments>http://www.hack.net.br/blog/linux/asterisk-ended-with-exit-status-1/#comments</comments>
		<pubDate>Fri, 29 Apr 2011 22:53:15 +0000</pubDate>
		<dc:creator>Walter Cunha</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Português-Brasil]]></category>
		<category><![CDATA[VoIP]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[elastix]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[safe_asterisk]]></category>
		<category><![CDATA[voip]]></category>

		<guid isPermaLink="false">http://www.hack.net.br/?p=302</guid>
		<description><![CDATA[Novamente instalando o Elastix para instalar minha IVR, me deparei com um outro problema. Após a instalação e configuração da rede, fui começar a configurar os ramais, logo de primeira retornou erro então, resolvi procurar o motivo. Descobri! O problema era que o Asterisk não havia subido, então começou a peregrinação para descobrir o porque.  [...]]]></description>
			<content:encoded><![CDATA[<p>Novamente instalando o Elastix para instalar minha IVR, me deparei com um outro problema. Após a instalação e configuração da rede, fui começar a configurar os ramais, logo de primeira retornou erro então, resolvi procurar o <span id="more-302"></span>motivo. Descobri! O problema era que o Asterisk não havia subido, então começou a peregrinação para descobrir o porque.  A primeira coisa que tentei foi inicializa-lo através do &#8220;service&#8221; porém, como nada é simples, tive a seguinte resposta:</p>
<pre><span style="color: #888888;"><em>[root@elastix ~]# service asterisk restart Stopping safe_asterisk:                                    [FAILED] Shutting down asterisk:                                    [FAILED] Starting asterisk:                                         [  OK  ]</em> </span><span style="color: #888888;"><em>Asterisk ended with exit status 1 Asterisk died with code 1. Automatically restarting Asterisk.</em> </span></pre>
<p>E ficava dando essa mensagem em um loop constante até você parar o serviço novamente.  Procurando pela internet encontrei um bocado de &#8220;dica&#8221; mas nenhuma funcionou comigo, talvez por causa da versão (que já atualizei e não lembro da antiga depois posto aqui), a primeira foi dizendo o seguinte, &#8220;o serviço já está rodando e você está tentando inicializa-lo novamente&#8221;, a solução para essa seria:</p>
<pre><em><span style="color: #888888;">killall -9 asterisk safe_asterisk</span></em></pre>
<p>E depois iniciar o serviço:</p>
<pre><span style="color: #888888;"><em>service asterisk start</em></span></pre>
<p>Mas ele não matou nenhuma instância com o kill e continuou repetindo o mesmo erro. Ainda no site do FreePBX descobri outro tópico com o mesmo erro que talvez me ajudasse, mas como já disse, nada é fácil. Ele dizia para digitar o seguinte:</p>
<pre><em><span style="color: #888888;">amportal start</span></em></pre>
<p>Então ele retornou a mesma mensagem</p>
<p>Tentei conectar no console através do (<em><span style="color: #888888;">asterisk -r</span></em>) então veio uma mensagem que não tinha visto aindo.</p>
<pre><span style="color: #888888;"><em>Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?)</em></span></pre>
<p>Quando acessei a pasta, os arquivos estavam lá (lembrando que o asterisk continuava não rodando) então achei que pudesse ser permissão, coloquei a máxima e continou com o problema. Foi então que na ultima tentativa eu digitei direto no console:</p>
<pre><span style="color: #888888;"><em><em>[root@elastix ~]# safe_asterisk</em></em></span></pre>
<p>Ele rodou normal e ficou funcionando, consegui criar meus ramais, configurar meu tronco, tudo!</p>
<p>Depois disso atualizei meu Elastix, como ele é baseado em CentOS bastou um &#8220;<em><span style="color: #888888;">yum update</span></em>&#8221; para deixar a versão atualizada.</p>
<p>Agora posso rodar o serviço através do <em><span style="color: #888888;">service asterisk start/restart </span></em>que ele funciona normalmente.</p>
<p>Sinceramente não descobri o problema, porém, consegui uma solução!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hack.net.br/blog/linux/asterisk-ended-with-exit-status-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Manager &#8216;admin&#8217; logged on from 127.0.0.1 Asterisk CLI</title>
		<link>http://www.hack.net.br/blog/linux/manager-admin-logged-on-from-127-0-0-1-asterisk-cli/</link>
		<comments>http://www.hack.net.br/blog/linux/manager-admin-logged-on-from-127-0-0-1-asterisk-cli/#comments</comments>
		<pubDate>Fri, 29 Apr 2011 22:12:39 +0000</pubDate>
		<dc:creator>Walter Cunha</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Português-Brasil]]></category>
		<category><![CDATA[VoIP]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[freepbx]]></category>
		<category><![CDATA[voip]]></category>

		<guid isPermaLink="false">http://www.hack.net.br/?p=298</guid>
		<description><![CDATA[Estava configurando uma IVR utilizando Elastix (Asterisk/FreePBX) e para visualizar as ligações acessei o CLI do Asterisk. Lá além das ligações e dos comandos executados, havia também a seguinte mensagem: == Manager 'admin' logged on from 127.0.0.1 Ela acontece quando utilizamos alguma interface web (Elastix no meu caso) para configurar o Asterisk. Então procurando por [...]]]></description>
			<content:encoded><![CDATA[<p>Estava configurando uma IVR utilizando Elastix (Asterisk/FreePBX) e para visualizar as ligações acessei o CLI do <span id="more-298"></span>Asterisk. Lá além das ligações e dos comandos executados, havia também a seguinte mensagem:</p>
<pre><em><span style="color: #888888;">== Manager 'admin' logged on from 127.0.0.1 </span></em></pre>
<p>Ela acontece quando utilizamos alguma interface web (Elastix no meu caso) para configurar o Asterisk.</p>
<p>Então procurando por alguns foruns, encontrei no forum do FreePBX (<a href="http://www.freepbx.org/">http://www.freepbx.org</a>) a solução. Ela é bem simples, apenas adicionando uma linha nós acabamos com essa mensagem.</p>
<p>A linha é:</p>
<pre><em><span style="color: #808080;">displayconnects=no</span></em></pre>
<p>No campo:</p>
<pre><em><span style="color: #808080;"> [general] </span></em></pre>
<p>No arquivo:</p>
<pre><em><span style="color: #808080;">/etc/asterisk/manager.conf</span></em></pre>
<p>Depois só recarregar as configurações ou reiniciar o serviço do Asterisk.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hack.net.br/blog/linux/manager-admin-logged-on-from-127-0-0-1-asterisk-cli/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Entendendo o básico de CHMOD</title>
		<link>http://www.hack.net.br/blog/linux/entendendo-o-basico-de-chmod/</link>
		<comments>http://www.hack.net.br/blog/linux/entendendo-o-basico-de-chmod/#comments</comments>
		<pubDate>Wed, 01 Dec 2010 14:51:30 +0000</pubDate>
		<dc:creator>Walter Cunha</dc:creator>
				<category><![CDATA[Knowledge]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Português-Brasil]]></category>
		<category><![CDATA[chmod]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.hack.net.br/?p=278</guid>
		<description><![CDATA[Uma breve explicação sobre adicionar permissões aos arquivos e/ou as pastas usando os &#8220;números&#8221; que ninguém entende. Primeiro vamos ententer o que cada número faz: 0 = nenhuma operação permitida 1 = permite execução de um arquivo ou acesso a uma pasta 2 = permite escrever/alterar um arquivo/pasta 4 = permite apenas leitura Todo arquivo [...]]]></description>
			<content:encoded><![CDATA[<p>Uma breve explicação sobre adicionar permissões aos arquivos e/ou as pastas usando os &#8220;números&#8221; que ninguém entende.<span id="more-278"></span> Primeiro vamos ententer o que cada número faz:</p>
<pre><em><span style="color: #888888;">0 = nenhuma operação permitida</span><span style="color: #888888;">
1 = permite execução de um arquivo ou acesso a uma pasta </span><span style="color: #888888;">
2 = permite escrever/alterar um arquivo/pasta
4 = permite apenas leitura</span></em></pre>
<p>Todo arquivo tem permissão para o dono(owner), para o grupo(group) e para outros[world(<span style="color: #888888;"><em>são aqueles que não são o dono(claro) e não estão no grupo</em></span>)].</p>
<p>Para definir as permissões que você quer para o arquivo/pasta, devemos somar os  <em>bits </em>que você quer para cada classe.</p>
<p>Exemplos:</p>
<p>#1  Seu diretório &#8220;home&#8221; terá por padrão a permissão 711.</p>
<pre><em><span style="color: #888888;">7 = 4 + 2 + 1 - você (o dono) pode ler/escrever/executar
1 = 1 - o grupo pode executar/acessar diretorio, mas nao podem ler nem escrever.
1 = 1 - outros podem executar/acessar diretorio, mas nao podem ler nem escrever.</span></em></pre>
<p>#2 Seu diretório da web terá permissões 755:</p>
<pre><em><span style="color: #888888;">7 = 4 + 2 + 1 - você (o dono) pode ler/escrever/executar
5 = 4 + 1 - o grupo pode executar/acessar diretorio/ler, mas nao pode escrever.
5 = 4 + 1 -<em> outros podem executar/acessar diretorio/ler, mas nao pode escrever.</em></span></em></pre>
<p>Tudo muito simples, você só precisa somar os números conforme a permissão necessária.</p>
<p>Há também uma outra maneira de se dar permissão usando o chmod, que algumas pessoas dizem ser mais simples e só fazem uso da mesma. Vejo as duas como simples.</p>
<p>É o seguinte,  ao invés dos números usaremos &#8220;letras&#8221;.</p>
<p>Para definir qual o tipo de pessoa que irá ter permissão, utilizaremos as seguintes:</p>
<pre><em><span style="color: #888888;">"u" - para dono (owner)
"g" - para groupo (group)
"o" - para outros (others)
"a" - para todos (all) </span></em></pre>
<p>Os operadores serão:</p>
<pre style="text-align: justify;"><em><span style="color: #888888;">"+" - para adicionar </span><span style="color: #888888;">
"-" - para remover
"=" - define para todos, todas as permissões que o arquivo/pasta terão.
Caso não seja definido nenhum valor, ele apagará todas as permissões.
obs: Mesmo que coloque =rwx(sem definir usuario)ele nunca dará permissão
de escrita para grupo e outros, só para o dono.</span></em></pre>
<p>As permissões são:</p>
<pre><em><span style="color: #888888;">"r" - para leitura(read)
"w" - para escrita(write)
"x" - para execução(execute)</span></em></pre>
<p>Seguem alguns exemplos:</p>
<pre style="text-align: justify;"><em><span style="color: #888888;">chmod u=rx arquivo - Da permissão de leitura e execução para o dono
chmod go-r arquivo - Retira permissão de leitura do groupo e dos outros
chmod g+w arquivo - Adiciona permissão de escrita para o grupo
chmod a+x arquivo1 arquivo2 - Adiciona permissão de execução para todos
chmod g+rx,o+x arquivo - Adiciona permissão para o grupo de leitura e
execução e para outros apenas execução</span></em></pre>
<p>Bem, estão ai as duas maneiras possíveis, cabe agora a vocês escolherem a melhor! Lembrando sempre que isso é apenas o &#8220;básico&#8221; caso queria entender melhor o chmod use o man.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hack.net.br/blog/linux/entendendo-o-basico-de-chmod/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

