|
[27/08]
:. Publicado Internet Explorer 8 beta 2 [27/08] :. Resumo do dia [27/08] :. Nvidia nega claramente construção de processadores x86 [27/08] :. Vírus contamina laptops da NASA na Estação Espacial [27/08] :. Samsung lança SSDs menores e mais velozes para netbooks [27/08] :. Introdução ao conceito 'semantic desktop' [27/08] :. Celulares com TV analógica devem aparecer em breve no Brasil [26/08] :. Resumo do dia [26/08] :. Pesquisa revela Nokia dominando mercado de smartphones [26/08] :. Rodando o Intel Atom em uma placa-mãe full-ATX [26/08] :. AMD vende divisão de TV digital para Broadcom [26/08] :. Revista Fedora Brasil nº 3 [26/08] :. Photoshop Elements e Premiere Elements 7 revelados [26/08] :. Revista BrOffice ZINE nº 8 [26/08] :. Novo motor JavaScript do Firefox será bem mais rápido :. Mais noticias » |
Introdução
Este documento sugere a instalação de um ambiente de FTP confiável através de criptografia usando chaves TLS/SSL, seguro por não utilizar usuários do sistema (e sim usuários virtuais), flexível com sua administração via web de fácil utilização, e escalável guardando as informações em um banco de dados baseado em SQL. As instruções estão baseadas em um sistema rodando FreeBSD, mas podem (e devem) ser usadas em outros sabores do Unix/ Linux. ProFTPd
A versão atual é a proftpd-1.3.0.r2, e a mesma deverá ser compilada com suporte a MySQL e SSL, para tanto: # cd /usr/ports/ftp/proftpd
# make config # make install clean Certifique-se de marcar as opções "MYSQL" e "OPENSSL"! ProFTPd_Admin
A versão atual é a proftpd_admin_v0.7, e a mesma deverá ser baixada do site oficial e descompactada em um lugar acessível pelo apache e preferencialmente protegido por usuário e senha pelo htpasswd. Ex: /var/www/htdocs/dominio.com/ftp/ Onde ftp é um link simbólico para proftpd_admin_v0.7, e a URL final fica http://dominio.com/ftp Use o arquivo de configuração padrão dele para adaptar as suas necessidades: # cd /var/www/htdocs/dominio.com/ftp/
# cp misc/sample_config/proftpd.conf /usr/local/etc/proftpd.conf No proftpd.conf, informe o usuário, senha e etc para a conexão ao MySQL: SQLAuthTypes Backend
SQLAuthenticate users SQLConnectInfo proftpd_admin@localhost proftpd senha SQLUserInfo usertable userid passwd uid gid homedir shell SQLGroupInfo grouptable groupname gid members SQLUserWhereClause "disabled=0 and (expiration >= NOW() OR expiration='0000-00-00 00:00:00')" Consulte o manual de instalação do mesmo em caso de problemas. MySQL
O ProFTPd_Admin trabalha em conjunto com o MySQL, que deverá estar instalado e rodando neste momento. Para criar a estrutura: # cd /var/www/htdocs/dominio.com/ftp/
# mysql -u root -p < misc/database_structure/db_structure.sql Teste se o ambiente está funcional antes de ir ao póximo passo. Criação do Certificado TLS/SSL
Para criar o certificado que o usuário irá aceitar ao acessar o FTP, siga os passos descritos no modssl.org, que se resume em: Certifique-se de preencher o parâmetro "CommonName" do último comando com um endereço FQDN.
Você precisará de um script chamado sign.sh que geralmente vem no pacote mod_ssl do apache. No debian, por exemplo o pacote chama-se libapache-mod-ssl e o arquivo fica em /usr/share/doc/libapache-mod-ssl/examples/sign.sh. $ ./sign.sh server.csr
Agora que você tem um CA assinado, você pode validar o certificado criado anteriormente: $ openssl x509 -noout -text -in server.crt
Configurando o ProFTPd para usar TLS/SSL
Adicione esse trecho ao seu proftpd.conf, usando o caminho correto dos arquivos .crt: <IfModule mod_tls.c> Estamos usando o protocolo SSLv23 no lugar do TLSv1 devido a problemas como "wrong version number" depois de de algumas atualizações com o portaudit e portupgrade. Observações sobre Usuários Virtuais
Ao utilizar o proftpd_admin, você irá notar que os usuários e grupos criados não possuem entrada no /etc/passwd e no /etc/groups. Por exemplo, meu grupo "users" possui o GID 10001, e meu usuário "teste" possui UID 10000. Então, dê pemissão no diretório assim: # mkdir -p /var/ftp/teste
# chown 10000:10001 /var/ftp/teste Se você desejar que via FTP os arquivos criados sejam acessíveis para usuários de outro grupo, use o "umask 002" no seu proftpd.conf.
» Gostou do texto? Veja nossos livros impressos
|