Er is een ernstige kwetsbaarheid gevonden in ProFTPD, een veelgebruikt FTP-programma in Linux. De kwetsbaarheid bevindt zich in de mod_copy module van ProFTPD.
Via deze kwetsbaarheid kan een aanvaller zonder schrijfpermissies elk bestand op een ProFTPD-server kopiëren, of op afstand willekeurige code uitvoeren. De aanvaller heeft hier wel een user account nodig, of anonymous user toegang op de ProFTPD-server (anonymous users toestaan is altijd onveilig en raden wij af).
Op moment van schrijven is er nog geen gepatchte versie beschikbaar van ProFTPD. In dit artikel leggen wij uit hoe je jouw ProFTPD server kunt controleren op deze kwetsbaarheid en hiertegen kunt beveiligen.
- De eigen systemen van TransIP zijn niet vatbaar voor deze kwetsbaarheid.
- Onze DirectAdmin- en cPanel-installaties gebruiken standaard PureFTPD en geen ProFTPD.
- Plesk gebruikt ProFTPD, maar nieuwere versies komen zonder de kwetsbare mod_copy module, zie dit artikel.
Controleren of je ProFTPD gebruikt en ProFTPD kwetsbaar is
Er zijn meerdere manieren om te controleren of je ProFTPD gebruikt en de mod_copy module actief is. De eenvoudigste is met het volgende commando (heb je voor FTP een andere poort dan 21 ingesteld, gebruik dan die poort in het commando):
$ echo -e "FEAT\nQUIT\n" | nc localhost 21 | grep COPY
Als je ProFTPD gebruikt en de mod_copy module actief is, krijg je een output te zien zoals in het screenshot hieronder.
Zie je geen "SITE COPY" in de output? Dan is jouw VPS niet kwetsbaar.
Je VPS beveiligen
Er zijn op dit moment twee manieren om je VPS te beveiligen tegen misbruik van de mod_copy module:
- De mod_copy-module uitzetten in ProFTPD
- Een andere FTP-server of SFTP via OpenSSH gebruiken.
Wij raden aan om in plaats van ProFTPD een ander FTP-programma of OpenSSH te gebruiken. ProFTPD wordt namelijk minder actief onderhouden dan andere alternatieven zoals PureFTP en vsftpd.
Mod_copy uitzetten
Stap 1
Open de configuratie van ProFTPD. Afhankelijk van je besturingssysteem gebruik je een van de volgende commando's:
CentOS
sudo nano /etc/proftpd.conf
Ubuntu / Debian
sudo nano /etc/proftpd/modules.conf
Stap 2
Plaats een # voor de regel waarin de mod_copy module geladen wordt. Het eindresultaat ziet er als volgt uit:
#
LoadModule mod_copy.c
Sla de wijzigingen op en sluit het bestand (ctrl + x > y > enter).
Stap 3
Herstart ProFTPD tot slot om de wijzigingen te verwerken:
systemctl restart proftpd
In Plesk gebruik je hiervoor het commando:
systemctl restart xinetd
Een ander FTP-programma of SFTP via OpenSSH gebruiken
In plaats van de configuratie van ProFTPD aan te passen, kun je ook een ander FTP-programma of SFTP via OpenSSH gebruiken. Hiervoor kun je gebruik maken van onze handleidingen, die je vindt op de volgende pagina's:
FTP via vsftpd
SFTP via OpenSSH
Als je een van deze opties gebruikt, vergeet dan niet ProFTPD te verwijderen of uit te zetten op je VPS als volgt:
ProFTPD uitzetten:
sudo systemctl stop proftpd
sudo systemctl disable proftpd
ProFTPD verwijderen:
Ubuntu / Debian:
sudo apt -y remove proftpd-basic
CentOS:
sudo yum -y remove proftpd
Je bent nu niet langer vatbaar voor de ProFTPD mod_copy kwetsbaarheid! Mocht je aan de hand van dit artikel nog vragen hebben, aarzel dan niet om onze supportafdeling te benaderen. Je kunt hen bereiken via de knop 'Neem contact op' onderaan deze pagina.
Wil je dit artikel met andere gebruikers bespreken, laat dan vooral een bericht achter onder 'Reacties'.
Het artikel zegt "Zie je geen mod_copy in de output? Dan is jouw VPS niet kwetsbaar.", terwijl er eigenlijk zou moeten staan: "Geeft de opdracht geen output? Dan is jouw VPS niet kwetsbaar."
Daarnaast kun je checken of jouw aanpassing het probleem heeft opgelost door via telnet een verbinding met FTP te maken:
Indien de tweede opdracht niet de melding
500 'SITE CPFR' not understood
geeft, dan staatmod_copy
nog aan.