Часто встречающиеся проблемы и пути их устранения#
В данном разделе рассмотрены ошибки, которые могут возникнуть в процессе работы с SOWA, и способы их устранения.
SOWA отвечает:
... { "id": "EFSGW-42", "element": "", "title": "datapower", "description": "Ошибка валидации ответа" } ...или
... { "id": "EFSGW-41", "element": "", "title": "datapower", "description": "Ошибка валидации запроса" } ...Где искать лог:
/sowalogs/<profile>/services/service_http_proxy/my_service_error.logЧто это значит:
Тело запроса или ответ не прошло валидацию по XSD или JSON схеме.
Один из элементов массива body/output/screens/0/widgets/13/fields не содержит обязательное поле value.
Что делать:
Проверить актуальность схемы валидации, используемой для данного сервиса.
Убедиться, что вызывается нужный сервис. Например, проверить параметры балансировки и URL.
Пример лога:
2019/03/14 14:47:57 [error] 27170#27170: *16560 #/body/output/screens/0/widgets: #: only 1 subschema matches out of 2 while sending to client, client: Х.Х.Х.Х, server: localhost, request: "POST /person-insurance/pss/v1?cmd=EVENT&name=next&pid=7c89cde1-464e-11e9-9de7-fd2411aa8d15 HTTP/1.0", upstream: "http://Х.Х.Х.Х:Х/person-insurance/pss/rest/v1/ib/wf/fnol?cmd=EVENT&name=next&pid=7c89cde1-464e-11e9-9de7-fd2411aa8d15", host: "node5.testonline.mycompany.ru:7043", referrer: "https://node5.testonline.mycompany.ru:9443/private/insurance?pid=7c89cde1-464e-11e9-9de7-fd2411aa8d15" 2019/03/14 14:47:57 [error] 27170#27170: *16560 #/body/output/screens/0/widgets/13/fields/0: required key [value] not found while sending to client, client: Х.Х.Х.Х, server: localhost, request: "POST /person-insurance/pss/v1?cmd=EVENT&name=next&pid=7c89cde1-464e-11e9-9de7-fd2411aa8d15 HTTP/1.0", upstream: "http://Х.Х.Х.Х:Х/person-insurance/pss/rest/v1/ib/wf/fnol?cmd=EVENT&name=next&pid=7c89cde1-464e-11e9-9de7-fd2411aa8d15", host: "node5.testonline.mycompany.ru:7043", referrer: "https://node5.testonline.mycompany.ru:9443/private/insurance?pid=7c89cde1-464e-11e9-9de7-fd2411aa8d15"SOWA отвечает:
... { "id": "EFSGW-90", "element": "", "title": "datapower", "description": "SQL-инъекция" } ...Где искать лог:
/sowalogs/<profile>/services/service_http_proxy/my_service_error.logЧто это значит:
Сервис был вызван с недопустимыми параметрами или в теле запроса/ответа содержались "подозрительные" включения.
Что делать:
Убедиться, что вызывается нужный сервис. Например, проверить параметры балансировки и URL.
Возможно, используется HTTP-метод, не предназначенный для данного сервиса.
Возможно произошло ложно положительное срабатывание: необходимо проанализировать логи и сработавшие правила.
Пример лога: Использование метода GET, для сервис, работающего только через OPTIONS и POST:
2019/03/12 16:56:55 [info] 34757#34757: *35392 ModSecurity: Access denied with code %d (phase 1). Matched "Operator `Rx' with parameter `^(?i)options|post(?-i)$' against variable `REQUEST_METHOD' (Value: `GET' ) [file "/sowa/profile_storage/custom/client/mds_exclusions.conf"] [line "6"] [id "500"] [rev "2"] [msg "[service_http_proxy_Insurance_v1] Method is not allowed by policy"] [data "GET"] [severity "2"] [ver "SOWA"] [maturity "9"] [accuracy "9"] [tag "sowa-configurable"] [hostname "Х.Х.Х.Х"] [uri "/person-insurance/pss"] [unique_id "155239901549.803463"] [ref "v0,3"], client: Х.Х.Х.Х, server: localhost, request: "GET /person-insurance/pss/v1?cmd=START&name=first HTTP/1.0", host: "node5.testonline.mycompany.ru:7043"