Введение: Nextcloud — это платформа с открытым исходным кодом, созданная для хранения, обмена и совместной работы с файлами. Для корпоративных пользователей Nextcloud предоставляет возможность безопасного обмена документами, управления проектами и совместной работы в реальном времени, что способствует повышению продуктивности и защите конфиденциальной информации. Кроме того, Nextcloud поддерживает интеграцию с различными приложениями и сервисами, что делает его гибким инструментом для работы в команде.
Одна из таких интеграций - подключение СЗИ с применением протокола ICAP, позволяющее передавать на проверку файлы в песочницу PT Sandbox. Проверка такой интеграции осуществлялась с Nextcloud 31.0.2 и PT Sandbox 5.21. Подтверждена работа продуктов в пассивном режиме и в режиме блокировки.
Подготовительные действия на стороне PT Sandbox. Требуется добавить новый источник с типом ICAP-сервер
Требуемые действия стороне Nextcloud: Для осуществления интеграции требуется добавить антивирус из магазина приложений в Nextcloud. Для этого нажмите на пиктограмму пользователя с правами администратора в правом верхнем углу и выберите Приложения
На отобразившейся странице выберите категорию Безопасность и в ней нажмите на "Скачать и включить" для приложения Antivirus for Files
Для настройки интеграции перейдите в раздел параметры сервера в контекстном меню в правом верхнем углу
Выберите Безопасность в панели слева и на отобразившейся странице перейдите к разделу Антивирус для Файлов
Укажите следующие параметры:
Режим: Сервер ICAP
Система: адрес сервера PT Sandbox
Порт: укажите порт из созданного ранее источнике на стороне PT Sandbox
Предустановка ICAP: оставить без изменений
Режим ICAP: REQMOD или RESPMOD, в обоих случаях осуществляется отправка файлов на проверку. Обратите внимание, что выбранный режим ICAP должен соответствовать выбранной ниже ссылке для проверки файлов.
Служба ICAP (указываются в соответствии с документацией на PT Sandbox):
Ссылки для проверки объектов в блокирующем режиме: REQMOD: scanrequest?modify=y&block-unwanted=Блокировать потенциально опасные &timeout=Тайм-аут RESPMOD: scanresponse?modify=y&block-unwanted=Блокировать потенциально опасные &timeout=Тайм-аут В параметре block-unwanted Вы можете указать y, если необходимо блокировать потенциально опасные файлы, или n — если блокировать такие файлы не требуется (по умолчанию потенциально опасные файлы не блокируются). В параметре timeout вы можете указать тайм-аут ответа ICAP-сервера в секундах (по умолчанию 30 секунд).
Ссылки для проверки объектов в пассивном режиме: REQMOD: bypass RESPMOD: bypass
Заголовок ответа ICAP на вирус: X-Virus-ID
Длина потока: требуется увеличить значение до 1073741824 байтов, иначе большие файлы будут дробиться на чанки размером в указанные по умолчанию 25 мегабайт. На стороне PT Sandbox поддерживается проверка объектов размером до 1 ГБ. Дополнительно с этим можно ознакомиться в документации по продукту.
Проверка интеграции: После сохранения настроек Nextcloud отправит тестовый файл по ICAP. При успешном подключении Вы увидите файл self-test.txt среди заданий, а все загружаемые файлы будут отправляться на проверку по ICAP. При работе в блокирующем режиме при загрузке вредоносного файла в интерфейсе Nextcloud отобразится ошибка
И в заданиях PT Sandbox отобразится полученный по ICAP файл, решение по нему - заблокировать, вердикт
Важно! При нарушении сетевой доступности между Nextcloud и PT Sandbox, в интерфейсе Nextcloud не отобразится каких-либо ошибок, и загрузка файла в папку произойдёт без каких-либо проверок даже в случае настройки работы ICAP в блокирующем режиме. В журналах Nextcloud (nextcloud.log) Вы увидите ошибку вида:
"File":"/var/www/html/custom_apps/files_antivirus/lib/ICAP/ICAPClient.php","Line":56,"message":"Cannot connect to "tcp://sandbox.domain.local:1344": Connection timed out (code 110)","exception":,"CustomMessage":"Cannot connect to "tcp://sandbox.domain.local:1344
Поэтому требуется дополнительно контролировать появление таких записей в логе Nextcloud, а также появление новых заданий в PT Sandbox в созданном источнике.
Дополнительно документацию по решениям Вы можете найти по ссылкам:
PT Sandbox 5.21 - https://help.ptsecurity.com/ru-RU/projects/sb/5.21/admin/5750993291
Nextcloud - https://docs.nextcloud.com/