FileZilla Server Tutorial - Setup FTP Server
Indholdsfortegnelse:
- Forudsætninger
- Installation af vsftpd på Debian 9
- Konfiguration af vsftpd
- 1. FTP-adgang
- 2. Aktivering af uploads
- 3. Chroot-fængsel
- 4. Passive FTP-forbindelser
- 5. Begrænsning af bruger login
- 6. Sikring af transmissioner med SSL / TLS
- Genstart vsftpd-tjenesten
- Åbning af firewall
- Oprettelse af FTP-bruger
- Deaktiver Shell Access
- Konklusion
FTP (File Transfer Protocol) er en standard netværksprotokol, der bruges til at overføre filer til og fra et fjernnetværk. Brug SCP eller SFTP til sikrere og hurtigere dataoverførsler.
Der er mange open source FTP-servere tilgængelige for Linux. De mest populære og udbredte er PureFTPd, ProFTPD og vsftpd.
Denne tutorial forklarer, hvordan man installerer og konfigurerer vsftpd (Very Secure Ftp Daemon) på Debian 9. vsftpd en stabil, sikker og hurtig FTP-server. Vi vil også vise dig, hvordan du konfigurerer vsftpd til at begrænse brugere til deres hjemmekatalog og kryptere hele transmissionen med SSL / TLS.
Forudsætninger
Den bruger, du er logget på, skal have sudo-privilegier for at kunne installere pakker.
Installation af vsftpd på Debian 9
Vsftpd-pakken er tilgængelig i Debian-oplagrene. Installationen er ret ligetil:
sudo apt update
sudo apt install vsftpd
vsftpd-tjenesten starter automatisk, når installationen er afsluttet. Bekræft det ved at udskrive servicestatus:
sudo systemctl status vsftpd
Outputet ser ud som i det følgende og viser, at vsftpd-tjenesten er aktiv og kører:
● vsftpd.service - vsftpd FTP server Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2018-12-10 11:42:51 UTC; 53s ago Main PID: 1394 (vsftpd) CGroup: /system.slice/vsftpd.service └─1394 /usr/sbin/vsftpd /etc/vsftpd.conf
Konfiguration af vsftpd
Vsftpd-serveren kan konfigureres ved at ændre filen
vsftpd.conf
, som findes i
/etc
biblioteket.
De fleste af indstillingerne er godt dokumenteret inde i konfigurationsfilen. Besøg den officielle vsftpd-side for alle tilgængelige indstillinger.
I de følgende afsnit gennemgår vi nogle vigtige indstillinger, der er nødvendige for at konfigurere en sikker vsftpd-installation.
Start med at åbne vsftpd-konfigurationsfilen:
1. FTP-adgang
Find de
local_enable
og
local_enable
direktiver, og bekræft din konfiguration matcher til nedenstående linjer:
anonymous_enable=NO local_enable=YES
Dette sikrer, at kun de lokale brugere kan få adgang til FTP-serveren.
2. Aktivering af uploads
write_enable
indstillingen
write_enable
for at tillade ændringer i filsystemet, såsom upload og sletning af filer.
3. Chroot-fængsel
For at forhindre FTP-brugere i at få adgang til filer uden for deres hjemmekataloger, fjerner du
chroot
indstillingen.
chroot_local_user=YES
Som standard for at forhindre en sikkerhedssårbarhed, når chroot er aktiveret, vil vsftpd nægte at uploade filer, hvis det bibliotek, som brugerne er låst i, kan skrives.
Brug en af metoderne herunder for at tillade uploads, når chroot er aktiveret.
-
Metode 1. - Den anbefalede metode til tilladelse af upload er at holde chroot aktiveret og konfigurere FTP-mapper. I denne tutorial vil vi oprette et
/etc/vsftpd.confftp
bibliotek inde i brugerhjemmet, der fungerer som chroot og et skrivbartuploads
bibliotek til uploade filer.user_sub_token=$USER local_root=/home/$USER/ftp
Metode 2. - En anden mulighed er at tilføje følgende direktiv i vsftpd-konfigurationsfilen. Brug denne mulighed, hvis du skal give skrivbar adgang til din bruger til dens hjemmekatalog.
/etc/vsftpd.confallow_writeable_chroot=YES
4. Passive FTP-forbindelser
vsftpd kan bruge enhver port til passive FTP-forbindelser. Vi specificerer det minimale og maksimale antal havne og åbner senere området i vores firewall.
Føj følgende linjer til konfigurationsfilen:
/etc/vsftpd.conf
pasv_min_port=30000 pasv_max_port=31000
5. Begrænsning af bruger login
For kun at tillade bestemte brugere at logge på FTP-serveren skal du tilføje følgende linjer i slutningen af filen:
userlist_enable=YES userlist_file=/etc/vsftpd.user_list userlist_deny=NO
Når denne indstilling er aktiveret, skal du eksplicit specificere, hvilke brugere der er i stand til at logge ind ved at tilføje brugernavne til filen
/etc/vsftpd.user_list
(en bruger pr. Linje).
6. Sikring af transmissioner med SSL / TLS
For at kryptere FTP-transmissionerne med SSL / TLS, skal du have et SSL-certifikat og konfigurere FTP-serveren til at bruge det.
Du kan bruge et eksisterende SSL-certifikat signeret af en betroet certifikatautoritet eller oprette et selvsigneret certifikat.
I denne tutorial vil vi generere et selvsigneret SSL-certifikat vha. Kommandoen
openssl
.
Den følgende kommando opretter en 2048-bit privat nøgle og selvsigneret certifikat, der er gyldigt i 10 år. Både den private nøgle og certifikatet gemmes i en samme fil:
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
Når SSL-certifikatet er oprettet, skal du åbne vsftpd-konfigurationsfilen:
sudo nano /etc/vsftpd.conf
Find
rsa_cert_file
og
rsa_private_key_file
direktiverne, ændre deres værdier til
pam
-filstien, og indstil
ssl_enable
direktivet til
YES
:
rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem ssl_enable=YES
Hvis ikke andet er angivet, bruger FTP-serveren kun TLS til at oprette sikre forbindelser.
Genstart vsftpd-tjenesten
Når du er færdig med at redigere, skal vsftpd-konfigurationsfilen (ekskl. Kommentarer) se sådan ud:
/etc/vsftpd.conf
listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES write_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=YES user_sub_token=$USER local_root=/home/$USER/ftp pasv_min_port=30000 pasv_max_port=31000 userlist_enable=YES userlist_file=/etc/vsftpd.user_list userlist_deny=NO
Gem filen og genstart vsftpd-tjenesten, så ændringerne træder i kraft:
Åbning af firewall
For at åbne port
21
(FTP-kommandoport), port
20
(FTP-dataport) og
30000-31000
(passiv
30000-31000
) skal du køre følgende kommandoer:
sudo ufw allow 20:21/tcp
sudo ufw allow 30000:31000/tcp
For at undgå at blive låst ud åbner vi også porten
22
:
sudo ufw allow OpenSSH
Genindlæs UFW-reglerne igen ved at deaktivere og genaktivere UFW:
sudo ufw disable
sudo ufw enable
Sådan bekræftes ændringerne:
sudo ufw status
Status: active To Action From -- ------ ---- 20:21/tcp ALLOW Anywhere 30000:31000/tcp ALLOW Anywhere OpenSSH ALLOW Anywhere 20:21/tcp (v6) ALLOW Anywhere (v6) 30000:31000/tcp (v6) ALLOW Anywhere (v6) OpenSSH (v6) ALLOW Anywhere (v6)
Oprettelse af FTP-bruger
For at teste vores FTP-server opretter vi en ny bruger.
- Hvis du allerede har en bruger, som du vil give FTP-adgang, skal du springe over det 1. trin. Hvis du angiver
allow_writeable_chroot=YES
i din konfigurationsfil, skal du springe over det 3. trin.
-
Opret en ny bruger ved navn
newftpuser
:sudo adduser newftpuser
Føj brugeren til listen over tilladte FTP-brugere:
echo "newftpuser" | sudo tee -a /etc/vsftpd.user_list
Opret FTP-katalogtræet, og indstil de korrekte tilladelser:
sudo mkdir -p /home/newftpuser/ftp/upload
sudo chmod 550 /home/newftpuser/ftp
sudo chmod 750 /home/newftpuser/ftp/upload
sudo chown -R newftpuser: /home/newftpuser/ftp
Som omtalt i det foregående afsnit vil brugeren være i stand til at uploade sine filer til
ftp/upload
biblioteket.
På dette tidspunkt er din FTP-server fuldt funktionsdygtig, og du skal være i stand til at oprette forbindelse til din server ved hjælp af en hvilken som helst FTP-klient, der kan konfigureres til at bruge TLS-kryptering, såsom FileZilla.
Deaktiver Shell Access
Ved oprettelse af en bruger, hvis ikke eksplicit specificeret, vil brugeren som standard have SSH-adgang til serveren.
For at deaktivere shell-adgang vil vi oprette en ny shell, der blot udskriver en meddelelse, der fortæller brugeren, at deres konto kun er begrænset til FTP-adgang.
Opret shell
/bin/ftponly
shell og gør det eksekverbart:
echo -e '#!/bin/sh\necho "This account is limited to FTP access only."' | sudo tee -a /bin/ftponly
echo -e '#!/bin/sh\necho "This account is limited to FTP access only."' | sudo tee -a /bin/ftponly
sudo chmod a+x /bin/ftponly
Føj den nye skal til listen over gyldige skaller i filen
/etc/shells
:
echo "/bin/ftponly" | sudo tee -a /etc/shells
Skift brugerskal til
/bin/ftponly
:
sudo usermod newftpuser -s /bin/ftponly
Brug den samme kommando til at ændre shell for alle brugere, du kun vil give FTP-adgang.
Konklusion
I denne tutorial lærte du, hvordan du installerer og konfigurerer en sikker og hurtig FTP-server på dit Debian 9-system.
ftp debianSådan konfigureres og konfigureres indstillinger for router-firewall

Lær hvordan du konfigurerer router-firewall, adgang til hardware-router-siden, konfigurer router-firewallindstillinger. Find ud af hvilke porte der er nødvendige på computeren.
Sådan installeres og konfigureres redis på debian 10 linux

I denne tutorial vil vi dække, hvordan man installerer og konfigurerer Redis på en Debian 10, Buster. Redis er en open source i datalagring med nøgleværdier i hukommelsen.
Sådan konfigureres en firewall med ufw på debian 9

UFW (Uncomplicated Firewall) er en brugervenlig front-end til styring af iptables firewall-regler, og dets hovedmål er at gøre styring af iptables lettere eller som navnet siger ukompliceret. I denne tutorial vil vi vise dig, hvordan du opsætter en firewall med UFW på Debian 9.