How to Upload Files to an FTP Server (Web Hosting)
Sadržaj:
- Preduvjeti
- Instaliranje vsftpd na Debianu 9
- 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) je standardni mrežni protokol koji se koristi za prijenos datoteka s udaljene mreže i sa nje. Za sigurniji i brži prijenos podataka koristite SCP ili SFTP.
Za Linux postoji mnogo FTP poslužitelja otvorenog koda. Najpopularniji i naširoko se koriste PureFTPd, ProFTPD i vsftpd.
Ovaj tutorial objašnjava kako instalirati i konfigurirati vsftpd (vrlo siguran Ftp Daemon) na Debianu 9. vsftpd 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.
Preduvjeti
Korisnik koji ste prijavljeni kao i mora imati sudo povlastice da bi mogao instalirati pakete.
Instaliranje vsftpd na Debianu 9
Vsftpd paket dostupan je u Debian spremištima. Instalacija je prilično jednostavna:
sudo apt update
sudo apt install vsftpd
vsftpd usluga automatski će se pokrenuti nakon završetka postupka instalacije. Potvrdite to ispisom statusa usluge:
sudo systemctl status vsftpd
Izlaz će izgledati nešto poput dolje, pokazujući da je vsftpd usluga aktivna i radi:
● 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
Konfiguriranje vsftpd
Poslužitelj vsftpd može se konfigurirati izmjenom datoteke
vsftpd.conf
nalazi u
/etc
direktoriju.
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 instalacije vsftpd.
Započnite otvaranjem vsftpd konfiguracijske datoteke:
1. FTP pristup
Pronađite smjernice
anonymous_enable
i
local_enable
i provjerite da li se vaša konfiguracija podudara s linijama u nastavku:
anonymous_enable=NO local_enable=YES
Time se osigurava da samo lokalni korisnici mogu pristupiti FTP poslužitelju.
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
Kako biste spriječili da korisnici FTP-a pristupe bilo kojoj datoteci izvan matičnih direktorija, komentiraju
chroot
postavke.
chroot_local_user=YES
Prema zadanim postavkama radi sprječavanja sigurnosne ranjivosti, kada je omogućen chroot vsftpd, odbija odbijati datoteke ako direktorij u koji su korisnici zaključani može pisati.
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.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.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.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 na kraju datoteke:
userlist_enable=YES userlist_file=/etc/vsftpd.user_list userlist_deny=NO
Kad 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/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
Nakon kreiranja SSL certifikata otvorite vsftpd konfiguracijsku datoteku:
sudo nano /etc/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/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/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.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
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), pokrenite sljedeće naredbe:
sudo ufw allow 20:21/tcp
sudo ufw allow 30000:31000/tcp
Da ne bi bili zaključani, otvorit ćemo i priključak
22
:
sudo ufw allow OpenSSH
Ponovno učitajte UFW pravila onemogućavanjem i ponovnim omogućavanjem UFW:
sudo ufw disable
sudo ufw enable
Da biste provjerili pokretanje promjena:
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)
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
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 s vašim poslužiteljem pomoću bilo kojeg FTP klijenta koji se može konfigurirati za korištenje TLS šifriranja, poput 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.
Napravite 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 svih korisnika 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 Debian 9 sustavu.
ftp debianKako postaviti openvpn poslužitelj na debianu 9

VPN vam omogućuje povezivanje s udaljenim VPN poslužiteljima, čineći vašu vezu šifriranom i sigurnom i anonimno surfajte internetom čuvajući svoje podatke o prometu. Ovaj će vam vodič kroz postupak postavljanja vlastitog VPN poslužitelja instalirati i konfigurirati OpenVPN.
Kako postaviti ftp poslužitelj s vsftpd na centos 7

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.