<?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>MWC Labs &#187; Proxy</title>
	<atom:link href="https://www.conceicao.eti.br/blog/tag/proxy/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.conceicao.eti.br/blog</link>
	<description>TI, BSD, Linux, Network &#38; Security !</description>
	<lastBuildDate>Fri, 23 May 2014 22:37:30 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=3.9.40</generator>
	<item>
		<title>Corrigir IP de origem no Access Log de um Apache atrÃ¡s de proxy</title>
		<link>https://www.conceicao.eti.br/blog/2014/02/21/corrigir-ip-de-origem-no-access-log-de-um-apache-atras-de-proxy/</link>
		<comments>https://www.conceicao.eti.br/blog/2014/02/21/corrigir-ip-de-origem-no-access-log-de-um-apache-atras-de-proxy/#comments</comments>
		<pubDate>Fri, 21 Feb 2014 22:23:09 +0000</pubDate>
		<dc:creator><![CDATA[Matheus]]></dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[loadbalancer]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[Proxy]]></category>

		<guid isPermaLink="false">http://www.conceicao.eti.br/blog/?p=134</guid>
		<description><![CDATA[Buenas; Ao colocar um Apache atrÃ¡s de um Load-Balancer ou de um proxy cache, o IP de origem para o Apache acaba sendo o IP do proxy em questÃ£o. Como a maioria destes proxys colocam o IP original de origem no cabeÃ§alho &#8220;X-Forwarded-For&#8221;, podemos utilizar o CustomLog abaixo para utilizar o IP deste cabeÃ§alho, caso [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Buenas;</p>
<p>Ao colocar um Apache atrÃ¡s de um Load-Balancer ou de um proxy cache, o IP de origem para o Apache acaba sendo o IP do proxy em questÃ£o.</p>
<p>Como a maioria destes proxys colocam o IP original de origem no cabeÃ§alho <strong>&#8220;X-Forwarded-For&#8221;</strong>, podemos utilizar o <strong>CustomLog</strong> abaixo para utilizar o IP deste cabeÃ§alho, caso ele exista.</p>
<pre class="brush:plain">LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %&gt;s %b \"%{Referer}i\" \"%{User-Agent}i\"" proxy
SetEnvIf  X-Forwarded-For "^.*\..*\..*\..*" forwarded
CustomLog ${APACHE_LOG_DIR}/mywebsite_access.log combined env=!forwarded
CustomLog ${APACHE_LOG_DIR}/mywebsite_access.log proxy env=forwarded</pre>
<p><em>ReferÃªncia:<br /><a href="http://www.techstacks.com/howto/log-client-ip-and-xforwardedfor-ip-in-apache.html" target="_blank">http://www.techstacks.com/howto/log-client-ip-and-xforwardedfor-ip-in-apache.html</a></em></p>
]]></content:encoded>
			<wfw:commentRss>https://www.conceicao.eti.br/blog/2014/02/21/corrigir-ip-de-origem-no-access-log-de-um-apache-atras-de-proxy/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>AplicaÃ§Ã£o Java acessando a web atravÃ©s de proxy autenticado</title>
		<link>https://www.conceicao.eti.br/blog/2014/02/06/aplicacao-java-acessando-a-web-atraves-de-proxy-autenticado/</link>
		<comments>https://www.conceicao.eti.br/blog/2014/02/06/aplicacao-java-acessando-a-web-atraves-de-proxy-autenticado/#comments</comments>
		<pubDate>Thu, 06 Feb 2014 12:42:39 +0000</pubDate>
		<dc:creator><![CDATA[Matheus]]></dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Proxy]]></category>

		<guid isPermaLink="false">http://www.conceicao.eti.br/blog/?p=130</guid>
		<description><![CDATA[Dica rÃ¡pida. Adicionar o trecho abaixo no inÃ­cio da aplicaÃ§Ã£o definindo o usuÃ¡rio e senha de autenticaÃ§Ã£o do proxy: Authenticator.setDefault(new Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("domain\\user","password".toCharArray()); } }); ReferÃªncia: http://stackoverflow.com/questions/120797/how-do-i-set-the-proxy-to-be-used-by-the-jvm/12295125#12295125]]></description>
				<content:encoded><![CDATA[<p>Dica rÃ¡pida.</p>
<p>Adicionar o trecho abaixo no inÃ­cio da aplicaÃ§Ã£o definindo o usuÃ¡rio e senha de autenticaÃ§Ã£o do proxy:</p>
<pre class="brush:java">
Authenticator.setDefault(new Authenticator() {
    protected PasswordAuthentication getPasswordAuthentication() {

        return new PasswordAuthentication("domain\\user","password".toCharArray());
    }
});
</pre>
<p><em>ReferÃªncia:</em><br />
<a href="http://stackoverflow.com/questions/120797/how-do-i-set-the-proxy-to-be-used-by-the-jvm/12295125#12295125" target="_blank"><em>http://stackoverflow.com/questions/120797/how-do-i-set-the-proxy-to-be-used-by-the-jvm/12295125#12295125</em></a></p>
]]></content:encoded>
			<wfw:commentRss>https://www.conceicao.eti.br/blog/2014/02/06/aplicacao-java-acessando-a-web-atraves-de-proxy-autenticado/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Proxy transparente em outra mÃ¡quina no PF</title>
		<link>https://www.conceicao.eti.br/blog/2010/05/25/proxy-transparente-em-outra-maquina-no-pf/</link>
		<comments>https://www.conceicao.eti.br/blog/2010/05/25/proxy-transparente-em-outra-maquina-no-pf/#comments</comments>
		<pubDate>Tue, 25 May 2010 20:18:32 +0000</pubDate>
		<dc:creator><![CDATA[Matheus]]></dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[OpenBSD]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Firewall]]></category>
		<category><![CDATA[lusca]]></category>
		<category><![CDATA[PF]]></category>
		<category><![CDATA[Proxy]]></category>
		<category><![CDATA[remoto]]></category>
		<category><![CDATA[Squid]]></category>
		<category><![CDATA[transparente]]></category>

		<guid isPermaLink="false">http://conceicao.eti.br/blog/?p=42</guid>
		<description><![CDATA[OlÃ¡ pessoal; Para fazer com que o seu proxy transparente fique em outra mÃ¡quina, alÃ©m da regra de redirecionamento da porta 80 para a porta do seu proxy, vocÃª deve fazer uma regra de nat tambÃ©m. &#160; No gateway/firewall da rede: 1. Defina a seguinte sysctl: sysctl net.inet.ip.redirect=0 Obs.: NÃ£o esqueÃ§a de definir a sysctl [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px; white-space: normal;">OlÃ¡ pessoal;</span><br />
Para fazer com que o seu proxy transparente fique em outra mÃ¡quina, alÃ©m da regra de redirecionamento da porta 80 para a porta do seu proxy, vocÃª deve fazer uma regra de nat tambÃ©m.</p>
<p>&nbsp;</p>
<p><strong>No gateway/firewall da rede:</strong></p>
<p style="padding-left: 30px;">1. Defina a seguinte sysctl:</p>
<pre>sysctl net.inet.ip.redirect=0</pre>
<p style="padding-left: 30px;">Obs.: NÃ£o esqueÃ§a de definir a sysctl no /etc/sysctl.conf</p>
<p style="padding-left: 30px;">2. Adicione a seguinte linha no PF:</p>
<pre>
pass in quick on $int_if route-to ($int_if $IP_Proxy) proto tcp from ! $IP_Proxy to any port www
</pre>
</p>
<p>&nbsp;</p>
<p><strong>No servidor de proxy:</strong></p>
<p style="padding-left: 30px;">1. Defina a seguinte sysctl:</p>
<pre>sysctl net.inet.ip.redirect=0</pre>
<p>Obs.: NÃ£o esqueÃ§a de definir a sysctl no /etc/sysctl.conf</p>
<p style="padding-left: 30px;">2. FaÃ§a a regra de redirecionamento de porta (80 para 3128) no PF:</p>
<pre>
rdr inet proto tcp from ! $IP_Proxy to any port www -&gt; $IP_Proxy port 3128
</pre>
</p>
<p>T+;</p>
]]></content:encoded>
			<wfw:commentRss>https://www.conceicao.eti.br/blog/2010/05/25/proxy-transparente-em-outra-maquina-no-pf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Proxy Transparente com Squid e PF no OpenBSD</title>
		<link>https://www.conceicao.eti.br/blog/2009/04/17/proxy-transparente-com-squid-e-pf-no-openbsd/</link>
		<comments>https://www.conceicao.eti.br/blog/2009/04/17/proxy-transparente-com-squid-e-pf-no-openbsd/#comments</comments>
		<pubDate>Fri, 17 Apr 2009 14:05:20 +0000</pubDate>
		<dc:creator><![CDATA[Matheus]]></dc:creator>
				<category><![CDATA[OpenBSD]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Firewall]]></category>
		<category><![CDATA[lusca]]></category>
		<category><![CDATA[PF]]></category>
		<category><![CDATA[Ports]]></category>
		<category><![CDATA[Proxy]]></category>
		<category><![CDATA[Squid]]></category>
		<category><![CDATA[transparente]]></category>

		<guid isPermaLink="false">http://blog.matheuswc.com/blog/?p=7</guid>
		<description><![CDATA[E ai pessoal, tudo certo? EntÃ£o, aqui vamos dar uma olhada na instalaÃ§Ã£o e configuraÃ§Ã£o de um proxy Squid operando como transparente e tambÃ©m as regras que serÃ£o necessÃ¡rias adicionar nas regras de firewall (PF). Vamo lÃ¡.. InstalaÃ§Ã£o Realizei a instalaÃ§Ã£o pelo package manager do OpenBSD onde tem os pacotes prÃ©-compilados, mas nada impede de [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>E ai pessoal, tudo certo?</p>
<p>EntÃ£o, aqui vamos dar uma olhada na instalaÃ§Ã£o e configuraÃ§Ã£o de um proxy <a href="http://www.squid-cache.org/">Squid</a> operando como transparente e tambÃ©m as regras que serÃ£o necessÃ¡rias adicionar nas regras de firewall (<a href="http://www.openbsd.org/faq/pf/">PF</a>).</p>
<p>Vamo lÃ¡..</p>
<h2><strong>InstalaÃ§Ã£o</strong></h2>
<p>Realizei a instalaÃ§Ã£o pelo package manager do <a href="http://openbsd.org">OpenBSD</a> onde tem os pacotes prÃ©-compilados, mas nada impede de vocÃª instalar pelo <a title="OpenBSD Ports" href="http://www.openbsd.org/ports.html">Ports</a>.</p>
<h3>Package Manager (pkg_add)</h3>
<p>Primeiro de tudo vamos exportar a variÃ¡vel com o <em>mirror</em> onde se encontra os pacotes:</p>
<pre># export PKG_PATH=ftp://ftp.das.ufsc.br/pub/OpenBSD/4.4/packages/i386/</pre>
<p>Vamos instalar o pacote:</p>
<pre># pkg_add -i -v squid</pre>
<p>A versÃ£o do Squid que instalei aqui foi a <em>squid-2.7.STABLE3-ldap</em>.</p>
<h3>Ports</h3>
<pre>
# cd /usr/ports/www/squid
# env FLAVOR=transparent make install
</pre>
<h2>ConfiguraÃ§Ã£o</h2>
<h3>Squid</h3>
<p>Vamos configurar o Squid para subir no boot.</p>
<p>Edite o arquivo <strong>/etc/rc.local</strong> com seu editor de texto e adicione as linhas abaixo logo apÃ³s <em># Add your local startup actions here.</em></p>
<pre># Squid
/usr/local/sbin/squid</pre>
<p>Vamos editar agora o arquivo de configuraÃ§Ã£o do Squid, que Ã© o <strong>/etc/squid/squid.conf</strong>.</p>
<p>Faremos uma configuraÃ§Ã£o bÃ¡sica do Squid.</p>
<pre>http_port 3128 transparent

visible_hostname pr0xy.conceicao.eti.br

error_directory /usr/local/share/squid/errors/Portuguese

# Logs
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log

# SVN
extension_methods REPORT MERGE MKACTIVITY CHECKOUT PROPFIND

# ACLs
acl all src 0.0.0.0/0.0.0.0
acl rede src 192.168.1.0/24
acl SSL_Ports port 443 563 2096
acl Safe_ports port 80 21 443 563 70 210 1025-65535
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT

#Pessoas com acesso total
acl vips arp "/etc/squid/controle.vips"

#BlackList
acl blacklist dstdomain "/etc/squid/controle.blacklist"

##
# Permite ou Nega

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

http_access allow vips
http_access deny blacklist

http_access allow rede
http_access deny all
##</pre>
<p>Obs.: Crie os arquivos <strong>/etc/squid/controle.vips</strong> e <strong>/etc/squid/controle.blacklist</strong></p>
<p>Agora temos que iniciar o Squid com a opÃ§Ã£o -z para que seja criado os diretÃ³rios de swap.</p>
<pre># /usr/local/sbin/squid -z</pre>
<p>Pronto, agora jÃ¡ podemos iniciar o squid!</p>
<pre># /usr/local/sbin/squid</pre>
<p>Sempre que for feita uma alteraÃ§Ã£o no arquivo de configuraÃ§Ã£o do Squid, devemos executar o comando a seguir para que as configuraÃ§Ãµes sejam recarregadas:</p>
<pre># /usr/local/sbin/squid -k reconfigure</pre>
<h3>PF</h3>
<p>O arquivo de configuraÃ§Ã£o do PF Ã© o <strong>/etc/pf.conf</strong> (padrÃ£o). Adicione/adapte as seguintes regras:</p>
<pre>rdr on $int_if Â inet proto tcp from any to any port www-&gt; 127.0.0.1 port 3128

pass in on $int_if inet proto tcp from any to 127.0.0.1 port 3128
pass out on $ext_if inet proto tcp from any to any port www</pre>
<p>Ã‰ preciso tambÃ©m liberar o acesso do Squid ao <strong>/dev/pf</strong> para que o mesmo consulte o filtro de pacotes jÃ¡ que o padrÃ£o Ã© somente o <strong>root</strong> ter acesso. O Squid roda com o grupo <strong>_squid</strong>.</p>
<pre>
# chgrp _squid /dev/pf
# chmod g+rw /dev/pf
</pre>
<p>EntÃ£o Ã© isso.. qualquer coisa Ã© sÃ³ dar um grito. =]</p>
<p>T+</p>
<h6><em>ReferÃªncia: <a href="http://www.openbsd-br.org/index.php?q=node/15">http://www.openbsd-br.org/index.php?q=node/15</a></em></h6>
]]></content:encoded>
			<wfw:commentRss>https://www.conceicao.eti.br/blog/2009/04/17/proxy-transparente-com-squid-e-pf-no-openbsd/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
