Настройки безопасности системы

Данный раздел предназначен для описания дополнительных настроек обеспечения безопасности системы.

Rate Limit или защита от DOS-атак

В файле конфигурации вы можете задать ограничения числа запросов к HTTP

  # Настройки алгоритма ограничения числа запросов к HTTP
  rate-limit:
    # Включить лимиты на HTTP запросы
    enabled: true
    # Максимальное число запросов от одного пользователя на один метод API в секунду.
    # На ограничение стоит допуск со стандартным распределением вероятности +-50%.
    rps: 40
    # Считать раздельно лимиты для выбранных HTTP заголовков.
    vary-by-headers: []
    # Считать раздельно лимиты для запросов от одного пользователя с разных IP адресов.
    # В этом случае раздельно будут считаться запросы от одного и того же пользователя с разных IP адресов.
    vary-by-remote-address: false
Атака Slowloris

В файле конфигурации вы можете задать время сброса HTTP соединения при условии если идут только HTTP заголовки, а тело запроса долго не идёт.

 ReadHeaderTimeout: 10 * time.Second,

Если будут приходить только заголовки, то тогда раз в 10 секунд будет сбрасываться соединение.

Цифровой отпечаток пользователя

В KOMRAD реализована возможность сбора отпечатков браузера и системы пользователя. Данная информация может быть полезна при расследовании каких-либо внутренних инцидентов. Таким образом можно выявить факт несанкционированного доступа. Например, когда с компьютера тестировщика кто-то вошёл в систему с аккаунта DevOPS-инженера или разработчика.

На каждый вход в систему и каждое обновление страницы создаётся специальное событие безопасности. Максимум информации заносится в поля события, в Raw попадает строка user fingerprint = <число>, где число – уникальный идентификатор параметров системы данного пользователя.

Откройте события –> поиск по событиям. В графе «Исходный текст (Raw)» отобразится уже упомянутый user fingerprint с уникальным идентификатором для каждого пользователя, заходившего в систему.

fingerprint

Помимо уникального идентификатора, система собирает и другую информацию о пользователе, такую как разрешение экрана, операционная система, тип и версию браузера и многое другое. Чтобы получить более подробную информацию о пользователе, нажмите на само событие, перед вами откроется окно с информацией о событии. Здесь можно более подробно узнать об интересующем вас пользователе, например, его браузер и версию браузера, через который был осуществлён вход в систему.

fingerprint2
Совместное использование ресурсов между источниками

Для безопасности системы мы ограничиваем возможность обращения к серверу со сторонних адресов и имён.

при смене ip машины на которой установлен Комрад, необходимо также менять его в настройках сервера.
# Настройки защиты для Cross-Origin-Resource-Sharing (CORS)
  cors:
    enabled: true
    # При возникновении ошибок с CORS возможный выход - небезопасная настройка `allowedorigins: ["*"]`
    # allowedorigins: ["*"]
    allowedorigins:
    - http://localhost:8080
    - https://ip
    - https://ip:443
    - https://127.0.0.1
    - https://127.0.0.1:443
    - https://::1
    - https://::1:443
    - https://name
    - https://name:443
    - https://localhost
    - https://localhost:3400
    - https://localhost:443
    - https://localhost:9050
   # Список FQDN от которых разрешены запросы, если список пустой - запросы со всех
    # хостов будут приниматься. Можно использовать регулярные выражения.
    AllowedHosts:
    - ip
    - ip:443
    - 127.0.0.1
    - 127.0.0.1:443
    - "::1"
    - "::1:443"
    - name
    - name:443
    - komrad.enterprise.lan
    - localhost
    - localhost:3400
    - localhost:443
    - localhost:8080