# proftpd [TOC] ## instal·lació: observar que contesten les següents ordres ``` sudo apt install proftpd vs sudo apt install proftpd-basic ``` ## comprovació de l'accés - sols comptes del sistema ## habilitar tls (xifrat) 1) generar certificat ``` sudo openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -subj "/C=SP/ST=Testing/L=Barcelona/O=ITIC/CN=proftp.lab22.test" ``` 2) habilitar el mòdul ``` sudo sed -i '/mod_tls.c/s/^#//' /etc/proftpd/modules.conf ``` 3) incloure el mòdul ``` sudo sed -i '/tls/ s/^#//' /etc/proftpd/proftpd.conf ``` 4) generar fitxer tsl.conf ``` sudo tee /etc/proftpd/tls.conf << EOF <IfModule mod_tls.c> TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol SSLv23 TLSRSACertificateFile /etc/ssl/certs/proftpd.crt TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key TLSVerifyClient off TLSRequired on TLSRenegotiate required off </IfModule> EOF ``` ## habilitar el compte anònim ## compte anònim 1) copiar la configuració al directori de configuracions ``` sudo tee /etc/proftpd/conf.d/anonim.conf << EOF <Anonymous ~ftp> User ftp Group nogroup # We want clients to be able to login with "anonymous" as well as "ftp" UserAlias anonymous ftp # Cosmetic changes, all files belongs to ftp user DirFakeUser on ftp DirFakeGroup on ftp RequireValidShell off # Limit the maximum number of anonymous logins MaxClients 10 # We want 'welcome.msg' displayed at login, and '.message' displayed # in each newly chdired directory. DisplayLogin welcome.msg DisplayChdir .message # Limit WRITE everywhere in the anonymous chroot <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> </Anonymous> EOF ``` ## comptes virtuals 1) crear els directoris dels comptes virtuals ``` sudo mkdir -m 700 -p /home/proftpd/{test01,test02} sudo chown 15001 /home/proftpd/test01 sudo chown 15002 /home/proftpd/test02 ``` 2) creació de la base de dades ``` sudo touch /etc/proftpd/ftpd.passwd sudo chown proftpd: /etc/proftpd/ftpd.passwd sudo chmod ug=r,o-r /etc/proftpd/ftpd.passwd echo 'c0ntr@sseny@01' | sudo ftpasswd --stdin --passwd --file=/etc/proftpd/ftpd.passwd --name=test01 --uid=15001 --gid=15001 --home=/home/proftpd/test01 --shell=/bin/false echo 'c0ntr@sseny@02' | sudo ftpasswd --stdin --passwd --file=/etc/proftpd/ftpd.passwd --name=test02 --uid=15002 --gid=15002 --home=/home/proftpd/test02 --shell=/bin/false ``` 3) copiar la configuració al directori conf.d ``` sudo tee /etc/proftpd/conf.d/comptes-virtuals << EOF ### -- ## -- fitxer de configuracio (virtual_users.conf a /etc/proftpd/conf.d ) ### -- # no permetre que els comptes retrocedesquen ("pugen") en l'arbre de directoris DefaultRoot ~ RequireValidShell off # fitxer associat per als comptes virtuals AuthUserFile /etc/proftpd/ftpd.passwd # no crearem grups per compartir info entre els comptes virtuals ## AuthGroupFile /etc/proftpd/ftpd.group # Sols permetre l'acces amb comptes virtuals AuthOrder mod_auth_file.c # si vulguerem que tambe els comptes del sistema ho feren... ## AuthOrder mod_auth_file.c mod_auth_unix.c EOF ```