vsftpd

Linux.fista
Versio hetkellä 11. heinäkuuta 2023 kello 11.56 – tehnyt Pyscowicz (keskustelu | muokkaukset)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun


vsftpd
Käyttöliittymä taustapalvelu
Lisenssi GPLv2
Kotisivu security.appspot.com/vsftpd.html

vsftpd (Very Secure FTP Daemon) on FTP-taustapalvelu.

Asennus

vsftpd löytyy useimpien jakeluiden paketinhallinnasta nimellä vsftpd. Lisätietoja ohjelmien asentamisesta löytyy artikkelista Ohjelmien asentaminen.

Asetukset

Komennot, jotka alkavat $-merkillä suoritetaan tavallisena käyttäjänä ja komennot, jotka alkavat #-merkillä suoritetaan pääkäyttäjänä. Katso myös su, sudo ja doas.

Ohjelman asetustiedoston sijainti riippuu hieman jakelusta.
CentOS

/etc/vsftpd/vsftpd.conf

Debian

/etc/vsftpd.conf

Asetusten kommentoiminen ulos ei välttämättä auta, sillä vsftpd saattaa tuolloin käyttää oletusasetuksia. Asetusten muuttamisen jälkeen vsftpd tulee myös aina käynnistää uudelleen, jotta asetukset tulevat voimaan.

# service vsftpd restart 

Anonyymi FTP-tunnus voidaan ottaa pois käytöstä muuttamalla anonymous_enable asetusta

anonymous_enable=NO

Kun käyttäjä yhdistää FTP-palvelimelle, voi käyttäjä liikkua koko järjestelmässä mikäli tiedostot ja hakemistot ovat luettavissa. Tämä ei ole suotavaa, sillä kuka tahansa käyttäjä voi tuolloin lukea ja ladata tiedostoja esimerkiksi /etc, /var tai /usr hakemistoista. Käyttäjien oikeudet voidaan rajata heidän omiin kotihakemistoihinsa muuttamalla chroot_local_user-asetusta.

chroot_local_user=YES

FTP on suunniteltu selväkieliseksi protokollaksi, mikä tarkoittaa sitä että tiedot kulkevat salaamattomina asiakkaan ja palvelimen välillä. Yhteys voidaan kuitenkin salata SSL/TLS-protokollalla. Ensin luodaan sertifikaatti ja salainen avain.

# openssl req -x509 -days 365 -newkey rsa:2048 -nodes -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem

Tämän jälkeen tulee asetustiedostoon lisätä seuraavat muutokset:

# Otetaan TLS/SSL käyttöön
ssl_enable=YES

# Pakotetaan asiakasohjelma käyttämään TLS-salausta sisäänkirjautuessa
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH

# Määritellään SSL-sertifikaatti ja salainen avain
rsa_cert_file=/etc/vsftpd/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/vsftpd.pem

# Määritellään portit passiivisille yhteyksille
pasv_max_port=65535
pasv_min_port=64000

vsftpd tarjoaa useita tapoja yhteyksien ja kaistan hallintaan.

# Anonyymien yhteyksien nopeus voidaan rajoittaa esimerkiksi 50KB/s
anon_max_rate=50000

# Käyttäjien yhteyksien nopeus voidaan rajoittaa esimerkiksi 100KB/s
local_max_rate=100000

# Yhteys katkaistaan 300 sekunnin toimettomuuden jälkeen
idle_session_timeout=300

# Maksimi yhteyksien määrä yhdestä IP-osoitteesta auttaa torjumaan muun muassa palvelunestohyökkäyksiä.
max_per_ip=50

Lokitus kannattaa myös ottaa käyttöön.

xferlog_enable=YES
xferlog_std_format=NO
xferlog_file=/var/log/vsftpd.log 
log_ftp_protocol=YES
debug_ssl=YES