WHM API.
https://api.docs.cpanel.net/_mock/specifications/whm.openapi/
https://{host}:{port}/json-api/
- Mock server
https://api.docs.cpanel.net/_mock/specifications/whm.openapi/load_cphulk_config
- A server running WHM.
https://whm-server.tld:2087/json-api/load_cphulk_config
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
-u <username>:<password> \
https://api.docs.cpanel.net/_mock/specifications/whm.openapi/load_cphulk_config{ "data": { "cphulk_config": { … } }, "metadata": { "command": "load_cphulk_config", "reason": "OK", "result": 1, "version": 1 } }
Whether to use the server firewall to block brute force attacks.
1— Use the firewall.0— Do not use the firewall.
Whether to use the server firewall to block excessive brute force attacks.
1— Use the firewall.0— Do not use the firewall.
The number of minutes over which cPHulk measures all login attempts to a specific user's account.
The command to run when an IP address triggers brute force protection.
Note:
For a list of commands, read the Command variables section of our cPHulk Brute Force Protection documentation.
The command to run when the system blocks an IP address for a one day period.
Note:
For a list of commands, read the Command variables section of our cPHulk Brute Force Protection documentation.
Whether to enable IP address-based protection on all requests.
1— Enable IP-based protection.0— Disable IP-based protection.
Note:
If you set this parameter to 0, you cannot use the following parameters:
block_brute_force_with_firewallblock_excessive_brute_force_with_firewallip_brute_force_period_mins
The number of minutes in which cPHulk measures an attacker's login attempts.
The number of minutes over which cPHulk counts failed logins against a user.
The maximum number of failures from a specific IP address before cPHulk blocks that address for a two-week period.
The maximum number of failures that cPHulk allows per account within the defined time range.
The maximum number of failures from a specific IP address before cPHulk locks out that address.
Whether cPHulk will send a notification when it detects a brute force attack.
1— Send the notification.0— Do not send the notification.
Whether cPHulk will send a notification when the root user successfully logs in from an IP address that is not on the whitelist.
1— Send the notification.0— Do not send the notification.
Whether cPHulk sends a notification upon successful root login when the IP address is not on the whitelist, but from a known netblock.
1— Send the notification.0— Do not send the notification.
Whether to skip checking if cPHulk runs on the server.
1— Don't check cPHulk's status.0— Check cPHulk's status.
Note:
If cPHulk is disabled, the function returns the following message: cPHulk is disabled on the server.
Whether to enable username-based protection on all requests.
1— Enable.0— Disable.
Whether to allow username-based protection to lock out the root user.
1— Allow.0— Do not allow.
- Mock server
https://api.docs.cpanel.net/_mock/specifications/whm.openapi/save_cphulk_config
- A server running WHM.
https://whm-server.tld:2087/json-api/save_cphulk_config
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
-u <username>:<password> \
'https://api.docs.cpanel.net/_mock/specifications/whm.openapi/save_cphulk_config?block_brute_force_with_firewall=0&block_excessive_brute_force_with_firewall=0&brute_force_period_mins=5&ip_based_protection=1&ip_brute_force_period_mins=15&lookback_period_min=360&mark_as_brute=30&max_failures=30&max_failures_byip=5¬ify_on_brute=0¬ify_on_root_login=0¬ify_on_root_login_for_known_netblock=0&skip_enabled_check=0&username_based_protection=0&username_based_protection_for_root=0&username_based_protection_local_origin=1'{ "data": { "cphulk_config": { … }, "restart_ssh": 1, "warning": null }, "metadata": { "command": "save_cphulk_config", "reason": "OK", "result": 1, "version": 1 } }
The configuration key for the setting to set/modify.
It should be one of the following:
block_brute_force_with_firewall- Whether to use cPanel & WHM's firewall to block brute force attacks.block_excessive_brute_force_with_firewall- Whether to use cPanel & WHM's firewall to block excessive brute force attacks.brute_force_period_mins- The number of minutes over which cPHulk measures all login attempts to a specific user's account.brute_force_period_sec- The number of seconds over which cPHulk measures all login attempts to a specific user's account.command_to_run_on_brute_force- The command to run when an IP address triggers brute force protection.command_to_run_on_excessive_brute_force- The command to run when the system blocks an IP address blocked for a one day period.country_blacklist- The countries to blacklist.country_whitelist- The countries to whitelist.ip_based_protection- Whether to enable IP address-based protection on all requests.ip_brute_force_period_mins- The number of minutes in which cPHulk measures an attacker's login attempts.ip_brute_force_period_sec- The number of seconds in which cPHulk measures an attacker's login attempts.is_enabled- Whether to enable the cPHulk service.lookback_period_min- The number of minutes over which cPHulk counts failed logins against a user.lookback_time- The number of seconds over which cPHulk counts failed logins against a user.mark_as_brute- The maximum number of failures from a specific IP address before cPHulk blocks that address for a two-week period.max_failures- The maximum number of failures that cPHulk allows per account within the defined time range.max_failures_byip- The maximum number of failures from a specific IP address before cPHulk locks out that address.notify_on_brute- Whether cPHulk will send a notification when it detects a brute force attack.notify_on_root_login- Whether cPHulk will send a notification when the root user successfully logs in from an IP address that is not on the whitelist.notify_on_root_login_for_known_netblock- Whether cPHulk sends a notification upon successful root login when the IP address is not on the whitelist, but from a known netblock.username_based_protection- Whether to enable username-based protection on all requests.username_based_protection_for_root- Whether to allow username-based protection to lock out the root user.username_based_protection_local_origin- Whether to enable username-based protection only on requests that originate from a local IP address.
The new value for the specified key. The allowable value depends on which key is being set.
For the following keys, the value must be 0 or 1:
block_brute_force_with_firewallblock_excessive_brute_force_with_firewallip_based_protectionis_enablednotify_on_brutenotify_on_root_loginnotify_on_root_login_for_known_netblockusername_based_protectionusername_based_protection_for_rootusername_based_protection_local_origin
For the following keys, the value must be an integer which specifies a number of minutes or seconds:
brute_force_period_minsbrute_force_period_secip_brute_force_period_minsip_brute_force_period_seclookback_period_minlookback_time- This one is in seconds despite not havingsecin the name
These keys require the value to be a string containing a command to be run: (For a list of commands, read the Command Variables section of our cPHulk Brute Force Protection documentation.)
command_to_run_on_brute_forcecommand_to_run_on_excessive_brute_force
These keys require the value to be a string containing a comma-separated list of country codes: (For a list of countries, run the WHM API 1 get_countries_with_known_ip_ranges function.)
country_blacklistcountry_whitelist
The following keys require an integer representing a maximum number of failures
mark_as_brutemax_failuresmax_failures_byip
- Mock server
https://api.docs.cpanel.net/_mock/specifications/whm.openapi/set_cphulk_config_key
- A server running WHM.
https://whm-server.tld:2087/json-api/set_cphulk_config_key
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
-u <username>:<password> \
'https://api.docs.cpanel.net/_mock/specifications/whm.openapi/set_cphulk_config_key?key=is_enabled&value=1'{ "data": { "cphulk_config": { … } }, "metadata": { "command": "set_cphulk_config_key", "reason": "OK", "result": 1, "version": 1 } }