|
In computer security, proxy based assertion (PBA) is a secure method of using a single entry point for a proxy server to pass assertion data for access control and authorization using the headers to other systems. It's designed to allow internal systems to receive assertion details (e.g. user, role, customer ID) without the need to decrypt or verify a digital signature, or to contact a different system to verify a token. This method is used for legacy systems, environments (old and new) running more than one operating system or areas where changes to applications or web applications are not possible or expensive. Requirements # All inbound traffic MUST go via the assertion proxy as the only entry point into the data center/systems using assertion data. # Access MUST be protected by a firewall to prevent ANY access to the systems not via the proxy and as such direct access of any entity should not be allowed if bypassing the assertion proxy. # The proxy must be a bastian host, fully patched and updated at all times, fully hardened, must only be used for this purpose. # A WAF is suggested as an additional protection layer before the proxy. # Communications should be securely encrypted in motion. # All systems should be secure per the OWASP top 10 and other security publications and recommendations. Mechanism Unauthenticated user # User reach's proxy requesting a protected resource/any resource (depending on solution needs) # Proxy authenticates user in a secure manner (internally or using other system intended for that purpose) # Proxy creates a secure cookie on the users browser # Proxy removes ALL headers # Proxy injectes assertion headers (e.g. user, user role, user IP) # Proxy forwards to the target system # Target system parses assertion headers and implicitly trusts them, having verified the packet source IP is from the proxy Authenticated user # User reach's proxy requesting a protected resource/any resource (depending on solution needs) # Proxy parses received cookie in header # Proxy verifies cookie and session validity # Proxy removes ALL headers # Proxy injectes assertion headers (e.g. user, user role, user IP) # Proxy forwards to the target system # Target system parses assertion headers and implicitly trusts them, having verified the packet source IP is from the proxy
|
|
|