Java EE Security
()
About this ebook
Read more from Bernhard Löwenstein
shortcut
Related to Java EE Security
Titles in the series (100)
IT Wissensmanagement: Theorie und Praxis Rating: 0 out of 5 stars0 ratingsTFS 2012 Überblick und Installation: Der Weg zum TFS Rating: 0 out of 5 stars0 ratingsServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Rating: 0 out of 5 stars0 ratingsHTML5 für Mobile Web Rating: 0 out of 5 stars0 ratingsADF - Mobile Apps entwickeln und Swing ablösen: Mobile Apps entwickeln und Swing ablösen Rating: 0 out of 5 stars0 ratingsBig Data: Technologiegrundlagen Rating: 0 out of 5 stars0 ratingsNFC: Near Field Communication für Android-Entwickler Rating: 5 out of 5 stars5/5JavaScript für Eclipse-Entwickler: Orion, RAP und GWT Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Rating: 0 out of 5 stars0 ratingsTFS 2012 Anforderungsmanagement: Work Items und Prozessvorlagen Rating: 0 out of 5 stars0 ratingsSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Rating: 0 out of 5 stars0 ratingsSoftwareentwicklungsprozess: Von der ersten Idee bis zur Installation Rating: 0 out of 5 stars0 ratingsHTML5 Security Rating: 0 out of 5 stars0 ratingsEinstieg in Google Go Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenCL Rating: 0 out of 5 stars0 ratingsJava EE Security Rating: 0 out of 5 stars0 ratingsBPM: Strategien und Anwendungsfälle Rating: 0 out of 5 stars0 ratingsAmazon Web Services für .NET Entwickler Rating: 0 out of 5 stars0 ratingsBig Data: Executive Briefing Rating: 0 out of 5 stars0 ratingsMobile Business: Was Entscheider morgen wissen müssen Rating: 0 out of 5 stars0 ratingsUX Design für Tablet-Websites: Ein Überblick Rating: 0 out of 5 stars0 ratingsAlgorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsJava 7: Fork-Join-Framework und Phaser Rating: 0 out of 5 stars0 ratingsÜberzeugende Präsentationen: Konzeption, Technik und Design Rating: 0 out of 5 stars0 ratingsJavaScript auf dem Server Rating: 0 out of 5 stars0 ratingsF#: Ein praktischer Einstieg Rating: 0 out of 5 stars0 ratingsGeolocation mit PHP: Foursquare-API, Google Places & Qype Rating: 0 out of 5 stars0 ratingsJava EE 7: Ein Ausblick Rating: 0 out of 5 stars0 ratingsQualitätssicherung mit JavaScript und PHP Rating: 0 out of 5 stars0 ratingsC++: Kurzportträt einer zeitlosen Sprache Rating: 0 out of 5 stars0 ratings
Related ebooks
Java – die Neuerungen in Version 9 bis 12: Modularisierung, Syntax- und API-Erweiterungen Rating: 0 out of 5 stars0 ratingsSharePoint Kompendium - Bd. 16 Rating: 0 out of 5 stars0 ratingsAngriffsziel UI: Benutzeraktionen, Passwörter und Clickjacking Rating: 0 out of 5 stars0 ratingsHacken mit Kali-Linux: Schnelleinstieg für Anfänger Rating: 0 out of 5 stars0 ratingsHTML5 Security Rating: 0 out of 5 stars0 ratingsJavaScript und Ajax: Das Praxisbuch für Web-Entwickler Rating: 0 out of 5 stars0 ratingsAutomatisiertes Testen: Testautomatisierung mit Geb und ScalaTest Rating: 0 out of 5 stars0 ratingsLogging: Schnelleinstieg Rating: 0 out of 5 stars0 ratingsProgressive Web-Apps: Offlinefähige Web-Anwendungen mit nativen Qualitäten Rating: 0 out of 5 stars0 ratingsPython lernen – kurz & gut Rating: 0 out of 5 stars0 ratingsEclipse SmartHome und Smart Office: Intelligente Lösungen in der Heimautomation Rating: 0 out of 5 stars0 ratingsAndroid-Programmierung kurz & gut Rating: 0 out of 5 stars0 ratingsDatenbank-Tuning - Slow Queries und MySQL-Performance: Slow Queries und MySQL-Performance Rating: 0 out of 5 stars0 ratingsAdministrator Praxis - Kleine Windows Netzwerke Rating: 0 out of 5 stars0 ratingsDocker: Webseiten mittels Containerarchitektur erstellen Rating: 3 out of 5 stars3/5Spurlos & Verschlüsselt! Rating: 0 out of 5 stars0 ratingsDas inoffizielle iPad-Buch: Jailbreak mit wenigen Klicks und Grundstücksüberwachung mit dem iPad Rating: 0 out of 5 stars0 ratingsGoogle & mehr: Online-Recherche: Wie Sie exakte Treffer auf Ihre Suchanfragen erhalten Rating: 0 out of 5 stars0 ratingsCyanogenMod: Installation und Praxis Rating: 0 out of 5 stars0 ratingsVerschlüsselt! Rating: 0 out of 5 stars0 ratingsKonfigurieren von Windows 10-Geräten: Original Microsoft Prüfungstraining 70-697 Rating: 0 out of 5 stars0 ratingsOpenOffice kurz & gut Rating: 0 out of 5 stars0 ratingsDigitale SAT-Anlagen selbst installieren: Leicht gemacht, Geld und Ärger gespart! Rating: 0 out of 5 stars0 ratingsCloud Computing: Praxisratgeber und Einstiegsstrategien Rating: 0 out of 5 stars0 ratingsGrundlagen der Softwareentwicklung Rating: 0 out of 5 stars0 ratingsMicrosoft KINECT: Programmierung des Sensorsystems Rating: 0 out of 5 stars0 ratingsDas Franzis Starterpaket Arduino Micro: Das Handbuch für den Schnelleinstieg Rating: 0 out of 5 stars0 ratingsAzure und IoT Rating: 0 out of 5 stars0 ratingsProgrammieren lernen mit EV3: Vom Einsteiger zum Meisterprogrammierer mit LEGO® MINDSTORMS® EV3 Rating: 0 out of 5 stars0 ratings
Programming For You
Programmieren lernen mit Python 3: Schnelleinstieg für Beginner Rating: 0 out of 5 stars0 ratingsEigene Spiele programmieren – Python lernen: Der spielerische Weg zur Programmiersprache Rating: 0 out of 5 stars0 ratingsRaspberry Pi: Mach's einfach: Die kompakteste Gebrauchsanweisung mit 222 Anleitungen. Geeignet für Raspberry Pi 3 Modell B / B+ Rating: 0 out of 5 stars0 ratingsMicrosoft Word 2016 (Microsoft Press): Einfache Anleitungen für wichtige Aufgaben Rating: 0 out of 5 stars0 ratingsSoft Skills in der IT Rating: 0 out of 5 stars0 ratingsDas große Python3 Workbook: Mit vielen Beispielen und Übungen - Programmieren leicht gemacht! Rating: 4 out of 5 stars4/5Python kurz & gut: Für Python 3.x und 2.7 Rating: 3 out of 5 stars3/5Python | Schritt für Schritt Programmieren lernen: Der ultimative Anfänger Guide für einen einfachen & schnellen Einstieg Rating: 0 out of 5 stars0 ratingsHTML5-Programmierung von Kopf bis Fuß: Webanwendungen mit HTML5 und JavaScript Rating: 0 out of 5 stars0 ratingsRaspberry Pi: Einstieg • Optimierung • Projekte Rating: 5 out of 5 stars5/5Hacken mit Python und Kali-Linux: Entwicklung eigener Hackingtools mit Python unter Kali-Linux Rating: 0 out of 5 stars0 ratingsSoftwareentwicklungsprozess: Von der ersten Idee bis zur Installation Rating: 0 out of 5 stars0 ratingsPowerShell: Anwendung und effektive Nutzung Rating: 5 out of 5 stars5/5Python programmieren lernen: Der spielerische Einstieg mit Minecraft Rating: 0 out of 5 stars0 ratingsNew Game Plus: Perspektiven der Game Studies. Genres - Künste - Diskurse (Bild und Bit. Studien zur digitalen Medienkultur) Rating: 0 out of 5 stars0 ratingsAndroid-Entwicklung für Einsteiger - 20.000 Zeilen unter dem Meer: 2. erweiterte Auflage Rating: 0 out of 5 stars0 ratingsC von Kopf bis Fuß Rating: 3 out of 5 stars3/5.NET-Praxis: Tipps und Tricks zu .NET und Visual Studio Rating: 0 out of 5 stars0 ratingsC++: Eine kompakte Einführung Rating: 0 out of 5 stars0 ratingsJavaScript kurz & gut Rating: 3 out of 5 stars3/5User Experience Testing 3.0: Status Quo, Entwicklung und Trends Rating: 0 out of 5 stars0 ratingsVue.js kurz & gut Rating: 0 out of 5 stars0 ratingsPython lernen – kurz & gut Rating: 0 out of 5 stars0 ratingsMicrocontroller für das IoT Rating: 0 out of 5 stars0 ratingsJavaScript kinderleicht!: Einfach programmieren lernen mit der Sprache des Web Rating: 0 out of 5 stars0 ratingsGit kurz & gut Rating: 0 out of 5 stars0 ratingsPowerprojekte mit Arduino und C: Schluss mit dem frustrierenden Ausprobieren von Code-Schnipseln! Rating: 0 out of 5 stars0 ratingsDas Franzis Starterpaket Arduino Uno: Das Handbuch für den Schnelleinstieg Rating: 0 out of 5 stars0 ratingsAndroid-Programmierung kurz & gut Rating: 0 out of 5 stars0 ratingsEinstieg in TypeScript: Grundlagen für Entwickler Rating: 0 out of 5 stars0 ratings
Reviews for Java EE Security
0 ratings0 reviews
Book preview
Java EE Security - Bernhard Löwenstein
Bernhard Löwenstein
Java EE Security
ISBN: 978-3-86802-424-1
© 2012 entwickler.press
Ein Imprint der Software & Support Media GmbH
1 Java SE 7 Security – Playing it safe
Jeder, der Software entwickelt, muss sich zwangsläufig mit dem Thema Sicherheit beschäftigen und sich darüber Gedanken machen, wie er seine Anwendungen und Daten absichern kann, damit sie nicht ausspioniert oder manipuliert werden. Auch Java-Entwickler können sich dieser Verantwortung nicht entziehen. In letzter Zeit war vermehrt von Angriffen auf IT-Systeme in den Medien zu lesen. Speziell die Gruppe Anonymous schaffte es immer wieder ins Rampenlicht und demonstrierte der Welt, dass sich jede Menge Schwachstellen in den Computersystemen finden und missbrauchen lassen. Teilweise offenbarten sie dabei auch, dass so mancher Softwarehersteller bei der Entwicklung seiner Komponenten grobe Fehler begangen haben muss.
Wir wollen uns deshalb in diesem shortcut ansehen, wie es um das Thema Sicherheit bei Java bestellt ist. Konkret geht es im ersten Kapitel um die Java SE 7 (Java Standard Edition 7), die Kapitel 2 und 3 widmen wir der Java EE 6 (Java Enterprise Edition 6) und im abschließenden vierten Teil werden wir uns ansehen, welche Sicherheitsfeatures es in Verbindung mit Web Services gibt. Vorab ist festzuhalten, dass aus Platzgründen stets nur einige wenige ausgewählte Themen behandelt werden können. In diesem Kapitel steht die Java SE 7 im Mittelpunkt. Diese Ausgabe enthält eine große Anzahl an APIs (Application Programming Interfaces), Werkzeugen und Implementierungen von Sicherheitsalgorithmen, -mechanismen und -protokollen [1]. Mit Kryptographie, PKI (Public Key Infrastructure), sicherer Kommunikation, Authentifizierung und Zugriffskontrolle deckt sie die wichtigsten Bereiche ab und stellt dem Entwickler ein leistungsfähiges Framework zur Entwicklung sicherer Anwendungen bereit. Als die wichtigsten Packages lassen sich java.security, javax.security und javax.crypto nennen.
1.1 Security Manager
Wir wollen es gemütlich angehen und uns anfangs nochmal mit den Grundlagen beschäftigen. Von zentraler Bedeutung in Verbindung mit Java ist das Sandkastenprinzip. Applikationen werden innerhalb einer sogenannten Sandbox ausgeführt und dürfen nur Aktionen durchführen, für die sie die notwendigen Berechtigungen haben. Der Security Manager wacht darüber. Bei typischen Standalone-Applikationen ist er von Haus aus deaktiviert, das heißt, es sind alle Aktionen erlaubt. Das Beispiel aus Listing 1, bei dem einfach der Inhalt einer Datei ausgelesen und auf der Standardkonsole ausgegeben wird, würde demnach problemlos ausgeführt werden. Das krasse Gegenteil ist bei Applets der Fall. Der hierbei laufende Sicherheitsmanager schränkt die Rechte des Nutzers massiv ein und verbietet beispielsweise den Zugriff auf lokale Dateien. Die Ausführung des gleichen Quellcodes würde mit einer von java.lang.SecurityException abgeleiteten Ausnahme enden.
BufferedReader in = new BufferedReader(new FileReader(test.txt
));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
in.close();
Listing 1
Will man nun auch für die Standalone-Applikation einen standardmäßigen Sicherheitsmanager nutzen (warum auch immer), so ist bei ihrem Aufruf der JVM-Parameter -Djava.security.manager zu setzen. Sogleich tritt nun auch hier bei der Ausführung der Anwendung die entsprechende Ausnahme auf. Mithilfe von -Djava.security.debug=all kann