This article provides information about the responder after Authentication, Authorization, and Auditing (AAA) feature for NetScaler appliance 10.5 Beta Release.
Responder after AAA is a feature to customize error strings that aaatm module renders.
When Access Gateway or AAA-TM modules process requests, an error such as authorization failure or backend server inaccessible is returned. NetScaler appliance may encounter various issues such as allocation failures, C2C failures, failures while processing incoming packets, and so on. In each of these cases, NetScaler sends errors. Some of the errors are unclear such as “Internal server error 29”. Sometimes, customers may want to customize these errors for the user. In a packet engine, the errors that occur when AG/AAA-TM module processes requests are classified as follows:
When these issues occur, set the responder policies to send the customized errors. An example scenario and the corresponding configuration are provided here for each of these error types:
This error is seen when there is an unauthorized access to the resource, or there are authenticated requests without cookie, and the HTTP 403 forbidden message is seen.
CLI Usage
add expression e3 "SYS.ERROR.CATEGORY.EQ(ERR_AAA_UNAUTHORIZED)" add responder action respondwith respondwith “user is unauthorized to access this resource” add responder policy respondwith e3 respondwith bind responder global respondwith 1
CLI Usage
> add expression e3 "SYS.ERROR.CATEGORY.EQ(ERR_AAA_NOSERVICE)" > add responder action respwith respondwith '" Back end Server is DOWN/unreachable""' > add responder policy respolicy e3 respwith >bind responder global respolicy 1
ERR_AAA_CONFIG
This error is seen when there are runtime configuration issues for which HTTP 500 error code is seen.
Configure TMvs for 401 authentication for which the authnvs does not exist:
Craft responder policy as follows:
> add expression e3 "SYS.ERROR.CATEGORY.EQ(ERR_AAA_CONFIG)" Done > add responder action respwith respondwith '" Configuration issue,kindly chk your Config and try again""' Done > add responder policy respolicy e3 respwith Done > bind responder global respolicy 1 Done 3. Login to LB TM.
ERR_AAA_AUTHN
This error is seen when there are authentication failures or user credentials are incorrect. Logon with incorrect credentials on the AGEE/AAA-TM login page.
Craft responder policy as follows:
add expression e3 "SYS.ERROR.CATEGORY.EQ(ERR_AAA_AUTHN)" add responder action respwith respondwith '" User Credentials are incorrect""' add responder policy respolicy e3 respwith bind responder global respolicy 1.
The error code is related to random failures of memory, NSB, PCB, B64 and all such allocations. For example, a previous allocation is not cleared when the second one fails.
Craft responder policy as follows:
add expression e3 "SYS.ERROR.CATEGORY.EQ(ERR_AAA_ALLOC)" add responder action respwith respondwith '" Allocation failure /Issue on the Netscaler device""' add responder policy respolicy e3 respwithbind bind responder global respolicy 1
C2C errors can arise in NetScaler when there are C2C communication issue arising due to timing, configuration modification, configuration distribution, and so on.
Craft responder policy as follows:
add expression e3 "SYS.ERROR.CATEGORY.EQ(ERR_AAA_C2C)" add responder action respwith respondwith '" c2c issues with the Device""' add responder policy respolicy e3 respwith bind responder global respolicy 1 Done
The Internet Protocol allows IP fragmentation so that the datagrams can be fragmented to pass over a link with a smaller MTU than the original datagram size.
NetScaler does one of the two reassembly actions: BRIDGE (fragments are forwarded without reassembly) or ASSEMBLE (fragments are reassembled before processing).
If the TCP/UDP header is fragmented, fragments are reassembled till the complete TCP header is available. After NetScaler has full TCP header, two actions are possible for the fragmented packets:Craft responder policy as follows:
add expression e3 "SYS.ERROR.CATEGORY.EQ(ERR_AAA_REASSEMBLY)" add responder action respwith respondwith '" NS reassembly issues""' add responder policy respolicy e3 respwith bind responder global respolicy 1
This issue is seen when there are some issues related to PE authentication policies.
Craft responder policy as follows:
add expression e3 "SYS.ERROR.CATEGORY.EQ(ERR_AAA_POLICY)" add responder action respwith respondwith '" Authentication Policy issue""' add responder policy respolicy e3 respwith bind responder global respolicy 1
Craft responder policy as follows:
add expression e3 "SYS.ERROR.CATEGORY.EQ(ERR_AAA_GENERIC)" add responder action respwith respondwith '" Generic issue/s""' add responder policy respolicy e3 respwith bind responder global respolicy 1
The issue is seen when a user is trying to access a AAATM /AGEE virtual server with an incorrect syntax.
Craft responder policy as follows:
add expression e3 "SYS.ERROR.CATEGORY.EQ(ERR_AAA_BAD_REQUEST)" add responder action respwith respondwith '" Bad Request.Pl modify the request to proceed""' add responder policy respolicy e3 respwith bind responder global respolicy 1
Craft responder policy as follows:
add expression e3 "SYS.ERROR.CATEGORY.EQ(ERR_AAA_PAGE_NOT_FOUND)" add responder action respwith respondwith '" Resource /webpage you requested doesn’t exist”’ add responder policy respolicy e3 respwith bind responder global respolicy 1
Craft responder policy as follows:
add expression e3 "SYS.ERROR.CATEGORY.EQ(ERR_UNKNOWN)" add responder action respwith respondwith '" Unknown Issue"' add responder policy respolicy e3 respwith bind responder global respolicy 1
Craft responder policy as follows:
add expression e3 "SYS.ERROR.CATEGORY.EQ(ERR_AAA_IIP") add responder action respwith respondwith '" Issue with IIP allocation/IIP transfer issues"' add responder policy respolicy e3 respwith bind responder global respolicy 1
Craft responder policy as follows:
add expression e3 "SYS.ERROR.CATEGORY.EQ(ERR_AAA_SAML)" add responder action respwith respondwith '" Issue with SAML (Secure Assertion Markup Language) assertion/SAML response"' add responder policy respolicy e3 respwith bind responder global respolicy 1