Java EE Security
()
About this ebook
Read more from Bernhard Löwenstein
shortcut
Related to Java EE Security
Titles in the series (100)
Einstieg in Google Go Rating: 0 out of 5 stars0 ratingsServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Rating: 0 out of 5 stars0 ratingsTFS 2012 Versionskontrolle: Grundlagen, Check-In Policies und Branch-Modelle Rating: 0 out of 5 stars0 ratingsQualität in IT-Architekturen: Strategie und Planung Rating: 0 out of 5 stars0 ratingsJava EE Security Rating: 0 out of 5 stars0 ratingsSpring: Vier Perspektiven auf Framework und Ökosystem 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 ratingsHTML5 Security Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Rating: 0 out of 5 stars0 ratingsÜberzeugende Präsentationen: Konzeption, Technik und Design Rating: 0 out of 5 stars0 ratingsHTML5 für Mobile Web Rating: 0 out of 5 stars0 ratingsJava 7: Fork-Join-Framework und Phaser Rating: 0 out of 5 stars0 ratingsSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Rating: 0 out of 5 stars0 ratingsJavaScript auf dem Server Rating: 0 out of 5 stars0 ratingsAmazon Web Services für .NET Entwickler 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 ratingsIT Wissensmanagement: Theorie und Praxis Rating: 0 out of 5 stars0 ratingsAlgorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsBPM: Strategien und Anwendungsfälle Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenCL Rating: 0 out of 5 stars0 ratingsTitanium Mobile: Multi Platform Apps mit JavaScript Rating: 0 out of 5 stars0 ratingsTFS 2012 Anforderungsmanagement: Work Items und Prozessvorlagen Rating: 0 out of 5 stars0 ratingsBig Data: Technologiegrundlagen Rating: 0 out of 5 stars0 ratingsjQuery Mobile - Basics: Basics Rating: 0 out of 5 stars0 ratingsUX Design für Tablet-Websites: Ein Überblick Rating: 0 out of 5 stars0 ratingsBig Data: Executive Briefing Rating: 0 out of 5 stars0 ratingsSharePoint-Entwicklung für Einsteiger Rating: 0 out of 5 stars0 ratingsJava EE 7: Ein Ausblick 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 ratingsGrundlagen der Softwareentwicklung Rating: 0 out of 5 stars0 ratingsCloud Computing: Praxisratgeber und Einstiegsstrategien 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
JavaScript kurz & gut Rating: 3 out of 5 stars3/5Algorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsProgrammieren von Kopf bis Fuß Rating: 4 out of 5 stars4/5SQL von Kopf bis Fuß Rating: 4 out of 5 stars4/5Weniger schlecht programmieren Rating: 4 out of 5 stars4/5New Game Plus: Perspektiven der Game Studies. Genres - Künste - Diskurse (Bild und Bit. Studien zur digitalen Medienkultur) 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 ratingsPython kurz & gut: Für Python 3.x und 2.7 Rating: 3 out of 5 stars3/5Linux Grundlagen - Ein Einstieg in das Linux-Betriebssystem Rating: 0 out of 5 stars0 ratingsProgrammieren lernen mit Python 3: Schnelleinstieg für Beginner Rating: 0 out of 5 stars0 ratingsHacken mit Python und Kali-Linux: Entwicklung eigener Hackingtools mit Python unter Kali-Linux Rating: 0 out of 5 stars0 ratingsGit kurz & gut Rating: 0 out of 5 stars0 ratingsMikrocontroller in der Elektronik: Mikrocontroller programmieren und in der Praxis einsetzen Rating: 0 out of 5 stars0 ratings.NET-Praxis: Tipps und Tricks zu .NET und Visual Studio 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/5Eigene Spiele programmieren – Python lernen: Der spielerische Weg zur Programmiersprache Rating: 0 out of 5 stars0 ratingsC von Kopf bis Fuß Rating: 3 out of 5 stars3/5Linux Befehlsreferenz: Schnelleinstieg in die Arbeit mit der Konsole, regulären Ausdrücken und Shellscripting Rating: 0 out of 5 stars0 ratingsMicrocontroller für das IoT Rating: 0 out of 5 stars0 ratingsDie ultimative FRITZ!Box Bibel - Das Praxisbuch 2. aktualisierte Auflage - mit vielen Insider Tipps und Tricks - komplett in Farbe Rating: 0 out of 5 stars0 ratingsHTML5-Programmierung von Kopf bis Fuß: Webanwendungen mit HTML5 und JavaScript Rating: 0 out of 5 stars0 ratingsAndroid-Programmierung kurz & gut Rating: 0 out of 5 stars0 ratingsPython | Schritt für Schritt Programmieren lernen: Der ultimative Anfänger Guide für einen einfachen & schnellen Einstieg Rating: 0 out of 5 stars0 ratingsRaspberry Pi: Einstieg • Optimierung • Projekte Rating: 5 out of 5 stars5/5Bash kurz & gut Rating: 0 out of 5 stars0 ratingsProgrammieren für Einsteiger: Teil 1 Rating: 0 out of 5 stars0 ratingsSoftwareentwicklungsprozess: Von der ersten Idee bis zur Installation Rating: 0 out of 5 stars0 ratingsPython lernen – kurz & gut Rating: 0 out of 5 stars0 ratingsC++: Eine kompakte Einführung 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