FTP-server

Uit De Vliegende Brigade
Ga naar: navigatie, zoeken

Een FTP-server installeren? Weet je dat zeker? Bedenk dat FTP een onveiligig protocol is [1]:

Warning: FTP is inherently insecure. If you must use FTP, consider securing your FTP 
connection with SSL/TLS. Otherwise, it is best to use SFTP, a secure alternative to 
FTP.
  • Zelf maak ik alleen gebruik van SSH om toegang te krijgen tot externe servers
  • Van de alternatieve protocolllen, wordt sFTP het meest genoemd. Het betreft FTP over SSH [2]

De rest van dit artikel heeft uitsluitend betrekking op 'gewoon' FTP, wat dat ook precies moge zijn -- Zal wel iets met een handshake op poort 21 zijn plus communicatie over een willekeurige andere poort ofzo. En verder heeft het enkel betrekking op Linux.

FTP servers - Selectie

Long list (dec. 2016)

Short list (dec. 2016)

vsFTPd. Redenen:

  • Meest-genoemde
  • Deze Archlinux-pagina omschrijft het als Lightweight, stable and secure FTP server for UNIX-like systems
  • Min-of-meer de standaard Ubuntu-FTP-server.

Casus: Installatie vsFTP voor mezelf (nov. 2017)

Dit is de eenvoudigste casus: Alleen zelf kunnen inloggen

  • Dit betreft een quick & dirty installatie voor tijdelijk gebruik, binnen een testomgeving
  • Hoe het werkt: vsFTP maakt gebruik van accounts. Dat zijn de gebruikelijke UNIX inlogaccounts. Dus op m'n eigen laptop is er maar één zo'n account, namelijk dat van mezelf. Als ik na installatie & configuratie inlog, beland ik dus in /home/strompf/

Installatie & configuratie

Installatie is simpel:

sudo apt-get install vsftpd

Configuratie gaat via bestand /etc/vsftpd.conf. Dit is wat ik heb aangepast, conform [14]:

###########################################################################
# anynoymous_enable
###########################################################################
#
# Allow anonymous FTP? (Disabled by default).
#
anonymous_enable=NO

###########################################################################
# local_enable
###########################################################################
#
# Uncomment this to allow local users to log in.
#
local_enable=YES

###########################################################################
# write_enable
############################################################################
#
# Uncomment this to enable any form of FTP write command.
#
write_enable=YES

en

##############################################################################
# chroot_local_user
##############################################################################
#
# You may restrict local users to their home directories.  See the FAQ for
# the possible risks in this before using chroot_local_user or
# chroot_list_enable below.
#
# Oftewel: beperk gebruikers tot hun eigen account (natuurlijk!)
#
chroot_local_user=YES

Resultaat

Voilà: Via ftp://localhost krijg ik m'n gewone Linux-thuismap te zien, dus /home/strompf/. Al die bestanden met grootte 0, zijn links. Wo. de link www, die naar /var/www/ verwijst. Op die manier kan ik via FTP bij alle virtuele domeinen (brrr!)

Casus: Tijdelijke vps-kloon met FTP-toegang (nov. 2017)

Casus

  • Twee externe partijen toegang geven tot twee domeinen
  • Gewoon FTP

Plan van Aanpak

  • Bestaande vps klonen
  • Alle domeinen, databases & scripts verwijderen (op de twee benodigde domeinen na)
  • Computer-account maken voor die externe partijen
  • FTP-server installeren alsof het om één account gaat
  • DNS-entries van die twee domeinnamen aanpassen.

Acties

  • VPS geklooned
  • Naam nieuwe VPS aanpassen, om vergissingen te voorkomen:

Bronnen

vsFTPd

vsFTPd & virtual domains