10.02.2013 Views

IBM Tivoli Access Manager for e-business: WebSEAL Administration ...

IBM Tivoli Access Manager for e-business: WebSEAL Administration ...

IBM Tivoli Access Manager for e-business: WebSEAL Administration ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

non-validated<br />

content<br />

is<br />

passed<br />

through<br />

to<br />

the<br />

application<br />

server.<br />

If<br />

the<br />

application<br />

server<br />

does<br />

not<br />

have<br />

its<br />

own<br />

authorization<br />

capabilities,<br />

the<br />

situation<br />

might<br />

result<br />

in<br />

a<br />

security<br />

risk.<br />

The<br />

dynurl-allow-large-posts<br />

parameter<br />

allows<br />

you<br />

to<br />

control<br />

the<br />

way<br />

<strong>WebSEAL</strong><br />

handles<br />

POST<br />

requests<br />

that<br />

have<br />

a<br />

content<br />

length<br />

larger<br />

than<br />

that<br />

specified<br />

by<br />

request-body-max-read.<br />

If<br />

the<br />

parameter<br />

value<br />

is<br />

set<br />

to<br />

“no”<br />

(default),<br />

<strong>WebSEAL</strong><br />

rejects,<br />

in<br />

total,<br />

any<br />

POST<br />

request<br />

with<br />

a<br />

content<br />

length<br />

larger<br />

than<br />

that<br />

specified<br />

by<br />

request-body-max-read.<br />

[server]<br />

dynurl-allow-large-posts<br />

=<br />

no<br />

If<br />

the<br />

parameter<br />

value<br />

is<br />

set<br />

to<br />

“yes”,<br />

<strong>WebSEAL</strong><br />

accepts<br />

the<br />

entire<br />

POST<br />

request,<br />

but<br />

only<br />

validates<br />

the<br />

amount<br />

of<br />

content<br />

equal<br />

to<br />

the<br />

request-body-max-read<br />

value.<br />

[server]<br />

dynurl-allow-large-posts<br />

=<br />

yes<br />

Example<br />

1:<br />

v<br />

A<br />

large<br />

POST<br />

request<br />

is<br />

received<br />

(greater<br />

than<br />

the<br />

request-body-max-read<br />

value).<br />

v<br />

dynurl-allow-large-posts<br />

=<br />

no<br />

v<br />

Dynamic<br />

URLs<br />

are<br />

enabled.<br />

v<br />

Result:<br />

500<br />

“Server<br />

Error”<br />

Example<br />

2:<br />

v<br />

A<br />

large<br />

POST<br />

request<br />

is<br />

received<br />

(greater<br />

than<br />

the<br />

post-request-body-max-read).<br />

v<br />

dynurl-allow-large-posts<br />

=<br />

yes<br />

v<br />

Dynamic<br />

URLs<br />

are<br />

enabled.<br />

v<br />

Result:<br />

<strong>WebSEAL</strong><br />

compares<br />

the<br />

amount<br />

of<br />

content<br />

up<br />

to<br />

request-body-max-read<br />

with<br />

each<br />

of<br />

the<br />

regular<br />

expressions<br />

in<br />

the<br />

dynurl.conf<br />

configuration<br />

file,<br />

and<br />

per<strong>for</strong>ms<br />

an<br />

authorization<br />

check<br />

on<br />

the<br />

corresponding<br />

object<br />

if<br />

a<br />

match<br />

is<br />

found.<br />

Otherwise,<br />

the<br />

authorization<br />

check<br />

is<br />

per<strong>for</strong>med<br />

on<br />

the<br />

object<br />

corresponding<br />

to<br />

the<br />

URL<br />

received,<br />

as<br />

usual.<br />

The<br />

portion<br />

of<br />

the<br />

request<br />

body<br />

past<br />

request-body-max-read<br />

is<br />

not<br />

validated.<br />

v<br />

The<br />

following<br />

template<br />

contains<br />

the<br />

type<br />

of<br />

pattern<br />

matching<br />

arrangement<br />

that<br />

invites<br />

misuse<br />

by<br />

a<br />

large<br />

POST<br />

request:<br />

/rtpi153/webapp/examples/HitCount\?*action=reset*<br />

Summary<br />

and<br />

technical<br />

notes<br />

Summary:<br />

v<br />

To<br />

configure<br />

<strong>WebSEAL</strong><br />

to<br />

securely<br />

handle<br />

dynamic<br />

URLs,<br />

create<br />

the<br />

following<br />

file:<br />

/opt/pdweb/www/lib/dynurl.conf<br />

v<br />

The<br />

file<br />

must<br />

contain<br />

one<br />

or<br />

more<br />

lines<br />

of<br />

the<br />

<strong>for</strong>mat:<br />

object<br />

template<br />

v<br />

If<br />

the<br />

file<br />

does<br />

not<br />

exist,<br />

or<br />

is<br />

empty,<br />

dynamic<br />

URL<br />

capability<br />

is<br />

not<br />

enabled.<br />

v<br />

After<br />

the<br />

file<br />

has<br />

been<br />

processed,<br />

the<br />

object<br />

name<br />

appears<br />

as<br />

a<br />

child<br />

resource<br />

in<br />

the<br />

<strong>WebSEAL</strong><br />

object<br />

space.<br />

v<br />

The<br />

template<br />

can<br />

contain<br />

a<br />

subset<br />

of<br />

the<br />

standard<br />

pattern<br />

matching<br />

characters.<br />

The<br />

template<br />

can<br />

also<br />

be<br />

an<br />

exact<br />

string<br />

with<br />

no<br />

pattern<br />

matching<br />

characters.<br />

Chapter<br />

12.<br />

Application<br />

integration<br />

351

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!