FTP palvelin / FTP server
Sisällysluettelo:
- edellytykset
- Vsftpd: n asentaminen CentOS 7: een
- Konfigurointi vsftpd
- 1. FTP-käyttö
- 2. Latausten salliminen
- 3. Chroot-vankila
- 4. Passiiviset FTP-yhteydet
- 5. Käyttäjän sisäänkirjautumisen rajoittaminen
- 6. Lähetysten turvaaminen SSL / TLS: llä
- Käynnistä vsftpd-palvelu uudelleen
- Palomuurin avaaminen
- FTP-käyttäjän luominen
- Poista Shell Access käytöstä
- johtopäätös
FTP (File Transfer Protocol) on tavanomainen asiakas-palvelin-verkkoprotokolla, jonka avulla käyttäjät voivat siirtää tiedostoja etäverkkoon ja siitä.
Linuxille on saatavana useita avoimen lähdekoodin FTP-palvelimia. Suosituimpia ja eniten käytettyjä ovat PureFTPd, ProFTPD ja vsftpd.
Asennamme tässä opetusohjelmassa vsftpd (Very Secure Ftp Daemon) CentOS 7: een. Se on vakaa, turvallinen ja nopea FTP-palvelin. Osoitamme sinulle myös kuinka määrittää vsftpd rajoittamaan käyttäjiä kotihakemistoonsa ja salaamaan koko lähetyksen SSL / TLS: llä.
Käytä SCP: tä tai SFTP: tä varmistaaksesi turvallisemman ja nopeamman tiedonsiirron.
edellytykset
Ennen kuin jatkat tätä opetusohjelmaa, varmista, että olet kirjautunut sisään käyttäjänä, jolla on sudo-oikeudet.
Vsftpd: n asentaminen CentOS 7: een
Vsftpd-paketti on saatavana oletus CentOS-arkistoissa. Asenna se antamalla seuraava komento:
sudo yum install vsftpd
Kun paketti on asennettu, käynnistä vsftpd-demoni ja anna sen käynnistyä automaattisesti käynnistyksen yhteydessä:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
Voit varmistaa, että vsftpd-palvelu on käynnissä tulostamalla sen tila:
sudo systemctl status vsftpd
Tulos näyttää alla olevalta, mikä osoittaa, että vsftpd-palvelu on aktiivinen ja käynnissä:
● 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
Konfigurointi vsftpd
Vsftpd-palvelun määrittäminen edellyttää /etc/vsftpd/vsftpd.conf-asetustiedoston muokkaamista. Suurin osa asetuksista on dokumentoitu hyvin asetustiedoston sisällä. Kaikkia käytettävissä olevia vaihtoehtoja saat viralliselta vsftpd-sivulta.
Seuraavissa osissa käsittelemme joitain tärkeitä asetuksia, joita tarvitaan suojatun vsftpd-asennuksen määrittämiseen.
Aloita avaamalla vsftpd-asetustiedosto:
sudo nano /etc/vsftpd/vsftpd.conf
1. FTP-käyttö
Sallimme pääsyn FTP-palvelimelle vain paikallisille käyttäjille, löydämme
anonymous_enable
ja
local_enable
direktiivit ja tarkistamme kokoonpanon vastaavan alla oleviin riveihin:
anonymous_enable=NO local_enable=YES
2. Latausten salliminen
write_enable
, jotta tiedostojärjestelmään voidaan tehdä muutoksia, kuten tiedostojen lähettäminen ja poistaminen.
3. Chroot-vankila
Estää FTP-käyttäjiä pääsemästä tiedostoihin kotihakemistonsa ulkopuolella kommentoimalla
chroot
direktiiviä.
chroot_local_user=YES
Oletuksena, kun chroot on käytössä, vsftpd kieltäytyy lähettämästä tiedostoja, jos hakemisto, johon käyttäjät on lukittu, on kirjoitettavissa. Tämän tarkoituksena on estää tietoturvahaavoittuvuus.
Käytä yhtä alla olevista tavoista sallia lataukset, kun chroot on käytössä.
-
Tapa 1. - Suositeltu menetelmä lataamisen sallimiseksi on pitää chroot käytössä ja määrittää FTP-hakemistot. Tässä opetusohjelmassa luomme käyttäjän kotona
/etc/vsftpd/vsftpd.confftphakemiston, joka toimii chroot- ja kirjoitettavien lähetyshakemistojen tiedostojen lähettämistä varten.user_sub_token=$USER local_root=/home/$USER/ftpTapa 2 - Toinen vaihtoehto on lisätä seuraava direktiivi vsftpd-määritystiedostoon. Käytä tätä vaihtoehtoa, jos käyttäjän on sallittava kirjoitettava käyttöoikeus käyttäjän kotihakemistoon.
/etc/vsftpd/vsftpd.confallow_writeable_chroot=YES
4. Passiiviset FTP-yhteydet
vsftpd voi käyttää mitä tahansa porttia passiivisiin FTP-yhteyksiin. Määritämme porttien vähimmäis- ja enimmäisalueet ja avaa myöhemmin alue palomuurissamme.
Lisää seuraavat rivit asetustiedostoon:
/etc/vsftpd/vsftpd.conf
pasv_min_port=30000 pasv_max_port=31000
5. Käyttäjän sisäänkirjautumisen rajoittaminen
Lisää vain tietyt käyttäjät kirjautua FTP-palvelimeen lisäämällä seuraavat rivit
userlist_enable=YES
rivin jälkeen:
userlist_file=/etc/vsftpd/user_list userlist_deny=NO
Kun tämä vaihtoehto on käytössä, sinun on määritettävä nimenomaisesti, mitkä käyttäjät voivat kirjautua sisään lisäämällä käyttäjätunnukset tiedostoon
/etc/vsftpd/user_list
(yksi käyttäjä rivillä).
6. Lähetysten turvaaminen SSL / TLS: llä
FTP-lähetysten salaamiseksi SSL / TLS: llä sinulla on oltava SSL-varmenne ja määritettävä FTP-palvelin käyttämään sitä.
Voit käyttää olemassa olevaa luotettavan varmentajan allekirjoittamaa SSL-varmennetta tai luoda itse allekirjoitetun varmenteen.
Tässä opetusohjelmassa luomme itse allekirjoitetun SSL-varmenteen käyttämällä
openssl
komentoa.
Seuraava komento luo 2048-bittisen yksityisen avaimen ja itse allekirjoitetun varmenteen, joka on voimassa 10 vuotta. Sekä yksityinen avain että varmenne tallennetaan samaan tiedostoon:
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem
Kun SSL-varmenne on luotu, avaa vsftpd-asetustiedosto:
sudo nano /etc/vsftpd/vsftpd.conf
Etsi
rsa_cert_file
ja
rsa_private_key_file
-direktiivit, vaihda niiden arvot
pam
tiedostopolkuun ja aseta
ssl_enable
arvoksi
YES
:
rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.pem ssl_enable=YES
Ellei toisin määritetä, FTP-palvelin käyttää suojattujen yhteyksien luomiseen vain TLS: ää.
Käynnistä vsftpd-palvelu uudelleen
Kun muokkaaminen on valmis, vsftpd-asetustiedoston (pois lukien kommentit) pitäisi näyttää noin:
/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
Tallenna tiedosto ja käynnistä vsftpd-palvelu uudelleen, jotta muutokset tulevat voimaan:
Palomuurin avaaminen
Portin
21
(FTP-komentoportti), portin
20
(FTP-dataportti) ja
30000-31000
(passiivisten porttien alue)
30000-31000
anna seuraavat komennot:
sudo firewall-cmd --permanent --add-port=20-21/tcp
sudo firewall-cmd --permanent --add-port=30000-31000/tcp
Lataa palomuurisäännöt uudelleen kirjoittamalla:
FTP-käyttäjän luominen
FTP-palvelimen testaamiseksi luomme uuden käyttäjän.
- Jos sinulla on jo käyttäjä, jonka haluat myöntää FTP-käyttöoikeuden, ohita ensimmäinen vaihe. Jos asetat
allow_writeable_chroot=YES, ohita kolmas vaihe.
-
Luo uusi käyttäjä nimeltä
newftpuser:sudo adduser newftpuserSeuraavaksi sinun on asetettava käyttäjän salasana:
sudo passwd newftpuserLisää käyttäjä sallittujen FTP-käyttäjien luetteloon:
echo "newftpuser" | sudo tee -a /etc/vsftpd/user_listLuo FTP-hakemistopuu ja aseta oikeat käyttöoikeudet:
sudo mkdir -p /home/newftpuser/ftp/uploadsudo chmod 550 /home/newftpuser/ftpsudo chmod 750 /home/newftpuser/ftp/uploadsudo chown -R newftpuser: /home/newftpuser/ftpKuten edellisessä osassa kerrottiin, käyttäjä voi lähettää tiedostot
ftp/uploadhakemistoon.
Tässä vaiheessa FTP-palvelimesi on täysin toiminnallinen, ja sinun pitäisi voida muodostaa yhteys palvelimellesi millä tahansa FTP-asiakkaalla, joka voidaan määrittää käyttämään TLS-salausta, kuten FileZilla.
Poista Shell Access käytöstä
Oletuksena, jos käyttäjä luodaan, jos käyttäjällä ei ole nimenomaista määritelmää, hänellä on SSH-yhteys palvelimelle.
Kuoriyhteyden poistamiseksi käytöstä luomme uuden kuoren, joka tulostaa yksinkertaisesti viestin, joka kertoo käyttäjälle, että hänen tilinsä on rajoitettu vain FTP-käyttöoikeuksiin.
Suorita seuraavat komennot luodaksesi
/bin/ftponly
kuoren ja tehdä siitä suoritettava:
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
Lisää uusi kuori kelvollisten kuorien luetteloon tiedostoon
/etc/shells
:
echo "/bin/ftponly" | sudo tee -a /etc/shells
Muuta käyttäjän kuori muotoon
/bin/ftponly
:
sudo usermod newftpuser -s /bin/ftponly
Käytä samaa komentoa vaihtaaksesi kuoren muille käyttäjille, jotka haluat antaa vain FTP-pääsyn.
johtopäätös
Tässä opetusohjelmassa opit kuinka asentaa ja määrittää turvallinen ja nopea FTP-palvelin CentOS 7 -järjestelmään.
ftp centosJBoss MASS (Migration Assistance) -projekti - joka käynnistettiin yhteisöllisenä ponnistuksina Red Hat -partnerien kanssa - tarjoaa ohjelmistoja, jotka auttavat yrityksiä siirtymään JBossiin sekä verkkoyhteisö, joka yhdistää uusia JBoss-asiakkaita muiden asiakkaiden ja kumppaneiden kanssa. on enemmän kokemusta työskentelystä alustan kanssa.
Red Hatin JBoss-tuotelinjan johtaja Aaron Darcy sanoi, että hankkeen tavoitteena on alentaa sisäänkäynnin estettä, jotta asiakkaat siirtyisivät JBossiin. Red Hat pyrkii tietenkin toivottavasti hankkimaan JBoss-asiakkaita projektin kautta, mikä lisää yrityksen tuloja.
Portinvartijan opas: kuinka suojata ja asentaa Mac-sovelluksia sen kanssa
Lisätietoja Gatekeeperistä ja kuinka sitä voidaan käyttää turvallisimpien sovellusten asentamiseen Mac-tietokoneelle.
Kuinka asentaa, asentaa hp officejet 6500a plus all-in-one -tulostin
Opi määrittämään ja asentamaan HP Officejet 6500A Plus All-in-one -tulostin.







