Uitleg van structuur, symbolen, commando’s en FTP-sessieflow
1. Structuur van een logregel
Elke regel in een FileZilla-logbestand heeft hetzelfde format:
[Timestamp] [Richting] [Sessie-info] [FTP commando/respons]
Voorbeeld:
2023-01-09T05:12:40.802Z >> [FTP Session 3 10.0.191.12 BramBurg] RETR Nacha File.xlsx
De onderdelen:
| Onderdeel | Voorbeeld | Betekenis |
| Timestamp | 2023-01-09T05:12:40Z | Datum en tijdstip van de actie (UTC) |
| Richting | >> | Wie iets stuurt (client of server) |
| Sessie-info | [FTP Session 3 10.0.191.12 BramBurg] | Sessienummer, IP-adres en gebruikersnaam |
| FTP commando | RETR Nacha File.xlsx | Het commando of de respons |
2. Richtingssymbolen
De symbolen geven aan wie er communiceert:
| Symbool | Betekenis |
| >> | Client stuurt een commando naar de server |
| << | Server antwoordt terug naar de client |
| == | Systeem- of servermelding (geen FTP-verkeer) |
| II | Informatie — sessie aangemaakt of vernietigd |
3. FTP-responscodes
De server antwoordt altijd met een 3-cijferige code gevolgd door een bericht:
| Code | Betekenis |
| 1xx | Positief tussentijds — overdracht is gestart |
| 2xx | Succes — commando is geslaagd (bijv. 226 Operation successful) |
| 3xx | Meer info nodig — bijv. 331 wachtwoord vereist |
| 4xx | Tijdelijke fout — probeer het later opnieuw |
| 5xx | Permanente fout — bijv. 530 Login incorrect |
4. Veelgebruikte FTP-commando’s
| Commando | Wat het doet |
| USER / PASS | Inloggegevens versturen |
| CWD | Van map wisselen (Change Working Directory) |
| PWD | Huidige map opvragen (Print Working Directory) |
| MLSD | Inhoud van een map weergeven (directory listing) |
| RETR | Een bestand downloaden van de server |
| STOR | Een bestand uploaden naar de server |
| PASV | Passieve modus inschakelen (datakanaal openen) |
| TYPE I / TYPE A | Binaire (I) of tekst (A) overdrachtsmodus instellen |
| SYST / FEAT | Serverinformatie en functionaliteiten opvragen |
5. Hoe een FTP-sessie werkt (stap voor stap)
Een volledige sessie bestaat uit meerdere stappen. Hier is een typisch voorbeeld van inloggen en een bestand downloaden:
| Stap | Commando / Respons | Uitleg |
| 1 | 220 FileZilla Server | Server verwelkomt de client |
| 2 | >> USER BramBurg | Client stuurt gebruikersnaam |
| 3 | << 331 Specify password | Server vraagt om wachtwoord |
| 4 | >> PASS **** | Client stuurt wachtwoord (verborgen) |
| 5 | << 230 Login successful | Inloggen geslaagd |
| 6 | >> CWD /Data/Accounting_safe | Client navigeert naar een map |
| 7 | << 250 CWD successful | Server bevestigt mapwijziging |
| 8 | >> PASV | Client vraagt passieve modus voor dataoverdracht |
| 9 | << 227 Entering Passive Mode | Server opent een poort voor data |
| 10 | >> RETR Nacha File.xlsx | Client vraagt het bestand op |
| 11 | << 150 … 226 Successful | Bestand wordt overgestuurd en overdracht voltooid |
6. Extra technische begrippen
PASV — Passieve modus
FTP gebruikt twee verbindingen: een voor commando’s (poort 21) en een voor de bestandsdata zelf. Met PASV opent de server een extra poort voor de data en verbindt de client daarmee. De getallen in de respons 227 Entering Passive Mode (150,151,12,134,235,180) coderen het IP-adres en de poort. De laatste twee getallen x 256 geven de poortnummer: 235 x 256 + 180 = 60340.
TYPE I vs TYPE A
Voor elke bestandsoverdracht stelt de client de overdrachtsmodus in:
- TYPE I: TYPE I = binaire modus. Gebruik dit voor bestanden zoals .xlsx, .pdf, .zip.
- TYPE A: TYPE A = ASCII-modus. Gebruik dit voor gewone tekstbestanden.
Als je ASCII-modus gebruikt voor een binair bestand, raakt het bestand beschadigd.
tls_mode = 0
In de logs staat [FTP Server] Listening on 0.0.0.0:21 (tls_mode = 0). Dit betekent dat gewone, onversleutelde FTP-verbindingen mogelijk zijn. Wachtwoorden en bestanden worden dan als leesbare tekst over het netwerk verstuurd. De veilige versie heet FTPS (FTP over TLS).
530 Login incorrect
Dit is de foutcode voor een mislukte inlogpoging. In de logs is te zien dat er twee mislukte pogingen waren voor gebruiker AnnieStryker, gevolgd door een succesvolle derde poging. Dit patroon wordt brute-force of credential guessing genoemd.
7. Verdachte patronen in dit logbestand
| Bevinding | Detail |
| Vroege toegang | BramBurg was actief om 05:12 ‘s ochtends |
| Gevoelig bestand | Nacha File.xlsx (betalingsdata) twee keer gedownload |
| Brute-force aanval | 2x mislukt + 1x geslaagd voor AnnieStryker vanuit IP 10.101.0.77 |
| Financiele mappen | Toegang tot /Accounting_safe, /EFT en /YE 2014 Audit |
| Geen TLS op FTP | tls_mode = 0, onversleuteld verkeer is mogelijk |