vsftpd
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
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