Часто встречающиеся проблемы и пути их устранения#

В данном разделе рассмотрены ошибки, которые могут возникнуть в процессе работы с SOWA, и способы их устранения.

  1. 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.

    Что делать:

    1. Проверить актуальность схемы валидации, используемой для данного сервиса.

    2. Убедиться, что вызывается нужный сервис. Например, проверить параметры балансировки и 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"
    
  2. SOWA отвечает:

    ...
    {
    "id": "EFSGW-90",
    "element": "",
    "title": "datapower",
    "description": "SQL-инъекция"
    }
    ...
    

    Где искать лог:

    /sowalogs/<profile>/services/service_http_proxy/my_service_error.log
    

    Что это значит:

    Сервис был вызван с недопустимыми параметрами или в теле запроса/ответа содержались "подозрительные" включения.

    Что делать:

    1. Убедиться, что вызывается нужный сервис. Например, проверить параметры балансировки и URL.

    2. Возможно, используется HTTP-метод, не предназначенный для данного сервиса.

    3. Возможно произошло ложно положительное срабатывание: необходимо проанализировать логи и сработавшие правила.

    Пример лога: Использование метода 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"