Follow Symbolic Link | Check Symbolic Link | Force Strict Ownership Checking | Required Permission Mask | Restricted Permission Mask | Script Restricted Permission Mask | Script Directory Restricted Permission Mask |
Static Requests/Second | Dynamic Requests/Second | Outbound Bandwidth (bytes/sec) | Inbound Bandwidth (bytes/sec) | Connection Soft Limit | Connection Hard Limit | Block Bad Request | Grace Period (sec) | Banned Period (sec) |
CGI Daemon Socket | Max CGI Instances | Minimum UID | Minimum GID | Force GID | umask | CGI Priority | CPU Soft Limit (sec) | CPU Hard Limit | Memory Soft Limit (bytes) | Memory Hard Limit | Process Soft Limit | Process Hard Limit |
Description Specifies the server-level default setting of following symbolic links when serving static files. |
Syntax Select from drop down list |
Tips [Performance & security] For best security select No or If Owner Match. For best performance, select Yes. |
See Also |
Description Specifies whether to check symbolic links against Access Denied Directories when Follow Symbolic Link is turned on. If enabled, the canonical real path of the resource referred by a URL will be checked against the configurable access denied directories. Access will be denied if it falls inside an access denied directory. |
Syntax Select from radio box |
Tips [Performance & security] For best security, enable this option. For best performance, disable it. |
See Also |
Description Specifies whether to enforce strict file ownership checking. If it is enabled, the web server will check if the owner of the file being served is the same as the owner of the virtual host. If it is different, a 403 Access Denied Error will be returned. This is turned off by default. |
Syntax Select from radio box |
Tips [security] For shared hosting, enable this check for better security. |
Description Specifies the required permission mask for static files that the server will serve. For example, if only files that are readable by everyone can be served, set the value to 0004. See man 2 stat for all values. |
Syntax octal numbers |
See Also |
Description Specifies the restricted permission mask for static files that the server will not serve. For example, to prohibit serving files that are executable, set the mask to 0111. |
Syntax octal numbers |
See Also |
Description Specifies the restricted permission mask for script files that the server will not serve. For example, to prohibit serving PHP scripts that are group and world writable, set the mask to 022. Default value is 000. |
Syntax octal numbers |
See Also |
Description Specifies the restricted permission mask of parent directories of script files that the server will not serve. For example, to prohibit serving PHP scripts in a directory that is group and world writable, set the mask to 022. Default value is 000. This option can be used to prevent serving scripts under a directory of uploaded files. |
Syntax octal numbers |
See Also |
Description These are connection control settings are based on client IP. These settings help to mitigate DoS (Denial of Service) and DDoS (Distributed Denial of Service) attacks. |
Description Specifies the maximum number of requests to static content coming from a single IP address that can be processed in a single second regardless of the number of connections established. |
Syntax Integer number |
Tips [Security] Trusted IPs or sub-networks are not affected. |
See Also |
Description Specifies the maximum number of requests to dynamically generated content coming from a single IP address that can be processed in each second regardless of the number of connections established. When this limit is reached, all future requests to dynamic content are tar-pitted until the next second. |
Syntax Integer number |
Tips [Security] Trusted IPs or sub-networks are not restrained by this limit. |
See Also |
Description The maximum allowed outgoing throughput to a single IP address, regardless of the number of connections established. The real bandwidth may end up being slightly higher than this setting for efficiency reasons. Bandwidth is allocated in 4KB units. Set to 0 to disable throttling. Per-client bandwidth limits (bytes/sec) can be set at the server or virtual host level where virtual host level settings override server level settings. |
Syntax Integer number |
Tips [Performance] Set the bandwidth in 8KB units for better performance. |
See Also |
Description The maximum allowed incoming throughput from a single IP address, regardless of the number of connections established. The real bandwidth may end up being slightly higher than this setting for efficiency reasons. Bandwidth is allocated in 1KB units. Set to 0 to disable throttling. Per-client bandwidth limits (bytes/sec) can be set at the server or virtual host level where virtual host level settings override server level settings. |
Syntax Integer number |
Tips [Security] Trusted IPs or sub-networks are not affected. |
See Also |
Description Specifies the soft limit of concurrent connections allowed from one IP. This soft limit can be exceeded temporarily during Grace Period (sec) as long as the number is below the Connection Hard Limit, but Keep-Alive connections will be closed as soon as possible until the number of connections is lower than the limit. If number of connections is still over the limit after the Grace Period (sec), that IP will be blocked for the Banned Period (sec). |
Syntax Integer number |
Tips [Security] A lower number will enable serving more distinct clients. |
Description Specifies the maximum number of allowed concurrent connections from a single IP address. This limit is always enforced and a client will never be able to exceed this limit. HTTP/1.0 clients usually try to set up as many connections as they need to download embedded content at the same time. This limit should be set high enough so that HTTP/1.0 clients can still access the site. Use Connection Soft Limit to set the desired connection limit. |
Syntax Integer number |
Tips [Security] A lower number will enable serving more distinct clients. |
Description Block IPs that keep sending badly-formated HTTP requests for the Banned Period (sec). Default is Yes. This helps to block botnet attacks that repeatedly sending junk requests. |
Syntax Select from radio box |
Description Specifies how long new connections can be accepted after the number of connections established from one IP is over the Connection Soft Limit. Within this period, new connections will be accepted if the total connections is still below the Connection Hard Limit. After this period has elapsed, if the number of connections still higher than the Connection Soft Limit, then the offending IP will be blocked for the Banned Period (sec). |
Syntax Integer number |
Tips [Performance & Security] Set to a proper number big enough for downloading a complete page but low enough to prevent deliberate attacks. |
Description Specifies how long new connections will be rejected from an IP if, after the Grace Period (sec) has elapsed, the number of connections is still more than the Connection Soft Limit. If IPs are getting banned repeatedly, we suggest that you increase your banned period to stiffen the penalty for abuse. |
Syntax Integer number |
Description The following settings control CGI processes. Memory and process limits also serve as the default for other external applications if limits have not been set explicitly for those applications. |
Description A unique socket address used to communicate with the CGI daemon. LiteSpeed server uses a standalone CGI daemon to spawn CGI scripts for best performance and security. Default socket is "uds://$SERVER_ROOT/admin/conf/.cgid.sock". If you need to put in another location, specify a Unix domain socket here. |
Syntax UDS://path |
Example UDS://tmp/lshttpd/cgid.sock |
Description Specifies the maximum number of concurrent CGI processes the server can start. For each request to a CGI script, the server needs to start a standalone CGI process. On a Unix system, the number of concurrent processes is limited. Excessive concurrent processes will degrade the performance of the whole system and are one way to perform a DoS attack. LiteSpeed server pipelines requests to CGI scripts and limits concurrent CGI processes to ensure the optimal performance and reliability. The hard limit is 2000. |
Syntax Integer number |
Tips [Security & Performance] A higher limit does not necessarily translate to faster performance. In most cases, a lower limit gives better performance and security. A higher limit will only help when I/O latency is excessive during CGI processing. |
Description Specifies the minimum user ID of external applications. Execution of an external script with a user ID lower than the value specified here will be denied. If LiteSpeed web server is started by "root" user, it can run external applications in the "suEXEC" mode like Apache (to change to a user/group ID other than the web server's). |
Syntax Integer number |
Tips [Security] Set it high enough to exclude all system/privileged users. |
Description Specifies the minimum group ID of external applications. Execution of an external with a group ID lower than the value specified here will be denied. If LiteSpeed web server is started by the "root" user, it can run external applications in the "suEXEC" mode found in Apache (to change to a user/group ID other than the web server's). |
Syntax Integer number |
Tips [Security] Set it high enough to exclude all groups used by system users. |
Description Specifies a group ID to be used for all external applications started in suEXEC mode. When set to non-zero value, all suEXEC external applications (CGI/FastCGI/LSAPI) will use this group ID. This can be used to prevent an external application from accessing files owned by other users. |
Syntax Integer number |
Tips [Security] Set it high enough to exclude all groups used by system users. |
Description Sets default umask for CGI processes. See man 2 umask for details. This also serves as the default value for external applications umask. |
Syntax value valid range [000]-[777]. |
See Also ExtApp umask |
Description Specifies priority of the external application process. Value ranges from -20 to 20. A lower number means a higher priority. |
Syntax int |
See Also Server Priority |
Description Specifies CPU consumption time limit in seconds for a CGI process. When the process reaches the soft limit, it will be notified by a signal. The operating system's default setting will be used if the value is absent or set to 0. |
Syntax Integer number |
Description Specifies maximum CPU consumption time limit in seconds for a CGI process. If the process continues to consume CPU time and reach the hard limit, the process will be force killed. The operating system's default setting will be used if the value is absent or set to 0. |
Syntax Integer number |
Description Specifies the memory consumption limit in bytes for an external application process or an external application started by the server. |
Syntax Integer number |
Tips [Attention] Do not over adjust this limit. This may result in 503 errors if your application needs more memory. |
Description Much the same as Memory Soft Limit (bytes), except the soft limit can be raised up to the hard limit from within a user process. The hard limit can be set at server level or at an individual external application level. The server-level limit will be used if it is not set at an individual application level. |
Syntax Integer number |
Example [Attention] Do not over adjust this limit. This may result in 503 errors if your application need more memory. |
Description Limits the total number of processes that can be created on behalf of a user. All existing processes will be counted against this limit, not just new processes to be started. |
Syntax Integer number |
Tips PHP scripts can call for forking processes. The main purpose of this limit is as a last line of defense to prevent fork bombs and other attacks caused by PHP processes creating other processes. |
Description Much the same as Process Soft Limit, except the soft limit can be raised up to the hard limit from within a user process. The hard limit can be set at the server level or at an individual external application level. The server-level limit will be used if it is not set at an individual application level. The operating system's default value will be used if the value is absent at both levels or set to 0. |
Syntax Integer number |
Description Specifies directories that should be blocked from access. Add directories that contain sensitive data to this list to prevent accidentally exposing sensitive files to clients. Append a "*" to the path to include all sub-directories. If both Follow Symbolic Link and Check Symbolic Link are enabled, symbolic links will be checked against the denied directories. |
Syntax Comma-delimited list of directories |
Tips [Security] Of critical importance: This setting only prevents serving static files from these directories. This does not prevent exposure by external scripts such as PHP/Ruby/CGI. |
Description Specifies what sub networks and/or IP addresses can access the server. At the server level, this setting will affect all virtual hosts. You can also set up access control unique to each virtual host at the virtual host level. Virtual host level settings will NOT override server level settings. |
Tips [Security] Use this at the server level for general restrictions that apply to all virtual hosts. |
Description Specifies the list of IPs or sub-networks allowed. * or ALL are accepted. |
Syntax Comma delimited list of IP addresses or sub-networks. A trailing "T" can be used to indicate a trusted IP or sub-network, such as 192.168.1.*T. |
Example
|
Tips [Security] Trusted IPs or sub-networks set at the server level access control will be excluded from connection/throttling limits. |
Description Specifies the list of IPs or sub-networks disallowed. |
Syntax Comma delimited list of IP addresses or sub-networks. * or ALL are accepted. |
Example
|