I denne guide vil jeg forklare hvordan du installerer PureFTPd på Ubuntu samt sikrer din FTP-server med med TLS (SSL)
Inden vi går i gang
Du skal lave en A-Record (IPv4) samt evt. AAAA-Record (IPv6) der peger på f.eks ftp.mitdomain.dk – Det kan tage et par timer før DNS ændringer træder i kraft over alt.
Til denne guide skal du bruge Ubuntu 18.04 / 20.04 / 22.04 lts, Nginx eller Apache2 samt certbot (Lets Encrypt)
OBS. Alle steder der står ftp.mitdomain.dk skal skiftes ud med dit eget domain som du vil bruge!
Klar parat start 🙂
Først skal du opdatere din server – Det gør du med følgene kommando:
installer nu PureFTPd med denne kommando
Du skal nu starte PureFTPd samt aktivere services for PureFTPd – Dette gør du med disse kommandoer
Du kan nu skrive nedenstående kommando og du vil få et status der ligner denne. (Luk status vinduet med med CTRL + C
Du kan nu skrive nedenstående kommando for at se om PureFTPd lytter på port 21 for IPv4 samt IPv6
PureFTPd Indstillinger
Vi skal nu have sat nogle indstillinger for PureFTPd – Så her kommer et par stykker som jeg vil anbefale at sætte.
Tvinger PureFTPd til kun at køre TLS for bedre sikkerhed.
Gør sådan man ikke kan tilgå andre mapper end ens hjemmemappe.
Køre PureFTP som daemon
Sætter PureFTPd til at køre UTF-8 encoding
Sætter PureFTPd kun til at lytte på IPv4
Tillader kun folk med konto at logge ind på serveren
Sætter PassivePortRange til 55455:55555
echo 55455 55555 | sudo tee /etc/pure-ftpd/conf/PassivePortRange
Bestemmer om du kan rette .filer (Dot filer)
Tillader FXP
SSL – Punkt 1 ud af 5 – Lav nu en *.conf til enten Apache2 eller Nginx (Dette skal bruges til at udstede et SSL certifikat for pureFTPd)
Hvis du bruger Apache2 – Lav en config fil med denne kommando
Sæt følgende tekst ind i filen.
Gem nu filen med CTRL + X -> Y -> Enter
Aktiver config filen med denne kommando
Genstart nu apache2 med denne kommando
Hvis du bruger Nginx – Lav en config fil med denne kommando
I denne fil sætter du følgende tekst ind
Gem nu filen med CTRL + X -> Y -> Enter, og genstart Nginx
SSL – Punkt 2 ud af 5 – Opret dir
Du skal nu have oprettet en mappe så det matcher config filen ovenover. Det gør vi fordi certbot skal bruge en mappe til at udstede SSL til vores FTP server
Vi skal nu give vores web server (www-data) læserettigheder til /var/www/Pure-FTPd – Det gør vi med denne kommando:
Genstart nu apache2 eller nginx med en af disse kommandoer
Nginx
SSL – Punkt 3 ud af 5 – Udsted certfikat
Vælg nu det nummer der svarer til ftp.mitdomain.dk – I dette tilfælde nummer 1.
Tryk nu på 1 i dette tilfælde og tryk på enter – Der vil nu blive udstedet en SSL certfikat til ftp.mitdomain.dk
SSL – Punkt 4 ud af 5 – Gør PureFTPd klar til SSL (TLS)
Vi skal nu have samlet det SSL-certificat vi lige har udstedt til en fil kaldet: “pure-ftpd.pem”
Denne fil skal gemmes i denne mappe /etc/ssl/private/
Sådan gør du
Gå nu til nedenstående mappe:
skriv nu denne kommando
Du skal nu give nogle rettigheder til den nyoprettede fil. – Dette gør du med denne kommando
Du skal nu lave en dhparam fil – Det gør du med denne kommando (Dette kan tage 5-15 minutter alt efter din cpu)
SSL – Punkt 5 ud af 5 – Auto forny SSL til PureFTPd
Åben crontab ved at skrive nedenstående kommando, og indset følgene – OBS: Denne kommando skal køres som ROOT
Luk crontab med CTRL + X -> Y -> Enter
Firewall UFW
Skriv følgende kommandoer for at åben porte til PureFTPd
Til sidst 🙂
Til sidst restart PureFTPd med nedenstående kommando:
OBS:
Når du opretter en ny bruger i Ubuntu, vil du automatisk give adgang til hjemmemappen på ftp-serveren med det valgte brugernavn og password.
Hvis du har brug for hjælp – Så skriv en kommentar…