Security On WebDispatcher
Security On WebDispatcher
Security on WebDispatcher
SSL connections are required to ensure that requests and responses are encrypted prior
to transmission. Therefore, the usage of HTTPS protocol instead of HTTP avoids the
communication with unencrypted data. To enhance the security it is suggest to use
HTTPS protocol on the communication channels. Below we list three
common communication channels where using HTTPS protocol is recommended.
[Genel]
[Genel]
Note that the ICM at the backend Application Servers have to provide an HTTPS port as
well. To check if the HTTPS port is active and communicable with the backend, the -
checkconfig can be used:
> ./sapwebdisp pf=<WDP profile> -checkconfig
Checking SAP Web Dispatcher Configuration
=========================================
Server info will be retrieved from host: <server>:<port> with protocol: https
Checking connection to message server of system SID...OK
Retrieving server info from message server...OK
Message Server instance list of system <SID>
+---------------------+----------+---------+----------+
| instance name | hostname |HTTP port|HTTPS port|
+---------------------+----------+---------+----------+
| <server>_<SID>_00 |<server> | 8000 | 2000 |
+---------------------+----------+---------+----------+
Further information about the Web Dispatcher setup, see Metadata Exchange Using
SSL Help page.
• How to Configure SAP Web Dispatcher to Trust Backend System SSL Certificate
• How to Configure SAP Web Dispatcher to Forward SSL Certificates for X.509
Authentication
• How to Setup a Valid Server Certificate in SAP Web Dispatcher
[Genel]
[Genel]
The ACL feature is a low level control that can limit the client's IP address (or range)
allowed to access the Web Dispatcher service. To enable the feature, the
subparameter ACLFILE should be set on the icm/server_port_<XX> parameter. If the
feature is enabled, only the explicit permit listed IPs will be able to access the service.
Note that a "deny all" rule is added at the end of the file, at runtime. Therefore, it is
required to create the permit list and allow IPs and all others are denied.
4. Slowloris attack
A Slowloris attack may block the availability of the Web Dispatcher, therefore, the
parameter icm/server_port_<XX> allows to control connection data rate of requests with
the
subparameters MIN_RECEIVE_RATE, CHECK_RECEIVE_RATE_AFTER and MAX_R
ECEIVE_TIMEOUT.
The the following documentation with details and examples of its usage.
1981955 - Enforcing minimal request transfer rates on SAP Web Dispatcher and ICM
There are two options that can be used on wdisp/system_<XX> parameter to control the
number of processed requests and avoid overload:
[Genel]
[Genel]
Both subparameters contain the absolute limit for pending requests. They specify the
maximum number of connections are sent to the backend Application Server.
The Client IP counter feature controls the maximum number of connections a specific
client can establish with the Web Dispatcher. To limit the number of connections a single
IP can create to the Web Dispatcher, and avoid shortage of its resources by a single IP,
the parameter icm/client_ip_connection_limit can enable the feature. The control is
based on the parameter icm/max_conn. For every network connection which is
established, the number of existing connections per client IP address is checked. If the
current number of connections exceeds the defined limits, either a warning is issued or
the connection is rejected. In both cases a system log entry is written.
This means a single IP cannot exceed the REJECT limit of 50% of icm/max_conn
A Certificate Revocation List (CRL) is a list of digital certificates that have been revoked
by the Certificate Authority (CA) before their scheduled expiration date. Therefore, these
certificates should not be trusted and belong to a blacklist.
The CR control is a feature that can be activated by SAP CommonCryptoLib.
It is possible to follow the configuration of the SAP Note 2507917 to enable it on Web
Dispatcher profile.
The CSI interface is active by default on Web Dispatcher. Just ensure that the parameter
csi/enable is not disabling it on the profile. This security interface evaluate the user input
for program commands. Additional details on Checking User Input for Program
Commands.
[Genel]
[Genel]
9. Authentication Handler
In additional to the permit list control, it is possible to define the URLs that will require
HTTPS protocol with the option "S". See the SAP KBA 2400856 with examples of rules
and configuration.
S /sap/public/*
D * * * *
/sap/public/* requests are allowed with HTTPS protocol. All others requests are denied
Some details and examples about rules on Web Dispatcher as a URL filter.
Web Dispatcher has a web interface to manage its features and functions. The
parameter icm/HTTP/admin_<XX> is used to activate the interface and the following
features are used for security purpose:
[Genel]
[Genel]
Web admin access allowed only if the client used internal.example.com to reach the Web
Dispatcher
This feature determines the standard form of HTTP error messages that the Web
dispatcher creates and sends to the client. Ensure that the detailed errors are disabled
with the parameter is/HTTP/show_detailed_errors. Disabling this feature means that
the error page does not contain details about the cause of the error.
This information may be required for troubleshooting purpose. However, for security
reasons, it is important to remove it not to disclose the service identity.
This is an alternative option to the default error pages. Configure your own error pages to
ensure that the system does not provide with the technical reason for the error to the
client. To activate this configuration, the parameter icm/HTTP/error_templ_path should
[Genel]
[Genel]
be set and your own error templates created to avoid the default error pagess that
may disclose information about the service.
Server header are send to the clients on the headers of responses. To avoid security
issues, it is recommended that the information should not be forwarded to the clients.The
parameter is/HTTP/show_server_header can be used to avoid the inclusion of the
header.
15. 1. icm/HTTP/trace_info
This parameter is the most safe way to trace requests and responses without writing
sensitive data into the trace file. However, this parameter might not provide enough
information to analyze all cases. See details on How to configure traces on Web
Dispatcher or ICM.
15. 2. icm/trace_secured_data
This parameter should be used only for analysis purpose when the SSL data must be
written to the trace file. By default, its value is set to FALSE and usually should be set to
TRUE together with parameter rdisp/TRACE if an analysis is required. See details in
the help documentation. Ensure this parameter is set to FALSE and only activate it for
troubleshooting purposes.
15. 3. rdisp/TRACE_HIDE_SEC_DATA
Due to security reasons critical information is hidden on the trace file. The Web
Dispatcher remove header like authorizations, passwords and cookie from the payload
written in the trace by default and this is a feature controlled by the mentioned
parameter. If, for troubleshoot reasons, these data are required, this parameter must be
set to FALSE, however, for security reasons it should be kept as TRUE (default) during
normal operation.
[Genel]
[Genel]
15. 4. icm/HTTP/logging_<XX>
The HTTP logging handler allows the creation of a log file with all details about requests
the service receives. This feature may help security analysis to identify issues, attacks or
even troubleshot connections. This feature log generic details about requests to the
service, methods, IPs, paths, etc.
All details about how to activate the logging on this help documentation.
15. 5. icm/security_log
This feature can be used to help identify any potential unauthorized access to the
system. The security log gives an indication of the possible security procedures that
could be followed. In particular cases a decision must be made as to whether the entry
really is a serious security risk.
[Genel]