2008-03-17 1 (10) Anslutning av förvalsoperatör till Svalan Innehåll Sida 1 Syfte och kontaktperson 2 2 Översiktlig beskrivning av filsambandet 2 2.1 Schematisk översikt 2 2.2 Katalogstruktur 3 2.3 Användning 3 2.3.1 Lämna förvalsbeställningar 3 2.3.2 Ta emot svar på förvalsbeställningar 3 3 Programmering 4 3.1 Programvara 4 3.2 Parametersättning och programfunktioner 4 3.3 Exempelscript 5 4 Införande 8 4.1 Tester 8 4.2 Driftsättning 9 5 Teknisk support 9 6 Appendix 10 6.1 Använda begrepp 10 Organisationsuppgifter Godkänd Giltig från Upphör TeliaSonera Sweden-SE Säte: Stockholm Giltig för Utskriven Org.nr: 556430-0142
2008-03-17 2 (10) 1 Syfte och kontaktperson Detta dokument är till för att ge kompletterande upplysningar i samband med installation av förbindelse som används för att skicka beställningsfiler avseende förval till Svalan. För övriga upplysningar om förval hänvisas till dokumentet Produktbeskrivning TeliaSonera Förval. Detta finns med som avtalsbilaga i avtal tecknat mellan förvalsoperatör och Telia. TS leveranssupport (se avsnitt 6.1) utgör kontaktperson gentemot förvalsoperatör. Detta gäller samtliga ärenden kopplat till filsamband mellan förvalsoperatör och Svalan. 2 Översiktlig beskrivning av filsambandet 2.1 Schematisk översikt Svalan Internet SSH Förvalsoperatör Brandvägg Figur 1. Schematisk översikt av filsambandet. Filutbyte mellan förvalsoperatör och Svalan sker med hjälp av en krypterad SSH-tunnel över internet, se Figur 1. Filöverföring sker antingen med scp (secure copy) eller sftp (secure ftp) som båda ingår i SSH-protokollet. Uppkoppling av SSH-tunnel sker med hjälp av nyckelautentisering. SSH med lösenordsautentisering kommer inte att vara möjligt.
2008-03-17 3 (10) 2.2 Katalogstruktur Då en förvalsoperatör har anslutit sig till Svalan ges tillgång till den katalogstruktur som presenteras i Tabell 1. Namn Behörighet Kommentar.ssh Läs Operatörens publika nyckel Inkorg Läs och skriv Beställningsfiler in till Svalan Utkorg Läs och skriv Svarsfiler ut från Svalan etc Läs Systemfiler lib Läs Systemfiler usr Läs Systemfiler Tabell 1. Svalans katalogstruktur 2.3 Användning 2.3.1 Lämna förvalsbeställningar Förvalsbeställningar lämnas till Svalan enligt följande hanteringsfall: 1. Förvalsoperatören samlar ihop förvalsbeställningar i en förvalsbeställningsfil med upp till 10 000 beställningsposter (nationellt eller internationellt förval). Filen får enbart innehålla förvalsbeställningar för ett enda prefix, dvs förvalsoperatörens. 2. Beställningsfilen lämnas i Svalans inkorg, se avsnitt 2.2 Katalogstruktur. 3. Varje vardag efter kl 12 hämtar Svalan en förvalsbeställningsfil i inkorgen (om det finns någon fil att hämta). Om det finns fler än en beställningsfil i inkorgen väljs den med det lägsta sekvensnumret. 4. Svalan raderar den fil som hämtats. 5. Svalan påbörjar processen med att aktivera förvalsbeställningar enligt förvalsoperatörens beställningsfil. 2.3.2 Ta emot svar på förvalsbeställningar Svar på förvalsbeställningsfiler hanteras enligt följande: 1. De beställningsposter som är färdigprocessade samlas dagligen ihop av Svalan till en svarsfil. 2. Svalan lämnar svarsfil (givet att det finns beställningsposter som är klara) varje dag före kl 12 i Svalans utkorg för aktuell operatör, se avsnitt 2.2 Katalogstruktur. 3. Förvalsoperatören hämtar svarsfilen i katalogen Utkorg. 4. Förvalsoperatören raderar den fil som hämtats. 5. Förvalsoperatören går igenom och hanterar Svalans svar för respektive beställningspost.
2008-03-17 4 (10) 3 Programmering 3.1 Programvara Det finns ett flertal olika programvaror som stödjer SSH-standarden. Det finns SSH-program för de flesta datorplattformar och operativsystem. En del programvaror kan vara gratis och andra betalversioner. Varje operatör avgör själv vilken programvara som skall användas. 3.2 Parametersättning och programfunktioner Ett antal parametrar behövs för att upprätta SSH-förbindelsen mellan operatör och Svalan. I Tabell 2 presenteras vilka värden som gäller i det specifika fallet. Beskrivning Värde Kommentar IP-adress, Svalan 193.44.164.222 (DNS-namn: svalan-sftp.telia.se) Behövs för att operatören skall hitta Svalan på internet. TCP-port, Svalan 22 (SSH) Svalans SSH-kommunikation sker på port 22, vilket också är den port som är gängse standard för SSH. IP-adress, operatör «a.b.c.d*» Behövs för brandväggsöppning gentemot Svalan. Värdet är hämtat från operatörens beställningsformulär. Kontonamn, operatör «op95xy*» Behövs för SSH-uppkoppling. Publik nyckel, operatör Kontrollsumma (fingerprint) för publik nyckel, operatör Privat nyckel, operatör Mejlas till TS leveranssupport på adressen operator-kundtjanstnat@teliasonera.com Skickas i rekommenderat brev till TS leveranssupport «handläggare*» Dalsgatan 7, plan 6 601 89 Norrköping Hemlig för alla utom operatören Behövs för SSH-uppkoppling. Behövs för att verifiera att den publika nyckeln är äkta. Kontrollsumman består av ett mindre antal tecken och är därför lätt att hantera manuellt. Behövs för SSH-uppkoppling. Tabell 2. Parametrar som behövs för att få till en fungerande SSH-förbindelse mellan operatör «95XY*» och Svalan Generering av nycklar sker med hjälp av förvalsoperatörens SSH-programvara. Ett nyckelpar, privat och publik nyckel, genereras med ett och samma kommando (för Solaris kommandot ssh-keygen). Det rekommenderas att respektive förvalsoperatör använder sig av en 1024 bitars nyckel enligt krypteringsalgoritmen RSA.
2008-03-17 5 (10) Den privata nyckeln förvaras normalt på den dator från vilken förvalsoperatören har valt att föra över filer till och från Svalan. För högre säkerhet kan den privata nyckeln skyddas med ett lösenord, sk passphrase. Detta innebär att detta lösenord måste anges varje gång en SSHuppkoppling sker gentemot Svalan. Obs! Om förvalsoperatören har lösenordsskyddat sin privata nyckel och dessutom valt att föra över till och från Svalan med hjälp av ett programscript så är det inte möjligt att med hjälp av detta script ange det lösenord som efterfrågas. I dessa fall används vanligen en agent (separat program) i datorn som har till uppgift att mata in lösenordet i fråga. Detta går praktiskt till så att användaren manuellt knappar in den privata nyckelns lösenord i samband med uppstart av agent. Detta innebär i sin tur att om datorn startas om så måste den privata nyckelns lösenord anges på nytt. Ovanstående typ av agentprogram ingår som standard i vissa SSH-programvaror. För Solaris används ex kommandot ssh-agent för att starta agenten och där den privata nyckelns lösenord anges som en inparameter till detta agentprogram. Generering av kontrollsumma (fingerprint) av publik nyckel sker på liknande sätt som vid generering av nyckelpar (för Solaris kommandot ssh-keygen -l). För övriga programfunktioner hänvisas till programmanualen samt till exempelscript enligt avsnitt 3.3. 3.3 Exempelscript Följande exempelscript flyttar över en förvalsbeställningsfil från en förvalsoperatör till Svalan. Obs! I scriptet ingår inte hämtning och radering av svarsfiler från Svalan. Användning av scriptet görs på egen risk. För behov av support, se avsnitt 5 Teknisk support.!/bin/ksh Authors: Bo Sundvall, TeliaSonera AB David Skullered, TietoEnator AB Korn shell script example to transfer a file from the directory where you execute the script to svalan-vpn1 (193.44.164.222) using sftp with OpenSSH 4.3.2 on Solaris 9. By using key authorization and building batch files, sftp can be used to automate file transfers in scripts. If the script filename is example.ksh and the filename to transfer is preselection, you will execute the script by the command./example.ksh preselection
2008-03-17 6 (10) Function of the example script: - The script first checks that a file is selected for transfer and that this file exists. - Then the script transfers the file to the remote node using sftp together with batch files. - After the transfer, the script checks that the transfer has been successful by comparing the file sizes for the local file and the remote (transferred) file. - If the files are equal, a message is printed that the file transfer was successful. - If the file sizes differs, the script prints a message that the two files isn't equal, and removes the remote file.!!! Make your own changes below for USERNAME and SFTP_PATH!!! Change username to your own username on the remote machine!! Example: USERNAME="op9292" USERNAME="username" Set path to your own path for OpenSSH 4.3.2!! Example: SFTP_PATH="/usr/bin" SFTP_PATH="path" Set IP adress for remote machine! DESTINATION_IP="193.44.164.222" Default IP for svalan-vpn1 No changes has normally to be done below this line! Check that a file is selected for transfer. If not, print a message and exit. if [ x$1 = x ] then "Usage: "The script "`basename $0`" needs file to transfer." exit fi
2008-03-17 7 (10) Check that selected file exists. If not, print a message and exit. if [! -f $1 ] then "File "$1" does not exist!" exit fi Transfer file to svalan-vpn1: - Create a temporary batch file (with commands that transfer selected file to svalan-vpn1). - Run sftp with the batch file as input. - Remove the batch file (cleaning up). "cd /Inkorg" > $$batch "put "$1 >> $$batch "exit" >> $$batch $SFTP_PATH/sftp -b $$batch $USERNAME@$DESTINATION_IP rm -f $$batch Read and save information about the transferred file: - Create a new batch file (with commands that read and list information about transferred file). - Run sftp with the batch file as input and send output to a temp file. - Remove the batch file (cleaning up). "cd /Inkorg" > $$batch "ls -l " >> $$batch "exit" >> $$batch $SFTP_PATH/sftp -b $$batch $USERNAME@$DESTINATION_IP> $$output rm -f $$batch Check that file sizes are equal after transfer: - Create and assign two variables, one for local (original) file size, one for remote (transferred) file size. The fifth output row from command ls l gives the file size. - Remove the temp file created above (cleaning up). - Compare local size with remote size
2008-03-17 8 (10) LSIZE=`ls -l $1 awk '{print $5 }'` RSIZE=`grep $1 "$$output" awk '{ print $5 }'` rm -f $$output if [ $LSIZE = $RSIZE ] then If sizes are equal... $1" uploaded successfully to FTP server." "LOCALSIZE: "$LSIZE" REMOTESIZE: "$RSIZE else If sizes differs... "File size for "$1" differs on local and remote filesystem" "or remote directory does not exist." "LOCALSIZE: "$LSIZE" REMOTESIZE: " $RSIZE Remove the transferred file with the wrong size: - Create a temporary batch file (with commands that remove the transferred file). - Run sftp with the batch file as input. - Remove the batch file (cleaning up). "Removing remote file "$1 "cd /Inkorg" > $$batch "rm "$1 >> $$batch "exit" >> $$batch $SFTP_PATH/sftp -b $$batch $USERNAME@$DESTINATIN_IP rm -f $$batch fi End of script! 4 Införande 4.1 Tester Telia tillhandahåller ingen separat testmiljö, utan enbart den skarpa produktionsmiljön. Vid beställning av förvalsimplementering (blankett Förval) är det möjligt att få tillgång till produktionsmiljön (kopia av mappstruktur utan koppling till Svalan) före driftsättningsdatum. På detta sätt har förvalsoperatören möjlighet att göra enklare tester av uppkoppling och filöverföring före produktionsstart.
2008-03-17 9 (10) Obs! Fom dagen för driftsättning får inga testfiler lämnas till Svalan. På driftsättningsdagens morgon före kl 10.00 kommer förvalsoperatörens konto automatiskt att ställas om till skarp mappstruktur med koppling till Svalan. Detta innebär att förvalsbeställningsfiler måste läggas in efter kl 10 på driftsättningsdagen och att filer som tidigare har lagts in i Svalans Inkorg och Utkorg kommer att raderas. 4.2 Driftsättning Ny SSH-anslutning mellan förvalsoperatör och Svalan driftsätts det datum som överenskommits i samband med beställning av förval. Före driftstart gäller följande: Svalan rensar på driftsättningsdagens morgon alla befintliga filer i katalogerna Utkorg och Inkorg. Därefter ställs operatörens konto om till den skarpa mappstruktur som innebär koppling till Svalan. Allt detta sker före kl 10.00. Det rekommenderas att inga förvalsbeställningar skickas in de tio arbetsdagar som direkt föregår driftsättningsdagen. I annat fall finns i förekommande fall risk att den nya parten får ta hand om svarsfiler från Svalan som gäller förvalsbeställningar inskickade av den tidigare parten. Vid driftstart gäller följande: Initial sekvensnumrering sker enligt överenskommelse, vanligen startar respektive räknare med sekvensnummer 000001. Efter driftstart gäller följande: Förvalsbeställningsfiler hanteras enligt ordinarie rutin. 5 Teknisk support Förvalsperatören ansvarar själv för att upprätta anslutning gentemot Svalan. Denna är baserad på öppen standard och det är fritt fram för berörd operatör att på egen bekostnad köpa in extern hjälp om så önskas. Konsultbolaget TietoEnator har erbjudit sig att mot betalning hjälpa de operatörer som inte vill eller kan upprätta anslutning gentemot Svalan på egen hand. TietoEnator nås via följande kontaktperson: Birgitta Berglund Tel: 070-529 96 55 Mejl: Birgitta.Berglund@tietoenator.com
2008-03-17 10 (10) 6 Appendix 6.1 Använda begrepp Begrepp TS leveranssupport Förklaring TeliaSonera Kundservice, Order och Leverans, Leveranssupport, Norrköping. Tel 0771-58 00 58 val 2 val 1 Mejl operator-kundtjanst-nat@teliasonera.com