Java Security Manager Seminararbeit von Bodmer Martin, Ia00
|
|
- Astrid Kaufman
- vor 8 Jahren
- Abrufe
Transkript
1 Java Security Manager Seminararbeit von Bodmer Martin, Ia00 Fachhochschule Aargau Departement Technik Studiengang Informatik Betreuender Dozent: Prof. Dr. C. Nicola Windisch, 19. Juni 2003
2 Zusammenfassung Seite 1 Dieses Dokument gibt einen umfassenden Überblick über das Java Sicherheits-Model (java security model). Es zeigt unter anderem die Entwicklung von Java Security in den letzten Jahren und erläutert die einzelnen Komponenten und deren Zusammenspiel. Im Speziellen wird auf den Java Security Manager eingegangen und anhand eines Beispiels gezeigt, wie man einen eigenen Security Manager erstellen kann. Das Erstellen eines Policy-Files wird ebenfalls detailliert beschrieben.
3 Inhaltsverzeichnis Seite 2 Einleitung Entwicklung von Java Security JDK 1.0 Security - Das Sandkastenmodell JDK 1.1 Security - Alles oder nichts Java 2 Security - fine-grained security Java 2 Security im Detail Byte-Code Verifier ClassLoader CodeSource Permissions Protection Domains Policy Securtiy Manager AccessController Der keystore Der Security Manager im Einsatz Der eigene Security Manager Verwendung von Permissions Das dazugehörige Policy File Starten von Applets/Applikationen Applets Applikationen Neue Möglichkeiten und Gefahren Schlussfolgerung A. Anhang A1. Applikationsbeispiel Code A1.1. FileIO.java A1.2. PasswordSecurityManager.java A1.3. secure.policy A2. Bibliographie... 24
4 Seite 3 Einleitung Sicherheit gewann in den letzten Jahren immer mehr an Bedeutung bei der Softwareentwicklung. Dies, weil die globale Vernetzung von Rechnern in dieser Zeit rapide zugenommen hat und das Verlangen von Benutzern, wie auch von Entwicklern, nach sicherer Software gestiegen ist. SUN hat dieses Problem schon früh erkannt und bietet seit der Entwicklung von Java ein Sicherheitsmodell. Dieses war in den letzten Jahren einem steten Wandel unterzogen, um den neuen Sicherheitsanforderungen gerecht zu werden und um das Sicherheitsmodell zu verfeinern. Eine Kernkomponente des Java Security Modells ist der Security Manager und diesen wollen wir nun im folgenden genauer erläutern und dessen Einsatz an einem Beispiel zeigen.
5 Seite 4 1 Entwicklung von Java Security Man schaute schon bei der Entwicklung von Java darauf, aus den Fehlern anderer Programmiersprachen, wie C oder C++, zu lernen. Es wurden daher von Anfang an gewisse Sicherheitskonzepte eingeführt. Zum Beispiel kann man mit Java nicht direkt auf den Speicher zugreifen, sondern ihn nur via Referenzen ansprechen, Objekte und Methoden die als final deklariert wurden können nicht geändert werden, Arraygrenzen werden bei jedem Zugriff geprüft, Object casting ist beschränkt (Type safety!), Varaiblen können nicht verwendet werden bevor sie initialisiert sind, Garbage collection schaut dafür, dass nicht mehr verwendeter Speicher wieder freigegeben wird. Das Security Model von Java hat in den letzten paar Jahren eine erhebliche Veränderung erlebt. In den folgenden Kapiteln sollen nun kurz diese Entwicklungsstufen aufgezeigt werden. 1.1 JDK 1.0 Security - Das Sandkastenmodell Das JDK 1.0 (Java Development Kit) hatte ein sogenanntes Sandkasten Sicherheitsmodell (sandbox security model). Dieses Modell machte eine restriktive Trennung zwischen Java Applikationen und Applets. Alle Applikationen, da sie immer lokal geladen wurden, wurden durch das Security Model als vertrauenswürdig angeschaut und hatten daher uneingeschränkten Zugriff auf alle Ressourcen des JDK 1.0. Im Gegensatz dazu wurden alle Applets, da sie meistens über ein Netzwerk geladen wurden, als nicht vertrauenswürdig eingestuft und hatten dementsprechend relativ eng beschränkten Handlungsraum. Das Applet konnte nun in diesem kreierten Sandkasten arbeiten, ohne eine Sicherheitsrisiko für die JVM oder das darrunterliegende System darzustellen.
6 1.2 JDK 1.1 Security - Alles oder nichts Seite 5 Man sah schnell ein, dass das Sandbox-Model des JDK 1.0 zu restriktive ist und man suchte eine passende Lösung. Im JDK 1.1 wurden daher die sogenannten signierten Applets (signed applets) eingeführt. Ein signiertes Applet ist ein Applet verpackt in einem Java Archiv (JAR) und mit einem privaten Schlüssel (private key) signiert. Dieses Konzept ermöglichte nun einen Unterschied zwischen Applets, die von vertrauenswürdigen Quellen kamen und solchen die von nicht vertrauenswürdigen Quellen stammten. Vertrauenswürdige Applets hatten die gleichen Berechtigungen wie lokal geladene Applikationen Dieses Konzept war aber immer noch nicht zufriedenstellend, denn es erlaubte nur einem Applet den vollen Zugriff zu gewähren oder es in dem vorgegebenen Sandkasten laufen zu lassen. Zudem hatten Applikationen immer noch von Grund auf vollen Zugriff, obwohl es zum Teil wünschenswert wäre diese in einem Sandkasten laufen zu lassen, wenn man nicht weiss, woher die Applikation kommt.
7 Seite Java 2 Security - fine-grained security Der grosse Unterschied zwischen dem Java 2 Sicherheitsmodell und seinen Vorgängern ist, dass erstmals nicht nur zwischen vertrauenswürdigem und nicht vertrauenswürdigem Code unterschieden werden kann, sondern es erlaubt, Code in verschiedene Sicherheitsstufen einzuteilen (fine-grained security), indem man dem Code definierte Einschränkungen bzw. Erlaubnisse (Permissions) zuweist. Einschränkungen können sowohl für Applets, wie auch für Applikationen definiert werden. Applikationen werden ohne angegebene Einschränkungen per Default als unrestricted angesehen und haben daher wie in JDK 1.2 vollen Zugriff auf die Ressourcen.
8 Seite 7 2 Java 2 Security im Detail Das Java 2 Sicherheitsmodell ist ein abgestimmtes Zusammenspiel verschiedenster Komponenten, die die Sicherheit gewährleisten sollen. In der untenstehenden Abbildung ist dieses Zusammenspiel dargestellt. Wir wollen nun in den folgenden Kapiteln die einzelnen Komponenten und deren Funktion betrachten. 2.1 Byte-Code Verifier Java Code muss nicht unbedingt von einem Java-Compiler stammen, er könnte zum Beispiel auch durch eine andere C++-Applikation erzeugt worden sein. Java Code wird auch oft über das Internet heruntergeladen und hier weiss man selten, wie dieser Code zustandgekommen ist. Um diesem Problem entgegenzuwirken, prüft der Byte-Code Verifier alle Klassendateien des Benutzers (user class files) ob die darin enthaltene Reihe von Byte-Code legal ist. Unter anderem untersucht der Byte-Code Verifier das Format der Klassendatei, d.h. es muss die richtige Länge haben, die korrekten magic numbers enthalten, keine operand stack overflows oder underflows besitzen und so weiter.
9 2.2 ClassLoader Seite 8 Der ClassLoader ist dafür zuständig, dass die richtigen Klassen in die Virutual Machine geladen werden. Zudem ist er auch für die verschiedenen Namensraume, die durch Packete (packages) kreiert werden, zur Laufzeit zuständig. Mit Namensräumen können verschiedene Objekte, die unter umständen den gleichen Namen besitzen, auseinandergehalten werden. 2.3 CodeSource Weil Java Code via Netzwerk heruntergeladen werden kann, ist es wichtig den Ursprung des Codes und dessen Autor zu kennen, um eine sichere Umgebung zu gewährleisten. Im Objekt java.security.codesource kann ein Java-Code komplett beschrieben werden. Das Objekt CodeSource enthält den Ursprung des Codes in Form einer URL und zudem eine Liste von Zertifikaten mit öffentlichen Schlüsseln, die zum privaten Schlüssel passen, mit dem der Code signiert wurde. Verschiedene Entscheide bezüglich Zugriffskontrolle basieren auf diesem Objekt. 2.4 Permissions Permissions bilden ein Kernpunkt des Java Sicherheitsmodells. Sie repräsentieren den Zugriff auf verschiedene Systemresourcen wie Dateien, Sockets, Systemeigenschaften, etc.. Zum Beispiel kann man damit einem Code Lese- und Schreib-Erlaubnis auf ein bestimmtes File gewähren. Eine Vielzahl der Permission-Klassen sind von der abstrakten Klasse java.security.permission abgeleitet, so zum Beispiel FilePermission, AWTPermission, etc.. Hier eine Liste der Möglichen Permissions: AllPermission AudioPermission AuthPermission AWTPermission FilePermission NetPermission PropertyPermission ReflectPermission RuntimePermission SecurityPermission SerializablePermission SocketPermission SQLPermission Für eine genauere Beschreibung der einzelnen Permissions, sowie bei welchen Methodenaufrufen welche Permission benötigt wird, verweise ich an dieser Stelle auf die Java j2sdk1.4.0 Dokumentation.
10 2.5 Protection Domains Seite 9 Es ist, wie vorher bereits erwähnt, möglich, Permissions einer Klasse zuzuweisen. Dies kann unter Umständen sehr kompliziert und aufwendig werden, wenn der Code aus vielen Klassen besteht. Es ist daher besser sich sogenannten Protection Domains zu bedienen, was einer Gruppierung von Klassen mit ähnlichen Anforderungen entspricht. Nun kann man einfach die nötigen Permissions diesen Protection Domains zuweisen. 2.6 Policy Die verschiedenen Zuweisungen von Permissions zu den jeweiligen Klassen wird policy (Politik, Taktik) genannt. Um die verschiedenen Permissions einer bestimmten Implementation zuweisen zu können werden sie in einer Policy-Datei gruppiert. Policy-Dateien können einfach in einem Text-Editor oder mit Hilfe des policytool, das im JDK enthalten ist, erstellt werden. Die allgemeine Syntax (dargestellt in BNF) für ein Policy-File sieht wie folgt aus: PolicyFile -> PolicyEntry PolicyEntry; PolicyFile PolicyEntry -> grant {PermissionEntry; grant SignerEntry {PermissionEntry grant CodebaseEntry {PermissionEntry grant PrincipalEntry {PermissionEntry grant SignerEntry, CodebaseEntry {PermissionEntry grant CodebaseEntry, SignerEntry {PermissionEntry grant SignerEntry, PrincipalEntry {PermissionEntry grant PrincipalEntry, SignerEntry {PermissionEntry grant CodebaseEntry, PrincipalEntry {PermissionEntry grant PrincipalEntry, CodebaseEntry {PermissionEntry grant SignerEntry, CodebaseEntry, PrincipalEntry {PermissionEntry grant CodebaseEntry, SignerEntry, PrincipalEntry {PermissionEntry grant SignerEntry, PrincipalEntry, CodebaseEntry {PermissionEntry grant CodebaseEntry, PrincipalEntry, SignerEntry {PermissionEntry grant PrincipalEntry, CodebaseEntry, SignerEntry {PermissionEntry grant PrincipalEntry, SignerEntry, CodebaseEntry {PermissionEntry keystore "url" SignerEntry -> signedby (a comma-separated list of strings) CodebaseEntry -> codebase (a string representation of a URL) PrincipalEntry -> OnePrincipal OnePrincipal, PrincipalEntry OnePrincipal -> principal [ principal_class_name ] "principal_name" (a principal) PermissionEntry -> OnePermission OnePermission PermissionEntry OnePermission -> permission permission_class_name [ "target_name" ] [, "action_list"] [, SignerEntry];
11 Seite 10 Default mässig besitzt Java zwei Policy-Files. Ein Systemumgreifendes Policy-File und ein Benutzer Policy-File. Das system policy-file befindet sich normalerweise in: {java.home/lib/security/java.policy {java.home\lib\security\java.policy (Solaris) (Windows) Das user policy-file befindet sich normalerweise in: {user.home/.java.policy (Solaris) {user.home\.java.policy (Windows) 2.7 Securtiy Manager Die Klasse java.lang.securitymanager ist der zentrale Punkt, was die Authorisierung von Zugriffen betrifft. Die Klasse enthält verschiedene Methoden (check-methods), die zur Überprüfung der Persmissions dienen. Es gibt zum Beispiel die Methode checkread(string file), welche den Zugriff auf ein bestimmtes File überprüft. Die Methode checkpermission(permission perm, Object context) überprüft, ob die benötigte Permission durch die policy gegeben ist oder nicht. Der Aufruf dieser Methode wird an den AccessController weitergeleitet, welcher dann die eigentliche Prüfung der benötigten Permission durchführt. Java bietet die Möglichkeit auch eigene Security Manager zu erstellen und zu verwenden. Dies erreicht man indem man die Klasse java.lang.securitymanager erweitert und die darin vorkommenden checkmethods überschreibt. Wichtig zu wissen ist, dass nur ein Security Manager geladen werden kann! Andernfalls könnte gefährlicher Code einen eigenen Security Manager einzusetzen versuchen, um so die Sicherheitsmechanismen von Java auszutricksen. 2.8 AccessController Die java.security.accesscontroller Klasse wird für drei Dinge benötigt: Zum entscheiden, ob der Zugriff auf kritische Systemressourcen, beruhend auf der aktuellen security-policy, erlaubt werden soll. Zum markieren von Code als privileged Um sich einen Schnappschuss des aktuellen calling context zu verschaffen, so dass Zugriffskontrollentscheide gemacht werden können. 2.9 Der keystore Der keystore ist eine passwortgeschützte Datenbank, welche private Schlüssel und Zertifikate enthält. Zertifikate, die sich in dieser Datenbank enthalten, werden als vertrauenswürdig betrachtet.
12 Seite 11 3 Der Security Manager im Einsatz Die Klassen der Java 2 Security befinden sich in erster Linie in folgenden Paketen: java.lang java.security java.security.cert java.security.interfaces java.security.spec Im folgenden wollen wir den Einsatz einiger Klassen der Java 2 Security betrachten und uns eine kleine Demo-Applikation zusammenstellen (Siehe Anhang für den vollständigen Code). 3.1 Der eigene Security Manager Eigene Security Manager können relativ leicht kreiert werden. Dazu muss die Klasse java.lang.securitymanager erweitert werden. public class PasswordSecurityManager extends SecurityManager{ Damit nun das Programm den eigenen Security Manager benutzt, gibt es zwei Möglichkeiten. Entweder man gibt in der Kommandozeile explizit den zu verwendenden Security Manager an, oder man setzt den Security Manger im Porgramm mit folgender Zeile: try{ System.setSecurityManager(new PasswordSecurityManager("pwd", buffy)); catch(securityexception se){ System.err.println("Security Manager already set!"); Es ist zu sagen, dass nur ein Security Manager pro Programm geladen werden kann. Das heisst, wenn wir nach dem Starten eines Programm mit der Kommandozeile java -Djava.security.manager myclass anschliessend versuchen einen neuen Security Manager mit der Methode System.setSecurityManager(new mysecuritymanager()); zu setzen, wird eine SecurityException geworfen. Dies macht Sinn, denn sonst könnte man leicht eine Attacke durchführen und seine eigenen Security Checks angeben.
13 3.2 Verwendung von Permissions Seite 12 Im selber kreierten Security Manager muss man nun noch die benötigten check-methoden der Superklasse java.lang.securitymanger überschreiben. Diese Methoden haben typische Namen die mit check beginnen, zum Beispiel checkread, checkwrite, etc.. Unten eine Beispiel- Implementierung der checkread-methode in der Klasse PasswordSecurityManager (siehe Anhang für den vollständigen Code). public void checkread(string filename) { //Mention file by name so don't get prompted for password //for everything the application loads to create itself System.out.println("checkRead for: "+filename); if((filename.equals("\\test\\text2.txt"))){ if(!accessok()){ System.out.println("checkRead: access not OK!"); super.checkread(filename); throw new SecurityException("No Way!"); else { System.out.println("checkRead: access OK!"); FilePermission perm = new FilePermission("/Test/text2.txt", "read"); checkpermission(perm); Wichtig im oben gezeigten Code sind die fettgedruckten Zeilen, die wir nun kurz anschauen und erläutern wollen. Mit der Zeile public void checkread(string filename) { überladen wir die Default-Implementierung des Standard Security Managers, bzw. der Klasse java.lang.securitymanager. Damit man einen Zugriff auf Systemressourcen machen kann muss man zuerst eine Referenz auf die gewünschte Permission kreieren. Dies bezweckt die folgende Zeile: FilePermission perm = new FilePermission("/Test/text2.txt", "read");
14 Seite 13 Wenn man die gewünschte Referenz auf eine Permission erzeugt hat, kann man nun den eigentlichen Check der Permission durchführen, was durch folgende Zeile erreicht wird: checkpermission(perm); Beim Aufruf der checkpermission-methode wird dieser an die Klasse AccessController weitergeleitet, der dann anhand der aktuellen Policy die eigentliche Prüfung des Zugriffs auf Systemressourcen vornimmt. 3.3 Das dazugehörige Policy File Bis jetzt haben wir im eigenen Security Manager nur Referenzen auf Permissions erzeugt. Die eigentlichen Permission werden jedoch im Policy-File angegeben. Für unser kleines Demo-Programm brauchen zwei FilePermissions, eine zum schreiben in text.txt und eine zweite zum lesen aus text2.txt, und eine PropertyPermission um die SystemProperty "os.name" zu erhalten. Unser Policy-File (Name: secure.policy) würde dann wie folgt aussehen: grant codebase "file:/c:/test/classes/-" { permission java.io.filepermission "/Test/text.txt", "write"; permission java.io.filepermission "/Test/text2.txt", "read"; permission java.awt.awtpermission "accesseventqueue"; ; Das Schlüsselwort codebase sagt uns, dass anschliessend die URL kommt mit dem Pfad zu den Klassendateien, für die die Permissions gelten sollen.
15 Seite 14 4 Starten von Applets/Applikationen 4.1 Applets Wenn keine Angaben dem appletviewer oder der VM des Browsers übergeben werden, dann hat das Applet keinen Zugriff auf Systemressourcen, den es läuft nur in der sogenannten Sandbox. Um nun einem Applet die nötigen Permissions mitteilen zu können, muss man explizit das entsprechende Policy-File angeben.. Der Programmaufruf mit dem appletviewer (enthalten im JDK) sieht dann wie folgt aus: appletviewer -J"-Djava.security.policy=policyfile" myapplet.html Hier ist policyfile das benötigte Policy-File, das die nötigen Permissions für das in myapplet.html gestarteten Applet enthält. Die Datei myapplet.html kann leicht mit dem HtmlConverter Tool, das im JDK enthalten ist, erstellt werden. Ganz bequem geht es, wenn man das mit folgendem Befehl startet: HtmlComverter -gui Mit ein paar Mausklicks auf der Benutzeroberfläche des HtmlConverter-Tools, hat man das benötigte HTML-File erzeugt. Es empfiehlt sich jedoch anschliessend noch den erzeugten HTML-Code zu überprüfen, da ich aus persönlicher Erfahrung gemerkt habe, dass zum Teil bei den End-Tags an Stelle eines / ein \ eingefügt wird. Auch die Header- und Body-Tags musste ich noch manuell hinzufügen. Um das Applet im Browser laufen zu lassen muss man der Virtual Machine des benutzten Java-Plugin die Option -Djava.security.policy=policyfile mitgeben, damit die VM weiss, wo die benötigten Permissions nachzuschauen sind.
16 Seite Applikationen Wenn man eine Java-Applikation ohne Angaben des Security Managers und des Policy-Files startet und auch keinen Security Manager im Programm setzt, hat die Applikation defaultmässig vollen Zugriff auf alle Systemressourcen. Die Applikation wird also als fully trusted angeschaut, genau wie im Security Model des JDK 1.0 und 1.1, in denen lokaler Code immer vollen Zugriff auf die Systemressourcen hat. Um nun die Zugriffsmöglichkeiten einer Applikation einschränken zu können, muss man beim Starten einer Applikation explizit den zu verwendenden Security Manager und das benötigte Policy-File angeben. Der Applikationsaufruf könnte zum Beispiel wie folgt aussehen: java -Djava.security.manager -Djava.security.policy=policyfile MyMainClass Mit der Option -Djava.security.manager sagt man der VM, dass man den default Security Manager benützen möchte. Wie bereits erwähnt, kann pro Programm nur ein Security Manager geladen werden, es kann also nachträglich nicht mehr ein anderer SecurityManager gesetzt werden. Wenn man also im Programm selber den benötigten Security Manager mit System.setSecurityManager(...) setzt, dann muss man diese Option beim Programmstart weglassen. Ansonsten wird eine Exception geworfen.
17 Seite 16 5 Neue Möglichkeiten und Gefahren Das Java 2 Security-Model bietet eine Reihe von neuen Möglichkeiten. Erstmals wird erlaubt auch lokalen Code (Java-Applikationen) als unvertrauenswürdig anzuschauen. Dies hat seine Berechtigung, denn immer mehr werden auch Applikationen via Internet heruntergeladen. Wenn sie von einer vertrauenswürdigen Quelle stammen und dazwischen nicht verändert wurden wäre dies kein Problem, jedoch weiss der Benutzer oft nicht wer das betreffende Programm geschrieben hat. Policy-Files sind hier von grosser Bedeutung, denn nun kann man den Zugriff auf Systemressourcen überwachen, bzw. begrenzen, so dass auch gefährlicher Code (malicious code) keinen, oder nur sehr begrenzten, Schaden anrichten kann. Applets hatten wie erwähnt in JDK 1.0 keinen Zugriff auf Systemressourcen und liefen defaultmässig in einem Sandkasten (sandbox). Der Einsatz von Applets und deren Funktionalität war daher sehr begrenzt. Mit dem Java 2 Security-Model besteht nun die Möglichkeit anhand von einem Policy-File einem Applet gezielt (Angabe der codebase in Form einer URL) Zugriffe auf Systemressourcen zu gewähren. Dadurch hat sich das Einsatzgebiet von Applets drastisch erhöht. Beispiel für ein neues Applet wäre, dass der Benutzer sich auf seinem PC in einem Editor eine kleine Einkaufsliste zusammengestellt hat. Er startet den Browser und lädt die HTML-Seite mit dem Applet des Verkäufers (z.b. Hier kann er nun seine Einkaufsliste von einem bestimmten Ordner (und nur von diesem) einlesen und den Einkauf tätigen. Das Erlauben von Zugriffen auf Systemressourcen, gegeben durch Policy-Files, birgt besonders für Applets (eigentlich jeglicher Java-Code der Remote geladen werden muss und somit als CodeBase eine URL hat) Risiken. Man überlege sich einmal was passieren würde, wenn jemand die URL, die Zugriff auf die Systemressourcen des Benutzerrechners hat, vortäuschen würde. Es würde keine Warnung geben, denn der Rechner, insbesondere Java Security, meint ja, dass die Klassendateien vom richtigen Ort kommen und der vielleicht gefährliche Code hat Zugriff auf die freigegebenen Ressourcen. Dieses Problem wurde jedoch von Java berücksichtigt und es liefert weitere Sicherheitsmechanismen, die dieses "Loch" stopfen. So kann man Java-Code signieren, so dass man überprüfen kann, ob der zu ladende Code, auch wenn er von einer falschen (bzw vorgetäuschten) Adresse kommt, wirklich dem original Code entspricht.
18 Seite 17 Schlussfolgerung Wir haben gesehen wie sich das Java Security Modell über die letzen Jahre gewandelt hat, von einem Modell, das nur trusted und untrusted Code kannte, zu einem Modell das erlaubt für jeglichen Java-Code wohldefinierte Permissions zu erteilen und somit den Zugriff auf Systemressourcen zu erlauben. Policy-Files im Zusammenspiel mit dem Security Manager und andere Security Komponenten bieten, wenn gezielt und bewusst eingesetzt, ein starkes Sicherheitskonzept. Es ist jedoch zu bemerken, dass es nicht der absolute Schutz vor Attacken ist, jedoch wird dadurch die Zahl der möglichen Attacken wesentlich eingeschränkt. Zu guter letzt ist noch zu sagen, dass der Einsatz von Policy-Files, insbesondere das Erteilen von Permissions auf kritische Systemressourcen, gut abgewägt werden muss, damit nicht leichtsinnig eine Tür ins System für alle aufgemacht wird.
19 Seite 18 A. Anhang A1. Applikationsbeispiel Code Folgende Unterkapitel enthalten den kompletten Code der Demo-Applikation. Es ist zu beachten, dass sich die beiden Files in einem Package (Verzeichnis mit Namen secure1) zu befinden haben. Um den Code testen zu können müssen sie im Verzeichnis C: folgende Struktur errichten C:\Test\classes\secure1\ Plazieren sie die beiden Files FileIO.java und PasswordSecurityManager.java in dieses Verzeichnis und compilieren sie sie. Das Policy-File ist im Ordner Test zu platzieren, zudem müssen sie im selben Ordner ein leeres File text.txt und ein zweites File text2.txt, das einen Text enthält erstellen. Wenn sie diese Angaben verwendet haben und j2sdk1.4.0 oder die dazu passende Runtime Environment installiert und die PATH-Variable gesetzt ist, können sie das Demo mit folgendem Befehl starten: C:\Test\classes>java -Djava.security.policy=secure.policy secure1.fileio A1.1. FileIO.java package secure1; /** * <p>title: Secure1</p> * <p>description: Applikations Test</p> * <p>copyright: Copyright (c) 2003</p> * <p>company: fh-aargau</p> Martin Bodmer 1.0 */ import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; public class FileIO extends JFrame implements ActionListener {
20 Seite 19 JLabel text, clicked; JButton button, clickbutton; JPanel panel; JTextField textfield; public FileIO(){ //Begin Constructor setfont(new Font("Helvetica", Font.PLAIN, 14)); text = new JLabel("Text to save to file:"); clicked = new JLabel("Text retrieved from file:"); button = new JButton("Click Me"); button.addactionlistener(this); clickbutton = new JButton("Click Again"); clickbutton.addactionlistener(this); textfield = new JTextField(20); panel = new JPanel(); panel.setlayout(new BorderLayout()); panel.setbackground(color.white); getcontentpane().add(panel); panel.add("north", text); panel.add("center", textfield); panel.add("south", button); //End Constructor public void actionperformed(actionevent event){ Object source = event.getsource(); if(source == button){ JLabel label = new JLabel(); try{ //Write to file String text = textfield.gettext(); byte b[] = text.getbytes(); File outputfile = new File("/Test/text.txt"); FileOutputStream out = new FileOutputStream(outputFile);
21 out.write(b); out.close(); //Read from file File inputfile = new File("/Test/text2.txt"); FileInputStream in = new FileInputStream(inputFile); byte bt[] = new byte[(int)inputfile.length()]; int i; i = in.read(bt); String s = new String(bt); label.settext(s); in.close(); catch(java.io.ioexception e){ System.out.println(e.toString()); catch(java.lang.securityexception ex){ System.out.println("Security Exception!!!"); System.out.println(ex.toString()); //Display text read from file panel.removeall(); panel.add("north", clicked); panel.add("center", label); panel.add("south", clickbutton); panel.validate(); panel.repaint(); Seite 20 if(source == clickbutton){ panel.removeall(); panel.add("north", text); textfield.settext(""); panel.add("center", textfield); panel.add("south", button); panel.validate(); panel.repaint(); public static void main(string[] args){ System.out.println("Hello together!");
22 BufferedReader buffy = new BufferedReader( new InputStreamReader(System.in)); try { System.setSecurityManager( new PasswordSecurityManager("pwd", buffy)); catch (SecurityException se) { System.err.println("SecurityManager already set!"); Seite 21 try{ UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName()); catch (Exception e) { System.err.println("Couldn't use the cross-platform" + "look and feel: " + e); JFrame frame = new FileIO(); frame.settitle("example"); WindowListener l = new WindowAdapter() { public void windowclosing(windowevent e) { System.exit(0); ; frame.addwindowlistener(l); frame.pack(); frame.setvisible(true); A1.2. PasswordSecurityManager.java package secure1; /** * <p>title: Secure1</p> * <p>description: Appl Test 1</p> * <p>copyright: Copyright (c) 2003</p> * <p>company: fh-aargau</p> Martin Bodmer
23 1.0 */ Seite 22 import java.io.*; public class PasswordSecurityManager extends SecurityManager { private String password; private BufferedReader buffy; public PasswordSecurityManager(String p, BufferedReader b) { super(); this.password = p; this.buffy = b; private boolean accessok() { int c; String response; System.out.println("What's the secret password?"); try { response = buffy.readline(); if (response.equals(password)) return true; else return false; catch (IOException e) { return false; public void checkread(string filename) { //Mention file by name so don't get prompted for password //for everything the application loads to create itself System.out.println("checkRead for: "+filename); if((filename.equals("\\test\\text2.txt"))){ if(!accessok()){ System.out.println("checkRead: access not OK!"); super.checkread(filename);
24 Seite 23 throw new SecurityException("No Way!"); else { System.out.println("checkRead: access OK!"); FilePermission perm = new FilePermission("/Test/text2.txt", "read"); checkpermission(perm); public void checkwrite(string filename) { //Mention file by name so don't get prompted for password //for everything the application loads to create itself System.out.println("checkWrite for: "+filename); if((filename.equals("\\test\\text.txt"))){ if(!accessok()){ System.out.println("checkWrite: access not OK!"); super.checkwrite(filename); throw new SecurityException("No Way!"); else { System.out.println("checkWrite: access OK!"); FilePermission perm = new FilePermission("/Test/text.txt", "write"); checkpermission(perm); A1.3. secure.policy grant codebase "file:/c:/test/classes/-" { permission java.io.filepermission "/Test/text.txt", "write"; permission java.io.filepermission "/Test/text2.txt", "read"; permission java.awt.awtpermission "accesseventqueue"; permission java.awt.awtpermission "showwindowwithoutwarningbanner"; ;
25 A2. Bibliographie Seite 24 Advanced Programming for the Java 2 Platform Securing Java Java security evolution and concepts, Part2 Java security evolution and concepts, Part3 Java security evolution and concepts, Part4 Java security evolution and concepts, Part5 Java 2 SDK Dokumentation
Hex Datei mit Atmel Studio 6 erstellen
Hex Datei mit Atmel Studio 6 erstellen Es werden generell keine Atmel Studio Dateien ins Repository geladen, da jeder seine Dateien an anderen Orten liegen hat und weil nicht jeder das Atmel Studio 6 benutzt.
MehrGrundlagen der Programmierung APPLETS
Grundlagen der Programmierung APPLETS Inhalt dieser Einheit Java-Applets: Java-Applets Vor- und Nachteile Sicherheitskonzepte Methoden Einbetten in HTML Graphical User Interface 2 Java Applets Applets
MehrAnleitung über den Umgang mit Schildern
Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder
MehrArtikel Schnittstelle über CSV
Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte
MehrEinführung in Javadoc
Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:
MehrGEONET Anleitung für Web-Autoren
GEONET Anleitung für Web-Autoren Alfred Wassermann Universität Bayreuth Alfred.Wassermann@uni-bayreuth.de 5. Mai 1999 Inhaltsverzeichnis 1 Technische Voraussetzungen 1 2 JAVA-Programme in HTML-Seiten verwenden
MehrICS-Addin. Benutzerhandbuch. Version: 1.0
ICS-Addin Benutzerhandbuch Version: 1.0 SecureGUARD GmbH, 2011 Inhalt: 1. Was ist ICS?... 3 2. ICS-Addin im Dashboard... 3 3. ICS einrichten... 4 4. ICS deaktivieren... 5 5. Adapter-Details am Server speichern...
MehrDatensicherung. Beschreibung der Datensicherung
Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten
MehrBlogbeitrag: Installation eines SAP CRM-Systems
Blogbeitrag: Installation eines SAP CRM-Systems Die Installation und Einrichtung eines SAP-Systems ist immer wieder eine Achterbahnfahrt. Am Beispiel der Installation eines SAP CRM Systems möchte ich einmal
Mehr.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage
.htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess
Mehrmysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank
mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrDie Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter
Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,
MehrEr musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt
Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen
Mehr1 Installation. 1.1 Die Java-Laufzeitumgebung. 1.2 PXLab. Um PXLab benutzen zu können benötigt man die Java Platform, diese kann man unter
1 Installation 1.1 Die Java-Laufzeitumgebung Um PXLab benutzen zu können benötigt man die Java Platform, diese kann man unter http://java.sun.com/javase/downloads/index.jsp herunteladen. Wenn man PXLab
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrEinrichtung des Cisco VPN Clients (IPSEC) in Windows7
Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über
Mehr2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE
2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht
MehrPakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).
Paketdeklaration Paketdeklaration package Bezeichner ; Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API). Ein
MehrTutorial - www.root13.de
Tutorial - www.root13.de Netzwerk unter Linux einrichten (SuSE 7.0 oder höher) Inhaltsverzeichnis: - Netzwerk einrichten - Apache einrichten - einfaches FTP einrichten - GRUB einrichten Seite 1 Netzwerk
MehrLeitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)
Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...
MehrEinführung in TexMaker
Einführung in TexMaker 23. November 2007 TexMaker ist ein ist ein freier Texteditor für LA TE X-Dokumente unter Windows. Mit diesem Editor lassen sich ohne große Schwierigkeiten *.tex-dokumente aufrufen,
MehrHandbuch B4000+ Preset Manager
Handbuch B4000+ Preset Manager B4000+ authentic organ modeller Version 0.6 FERROFISH advanced audio applications Einleitung Mit der Software B4000+ Preset Manager können Sie Ihre in der B4000+ erstellten
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrCOSA. Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand 01.08.2005-08-16. Copyright
Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand 01.08.2005-08-16 Änderungen in Dokumentation und Software sind vorbehalten! Copyright Copyright 2005 COSA GmbH Alle Rechte vorbehalten.
MehrInstallation des Authorware Webplayers für den Internet Explorer unter Windows Vista
Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista Allgemeines: Bitte lesen Sie sich diese Anleitung zuerst einmal komplett durch. Am Besten, Sie drucken sich diese Anleitung
MehrInstallationsanleitungen
Installationsanleitungen INPA SGBD-Entwicklungsumgebung (EDIABAS) INPA für Entwickler Bevor Sie EDIABAS / INPA installieren können, müssen Sie sich für den Ordner sgref auf smuc0900 freischalten lassen.
MehrSEP 114. Design by Contract
Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrHow to install freesshd
Enthaltene Funktionen - Installation - Benutzer anlegen - Verbindung testen How to install freesshd 1. Installation von freesshd - Falls noch nicht vorhanden, können Sie das Freeware Programm unter folgendem
MehrEinrichtung des WS_FTP95 LE
Einrichtung des WS_FTP95 LE Das Herunterladen des Programms (siehe Seite Hochladen) dauert durch die Größe von 656 KB auch mit dem Modem nicht lange. Im Ordner der herunter geladenen Dateien erscheint
MehrInhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER
AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...
MehrWie halte ich Ordnung auf meiner Festplatte?
Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,
MehrOP-LOG www.op-log.de
Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server
MehrSANDBOXIE konfigurieren
SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:
MehrDurchführung der Datenübernahme nach Reisekosten 2011
Durchführung der Datenübernahme nach Reisekosten 2011 1. Starten Sie QuickSteuer Deluxe 2010. Rufen Sie anschließend über den Menüpunkt /Extras/Reisekosten Rechner den QuickSteuer Deluxe 2010 Reisekosten-Rechner,
MehrDownloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler
Downloadfehler in DEHSt-VPSMail Workaround zum Umgang mit einem Downloadfehler Downloadfehler bremen online services GmbH & Co. KG Seite 2 Inhaltsverzeichnis Vorwort...3 1 Fehlermeldung...4 2 Fehlerbeseitigung...5
MehrEine Einführung in die Installation und Nutzung von cygwin
Eine Einführung in die Installation und Nutzung von cygwin 1 1. Woher bekomme ich cygwin? Cygwin ist im Internet auf http://www.cygwin.com/ zu finden. Dort lädt man sich die setup.exe in ein beliebiges
MehrSoftware Engineering Klassendiagramme Assoziationen
Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen
MehrOnline Newsletter III
Online Newsletter III Hallo zusammen! Aus aktuellem Anlass wurde ein neuer Newsletter fällig. Die wichtigste Neuerung betrifft unseren Webshop mit dem Namen ehbshop! Am Montag 17.10.11 wurde die Testphase
MehrKurzanleitung zu. von Daniel Jettka 18.11.2008
Kurzanleitung zu Tigris.org Open Source Software Engineering Tools von Daniel Jettka 18.11.2008 Inhaltsverzeichnis 1.Einführung...1 2.Das Projektarchivs...3 2.1.Anlegen des Projektarchivs...3 2.2.Organisation
MehrIhr IT-Administrator oder unser Support wird Ihnen im Zweifelsfall gerne weiterhelfen.
Dieses Dokument beschreibt die nötigen Schritte für den Umstieg des von AMS.4 eingesetzten Firebird-Datenbankservers auf die Version 2.5. Beachten Sie dabei, dass diese Schritte nur bei einer Server-Installation
MehrEs sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.
Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt
Mehr! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006
!"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst
MehrWichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge
Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht
MehrAnleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart -
Anleitung zur Erstellung einer Batchdatei - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart - Mögliche Anwendungen für Batchdateien: - Mit jedem Systemstart vordefinierte Netzlaufwerke
MehrAnleitung zur Webservice Entwicklung unter Eclipse
Entwicklungsumgebung installieren Sofern Sie nicht an einem Praktikumsrechner arbeiten, müssen Sie ihre Eclipse-Umgebung Webservice-fähig machen. Dazu benötigen Sie die Entwicklungsumgebung Eclipse for
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrÜbung: Verwendung von Java-Threads
Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum
MehrPrimzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
Mehr2A Basistechniken: Weitere Aufgaben
2A Basistechniken: Weitere Aufgaben 2A.3 Programmierung unter UNIX/Linux 1. Gegeben sind einige Ausschnitte von C-Programmen, die unter UNIX/Linux ausgeführt werden sollen. Beantworten Sie die zugehörigen
MehrUrlaubsregel in David
Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5
MehrAbteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2
Inhalt 1. Printing API 1. Übersicht 2. Vorgehen 3. Beispiel 2. Klasse PrintUtils 3. Mehrere Seiten drucken Folie 1 Lernziele Sie wissen, wie Sie Swing-Komponenten ausdrucken können Sie kennen den Aufbau
MehrInternet Explorer Version 6
Internet Explorer Version 6 Java Runtime Ist Java Runtime nicht installiert, öffnet sich ein PopUp-Fenster, welches auf das benötigte Plugin aufmerksam macht. Nach Klicken auf die OK-Taste im PopUp-Fenster
MehrHandbuch zur Anlage von Turnieren auf der NÖEV-Homepage
Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Inhaltsverzeichnis 1. Anmeldung... 2 1.1 Startbildschirm... 3 2. Die PDF-Dateien hochladen... 4 2.1 Neue PDF-Datei erstellen... 5 3. Obelix-Datei
MehrKleines Handbuch zur Fotogalerie der Pixel AG
1 1. Anmelden an der Galerie Um mit der Galerie arbeiten zu können muss man sich zuerst anmelden. Aufrufen der Galerie entweder über die Homepage (www.pixel-ag-bottwartal.de) oder über den direkten Link
MehrINSTALLATION VON INSTANTRAILS 1.7
INSTALLATION VON INSTANTRAILS 1.7 InstantRails 1.7 ist ein Paket, das Ruby, Rails, Apache, MySQL und andere Tools, z.b. phpmyadmin in vorkonfigurierter Form enthält. Das Paket muss in einem Verzeichnis
MehrAnleitung zum Prüfen von WebDAV
Anleitung zum Prüfen von WebDAV (BDRS Version 8.010.006 oder höher) Dieses Merkblatt beschreibt, wie Sie Ihr System auf die Verwendung von WebDAV überprüfen können. 1. Was ist WebDAV? Bei der Nutzung des
MehrAdvoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank
Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Die Entscheidung Advoware über VPN direkt auf dem lokalen PC / Netzwerk mit Zugriff auf die Datenbank des zentralen Servers am anderen
MehrSFTP SCP - Synology Wiki
1 of 6 25.07.2009 07:43 SFTP SCP Aus Synology Wiki Inhaltsverzeichnis 1 Einleitung 1.1 Grundsätzliches 2 Voraussetzungen 2.1 Allgemein 2.2 für SFTP und SCP 3 Installation 3.1 Welche openssl Version 3.2
MehrPrint2CAD 2017, 8th Generation. Netzwerkversionen
Installation der Netzwerkversion Kazmierczak Software Print2CAD 2017, 8th Generation Print2CAD 2017, 8th Generation Netzwerkversionen Einführung Installationshinweise Die Programme von Kazmierczak Software
MehrAdminer: Installationsanleitung
Adminer: Installationsanleitung phpmyadmin ist bei uns mit dem Kundenmenüpasswort geschützt. Wer einer dritten Person Zugriff auf die Datenbankverwaltung, aber nicht auf das Kundenmenü geben möchte, kann
MehrDigital signierte Rechnungen mit ProSaldo.net
Digital signierte Rechnungen mit ProSaldo.net Digitale Signatur der PDF-Rechnungen Hier finden Sie eine Anleitung, wie beim erstmaligen Öffnen von digital signierten PDF- Rechnungen, die mit ProSaldo.net
MehrInternet online Update (Internet Explorer)
Um Ihr Consoir Beta immer schnell und umkompliziert auf den aktuellsten Stand zu bringen, bieten wir allen Kunden ein Internet Update an. Öffnen Sie Ihren Internetexplorer und gehen auf unsere Internetseite:
MehrArbeiten mit dem Outlook Add-In
Arbeiten mit dem Outlook Add-In Das Outlook Add-In ermöglicht Ihnen das Speichern von Emails im Aktenlebenslauf einer Akte. Außerdem können Sie Namen direkt aus BS in Ihre Outlook-Kontakte übernehmen sowie
MehrHandbuch. timecard Connector 1.0.0. Version: 1.0.0. REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen
Handbuch timecard Connector 1.0.0 Version: 1.0.0 REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen Furtwangen, den 18.11.2011 Inhaltsverzeichnis Seite 1 Einführung... 3 2 Systemvoraussetzungen...
MehrHerstellen von Symbolen mit Corel Draw ab Version 9
Herstellen von Symbolen mit Corel Draw ab Version 9 Einleitung : Icon Design-Überblick: 1) Gestalten in Corel Draw 10.0 3) Vorlage für Photopaint für Import von Corel 4) Einfügen in die PSD-Datei und Bearbeiten
Mehr14.4.2016. Technische Hochschule Georg Agricola WORKSHOP TEIL 3. IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt
14.4.2016 Technische Hochschule Georg Agricola WORKSHOP TEIL 3 IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt Inhaltsverzeichnis 1. Kurzfassung zur Projekterstellung... 2 2. Morse-Tabelle...
Mehr4D Server v12 64-bit Version BETA VERSION
4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und
MehrBerechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010. FHNW, Services, ICT
Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010 FHNW, Services, ICT Windisch, März 2013 Berechtigungen im Kalender 1 1 Gruppen 3 1.1 Die Gruppe/der Benutzer Standard
MehrAdobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost
Adobe Photoshop Lightroom 5 für Einsteiger Bilder verwalten und entwickeln Sam Jost Kapitel 2 Der erste Start 2.1 Mitmachen beim Lesen....................... 22 2.2 Für Apple-Anwender.........................
MehrInternet online Update (Mozilla Firefox)
Um Ihr Consoir Beta immer schnell und umkompliziert auf den aktuellsten Stand zu bringen, bieten wir allen Kunden ein Internet Update an. Öffnen Sie Ihren Mozilla Firefox und gehen auf unsere Internetseite:
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
MehrAnwendungsbeispiele Sign Live! Secure Mail Gateway
Anwendungsbeispiele Sign Live! Secure Mail Gateway Kritik, Kommentare & Korrekturen Wir sind ständig bemüht, unsere Dokumentation zu optimieren und Ihren Bedürfnissen anzupassen. Ihre Anregungen sind uns
MehrEinrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me
Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Bevor Sie die Platte zum ersten Mal benutzen können, muss sie noch partitioniert und formatiert werden! Vorher zeigt sich die Festplatte
MehrErstellen einer digitalen Signatur für Adobe-Formulare
Erstellen einer digitalen Signatur für Adobe-Formulare (Hubert Straub 24.07.13) Die beiden Probleme beim Versenden digitaler Dokumente sind einmal die Prüfung der Authentizität des Absenders (was meist
MehrBilder zum Upload verkleinern
Seite 1 von 9 Bilder zum Upload verkleinern Teil 1: Maße der Bilder verändern Um Bilder in ihren Abmessungen zu verkleinern benutze ich die Freeware Irfan View. Die Software biete zwar noch einiges mehr
MehrInstallationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb
Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb CashPro basiert auf Accesstechnologie 2003 und ist auch unter den aktuellen Accessversionen 2007 bis 2013 einsetzbar und Mehrbenutzerfähig.
MehrPatch Management mit
Patch Management mit Installation von Hotfixes & Patches Inhaltsverzeichnis dieses Dokuments Einleitung...3 Wie man einen Patch installiert...4 Patch Installation unter UliCMS 7.x.x bis 8.x.x...4 Patch
MehrWindows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen
Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen Das können wir Ihnen versprechen: An der neuen Taskleiste in Windows 7 werden Sie sehr viel Freude haben. Denn diese sorgt
MehrDas erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.
Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen
MehrVirtueller Seminarordner Anleitung für die Dozentinnen und Dozenten
Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,
MehrGEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY
GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY Vorteile der Verwendung eines ACTIVE-DIRECTORY Automatische GEORG Anmeldung über bereits erfolgte Anmeldung am Betriebssystem o Sie können sich jederzeit als
MehrWordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten
Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten Version 1.0 Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten In unserer Anleitung zeigen wir Dir, wie Du Blogbeiträge
MehrHandbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)
Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...
Mehr1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern
1 Einleitung Lernziele Symbolleiste für den Schnellzugriff anpassen Notizenseiten drucken eine Präsentation abwärtskompatibel speichern eine Präsentation auf CD oder USB-Stick speichern Lerndauer 4 Minuten
MehrUniversal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.
ewon - Technical Note Nr. 003 Version 1.2 Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. Übersicht 1. Thema 2. Benötigte Komponenten 3. Downloaden der Seiten und aufspielen auf
MehrBedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien
Sie haben von der VR DISKONTBANK GmbH ein signiertes PDF-Dokument (i.d.r. eine Zentralregulierungsliste mit dem Status einer offiziellen Rechnung) erhalten und möchten nun die Signatur verifizieren, um
MehrEinführung in Eclipse und Java
Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrNach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht:
Beiträge erstellen in Joomla Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Abbildung 1 - Kontrollzentrum Von hier aus kann man zu verschiedene Einstellungen
MehrFuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7
FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7 Die Installation der FuxMedia Software erfolgt erst NACH Einrichtung des Netzlaufwerks! Menüleiste einblenden, falls nicht vorhanden Die
MehrStellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster
Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.
MehrJava Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung
Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung Ludwig-Maximilians-Universität München Institut für Informatik Programmierung und Softwaretechnik (PST) Prof. Wirsing 6. Mai 2009 1 Der Name Java
MehrStep by Step Webserver unter Windows Server 2003. von Christian Bartl
Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird
MehrBeheben von verlorenen Verknüpfungen 20.06.2005
Vor folgender Situation ist sicher jeder Solid Edge-Anwender beim Öffnen von Baugruppen oder Drafts schon einmal gestanden: Die Ursache dafür kann sein: Die Dateien wurden über den Explorer umbenannt:
MehrGuide DynDNS und Portforwarding
Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch
MehrOrdner Berechtigung vergeben Zugriffsrechte unter Windows einrichten
Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.
MehrUpgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)
Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10 Technische Informationen (White Paper) Inhaltsverzeichnis 1. Über dieses Dokument... 3 2. Überblick... 3 3. Upgrade Verfahren... 4
Mehr