Differences

This shows you the differences between two versions of the page.

Link to this comparison view

instalando_e_configurando_o_pure-ftpd_pt_br [2019/08/08 15:23] (current)
Line 1: Line 1:
 +====== Instalando e Configurando o Pure-FTPd  ======
 +
 +
 +Instalando o pacote do Pure-ftpd
 +<sxh bash>
 +aptitude -y install pure-ftpd
 +</sxh>
 +
 +Agora vamos ajustar ele para rodar como deamon
 +<sxh bash>
 +echo "yes" > /etc/pure-ftpd/conf/Daemonize
 +</sxh>
 +
 +Vamos proibir o login de anomymous
 +<sxh bash>
 +echo "yes" > /etc/pure-ftpd/conf/NoAnonymous
 +</sxh>
 +
 +Vamos habilitar o chroot
 +<sxh bash>
 +echo "yes" > /etc/pure-ftpd/conf/ChrootEveryone
 +</sxh>
 +
 +Vamos habilitar o nosso servidor escutar somente em ipv4
 +<sxh bash>
 +echo "yes" > /etc/pure-ftpd/conf/IPV4Only
 +</sxh>
 +
 +Vamos limitar a quantidade de Cliente para 10
 +<sxh bash>
 +echo "10" > /etc/pure-ftpd/conf/MaxClientsNumber
 +</sxh>
 +
 +Vamos limitar a quantidade de conexões de um IP
 +<sxh bash>
 +echo "2" > /etc/pure-ftpd/conf/MaxClientsPerIP
 +</sxh>
 +
 +Vamos ajustar os logs
 +<sxh bash>
 +echo "ftp" > /etc/pure-ftpd/conf/SyslogFacility
 +</sxh>
 +
 +Vamos habilitar o verbose nos logs para termos mais informações sobre o que os usuário estão fazendo
 +<sxh bash>
 +echo "yes" > /etc/pure-ftpd/conf/VerboseLog
 +</sxh>
 +
 +Vamos habilitar a listagem de arquivos ocultos
 +<sxh bash>
 +echo "yes" > /etc/pure-ftpd/conf/DisplayDotFiles
 +</sxh>
 +
 +Vamos desabilitar a resolução de nomes nos logs 
 +<sxh bash>
 +echo "yes" > /etc/pure-ftpd/conf/DontResolve
 +</sxh>
 +
 +Vamos ajustar o tempo máximo que um cliente pode ficar ocioso
 +<sxh bash>
 +echo "10" > /etc/pure-ftpd/conf/MaxIdleTime
 +</sxh>
 +
 +Vamos ajustar o uid mínimo para efetuar login no ftp
 +<sxh bash>
 +echo "1000" > /etc/pure-ftpd/conf/MinUID
 +</sxh>
 +
 +Vamos habilitar o usuário a poder escrever ou remover arquivos ocultos
 +<sxh bash>
 +echo "no" > /etc/pure-ftpd/conf/ProhibitDotFilesWrite
 +</sxh>
 +
 +Vamos habilitar o usuário poder ler arquivos ocultos
 +<sxh bash>
 +echo "no" > /etc/pure-ftpd/conf/ProhibitDotFilesRead
 +</sxh>
 +
 +Vamos habilitar o servidor a nunca deixar sobreescrever arquivos
 +<sxh bash>
 +echo "no" > /etc/pure-ftpd/conf/AutoRename
 +</sxh>
 +
 +Vamos desabilitar o usuário a mudar a permissão de seus arquivos
 +<sxh bash>
 +echo "yes" > /etc/pure-ftpd/conf/NoChmod
 +</sxh>
 +
 +Vamos habilitar a criação do diretório home caso não exista
 +<sxh bash>
 +echo "yes" > /etc/pure-ftpd/conf/CreateHomeDir
 +</sxh>
 +
 +Vamos habilitar o percentual máximo de uso do disco, com isso quando chegar a este ponto não vamos mais habilitar uploads
 +<sxh bash>
 +echo "85" > /etc/pure-ftpd/conf/MaxDiskUsage
 +</sxh>
 +
 +Vamos habilitar proteção contra usuário fazer coisa errada como chmod 0 nos arquivos
 +<sxh bash>
 +echo "yes" > /etc/pure-ftpd/conf/CustomerProof
 +</sxh>
 +
 +Agora já podemos reiniciar o serviço
 +<sxh bash>
 +/etc/init.d/pure-ftpd restart 
 +</sxh>
 +
 +Vamos criar um usuário para testar a conexão
 +<sxh bash>
 +useradd -m douglas -s /bin/bash
 +</sxh>
 +
 +Vamos setar uma senha para o usuário douglas
 +<sxh bash>
 +passwd douglas
 +</sxh>
 +
 +Agora vamos testar a conexão com o servidor ftp
 +<sxh bash>
 +ftp localhost
 +ftp: connect to address ::1: Connection refused
 +Trying 127.0.0.1...
 +Connected to localhost.
 +220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
 +220-You are user number 1 of 50 allowed.
 +220-Local time is now 17:33. Server port: 21.
 +220-This is a private system - No anonymous login
 +220 You will be disconnected after 15 minutes of inactivity.
 +Name (localhost:root): douglas
 +331 User douglas OK. Password required
 +Password:
 +230 OK. Current restricted directory is /
 +Remote system type is UNIX.
 +Using binary mode to transfer files.
 +ftp> quit
 +221-Goodbye. You uploaded 0 and downloaded 0 kbytes.
 +221 Logout.
 +</sxh>
 +
 +
 +====== Habilitando o TLS ======
 +
 +Habilitando que o TLS, se o valor for 1 podemos utilizar ou não a opção de TLS se o valor for dois é obrigatório utilizar o TLS na conexão.
 +<sxh bash>
 +echo "1" > /etc/pure-ftpd/conf/TLS
 +</sxh>
 +
 +Vamos acessar o diretório que vai armazenar as nossas chaves
 +<sxh bash>
 +cd /etc/ssl/private 
 +</sxh>
 +
 +Agora vamos gerar a nossa chave auto-assinada
 +<sxh bash>
 +openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem 
 +Generating a 1024 bit RSA private key
 +.........++++++
 +...................................................................................................................................................++++++
 +writing new private key to '/etc/ssl/private/pure-ftpd.pem'
 +-----
 +You are about to be asked to enter information that will be incorporated
 +into your certificate request.
 +What you are about to enter is what is called a Distinguished Name or a DN.
 +There are quite a few fields but you can leave some blank
 +For some fields there will be a default value,
 +If you enter '.', the field will be left blank.
 +-----
 +Country Name (2 letter code) [AU]:BR
 +State or Province Name (full name) [Some-State]:Parana
 +Locality Name (eg, city) []:Curitiba
 +Organization Name (eg, company) [Internet Widgits Pty Ltd]:Douglas 
 +Organizational Unit Name (eg, section) []:IT
 +Common Name (e.g. server FQDN or YOUR name) []:pure.douglasqsantos.com.br
 +Email Address []:douglas.q.santos@gmail.com
 +</sxh>
 +
 +Agora vamos ajustar a permissão da nossa chave
 +<sxh bash>
 +chmod 400 pure-ftpd.pem
 +</sxh>
 +
 +Agora vamos reiniciar o serviço
 +<sxh bash>
 +/etc/init.d/pure-ftpd restart 
 +</sxh>
 +
 +====== Referências ======
 +  - http://download.pureftpd.org/pub/pure-ftpd/doc/
 +  - http://download.pureftpd.org/pub/pure-ftpd/doc/README.TLS