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 [2017/09/05 12:18] (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