Перейти к основному содержимому
Версия: 4.5.X

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

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

Смена всех паролей в системе

  1. Необходимо сменить системного пользователя для pauth-server
  2. Сменить пароли для системных пользователей Postgresql
  3. Сменить пароль системных пользователей ClickHouse
  4. Смена пароля системного пользователя для komrad-bus

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 с уникальным идентификатором для каждого пользователя, заходившего в систему.

1

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

2

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

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

подсказка

При смене IP-адреса машины, на которой установлен KOMRAD, необходимо изменить его и в настройках сервера:

# Настройки защиты для 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

Перевыпуск сертификатов

Сертификаты имеют срок годности и за ним необходимо следить. Мы рекомендуем проводить смену клиентских сертификатов как можно чаще, поскольку они располагаются на АРМ клиентов и наиболее подвержены компрометации.

Проверить срок действия сертификатов можно командой:

openssl x509 -in /var/lib/echelon/komrad/certs/ca.pem -text -noout | grep "Not After" && openssl x509 -in /var/lib/echelon/komrad/certs/server.pem -text -noout | grep "Not After" && openssl x509 -in /var/lib/echelon/komrad/certs/client.pem -text -noout | grep "Not After"

После выполнения команды будет выведен результат. Если напротив сертификата будет стоять параметр Not After раньше текущей даты, значит сертификат просрочен, необходимо перевыпустить сертификаты.

Подробнее о доступных флагах для генерации сертификатов здесь

примечание

Мы рекомендуем перевыпускать только необходимые сертификаты без перевыпуска корневого.

Если у Вас закончился срок действия корневого сертификата ca.pem, то перед перевыпуском остальных сертификатов сначала перевыпустите корневой сертификат:

sudo komrad-cli certificates create ca

Затем скопируйте ca.pem и ca-key.pem в папки с сертификатами:

sudo cp ca.pem ca-key.pem /var/lib/echelon/komrad/certs/
sudo cp ca.pem /var/lib/echelon/komrad/certs/CAs/

Теперь Вы можете перевыпустить остальные сертификаты.

Выпустить серверный сертификат:

sudo komrad-cli certificates create server --organization "Echelon" localhost 127.0.0.1 $(hostname -I) $(hostname) --ca /var/lib/echelon/komrad/certs/ca.pem --ca-key /var/lib/echelon/komrad/certs/ca-key.pem

Выпустить клиентский сертификат:

sudo komrad-cli certificates create client --ca /var/lib/echelon/komrad/certs/ca.pem --ca-key /var/lib/echelon/komrad/certs/ca-key.pem

Выпустить браузерный сертификат:

sudo komrad-cli certificates create p12 --force /var/lib/echelon/komrad/certs/client-browser.p12

Скопировать сертификаты:

sudo cp client.pem client-key.pem server-key.pem server.pem /var/lib/echelon/komrad/certs/

После необходимо провести изменение владельца файлов на komrad:komrad и предоставить права сертификатам.

Действия:

sudo chown -R komrad:komrad /var/lib/echelon/komrad/certs
sudo chmod -R 755 /var/lib/echelon/komrad/certs
sudo chmod 0640 /var/lib/echelon/komrad/certs/server-key.pem
sudo chown root:komrad /var/lib/echelon/komrad/certs/server-key.pem
sudo chmod 755 client-browser.p12

Теперь перезапустите каждый сервис Комрада, либо перезагрузите машину командой:

sudo reboot

Если Вы перевыпускали корневой сертификат ca.pem, то выполните установку корневого сертификата в браузере.