Frox, proxy e Cache server para ftp
Um dia desses tive um problema que não conseguia resolver de jeito nenhum: Um dos meus clientes não conseguia se conectar aos sites que mantinha via ftp. Testei de todo jeito, abri o firewall e não funcionava nem por reza brava. Foi no meio dessa turbulência que acabei tendo o prazer de conhecer o FROX, uma espécie de squid, só que pra conexões ftp.
O frox é um proxy ftp, com suporte a conexões de forma transparente, cache local e como diz o mantenedor, sempre visando a segurança.
Bom, chega de conversa, vamos colocar o frox pra funcionar.
Vamos antes de mais nada, preparar o terreno:
Primeiro criamos o diretório do cache do frox
root@localdomain# mkdir -p /var/cache/frox
Em seguida, criamos o grupo e usuário frox e damos as devidas permissões no diretório de cache
root@localdomain# groupadd frox
root@localdomain# useradd -g frox -d /var/cache/frox -s /bin/false frox
root@localdomain# chown frox:frox /var/cache/frox
root@localdomain# chmod 700 /var/cache/frox
Pronto, vamos agora instalar. Em distribuições debian, você precisa apenas do bom e velho apt:
root@localdomain# apt-get install frox
Se preferir compilar, baixe o source em http://frox.sourceforge.net/download/
Para compilar é só usar a receita de bolo:
root@localdomain# ./configure –enable-http-cache –enable-local-cache –enable-configfile=/etc/frox.conf
root@localdomain# make
root@localdomain# make install
Agora que o frox está instalado, vamos editar o arquivo de configuração.
Copie e cole esta configuração. Explicarei abaixo e mostrarei algumas outras configurações. Faça um backup do arquivo antigo de configuração, para referência futura.
/etc/frox.conf
——————————————-
Port 2121
ResolvLoadHack wontresolve.doesntexist.abc
User frox
Group frox
WorkingDir /var/cache/frox
DontChroot Yes
LogLevel 20
LogFile /var/log/frox.log
PidFile /var/run/frox.pid
BounceDefend yes
CacheModule local
CacheSize 400
CacheAll no
DoNTP yes
MaxForks 60
MaxForksPerHost 4
ACL Allow * – *
————————-
Esta é uma configuração básica do frox. Agora, caso queira, também pode defini-lo para trabalhar de forma transparente. Para isso, Adicione a seguinte linha no arquivo de configuração:
TransparentData yes
Além disso, é necessário adicionar a seguinte regra em seu iptables
iptables -t nat -A PREROUTING -p tcp -m tcp –dport 21 -j REDIRECT –to-ports 2121
Com esta configuração, seu proxy ftp já está pronto para funcionar.
Caso queira, existem outras opções interessantes, como controles de acesso, seleção de qual interface irá escutar, enfim, basta uma boa lida no arquivo de configuração original que terá uma idéia das configurações possiveis desta valiosa ferramenta.
Abraços
fonte: http://mkeadle.org/?p=33