De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Java & het Web Programma: Beveiliging Filters. Security.....wat is dat(1)? Beveiliging draait om 4 belangrijke steunpilaren: 1.Authenticatie: is de persoon.

Verwante presentaties


Presentatie over: "Java & het Web Programma: Beveiliging Filters. Security.....wat is dat(1)? Beveiliging draait om 4 belangrijke steunpilaren: 1.Authenticatie: is de persoon."— Transcript van de presentatie:

1 Java & het Web Programma: Beveiliging Filters

2 Security.....wat is dat(1)? Beveiliging draait om 4 belangrijke steunpilaren: 1.Authenticatie: is de persoon wie hij/zijn zegt dat hij/zij is? 2.Autorisatie: waar heeft de persoon toegang tot? 3.Vertrouwelijkheid: luistert er niemand mee? 4.Data integriteit: wordt de data niet veranderd onderweg?

3 Authenticatie....wat is dat(1)? Basic authentication:

4 Authenticatie....wat is dat(2)? Form based authentication:

5 Authenticatie....wat is dat(3)? Verder bestaat er nog: Client based autheticatie (public keys die aanwezig moet zijn op de client. Meer secure dan basic/form) Mutual authenticatie (client en server authenticeren elkaar dmv certificates Digest (=verteren) wachtwoord wordt encrypted verstuurd, veiliger dan basic/form. Wordt weinig gebruikt

6 Authenticatie....wat is dat(4)? Configuratie van authenticatie in web.xml BASIC FORM /loginPage.html /errorPage.html

7 Authenticatie....wat is dat(5)? In geval van form based authenticatie in login.jsp: Vet gedrukte namen niet wijzigen! Gebruikers toevoegen in bestand of database Meer info:

8 Authorizatie....wat is dat(1)? Bepalen waar een gebruiker toegang toe heeft programmatisch declaratief (in web.xml, heeft voorkeur) Voor authorizatie heb je altijd authenticatie nodig! Er moeten rollen gedefinieerd worden op basis waarvan toegang tot een resource wordt bepaald. Een gebruiker heeft een bepaalde rol (of meer dan 1)

9 Vendor specifiek: In web.xml: Admin Guest Member Authorizatie....wat is dat(2)?

10 mijnwebapp /Beer/AddRecipe/* /Beer/Review/* GET POST Admin Vergelijk blauwe gedeeltes! is bedoeld voor vendor specifieke mapping en het benoemen/definieren van je rollen die je gaat gebruiken in Authorizatie....wat is dat(3)?

11 = verplicht, ook al doe je er waarschijnlijk niets mee = minimaal 1, mapping zoals bij servlets. = optioneel, met url-pattern wordt bepaald wie in de auth- constraint toegang heeft met bepaalde http methode. Indien NIET gespecificeerd → ALLE methodes hebben de constraint! Dus resources ALLEEN toegankelijk voor auth-constraint roles! = optioneel, geldt voor alle resources in. Indien aanwezig → container MOET authenticatie doen voor de urls. Indien niet aanwezig → container MOET niet geauthenticeerde toegang toestaan. Zie let op. = optioneel, zie let op Authorizatie....wat is dat(4)?

12 LET OP: http-method en url-pattern bepalen samen wie in auth-constraint toegang heeft. Bijv. hierboven: alleen GET en POST methodes zijn geldig voor admin om toegang tot de resources te krijgen. Een role die niet in auth-constraint staat kan wel een PUT, TRACE, HEAD,DELETE en OPTIONS doen op de resources (alleen als je servlet die methodes ondersteunt met bijv. doPut()) Een lege betekent dat NIEMAND direct toegang heeft (maar je kunt wel indirect toegang hebben via bijv. een JSP. GEEN auth-constraint → iedereen kan een constraint request maken (met de toegestane http methodes). Geen auth-constraint is hetzelde als * (role-names zijn case sensitive) Authorizatie....wat is dat(5)?

13 Je kunt meer dan 1 hebben! Indien er overlap (dus url-pattern hetzelfde en http-method, rollen verschillend) is tussen 2 web- resource-collection's dan wordt het volgende gedaan: 1) Combineer de rollen en alle rollen hebben toegang 2) En rol * laat iedereen toe 3) Een lege auth-constraint met alle andere dingen laat NIEMAND toe. 4) Geen auth-constraint met iets anders laat iedereen toe. Authorizatie....wat is dat(6)?

14 .... Admin CONFIDENTIAL Data integriteit + vertrouwelijkheid....wat is dat(1)?

15 Waardes voor : NONE= hetzelfde als niets doen INTEGRAL=data mag niet veranderd worden onderweg, dwingt geen complete secure connection af zoals ssl CONFIDENTIAL=data mag niet gezien worden onderweg Vrijwel elke container gebruikt SSL en dus zijn INTEGRAL en CONFIDENTIAL nagenoeg hetzelfde. Je kunt maar 1 per hebben. Data integriteit + vertrouwelijkheid....wat is dat(2)?

16 Data integriteit + vertrouwelijkheid....wat is dat(3)?

17 Data integriteit + vertrouwelijkheid....wat is dat(4)?

18 Data integriteit + vertrouwelijkheid....wat is dat(5)?

19 Filters zijn een soort servlets welke in de web.xml geconfigureerd worden. Filters zijn een soort achtergrond classes, die op basis van bijv. een url taken uitvoeren Implementeer de javax.servlet.Filter interface: void destroy() void init(FilterConfig filterConfig)FilterConfig void doFilter(ServletRequest request, ServletResponse res ponse, FilterChain chain) throws IOException, ServletExceptionServletRequestServletResponseFilterChain IOException ServletException Filters....wat zijn dat(1)?

20 Filters kunnen gebruikt worden voor: Authenticatie Data conversie/compressie Logging en auditing Encryption Filters....wat zijn dat(2)?

21 Hoe werkt het?. Er komt een request binnen voor servlet A. Op deze url staan ook 2 filters geconfigureerd. Eerst wordt filter 1 aangeroepen, vervolgens door chain.doFilter filter 7 en dan de servlet. Terug in omgekeerde volgorde. Filters....wat zijn dat(3)? Filter 1 Filter 7 Servlet

22 Configureer filters in de web.xml Naam verplicht foo.mijnfilter verplicht paramnaam waarde Filters....wat zijn dat(4)?

23 Een filter hangen aan een url-pattern: Naam *.do Filter hangen een servlet: Naam mijnServlet Filters....wat zijn dat(5)?

24 Belangrijk bij configuratie: Indien meer dan 1 filter: Je hebt geen 'winnend' filter zoals bij servlets. Alle matchende filter worden uitgevoerd. Eerst worden de url-pattern filters op volgorde gezet zoals gedeclareed in DD, dan pas worden de servlet- name filter er achter gezet in volgorde zoals gedeclareerd in DD Filters....wat zijn dat(6)?

25 LET OP: Als je nog iets met de response wil doen tijdens de output, dan moet je de response wrappen. De container buffert de output niet voor de filters. Utility classes: -ServletRequestWrapper -ServletResponseWrapper -HttpServletRequestWrapper -HttpServletResponseWrapper Filters....wat zijn dat(7)?

26 Container doet het volgende met info in web.xml: 1.Instantieren listeners 2.De 'contextInitialized' methode aanroepen van listeners die de ServletContextListener interface implementeren. 3.Initialiseren filters 4.Initialiseren servlets die bij starten van de container moeten worden geladen Volgorde van initialisatie


Download ppt "Java & het Web Programma: Beveiliging Filters. Security.....wat is dat(1)? Beveiliging draait om 4 belangrijke steunpilaren: 1.Authenticatie: is de persoon."

Verwante presentaties


Ads door Google