How to Setup an FTP Server in Windows 10 - AvoidErrors
Indholdsfortegnelse:
- Forudsætninger
- Installation af vsftpd på CentOS 7
- 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 en FTP-bruger
- Deaktiver Shell Access
- Konklusion
FTP (File Transfer Protocol) er en standard klient-server netværksprotokol, der giver brugerne mulighed for at overføre filer til og fra et fjernnetværk.
Der er flere open source FTP-servere tilgængelige for Linux. De mest populære og udbredte er PureFTPd, ProFTPD og vsftpd.
I denne tutorial vil vi installere vsftpd (Very Secure Ftp Daemon) på CentOS 7. Det er 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.
Brug SCP eller SFTP til sikrere og hurtigere dataoverførsler.
Forudsætninger
Før du fortsætter med denne tutorial, skal du sørge for, at du er logget ind som bruger med sudo-privilegier.
Installation af vsftpd på CentOS 7
Vsftpd-pakken er tilgængelig i standard CentOS-oplagrene. For at installere det skal du udstede følgende kommando:
sudo yum install vsftpd
Når pakken er installeret, skal du starte vsftpd-dæmonen og aktivere den til automatisk at starte ved starttidspunktet:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
Du kan bekræfte, at vsftpd-tjenesten kører ved at udskrive dens status:
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 daemon Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2018-11-22 09:42:37 UTC; 6s ago Main PID: 29612 (vsftpd) CGroup: /system.slice/vsftpd.service └─29612 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
Konfiguration af vsftpd
Konfiguration af vsftpd-tjenesten involverer redigering af
/etc/vsftpd/vsftpd.conf
. 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 vil vi gennemgå nogle vigtige indstillinger, der kræves for at konfigurere en sikker vsftpd-installation.
Start med at åbne vsftpd-konfigurationsfilen:
sudo nano /etc/vsftpd/vsftpd.conf
1. FTP-adgang
Vi tillader kun adgang til FTP-serveren de lokale brugere, finder de
local_enable
og
local_enable
direktiver og verificerer din konfiguration matcher til nedenstående linjer:
anonymous_enable=NO local_enable=YES
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
Undgå FTP-brugere at få adgang til filer uden for deres hjemmekataloger ved at fjerne
chroot
direktivet.
chroot_local_user=YES
Når chroot er aktiveret, nægter vsftpd som standard at uploade filer, hvis det bibliotek, som brugerne er låst i, kan skrives. Dette er for at forhindre en sikkerhedssårbarhed.
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/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/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/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, tilføj følgende linjer efter linjen
userlist_enable=YES
:
userlist_file=/etc/vsftpd/user_list userlist_deny=NO
Når denne mulighed 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/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem
Når SSL-certifikatet er oprettet, skal du åbne vsftpd-konfigurationsfilen:
sudo nano /etc/vsftpd/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/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/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/vsftpd.conf
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES chroot_local_user=YES listen=NO listen_ipv6=YES pam_service_name=vsftpd userlist_enable=YES userlist_file=/etc/vsftpd/user_list userlist_deny=NO tcp_wrappers=YES user_sub_token=$USER local_root=/home/$USER/ftp pasv_min_port=30000 pasv_max_port=31000 rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.pem ssl_enable=YES
Gem filen og genstart vsftpd-tjenesten, så ændringerne træder i kraft:
Åbning af firewall
30000-31000
følgende kommandoer for at åbne port
21
(FTP-kommandoport), port
20
(FTP-dataport) og
30000-31000
(passiv
30000-31000
):
sudo firewall-cmd --permanent --add-port=20-21/tcp
sudo firewall-cmd --permanent --add-port=30000-31000/tcp
Genindlæs firewallreglerne ved at skrive:
Oprettelse af en 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
Derefter skal du indstille brugeradgangskoden:
sudo passwd 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 med enhver 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.
Kør følgende kommandoer for at oprette
/bin/ftponly
shell og gøre 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 andre 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 CentOS 7-system.
ftp centosSå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 nextcloud med apache på centos 7

Nextcloud er en open source, selvhost filformular og samarbejdsplatform, der ligner Dropbox. I denne tutorial viser vi dig, hvordan du installerer og konfigurerer Nextcloud med Apache på en CentOS 7-maskine.
Sådan konfigureres en firewall med firewall på centos 7

FirewallD er en komplet firewall-løsning, der administrerer systemets iptables-regler og giver en D-Bus-interface til at betjene dem. I denne tutorial viser vi dig, hvordan du opsætter en firewall med FirewallD på dit CentOS 7-system og forklarer dig de grundlæggende FirewallD-koncepter.