In de Spend Cloud kun je bestanden uploaden om deze vervolgens geautomatiseerd te laten verwerken in de importplanning. Om het uploaden van deze bestanden zo geautomatiseerd en veilig mogelijk te maken, is het mogelijk deze bestanden via SCP (Secure Copy Protocol) te uploaden, via public/private key authenticatie. Het volgende stappenplan legt uit hoe je de verbinding tot stand kunt brengen.
Let op: Om gebruik te maken van de verbinding met SCP zijn kosten verbonden. Mocht je hier nog geen abonnement van hebben, neem dan contact op met jouw accountmanager.
Lees meer over de veiligheid van SCP onderaan dit artikel.
1. Het installeren van WinSCP
- Download en installeer WinSCP van https://winscp.net/eng/downloads.php . Indien je WinSCP al geïnstalleerd hebt, zorg dan dat deze is bijgewerkt naar de laatste versie.
2. Het genereren van een key pair
- Na de installatie van WinSCP kun je ook gebruik maken van het programma 'puttygen'. Start dit programma op. Je krijgt dit scherm te zien:
- Klik op 'Generate' om een nieuwe key pair te genereren. Je krijgt een scherm zoals dit te zien:
Let erop dat dit een RSA key is (zie Parameters), dus geen SSH-1 (RSA) key.
- Klik op 'Save private key' en sla de private key op een veilige plek op. De private key is, zoals de naam al zegt, 'private'. Hiermee kan straks ingelogd worden op de SCP server van de Spend Cloud. Het is zaak om deze key veilig op te slaan. Iedereen die deze key in bezit heeft, kan inloggen op de SCP server van de Spend Cloud en toegang krijgen tot de upgeloade bestanden. Deze key hebben we straks nodig als we gaan inloggen
- Het stuk tekst in het bovenste kader bij "Public key for pasting into OpenSSH authorized_keys file" moet gekopieerd worden naar de Spend Cloud
3. De Public Key in de Spend Cloud toevoegen
- Selecteer en kopieer de tekst uit de vorige stap en open de Spend Cloud. Navigeer naar "Applicatiebeheer-->Algemeen-->SCP Authenticatie". Dit scherm ziet er zo uit:
- Let goed op of de key altijd begint met ssh-rsa gevolgd door een spatie.
- Plak de public key in het input veld en klik vervolgens op 'Sleutel toevoegen' om de sleutel op te slaan. Dit duurt even
- De Spend Cloud is nu klaar om verbinding te maken via SCP
4. Verbinding maken via SCP
- Start WinSCP op. Je krijgt onderstaand scherm te zien:
- Vul de volgende gegevens in:
- Hostname voor productie: sftp.spend.cloud
- Hostname voor test: sftp.test.spend.cloud
- Username: De naam van de omgeving in kleine letters.
- Klik op advanced en selecteer 'Authentication' onder 'SSH'. Hier moet bij "Private key file" het private key bestand worden aangewezen dat bij stap 2, bullet drie is gegenereerd
- Klik op OK en "Login". Er wordt nu verbinding gemaakt met de Spend Cloud. Bij de eerste keer inloggen dient de key fingerprint van de server te worden geaccepteerd
- Als er succesvol is ingelogd, zie je twee mappen, 'auto_export' en 'auto_import'. De bestanden die je wilt aanbieden om automatisch verwerkt te worden dienen in de map 'auto_import' geplaatst te worden.
5. Automatische upload, WinSCP batch modus
- Voor automatische verwerking kent WinSCP een batch modus, waarmee het uploaden van bestanden geautomatiseerd kan worden. WinSCP kan door middel van een script opdrachten krijgen. Zo een script kan er zo uitzien:
Uiteraard kunnen de paden en bestandsnamen naar wens aangepast worden.
- Het aanroepen van dit script op de console gaat als volgt: WinSCP/console/script=omgevingsnaam.txt. Dit kan uiteraard vanuit de directory waar omgevingsnaam.txt staat en waar de opdracht winscp herkend wordt
- Deze aanroep kan vervolgens ingepland worden om op gezette tijden te draaien. In de Spend Cloud kan vervolgens een automatische import opdracht geactiveerd worden. Graag enige tijd tussen deze twee opdrachten laten, zodat het zeker is dat de upload van de gegevens is afgerond zodra de import gaat draaien
Is het uploaden van bestanden via SCP veilig?
Bestanden uploaden via SCP (Secure Copy Protocol) wordt over het algemeen beschouwd als een veilige methode. SCP maakt gebruik van SSH (Secure Shell) om gegevens veilig te verzenden tussen computers. Hier zijn enkele redenen waarom SCP veilig is:
- Encryptie: SCP maakt gebruik van dezelfde encryptiestandaarden als SSH. Dit betekent dat de gegevens tijdens de overdracht worden versleuteld, wat voorkomt dat derden de bestanden kunnen onderscheppen en lezen.
- Authenticatie: SCP maakt gebruik van SSH-authenticatie, wat inhoudt dat je een gebruikersnaam en wachtwoord, of een SSH-sleutel, nodig hebt om toegang te krijgen tot de server. Dit vermindert de kans op ongeautoriseerde toegang. Hierboven kon je al lezen over hoe deze SSH-sleutel te genereren en toe te passen.
- Integriteit: Omdat SCP via SSH werkt, profiteert het ook van de mogelijkheden van SSH om de integriteit van de verzonden gegevens te waarborgen. Dit betekent dat als de gegevens onderweg worden gemanipuleerd, dit kan worden gedetecteerd.
- Simpliciteit: SCP is eenvoudig en rechttoe rechtaan, wat betekent dat er minder ruimte is voor configuratiefouten die de beveiliging kunnen ondermijnen.
Hoewel SCP over het algemeen veilig is, zijn er enkele overwegingen:
- Vertrouwde SSH-sleutels: Zorg ervoor dat je SSH-sleutels goed worden beheerd. Verlies of diefstal van een privé-sleutel kan leiden tot ongeautoriseerde toegang.
- Serverbeveiliging: SCP is zo veilig als de onderliggende SSH-configuratie en de beveiliging van de server waarnaar je uploadt. Als de server kwetsbaar is, kan SCP ook risico's met zich meebrengen.
- Alternatieven: Voor sommige use cases bieden alternatieven zoals SFTP (Secure File Transfer Protocol) en rsync over SSH vergelijkbare of betere functionaliteiten met mogelijk meer controle over de overdracht, zoals het hervatten van onderbroken overdrachten.
Kortom, SCP is een veilige methode voor bestandsoverdracht, mits het correct is geconfigureerd en gebruikt in een veilige omgeving.