WHM API.
https://api.docs.cpanel.net/_mock/specifications/whm.openapi/
https://{host}:{port}/json-api/
Request
This function adds, updates, and removes global ModSecurity™ configuration directives. The function modifies these directives in the /usr/local/apache/conf/modsec2.cpanel.conf file.
Important:
When you disable the Web Server role, the system disables this function.
This function only supports the following ModSecurity™ configuration directives:
| setting_id | Documentation |
|---|---|
| 0 | SecAuditEngine |
| 1 | SecConnEngine |
| 2 | SecRuleEngine |
| 3 | SecDisableBackendCompression |
| 4 | SecGeoLookupDb |
| 5 | SecGsbLookupDb |
| 6 | SecGuardianLog |
| 7 | SecHttpBlKey |
| 8 | SecPcreMatchLimit |
| 9 | SecPcreMatchLimitRecursion |
The configuration setting's ID.
Note:
To configure multiple IDs, increment the parameter name. For example, setting_id1, setting_id2, and setting_id3.
The configuration setting's current state.
OnOff
Some settings accept additional values for this parameter. See the references above for more inforamation.
Note:
- To configure multiple settings, increment the parameter name. For example,
state1,state2, andstate3. stateis ignored ifremoveis set to1for the setting.
Whether to add or remove the configuration setting in the /usr/local/apache/conf/modsec2.cpanel.conf file.
1— Remove the configuration setting.0— Add or update the configuration setting.To remove multiple settings, increment the parameter name. For example,
remove1,remove2, andremove3.
- Mock server
https://api.docs.cpanel.net/_mock/specifications/whm.openapi/modsec_batch_settings
- A server running WHM.
https://whm-server.tld:2087/json-api/modsec_batch_settings
- 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/modsec_batch_settings?setting_id=9&state=On&remove=0'{ "data": { "updated_settings": [ … ] }, "metadata": { "command": "modsec_batch_settings", "reason": "OK", "result": 1, "version": 1 } }
Request
This function deploys the staged changes to your modsec2.cpanel.conf file and attempts to restart Apache. If the new settings fail validation, the system restores the /etc/apache2/conf.d/modsec/modsec2.cpanel.conf file.
Note:
Call the WHM API 1 modsec_set_setting function to prepare your changes for the modsec2.cpanel.conf file.
Important:
When you disable the Web Server role, the system disables this function.
- Mock server
https://api.docs.cpanel.net/_mock/specifications/whm.openapi/modsec_deploy_settings_changes
- A server running WHM.
https://whm-server.tld:2087/json-api/modsec_deploy_settings_changes
- 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/modsec_deploy_settings_changes{ "data": {}, "metadata": { "command": "modsec_deploy_settings_changes", "reason": "OK", "result": 1, "version": 1 } }
Request
This function retrieves a ModSecurity™ configuration file's contents.
Important:
When you disable the Web Server role, the system disables this function.
- Mock server
https://api.docs.cpanel.net/_mock/specifications/whm.openapi/modsec_get_config_text
- A server running WHM.
https://whm-server.tld:2087/json-api/modsec_get_config_text
- 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/modsec_get_config_text?config=modsec2.example.conf'{ "data": { "text": "SecRule REQUEST_URI \"example\" \"deny:id:123456789\" SecAction \"pass:auditlog:id:444444444\"" }, "metadata": { "command": "modsec_get_config_text", "reason": "OK", "result": 1, "version": 1 } }