How to Setup an FTP Server in Windows 10 - AvoidErrors
Sadržaj:
- Preduvjeti
- Instaliranje vsftpd na CentOS 7
- Konfiguriranje vsftpd
- 1. FTP pristup
- 2. Omogućavanje prijenosa
- 3. Chroot zatvor
- 4. Pasivne FTP veze
- 5. Ograničavanje prijave korisnika
- 6. Osiguravanje prijenosa SSL / TLS-om
- Ponovno pokrenite vsftpd uslugu
- Otvaranje vatrozida
- Stvaranje FTP korisnika
- Onemogućavanje pristupa školjkama
- Zaključak
FTP (File Transfer Protocol) standardni je mrežni protokol klijent-poslužitelj koji korisnicima omogućuje prijenos datoteka s udaljene mreže i sa nje.
Za Linux je dostupno nekoliko FTP poslužitelja otvorenog koda. Najpopularniji i naširoko se koriste PureFTPd, ProFTPD i vsftpd.
U ovom tutorialu ćemo instalirati vsftpd (vrlo siguran Ftp Daemon) na CentOS 7. To je stabilan, siguran i brz FTP poslužitelj. Također ćemo vam pokazati kako konfigurirati vsftpd za ograničavanje korisnika na njihov kućni direktorij i šifriranje cijelog prijenosa SSL / TLS.
Za sigurniji i brži prijenos podataka koristite SCP ili SFTP.
Preduvjeti
Prije nego što nastavite s ovim vodičem, provjerite jeste li prijavljeni kao korisnik s povlasticama sudo.
Instaliranje vsftpd na CentOS 7
Vsftpd paket dostupan je u zadanim CentOS-ovim spremištima. Da biste ga instalirali, izdajte sljedeću naredbu:
sudo yum install vsftpd
Jednom kada je paket instaliran, pokrenite vsftpd demon i omogućite mu da se automatski pokrene u vrijeme dizanja:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
Možete provjeriti da se vsftpd usluga izvodi ispisom njezinog statusa:
sudo systemctl status vsftpd
Izlaz će izgledati nešto poput dolje, pokazujući da je vsftpd usluga aktivna i radi:
● 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
Konfiguriranje vsftpd
Konfiguriranje vsftpd usluge uključuje uređivanje konfiguracijske datoteke
/etc/vsftpd/vsftpd.conf
. Većina je postavki dobro dokumentirana unutar konfiguracijske datoteke. Za sve dostupne opcije posjetite službenu stranicu vsftpd.
U sljedećim ćemo odjeljcima pregledati nekoliko važnih postavki potrebnih za konfiguriranje sigurne vsftpd instalacije.
Započnite otvaranjem vsftpd konfiguracijske datoteke:
sudo nano /etc/vsftpd/vsftpd.conf
1. FTP pristup
Omogućit ćemo pristup FTP poslužitelju samo lokalnim korisnicima, pronaći
anonymous_enable
i
local_enable
smjernice i provjeriti da li se vaša konfiguracija podudara s niže navedenim linijama:
anonymous_enable=NO local_enable=YES
2. Omogućavanje prijenosa
write_enable
postavku_nable za
write_enable
da biste omogućili promjene u datotečnom sustavu, poput prijenosa i brisanja datoteka.
3. Chroot zatvor
Zabranite korisnicima FTP-a da pristupaju bilo kakvim datotekama izvan njihovih matičnih direktorija komentiranjem
chroot
direktive.
chroot_local_user=YES
Kada je omogućeno chroot vsftpd će odbiti prijenos datoteka ako direktorij u koji su korisnici zaključani može pisati. Time se sprečava sigurnosna ugroženost.
Da biste omogućili prijenos kad je omogućen chroot, koristite jednu od metoda u nastavku.
-
Metoda 1. - Preporučena metoda za omogućavanje prijenosa je hroot omogućen i konfiguriranje FTP direktorija. U ovom ćemo vodiču stvoriti
/etc/vsftpd/vsftpd.confftp
direktorij unutar korisničkog doma koji će služiti kao chroot i direktorij za prijenos datoteka za upis datoteka.user_sub_token=$USER local_root=/home/$USER/ftp
Metoda 2. - Druga opcija je dodavanje sljedeće direktive u vsftpd konfiguracijsku datoteku. Upotrijebite ovu opciju ako morate odobriti pristup zapisi korisniku u njegov matični imenik.
/etc/vsftpd/vsftpd.confallow_writeable_chroot=YES
4. Pasivne FTP veze
vsftpd može koristiti bilo koji port za pasivne FTP veze. Navest ćemo minimalni i maksimalni raspon portova, a kasnije otvoriti raspon u našem vatrozidu.
U konfiguracijsku datoteku dodajte sljedeće retke:
/etc/vsftpd/vsftpd.conf
pasv_min_port=30000 pasv_max_port=31000
5. Ograničavanje prijave korisnika
Da biste se dozvolili samo određenim korisnicima da se prijave na FTP poslužitelj dodajte sljedeće retke nakon korisničkog
userlist_enable=YES
red:
userlist_file=/etc/vsftpd/user_list userlist_deny=NO
Kada je ova opcija omogućena, morate izričito navesti koji se korisnici mogu prijaviti dodavanjem korisničkih imena u datoteku
/etc/vsftpd/user_list
(jedan korisnik u retku).
6. Osiguravanje prijenosa SSL / TLS-om
Kako biste šifrirali FTP prijenose SSL / TLS, trebat ćete imati SSL certifikat i konfigurirati FTP poslužitelj za njegovo korištenje.
Možete koristiti postojeći SSL certifikat potpisan od strane pouzdanog certifikatora ili stvoriti vlastoručno potpisan certifikat.
U ovom tutorialu generirat ćemo
openssl
SSL certifikat pomoću naredbe
openssl
.
Sljedeća naredba stvorit će 2048-bitni privatni ključ i samopotpisani certifikat koji vrijedi 10 godina. I privatni ključ i certifikat bit će spremljeni u istu datoteku:
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem
Nakon kreiranja SSL certifikata otvorite vsftpd konfiguracijsku datoteku:
sudo nano /etc/vsftpd/vsftpd.conf
Pronađite smjernice
rsa_cert_file
i
rsa_private_key_file
, promijenite njihove vrijednosti u put do datoteke datoteke i postavite
ssl_enable
direktivu na
YES
:
rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.pem ssl_enable=YES
Ako nije drugačije određeno, FTP poslužitelj će koristiti samo TLS za sigurnu vezu.
Ponovno pokrenite vsftpd uslugu
Nakon što završite s uređivanjem, konfiguracijska datoteka vsftpd (bez komentara) trebala bi izgledati ovako:
/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
Spremite datoteku i ponovno pokrenite uslugu vsftpd da bi promjene stupile na snagu:
Otvaranje vatrozida
Da biste otvorili port
21
(FTP naredbeni port), priključak
20
(FTP podatkovni port) i
30000-31000
(raspon pasivnih portova), izdajte sljedeće naredbe:
sudo firewall-cmd --permanent --add-port=20-21/tcp
sudo firewall-cmd --permanent --add-port=30000-31000/tcp
Ponovno učitajte pravila vatrozida unosom:
Stvaranje FTP korisnika
Da bismo testirali naš FTP poslužitelj, stvorit ćemo novog korisnika.
- Ako već imate korisnika kojem želite odobriti FTP pristup, preskočite 1. korak. Ako u konfiguracijskoj datoteci postavite
allow_writeable_chroot=YES
preskočite 3. korak.
-
Izradite novog korisnika s imenom
newftpuser
:sudo adduser newftpuser
Zatim ćete morati postaviti korisničku lozinku:
sudo passwd newftpuser
Dodajte korisnika na popis dopuštenih FTP korisnika:
echo "newftpuser" | sudo tee -a /etc/vsftpd/user_list
Izradite stablo direktorija FTP i postavite ispravna dopuštenja:
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
Kao što je spomenuto u prethodnom odjeljku, korisnik će moći učitati svoje datoteke u
ftp/upload
direktorij.
U ovom trenutku vaš FTP poslužitelj je u potpunosti funkcionalan i trebali biste se moći povezati na svoj poslužitelj s bilo kojim FTP klijentom koji se može konfigurirati za korištenje TLS šifriranja, kao što je FileZilla.
Onemogućavanje pristupa školjkama
Prilikom stvaranja korisnika, ako nije izričito navedeno, korisnik će imati SSH pristup poslužitelju.
Da onemogućimo pristup školjci, stvorit ćemo novu školjku koja će jednostavno ispisati poruku koja kaže korisniku da je njihov račun ograničen samo na FTP pristup.
Pokrenite sljedeće naredbe da kreirate ljusku
/bin/ftponly
i učinite je izvršnom:
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
Dodajte novu ljusku na popis važećih školjki u datoteci
/etc/shells
:
echo "/bin/ftponly" | sudo tee -a /etc/shells
Promijenite korisničku ljusku u
/bin/ftponly
:
sudo usermod newftpuser -s /bin/ftponly
Pomoću iste naredbe promijenite ljusku za ostale korisnike kojima želite dati samo FTP pristup.
Zaključak
U ovom su vodiču naučili kako instalirati i konfigurirati siguran i brz FTP poslužitelj na vašem CentOS 7 sustavu.
ftp centosGt objašnjava: što je ftp poslužitelj i kako ga postaviti?

Potpuni vodič za razumijevanje prednosti i nedostataka FTP poslužitelja i kako to postaviti u vašem domu za jednostavno dijeljenje velikih datoteka.
Kako postaviti ftp poslužitelj s vsftpd na debianu 9

U ovom tutorialu ćemo instalirati vsftpd. To je stabilan, siguran i brz FTP poslužitelj. Također ćemo vam pokazati kako konfigurirati vsftpd za ograničavanje korisnika na njihov kućni direktorij i šifriranje cijelog prijenosa SSL / TLS.
Kako postaviti ftp poslužitelj s vsftpd na ubuntu 18.04

U ovom tutorialu ćemo instalirati vsftpd. To je stabilan, siguran i brz FTP poslužitelj. Također ćemo vam pokazati kako konfigurirati vsftpd za ograničavanje korisnika na njihov kućni direktorij i šifriranje cijelog prijenosa SSL / TLS.