FTP (File Transfer Protocol) on suhteellisen vanha ja eniten käytetty standardi verkkoprotokolla, jota käytetään lataamalla/lataamalla tiedostoja kahden tietokoneen välillä verkon yli. FTP kuitenkin alkuperäisen epävarmuutensa vuoksi, koska se lähettää tietoja yhdessä käyttäjätunnusten (käyttäjätunnus ja salasana) kanssa ilman salausta.
Varoitus: Jos aiot käyttää FTP, sinun kannattaa ehkä määrittää FTP-yhteyden kautta SSL/TLS (kattaa ensi artikla). Muuten on aina parempi käyttää secure FTP kuten SFTP.,
Ehdotti Lue: Kuinka Asentaa ja Turvallinen FTP-Palvelimen CentOS 7
tässä opetusohjelmassa, aiomme näyttää, miten asentaa, konfiguroida ja turvallinen FTP-palvelin (VSFTPD kokonaisuudessaan ”Erittäin Turvallinen FTP Daemon”) Ubuntu on tehokas turvallisuus vastaan FTP-haavoittuvuuksia.
Vaihe 1: Vsftp-palvelimen asentaminen Ubuntuun
1. Ensinnäkin, meidän täytyy päivittää järjestelmän pakkauksen lähteiden luettelo ja sitten asentaa VSFTPD binary paketti seuraavasti:
$ sudo apt-get update$ sudo apt-get install vsftpd
2., Kun asennus on valmis, palvelu poistetaan käytöstä aluksi, sen vuoksi, meidän täytyy käynnistää sen manuaalisesti aikaa ja myös avulla se käynnistyy automaattisesti ensi käynnistyksen:
3., Seuraavaksi, jos sinulla on UFW-palomuuri käytössä ( se ei ole oletusarvoisesti käytössä) palvelimelle, sinun täytyy avata portit 21 ja 20, jossa FTP-demonit ovat kuuntelu, jotta pääsy FTP-palveluja kauko-koneita, lisää sitten uusi palomuuri sääntöjä seuraavasti:
$ sudo ufw allow 20/tcp$ sudo ufw allow 21/tcp$ sudo ufw status
Vaihe 2: Määrittäminen ja Turvaaminen VsFTP Server Ubuntu
4. Nyt suorittaa muutamia kokoonpanoja setup ja turvata FTP-palvelin, ensin luomme varmuuskopion alkuperäisen config tiedosto / etc/vsftpd / vsftpd.,conf like so:
$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
seuraavaksi avataan vsftpd config-tiedosto.
$ sudo vi /etc/vsftpd.confOR$ sudo nano /etc/vsftpd.conf
Lisää/muokkaa seuraavista vaihtoehdoista, joilla nämä arvot:
anonymous_enable=NO # disable anonymous loginlocal_enable=YES# permit local loginswrite_enable=YES# enable FTP commands which change the filesystemlocal_umask=022 # value of umask for file creation for local usersdirmessage_enable=YES # enable showing of messages when users first enter a new directoryxferlog_enable=YES# a log file will be maintained detailing uploads and downloadsconnect_from_port_20=YES # use port 20 (ftp-data) on the server machine for PORT style connectionsxferlog_std_format=YES # keep standard log file formatlisten=NO # prevent vsftpd from running in standalone modelisten_ipv6=YES # vsftpd will listen on an IPv6 socket instead of an IPv4 onepam_service_name=vsftpd # name of the PAM service vsftpd will useuserlist_enable=YES # enable vsftpd to load a list of usernamestcp_wrappers=YES # turn on tcp wrappers
5. Nyt, määritä VSFTPD sallia / kieltää FTP pääsy käyttäjille perustuu käyttäjäluettelon tiedosto / etc / vsftpd.userlist.
huomaa, että oletuksena userlist_file=/etc / vsftpd: ssä luetellut käyttäjät.userlist evätään kirjautuminen pääsy userlist_deny=YES
vaihtoehto, jos userlist_enable=YES
.,
Mutta, vaihtoehto userlist_deny=NO
käänteitä merkitys oletusasetus, joten vain käyttäjille, joiden käyttäjätunnus on nimenomaisesti lueteltu userlist_file=/etc/vsftpd.userlist saa kirjautua FTP-palvelimelle.
Tärkeää: Kun käyttäjät kirjaudu FTP-palvelimelle, ne sijoitetaan chroot jail, tämä on paikallinen root hakemistoon, joka toimii heidän kotiin hakemisto FTP-istunto vain.
seuraavaksi tarkastelemme kahta mahdollista skenaariota siitä, miten chrooted jail (local root) – Hakemisto asetetaan, kuten alla selitetään.
6., Tässä vaiheessa, let ’ s lisätä/muokata / uncomment nämä kaksi seuraavaa vaihtoehtoa rajoittaa FTP-käyttäjät niiden kotiin hakemistoja.
chroot_local_user=YESallow_writeable_chroot=YES
vaihtoehto chroot_local_user=YES
tärkeintä tarkoittaa paikalliset käyttäjät sijoitetaan chroot jail, niiden koti hakemistoon oletuksena sisäänkirjautumisen jälkeen.
Ja meidän täytyy myös ymmärtää, että VSFTPD ei salli niiden chroot jail-hakemistoon kirjoitusoikeus, oletusarvoisesti turvallisuussyistä, voimme kuitenkin käyttää vaihtoehto allow_writeable_chroot=KYLLÄ tämä asetus poistetaan käytöstä.
Tallenna tiedosto ja sulje se., Sitten meidän täytyy uudelleen VSFTPD palvelujen muutokset edellä voimaan:
------------- On SystemD ------------- # systemctl restart vsftpd------------- On SysVInit ------------- # service vsftpd restart
Vaihe 3: Testaus VsFTP Server Ubuntu
7. Nyt voimme testata FTP-palvelimelle luoda FTP-käyttäjä useradd-komennolla seuraavasti:
$ sudo useradd -m -c "Aaron Kili, Contributor" -s /bin/bash aaronkilik$ sudo passwd aaronkilik
Sitten meillä on erikseen lista käyttäjän aaronkilik tiedoston /etc/vsftpd.userlist echo-komennolla ja tee komento kuten alla:
$ echo "aaronkilik" | sudo tee -a /etc/vsftpd.userlist$ cat /etc/vsftpd.userlist
8. Nyt on jo aika testata yllä olevat kokoonpanomme toimivat tarpeen mukaan., Aloitamme testaamalla anonyymit kirjautumiset; voimme selvästi nähdä lähdön alla, että anonyymit kirjautumiset eivät ole sallittuja FTP-palvelin:
9. Seuraava, testataan, jos käyttäjä ei ole lueteltu tiedosto / etc / vsftpd.userlist saa kirjautumisluvan, mikä ei pidä paikkaansa seuraavasta lähdöstä:
10. Nyt teemme lopullisen testin sen määrittämiseksi, onko käyttäjä lueteltu tiedosto / etc / vsftpd.userlist, on todella sijoitettu hänen / hänen kotihakemistoon kirjautumisen jälkeen., Ja tämä on totta lähdön alla:
Varoitus: Asetus vaihtoehto allow_writeable_chroot=YES
voi olla niin vaarallista, se on mahdollista turvallisuuden kannalta, varsinkin jos käyttäjät ovat ladata lupaa, tai enemmän, shell-yhteys. Käytä sitä vain, jos tiedät tarkalleen, mitä teet.
meidän pitäisi huomata, että nämä turvallisuusvaikutukset eivät ole erityisiä VSFTPD, ne voivat myös vaikuttaa kaikkiin muihin FTP daemons jotka tarjoavat laittaa paikallisia käyttäjiä chroot vankilat.,
tästä syystä selitämme alla olevassa kohdassa turvallisemman tavan asettaa käyttäjälle erilainen ei-kirjoitettava paikallinen juurihakemisto.
Vaihe 4: Määritä FTP-käyttäjän kotihakemistot Ubuntussa
11. Avaa VSFTPD-asetustiedosto vielä kerran.,
$ sudo vi /etc/vsftpd.confOR$ sudo nano /etc/vsftpd.conf
ja kommentoida suojaamattomia vaihtoehto käyttää #
hahmo, kuten alla:
#allow_writeable_chroot=YES
Seuraavaksi, luoda vaihtoehtoisia paikallisia root directory käyttäjä (aaronkilik, sinun on mahdollisesti ei sama) ja asettaa tarvittavat oikeudet poistamalla kirjoitusoikeudet kaikille muille käyttäjille tämä hakemisto:
$ sudo mkdir /home/aaronkilik/ftp$ sudo chown nobody:nogroup /home/aaronkilik/ftp$ sudo chmod a-w /home/aaronkilik/ftp
12., Luo sitten hakemisto paikallisten root, joilla on asianmukaiset käyttöoikeudet, jossa käyttäjä tallentaa tiedostot:
sen Jälkeen, lisätä/muokata vaihtoehtoja alla VSFTPD config-tiedoston kanssa niiden vastaavat arvot:
Tallenna tiedosto ja sulje se. Ja käynnistä VSFTPD palvelujen kanssa viime asetukset:
------------- On SystemD ------------- # systemctl restart vsftpd------------- On SysVInit ------------- # service vsftpd restart
13. Nyt, tehdään lopullinen tarkistus ja varmista, että käyttäjän paikallinen juurihakemisto on FTP-hakemisto, jonka loimme hänen kotihakemistossaan.,