Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-onCraig Dickson
This document provides a summary of an presentation on single sign-on (SSO) solutions. It begins with an overview of the goals of presenting on open source SSO solutions and providing a comparison. The agenda then covers what SSO is, a survey of major open source SSO players like OpenSSO, JOSSO and CAS, head-to-head comparisons of the solutions, and leaves time for questions. Specific points covered include configurations, architectures, integration capabilities and customization options for each solution.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-onCraig Dickson
This document provides a summary of an presentation on single sign-on (SSO) solutions. It begins with an overview of the goals of presenting on open source SSO solutions and providing a comparison. The agenda then covers what SSO is, a survey of major open source SSO players like OpenSSO, JOSSO and CAS, head-to-head comparisons of the solutions, and leaves time for questions. Specific points covered include configurations, architectures, integration capabilities and customization options for each solution.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
Ecoutez le texte avec ReadSpeaker
-A +A
0
Article publié le 14-02-12
La Fédération Française des Télécoms, partenaire du Forum de la fiscalité numérique
Les télécoms constituent l’un des leviers de croissance et de compétitivité équitable les plus sûrs et les plus rapides à mobiliser, à condition de ne pas être soumis à une surfiscalité et à un différentiel fiscal pénalisants vis-à-vis des acteurs globaux du web. C'est pourquoi la Fédédation Française des Télécoms a souhaité être partenaire du premier forum parlementaire de la fiscalité numérique.
Este documento contiene información sobre varios temas relacionados con el VIH y el SIDA, incluyendo casos de superfecundación, síntomas del VIH, exámenes para detectar el VIH como ELISA, y biografías de personas que viven con el VIH. En general, provee detalles sobre la biología del VIH, formas de detección, experiencias de pacientes y opiniones personales sobre vivir con esta condición.
Présentation de l'Appcelerator Platform au Meetup Titanium ParisDamien Laureaux
Présentation de l'Appcelerator Platform, les services complémentaires payants d'Appcelerator, lors du Meetup Paris Titanium du 27 mars 2014.
L'Appcelerator Platform comprends les services suivants :
- Appcelerator Cloud Services (MBaaS),
- Appcelerator Test (tests automatisés),
- Appcelerator Performance Management (remontée des crashs en temps réel),
- Appcelerator Analytics,
- Appcelerator Studio (IDE)
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
IT-Sicherheit und agile Entwicklung? Geht das? Sicher!Carsten Cordes
Unit-Tests, Integrationstests und Co. machen es möglich, zu überprüfen, ob entwickelte Software den funktionalen Anforderungen entspricht. Durch die zunehmende Vernetzung von Softwaresystemen und die Auslagerung von Anwendungen in die Cloud und das Internet werden aber auch Security-Anforderungen immer relevanter. Traditionelle Qualitätssicherungsmethoden laufen hier oft ins Leere. Wenn überhaupt, wird meist nur am Ende stichprobenartig getestet, ob eine Software sicher ist. Fallen Sicherheitsmängel erst so spät auf, sind sie in der Regel aber nur schwierig zu beheben, und schlimmstenfalls müssen sogar ganze Anwendungsteile neu entwickelt werden. Deshalb ist es sinnvoll, IT-Sicherheit möglichst früh im Entwicklungsprozess zu berücksichtigen, um teure Schwachstellen zu vermeiden. Aber wie können Sicherheitsrisiken frühzeitig ermittelt und bei der agilen Entwicklung berücksichtigt werden? Eine Lösung ist ein Security-Aware-Development, bei dem IT-Sicherheitsanforderungen fest in den agilen Entwicklungsprozess integriert werden.
Automatisierung von Security Test im Build-Prozessx-celerate
Das Thema Security gewinnt in der Anwendungsentwicklung immer mehr an Bedeutung. Durch die Sensibilisierung durch die Medien und die Einführung der GDPR ist Web Application Security zu den Managern, Kunden und Projektverantwortlichen vorgedrungen. Mit diesem Vortrag begleiten Sie mich auf meiner Reise von den manuellen statischen Security Tests bis zur vollautomatisierten Einbindung in eine CDI Pipeline von agilen Projekten. Die Erlebnisse und Diskussionen bei der Toolauswahl, die Hürden bei der Einbindung in den CI Server, die Probleme und Widerstände bei der täglichen Verwendung der Werkzeuge sowie spaßige Vertriebsgespräche sollen einen Einblick und Vorgeschmack auf die Einführung von Security Tests im Entwicklungsprozess geben.
DevOpsCon 2016 - Continuous Security Testing - Stephan KapsStephan Kaps
Continuous Delivery (CD) ist in aller Munde. Zu Recht, doch wollen wir unsere Software kontinuierlich ausliefern, müssen wir auch kontinuierlich Sicherheitstests durchführen.
Continuous Security Testing bedeutet, statische und dynamische Analysen bereits während der Entwicklung durchzuführen, um frühzeitig und regelmäßig Sicherheitsmaßnahmen umzusetzen, bevor manuelle Prüfungen wie Penetrationstests zum Einsatz kommen. Um eine Anwendung bereits während der Entwicklung auf das Vorhandensein sicherheitskritischer Schwachstellen hin überprüfen zu können, ist eine Integration in den Entwicklungsprozess und somit eine kontinuierliche und am besten automatisierte Prüfung notwendig.
Der Vortrag stellt die praktischen Erfahrungen aus einem Projekt vor, bei dem Sicherheitsrichtlinien (Secure Coding Guide) für die eigene Entwicklung von Java-Webanwendungen aufgestellt und Sicherheitstests in den Softwareentwicklungsprozess integriert wurden. Dabei wird auf die organisatorischen, inhaltlichen und technischen Überlegungen eingegangen.
Measuring The Security Of Web Applications (Owasp Germany 2008)sebastianschinzel
Software ist unsicher! "Security Researcher" publizieren nahezu täglich Sicherheitsmängel in Softwareapplikationen in einschlägigen Mailinglisten und Internetforen. Und das bereits seit Jahrzehnten. Softwaresicherheit wird immer wichtiger mit der zunehmenden Vernetzung und Kritikalität der Daten. Daher reservieren Softwarehersteller oft signifikante (aber trotzdem begrenzte) Budgets zur sicheren Softwareentwicklung. Um diese Budgets werben Dienstleister und Hersteller von verschiedensten Sicherheitsprodukten. Oft halten diese Dienste und Produkte nicht das, was das Marketing verspricht. Für Softwarehersteller stellt sich die Frage in welche Prozesse und Technologien in welchem Umfang investiert werden sollte: "Wieviel Sicherheitszuwachs bekommt man für wieviel Aufwand"? In diesem Vortrag beleuchte ich Wege und Irrwege, um dieses Kosten-Nutzen-Verhältnis abzuschätzen und zu optimieren.
SAP Infotag: Security / Erlebe-Software 07-2014Erlebe Software
In regelmäßigen Abständen veranstaltet die mindsquare GmbH als SAP Beratungs- und Entwicklungsunternehmen kostenlose Infotage zu aktuellen Entwicklungen im SAP Umfeld mit hochaktuellen Themen.
Dabei werden alle Fachbereiche der mindsquare mit einbezogen - erlebe-Software.de ist einer davon!
Sehen Sie hier den Beitrag beim SAP Infotag im Juli 2014!
Sie haben Interesse, selbst einen unserer Infotage zu besuchen? Informieren Sie sich auf http://erlebe-software.de!
A 90 min addon for Ruby On Rails Programming by Christian Feser, Michael Kram, Jakob Schröter and Marc Seeger.
Contents:
Testing
Test-Driven Development
Security
Performance
Caching
Deployment
Ecoutez le texte avec ReadSpeaker
-A +A
0
Article publié le 14-02-12
La Fédération Française des Télécoms, partenaire du Forum de la fiscalité numérique
Les télécoms constituent l’un des leviers de croissance et de compétitivité équitable les plus sûrs et les plus rapides à mobiliser, à condition de ne pas être soumis à une surfiscalité et à un différentiel fiscal pénalisants vis-à-vis des acteurs globaux du web. C'est pourquoi la Fédédation Française des Télécoms a souhaité être partenaire du premier forum parlementaire de la fiscalité numérique.
Este documento contiene información sobre varios temas relacionados con el VIH y el SIDA, incluyendo casos de superfecundación, síntomas del VIH, exámenes para detectar el VIH como ELISA, y biografías de personas que viven con el VIH. En general, provee detalles sobre la biología del VIH, formas de detección, experiencias de pacientes y opiniones personales sobre vivir con esta condición.
Présentation de l'Appcelerator Platform au Meetup Titanium ParisDamien Laureaux
Présentation de l'Appcelerator Platform, les services complémentaires payants d'Appcelerator, lors du Meetup Paris Titanium du 27 mars 2014.
L'Appcelerator Platform comprends les services suivants :
- Appcelerator Cloud Services (MBaaS),
- Appcelerator Test (tests automatisés),
- Appcelerator Performance Management (remontée des crashs en temps réel),
- Appcelerator Analytics,
- Appcelerator Studio (IDE)
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
IT-Sicherheit und agile Entwicklung? Geht das? Sicher!Carsten Cordes
Unit-Tests, Integrationstests und Co. machen es möglich, zu überprüfen, ob entwickelte Software den funktionalen Anforderungen entspricht. Durch die zunehmende Vernetzung von Softwaresystemen und die Auslagerung von Anwendungen in die Cloud und das Internet werden aber auch Security-Anforderungen immer relevanter. Traditionelle Qualitätssicherungsmethoden laufen hier oft ins Leere. Wenn überhaupt, wird meist nur am Ende stichprobenartig getestet, ob eine Software sicher ist. Fallen Sicherheitsmängel erst so spät auf, sind sie in der Regel aber nur schwierig zu beheben, und schlimmstenfalls müssen sogar ganze Anwendungsteile neu entwickelt werden. Deshalb ist es sinnvoll, IT-Sicherheit möglichst früh im Entwicklungsprozess zu berücksichtigen, um teure Schwachstellen zu vermeiden. Aber wie können Sicherheitsrisiken frühzeitig ermittelt und bei der agilen Entwicklung berücksichtigt werden? Eine Lösung ist ein Security-Aware-Development, bei dem IT-Sicherheitsanforderungen fest in den agilen Entwicklungsprozess integriert werden.
Automatisierung von Security Test im Build-Prozessx-celerate
Das Thema Security gewinnt in der Anwendungsentwicklung immer mehr an Bedeutung. Durch die Sensibilisierung durch die Medien und die Einführung der GDPR ist Web Application Security zu den Managern, Kunden und Projektverantwortlichen vorgedrungen. Mit diesem Vortrag begleiten Sie mich auf meiner Reise von den manuellen statischen Security Tests bis zur vollautomatisierten Einbindung in eine CDI Pipeline von agilen Projekten. Die Erlebnisse und Diskussionen bei der Toolauswahl, die Hürden bei der Einbindung in den CI Server, die Probleme und Widerstände bei der täglichen Verwendung der Werkzeuge sowie spaßige Vertriebsgespräche sollen einen Einblick und Vorgeschmack auf die Einführung von Security Tests im Entwicklungsprozess geben.
DevOpsCon 2016 - Continuous Security Testing - Stephan KapsStephan Kaps
Continuous Delivery (CD) ist in aller Munde. Zu Recht, doch wollen wir unsere Software kontinuierlich ausliefern, müssen wir auch kontinuierlich Sicherheitstests durchführen.
Continuous Security Testing bedeutet, statische und dynamische Analysen bereits während der Entwicklung durchzuführen, um frühzeitig und regelmäßig Sicherheitsmaßnahmen umzusetzen, bevor manuelle Prüfungen wie Penetrationstests zum Einsatz kommen. Um eine Anwendung bereits während der Entwicklung auf das Vorhandensein sicherheitskritischer Schwachstellen hin überprüfen zu können, ist eine Integration in den Entwicklungsprozess und somit eine kontinuierliche und am besten automatisierte Prüfung notwendig.
Der Vortrag stellt die praktischen Erfahrungen aus einem Projekt vor, bei dem Sicherheitsrichtlinien (Secure Coding Guide) für die eigene Entwicklung von Java-Webanwendungen aufgestellt und Sicherheitstests in den Softwareentwicklungsprozess integriert wurden. Dabei wird auf die organisatorischen, inhaltlichen und technischen Überlegungen eingegangen.
Measuring The Security Of Web Applications (Owasp Germany 2008)sebastianschinzel
Software ist unsicher! "Security Researcher" publizieren nahezu täglich Sicherheitsmängel in Softwareapplikationen in einschlägigen Mailinglisten und Internetforen. Und das bereits seit Jahrzehnten. Softwaresicherheit wird immer wichtiger mit der zunehmenden Vernetzung und Kritikalität der Daten. Daher reservieren Softwarehersteller oft signifikante (aber trotzdem begrenzte) Budgets zur sicheren Softwareentwicklung. Um diese Budgets werben Dienstleister und Hersteller von verschiedensten Sicherheitsprodukten. Oft halten diese Dienste und Produkte nicht das, was das Marketing verspricht. Für Softwarehersteller stellt sich die Frage in welche Prozesse und Technologien in welchem Umfang investiert werden sollte: "Wieviel Sicherheitszuwachs bekommt man für wieviel Aufwand"? In diesem Vortrag beleuchte ich Wege und Irrwege, um dieses Kosten-Nutzen-Verhältnis abzuschätzen und zu optimieren.
SAP Infotag: Security / Erlebe-Software 07-2014Erlebe Software
In regelmäßigen Abständen veranstaltet die mindsquare GmbH als SAP Beratungs- und Entwicklungsunternehmen kostenlose Infotage zu aktuellen Entwicklungen im SAP Umfeld mit hochaktuellen Themen.
Dabei werden alle Fachbereiche der mindsquare mit einbezogen - erlebe-Software.de ist einer davon!
Sehen Sie hier den Beitrag beim SAP Infotag im Juli 2014!
Sie haben Interesse, selbst einen unserer Infotage zu besuchen? Informieren Sie sich auf http://erlebe-software.de!
A 90 min addon for Ruby On Rails Programming by Christian Feser, Michael Kram, Jakob Schröter and Marc Seeger.
Contents:
Testing
Test-Driven Development
Security
Performance
Caching
Deployment
In diesem Webinar gehen wir speziell auf die Unterschiede zwischen scannen mit und scannen ohne Agenten ein, mit dem Sie Schwachstellen in Ihrem Netzwerk ermitteln und analysieren können.
Dass eine Anwendung gegen Angriffe von Außen abgesichert werden muss, ist in der heutigen Zeit keine Frage mehr. Die OWASP Top10 sind in aller Munde. Um so verwunderlicher ist es, dass in den meisten Projekten die Suche nach Sicherheitslücken frühestens nach Fertigstellung der Software angegangen wird.
Dabei gibt es ein paar Möglichkeiten, bekannte Security-Probleme bereits während der Entwicklung automatisiert zu erkennen und dem Entwickler so durch geeignetes Feedback die Möglichkeit zu geben, diese zeitnah zu beheben.
Im Vortrag werden verschiedene Tools vorgestellt und gezeigt, welche Security-Probleme schon während der Entwicklung durch Continous Integration vermieden werden können.
50 Shades of K8s Autoscaling #JavaLand24.pdfQAware GmbH
JavaLand 2024, April 2024, Mario-Leander Reimer
== Dokument bitte herunterladen, falls unscharf! Please download slides if blurred! ==
Abstract:
Elasticity and unlimited scalability are the holy grail for any cloud-native application. Now you might think: “That’s easy!!! I just run my containers on a Kubernetes cluster and I am done.” But is it really that simple?
Turns out it’s not! Your application as well as your cloud infrastructure and K8s cluster need to address and support these non-functional requirements.
This session will have a detailed and also practical look at the different ways of autoscaling in Kubernetes. We will give an overview of the technical foundations and prerequisites, and then showcase several frameworks and technologies that can be used to flexibly autoscale your cluster and your cloud-native workloads.
2. Über mich
» Senior Consultant bei SpringSource
Germany
» IT-Security Consulting / Reviews
» Acegi-/Spring-Consulting
» Trainings
» mike.wiesner@springsource.com
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 2
3. Agenda
» Security Patterns?
» Sicherheit in Java
» Der besste Zeitpunkt
» Tipps & Tools
» Testing
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 3
4. Security Patterns?
» Techniken gegen verbreitete
Angriffsmuster
» SQL-Injection, Parameter Tampering, Man in
the middle, etc.
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 4
5. Security Patterns?
» Techniken gegen verbreitete
Angriffsmuster
» SQL-Injection, Parameter Tampering, Man in
the middle, etc.
» Gute Idee, aber wenig Frameworks die
dabei helfen
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 4
6. Security Patterns?
» Techniken gegen verbreitete
Angriffsmuster
» SQL-Injection, Parameter Tampering, Man in
the middle, etc.
» Gute Idee, aber wenig Frameworks die
dabei helfen
» Viel generischer Code
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 4
7. Ein Beispiel
» Häufigste Ursache für
Sicherheitsprobleme?
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 5
8. Ein Beispiel
» Häufigste Ursache für
Sicherheitsprobleme?
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 5
9. Ein Beispiel
» Häufigste Ursache für
Sicherheitsprobleme?
» Fehlende Eingabevalidierung!
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 5
10. SQL Injection
Internet Webserver
Daten-
bank
Spring Suche
Client
select * from ...
where betreff =
'Spring'
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 6
11. SQL Injection
Internet Webserver
Daten-
bank
x'; drop table ... Suche
Client
select * from ...
where betreff =
'x'; drop table ...
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 7
12. Tainted Variables
» Ungeprüfte Variablen welche beim
Zielsystem schaden verursachen
» Datenbanken, Prozessausführungen, etc.
» Abhilfe: Validierung
» Und zwar auf Serverseite
» HTML Selectboxen, Hidden Fields, etc. sind
kein wirksamer Schutz!
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 8
13. Agenda
» Security Patterns?
» Sicherheit in Java
» Der besste Zeitpunkt
» Tipps & Tools
» Testing
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 9
16. Java VM Sandbox
» Zugriffsrechte der Anwendung können
eingeschränkt werden
» Dateisystem, Netzwerk, etc.
» Bei Programmfehler ist das der zweite
Sicherheitszaun
» Wird auch bei Applets/Webstart benutzt.
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 12
17. Public Key Infrastructure (PKI)
» Tools und APIs für PKI sind vorhanden
» X.509, PKIX, OCSP
» Keystores
» Certificate Stores
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 13
18. Dann ist ja alles klar, oder?
» JDK bietet hauptsächlich Low-Level-
Security
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 14
19. Dann ist ja alles klar, oder?
» JDK bietet hauptsächlich Low-Level-
Security
» Immernoch viel generischer Code
notwendig
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 14
20. Dann ist ja alles klar, oder?
» JDK bietet hauptsächlich Low-Level-
Security
» Immernoch viel generischer Code
notwendig
» Hier können Fallen lauern!
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 14
21. Dann ist ja alles klar, oder?
» JDK bietet hauptsächlich Low-Level-
Security
» Immernoch viel generischer Code
notwendig
» Hier können Fallen lauern!
» Oder man vergisst es einfach ;-)
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 14
22. Agenda
» Security Patterns?
» Sicherheit in Java
» Der besste Zeitpunkt
» Tipps & Tools
» Testing
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 15
23. Der beste Zeitpunkt ist ...
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 16
24. Der beste Zeitpunkt ist ...
» ... am Schluss!
» = Security Last
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 16
25. Warum?
» Weil andere Ding entscheidender sind:
» Security bringt wenig User-Feedback
» 100% sicher, aber keine Funktionen?
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 17
26. Warum?
» Weil sich Anforderungen ändern:
» Security muss immer „mitgeändert“ werden
» Erschwert das Testen
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 18
27. Also kein Gedanke an Security?
» Doch! Grundprinzipien gelten immer:
» Validierung
» einfache Laufzeitumgebung
» Vorsicht bei generischen Schnittstellen
» Aber kein Gedanke an:
» Authentifizierung
» Rechteprüfung
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 19
28. Ist das nicht mehr Aufwand?
» Nicht mit dem richtigen Tools
» Meißtens sogar weniger
» Einfacheres testen ohne Security
» Security muss nicht ständig mitgeändert
werden
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 20
29. Agenda
» Security Patterns?
» Sicherheit in Java
» Der besste Zeitpunkt
» Tipps & Tools
» Testing
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 21
30. Am Rande erwähnt...
» Logische Trennung von Web und Services
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 22
31. Am Rande erwähnt...
» Logische Trennung von Web und Services
» Überprüfung der Schichtenaufrufe mit
AspectJ (im Compiler)
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 22
32. Am Rande erwähnt...
» Logische Trennung von Web und Services
» Überprüfung der Schichtenaufrufe mit
AspectJ (im Compiler)
» kontrollierte Flow-Steuerung im Web mit
Spring WebFlow
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 22
33. Am Rande erwähnt...
» Logische Trennung von Web und Services
» Überprüfung der Schichtenaufrufe mit
AspectJ (im Compiler)
» kontrollierte Flow-Steuerung im Web mit
Spring WebFlow
» Separierung der Module mit Spring
Dynamic Modules for OSGi
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 22
34. Wo implementieren?
Aufrufer
Methode
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 23
35. Wo implementieren?
Aufrufer Security
Methode
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 24
36. Wo implementieren?
Aufrufer
Methode Security
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 25
37. Wo implementieren?
Aufrufer
Security
Methode
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 26
38. AspectJ
» Security als Aspekt
» Automatische Durchführung vor dem
Methodenaufruf
» Nachträgliches Hinzufügen kein Problem
» Compile-Time Security
» Erfordert einiges an Einarbeitung
» Schreiben von generischem Code
notwendig
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 27
39. Spring
» Security als Aspekt
» Mit Spring AOP
» Nachträgliches Hinzufügen kein Problem
» Einfacher als AspectJ
» Keine Compile-Time Security
» Schreiben von generischem Code
notwendig
» Nur für Spring-Beans
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 28
40. Spring Security (Acegi)
» Benutzt AspectJ und Spring
» Nachträgliches Hinzufügen kein Problem
» Funktionert mit Spring AOP und AspectJ,
aber wenig direkter Kontakt damit
» Kein generischer Code, oft reicht
Konfiguration
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 29
41. Authentifizierung mit Spring Security
» Provider
» LDAP, Datenbank, InMemory, JA-SIG CAS,
CA Siteminder, OpenId, JOSSO, JCaptcha
» Methoden
» Basic, X509 (SSL), Form, Rich-Client, ...
» Leicht erweiterbar / anpasspar
» Feingranulare Strategy-Implementierungen
» Konfiguration via Spring
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 30
42. Autorisierung
» Ist das gut?
SecurityManager sm =
System.getSecurityManager();
if (sm.isUserInRole(quot;ROLE_USERquot;)) {
// do something
}
else
{
throw new AccessDeniedException(„No
Access“);
}
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 31
43. Ist das gut?
» Implementierungen müssen vorhanden
sein
» Wird immer mitgetestet
» Abhängigkeit zur API
» Verteilte Abhängigkeit zur
Rollenbeschreibung / Rechtesystem
» Mit Security Last:
» Nur Businesslogik wird implementiert!
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 32
44. Aufrufer Security Service
Interceptor
Aufruf
Security Check
Exception
Auruf
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 33
45. Aufrufer Security Service
Interceptor Business
Aufruf
Security Check
Exception
Auruf
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 33
46. Aufrufer Security Service
Interceptor Business
Aufruf
Security Check Security
Exception
Auruf
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 33
48. Reicht das aus?
» URLs sind keine 1 zu 1 Beziehung zu
Resourcen
» Webframeworks, Filter, Druckausgaben, etc.
» URLs können sich ändern
» URL alleine reicht oft nicht (AJAX)
» Filter auf Parameter sehr schwierig!
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 35
49. Wo dann?
» Am besten beim Service
» Ab hier trennen sich die Wege zu HTML,
Webservices, AJAX, etc.
» Methodenaufrufe sind 1 zu 1
» Entweder mit Annotations oder via XML
@Secured(„PERM_ADMIN_OP“)
public void adminOp();
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 36
51. Und wie war das nochmal mit Validierung?
» DEMO
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 38
52. Mögliche Lösungen
» JdbcPreparedStatement
» Datenbank baut das Query zusammen
» Hoffentlich nicht mit „+“
» Generische Validatoren
» HDIV (Zustände)
» OWASP Stinger (Blacklist)
» Fachspezifische Whitelists
» Spring MVC Validatoren, Commons Validators
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 39
53. Oder nochmal absichern
» Defense in Depth:
» Prüfung der gleichen Regeln ...
» ... auf verschiedenene Ebenen
» ... mit verschiedenen Techniken
» Z.B. SQL und Java
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 40
54. Ein Beispiel
select * from orders where owner =
<user> and subject = x
x = „Meine Bestellung“
x = „1 or 1=1“
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 41
55. Zusätzliche Prüfung mit Spring Security
Authentication Instance
Domain Object Instance
(Benutzer + Rechte)
AclProvider
Permissions
(READ, WRITE, ...)
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 42
57. Agenda
» Security Patterns?
» Sicherheit in Java
» Der besste Zeitpunkt
» Tipps & Tools
» Testing
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 44
58. Testing
» Bugs bei „zu vielen“ Funktionen werden
nicht gemeldet!
» Umfangreiche Security-Tests mit JUnit und
Fit notwendig
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 45
59. Business Code Tests
Aufrufer Security Service
Interceptor
Aufruf
Security Check
Exception
Auruf
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 46
60. Business Code Tests
Aufrufer Service
Auruf
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 46
63. Integrations Tests
» Z.B. mit FIT (Framework for Integration
Tests)
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 48
64. Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 49
65. Fazit
» Java bietet bereits viel Security-
Grundlagen
» Spring Security und AspectJ erweitern und
vereinfachen diese nochmals
» Ohne weitere Abhängigkeiten im Code zu
schaffen
» Anwendbar für jede Java-Anwendung
Mike Wiesner | SpringSource | Security-Patterns praktisch angewandt 50