{"id":83,"date":"2018-06-18T16:34:23","date_gmt":"2018-06-18T19:34:23","guid":{"rendered":"http:\/\/www.ddns.eti.br\/?p=83"},"modified":"2022-07-15T10:18:46","modified_gmt":"2022-07-15T13:18:46","slug":"servidor-ftp-tls-ssl-debian-8-3","status":"publish","type":"post","link":"https:\/\/bfnetworks.com.br\/servidor-ftp-tls-ssl-debian-8-3\/","title":{"rendered":"SERVIDOR FTP + TLS\/SSL – DEBIAN 8"},"content":{"rendered":"

INSTALA\u00c7\u00c3O<\/strong><\/h3>\n\n
# apt-get install proftpd<\/code><\/pre>\n\n

CONFIGURANDO<\/strong><\/h3>\n

Agora abra o arquivo \/etc\/proftpd\/proftpd.conf<\/strong> <\/em>para configurar o Proftpd<\/strong>, o arquivo b\u00e1sico para uma configura\u00e7\u00e3o onde se quer autentica\u00e7\u00e3o de usu\u00e1rios seria:<\/p>\n

 ServerName \"Meu Servidor de FTP\"<\/em><\/strong>\n ServerType standalone<\/em>\n DeferWelcome off<\/em>\n ServerIdent off<\/em>\n MultilineRFC2228 on<\/em>\n DefaultServer on<\/em>\n ShowSymlinks on<\/em>\n AllowOverwrite on<\/em>\n DirFakeUser on<\/em>\n DirFakeGroup on<\/em>\n TimeoutNoTransfer 600<\/em>\n TimeoutStalled 600<\/em>\n TimeoutIdle 1200<\/em>\n DisplayLogin welcome.msg<\/em>\n DisplayFirstChdir .message<\/em>\n ListOptions \"-l\"<\/em>\n DenyFilter *.*\/<\/em>\n WtmpLog off<\/em>\n SystemLog \/var\/log\/proftpd\/proftpd.log<\/em>\n TransferLog \/var\/log\/proftpd\/xferlog<\/em>\n Port 21<\/em><\/strong>\n MaxInstances 30<\/em>\n User proftpd<\/em>\n Group nogroup<\/em>\n DefaultRoot ~<\/strong> <\/em>\n Umask 022 022<\/em>\n AllowOverwrite on<\/em>\n RequireValidShell off<\/em>\n<\/pre>\n

CRIANDO USU\u00c1RIOS<\/strong><\/h3>\n

Com o comando abaixo voc\u00ea cria o usu\u00e1rio, se no campo do arquivo DefaultRoot voc\u00ea especificar um caminho padr\u00e3o, n\u00e3o \u00e9 necess\u00e1rio no comando abaixo a op\u00e7\u00e3o –home.
\n\n

# adduser –home \/home\/ftp\/rodrigo –shell \/bin\/false –no-create-home rodrigo<\/code><\/pre>\n
\nN\u00e3o se esque\u00e7a de dar permiss\u00f5es para a pasta ftp, para um grupo determinado de usu\u00e1rios ou usu\u00e1rios espec\u00edficos, seja como for utilize algo do tipo abaixo :
\n\n
# chown -R rodrigo:rodrigo \/home\/ftp\/rodrigo<\/code><\/pre>\n<\/p>\n

CONFIGURA\u00c7\u00d5ES ADICIONAIS PARA DISTROS DERIVADAS (UBUNTU)<\/strong><\/h3>\n
    \n
  • \n

    HABILITAR FTP NO FIREWALL (TALVEZ OPCIONAL)<\/strong><\/span><\/h3>\n<\/li>\n<\/ul>\n

    Em testes no Ubuntu 14.04 foi preciso adicionar a porta 21, ou a que estiver utilizando para ficar aberta, ou escutando no firewall. Habilite com o seguinte comando abaixo, troque o 21 pela porta que estiver utilizando:
    \n\n

    # iptables -A INPUT -p tcp –dport 21 -j ACCEPT<\/code><\/pre>\n<\/p>\n
      \n
    • \n

      HABILITAR LOGIN SEM SHELL (REALMENTE PRECISO)<\/strong><\/span><\/h3>\n<\/li>\n<\/ul>\n

      Em distribui\u00e7\u00f5es derivadas do Debian, voc\u00ea vai precisar adicionar a linha “\/bin\/false” no final do arquivo \/etc\/shells para que ele possa ser usado:
      \n\n

      # echo “\/bin\/false” >> \/etc\/shells<\/code><\/pre>\n
      \nFeito isso, voc\u00ea j\u00e1 conseguir\u00e1 se logar no servidor usando o login criado.
      \nA senha de acesso ao FTP \u00e9 a mesma definida na hora de criar o usu\u00e1rio. O Proftpd simplesmente aproveita o sistema de autentica\u00e7\u00e3o do sistema. Se voc\u00ea precisar alterar a senha do usu\u00e1rio, use o comando “passwd $USER”.<\/p>\n

      UTILIZANDO SSL\/TLS NA COMUNICA\u00c7\u00c3O<\/strong><\/h3>\n
        \n
      • \n

        CRIANDO CERTIFICADO\u00a0TLS<\/strong><\/span><\/h3>\n<\/li>\n<\/ul>\n

        Vamos criar uma pasta especifica para colocar o certificado como comando abaixo:
        \n\n

        # mkdir \/etc\/proftpd\/ssl<\/code><\/pre>\n
        \nDepois geramos com o seguinte comando:
        \n\n
         # openssl req -new -x509 -days 365 -nodes -out \/etc\/proftpd\/ssl\/proftpd.cert.pem -keyout \/etc\/proftpd\/ssl\/proftpd.key.pem<\/code><\/pre>\n
        \nDado o comando, ele pedir\u00e1 que informe alguns dados como os abaixo, informe de acordo com seu ambiente:<\/p>\n
        Country Name (2 letter code) [AU]: <\/em><\/strong><--<\/em>\u00a0Entre como o nome do\u00a0Pa\u00eds. Ex.:BR<\/em>\nState or Province Name (full name) [Some-State]:<\/em><\/strong><--<\/em> Entre como o Estado Ex.:Para\u00edba.<\/em>\nLocality Name (eg, city) []:<--<\/em>\u00a0<\/em><\/strong>Entre como o nome da cidade. Ex.: Jo\u00e3o Pessoa<\/em>\nOrganization Name (eg, company) [Internet Widgits Pty Ltd]:<\/em><\/strong><--<\/em> Nome da organiza\u00e7\u00e3o ou<\/em> empresa.<\/em>\nOrganizational Unit Name (eg, section) []:<\/em><\/strong><--<\/em>\u00a0<\/em><\/strong>Unidade organizacional.<\/em>\nCommon Name (eg, YOUR name) []:<--<\/em><\/strong> Entre como FQDN Ex.:\"server1.example.com\").<\/em>\nEmail Address []:<--<\/em>\u00a0<\/em><\/strong>Endere\u00e7o de e-mail.<\/em>\n<\/pre>\n
          \n
        • \n

          HABILITANDO O TLS NO PROFTPd<\/strong><\/span><\/h3>\n<\/li>\n<\/ul>\n

          Abra o arquivo\u00a0\/etc\/proftpd\/proftpd.conf e descomente a linha abaixo:<\/p>\n

          Include \/etc\/proftpd\/tls.conf<\/em><\/strong>\n<\/pre>\n

          Crie um arquivo de backup do arquivo \/etc\/proftpd\/tls.conf, gere um novo zerado e edite-o com, seguindo assim os tr\u00eas comando abaixo:
          \n\n

          # cp \/etc\/proftpd\/tls.conf \/etc\/proftpd\/tls.conf_orig
          \n# cat \/dev\/null > \/etc\/proftpd\/tls.conf
          \n# vi \/etc\/proftpd\/tls.conf
          <\/code><\/pre>\n<\/p>\n
          <IfModule mod_tls.c><\/em>\nTLSEngine on<\/em>\nTLSLog \/var\/log\/proftpd\/tls.log<\/em>\nTLSProtocol SSLv23<\/em>\nTLSOptions NoCertRequest<\/em>\nTLSRSACertificateFile \/etc\/proftpd\/ssl\/proftpd.cert.pem<\/em>\nTLSRSACertificateKeyFile \/etc\/proftpd\/ssl\/proftpd.key.pem<\/em>\nTLSVerifyClient off<\/em>\nTLSRequired on<\/em>\n<\/IfModule><\/em>\n<\/pre>\n

          Se utilizar\u00a0“TLSRequired on”, como acima, s\u00f3 ser\u00e3o permitidas conex\u00f5es TLS, se por\u00e9m deixar comentada, ser\u00e1 permitido ambas conex\u00f5es, TLS e non-TLS, isso dependendo do suporte do cliente FTP.
          \nDepois reinicie o servi\u00e7o:
          \n\n

          \/etc\/init.d\/proftpd restart<\/code><\/pre>\n<\/em><\/strong>
          \nObs.: Sem TLS o FTP pode ser utilizado at\u00e9 em navegadores, por\u00e9m com TLS utilize clientes que suportem TLS como WinSCP ou FileZilla.<\/p>\n

          FONTES:<\/h3>\n

          http:\/\/wiki.ubuntu-br.org\/proftpd
          \nhttps:\/\/www.howtoforge.com\/setting-up-proftpd-tls-on-debian-squeeze<\/p>\n","protected":false},"excerpt":{"rendered":"

          INSTALA\u00c7\u00c3O CONFIGURANDO Agora abra o arquivo \/etc\/proftpd\/proftpd.conf para configurar o Proftpd, o arquivo b\u00e1sico para uma configura\u00e7\u00e3o onde se quer autentica\u00e7\u00e3o de usu\u00e1rios seria: ServerName “Meu Servidor de FTP” ServerType standalone DeferWelcome off ServerIdent off MultilineRFC2228 on DefaultServer on ShowSymlinks on AllowOverwrite on DirFakeUser on DirFakeGroup on TimeoutNoTransfer 600 TimeoutStalled 600 TimeoutIdle 1200 DisplayLogin welcome.msg […]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[24,15],"tags":[48,60,138],"_links":{"self":[{"href":"https:\/\/bfnetworks.com.br\/wp-json\/wp\/v2\/posts\/83"}],"collection":[{"href":"https:\/\/bfnetworks.com.br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bfnetworks.com.br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bfnetworks.com.br\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/bfnetworks.com.br\/wp-json\/wp\/v2\/comments?post=83"}],"version-history":[{"count":1,"href":"https:\/\/bfnetworks.com.br\/wp-json\/wp\/v2\/posts\/83\/revisions"}],"predecessor-version":[{"id":1907,"href":"https:\/\/bfnetworks.com.br\/wp-json\/wp\/v2\/posts\/83\/revisions\/1907"}],"wp:attachment":[{"href":"https:\/\/bfnetworks.com.br\/wp-json\/wp\/v2\/media?parent=83"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bfnetworks.com.br\/wp-json\/wp\/v2\/categories?post=83"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bfnetworks.com.br\/wp-json\/wp\/v2\/tags?post=83"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}