Безопасность исходного кода на Trac - PullRequest
2 голосов
/ 16 августа 2010

У меня есть trac, настроенный вместе с Subversion.Я хочу позволить некоторым людям добавлять билеты, но я не хочу, чтобы они имели доступ к хранилищу.Будут другие пользователи, которые смогут получить доступ к репо через trac.В настоящее время я использую Apache 2 для аутентификации.

Насколько безопасен trac?Насколько сложно для человека с ограниченным доступом к источнику через trac?

Я не спрашиваю, как запретить доступ к источнику через trac.Я знаю, как это сделать.

Снова вопрос: насколько трудно кому-то, не имеющему доступа к источнику, взломать и получить источник?

Ответы [ 5 ]

4 голосов
/ 25 ноября 2012

Если у самого Trac есть доступ к вашему хранилищу, и он скомпрометирован, у злоумышленника есть доступ к вашему хранилищу по определению .Чтобы защитить ваш репозиторий от злоумышленников, захвативших вашу установку Trac, вам необходимо заблокировать сам Trac от доступа к вашему репозиторию;однако это также помешает предоставить кому-либо доступ к хранилищу.

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

3 голосов
/ 30 ноября 2012

Забавно, на самом деле вы не можете рассчитывать на любой ответ, приведенный здесь. Я бы сказал, что правильный подход заключается в том, чтобы заключить, что Trac не настолько безопасен (просто предположение), и попытаться снизить потенциальные риски.

Я предполагаю, что ваша цель - обеспечить совместную работу «пользователей» и «разработчиков», но пользователи не смогут получить доступ к источникам ни при каких обстоятельствах (что, кстати, очень хорошо).

В сети довольно много соответствующих рецептов, но я приведу самый простой:

  • оставь свой Trac позади Apache (ты это уже сделал)
  • используйте mod-rewrite , чтобы "пользователи" не получили доступ к [вашему URL] / браузеру, ...
  • также настроить разрешения Trac
  • [параноидальный режим], изменить URL-адреса по умолчанию, чтобы исключить угадывание

По сути, идея состоит в том, чтобы фильтровать пользователей как можно раньше, чтобы не полагаться на внутреннюю безопасность Trac.

Вы также можете использовать Прокси-проект OWASP Zed Attack , чтобы протестировать Trac самостоятельно:

enter image description here

Zed Attack Proxy (ZAP) - это простое в использовании интегрированное проникновение инструмент тестирования для поиска уязвимостей в веб-приложениях.

Он предназначен для использования людьми с широким спектром безопасности. и как таковой идеально подходит для разработчиков и функциональных тестеров, которые являются новыми на тестирование на проникновение. ZAP предоставляет автоматизированные сканеры, а также набор инструментов, которые позволяют вам вручную находить уязвимости.

2 голосов
/ 16 августа 2010

Вы можете установить разрешения для каждого пользователя Trac. Например, у вас могут быть учетные записи пользователей, которые могут получить доступ только к системе заявок, но не к исходному браузеру, временной шкале или вики.

В частности, вы не хотите предоставлять следующие разрешения:

BROWSER_VIEW     # View directory listings in the repository browser
LOG_VIEW    # View revision logs of files and directories in the repository browser
FILE_VIEW   # View files in the repository browser
CHANGESET_VIEW  #View repository check-ins

Я не уверен, что вы подразумеваете под "безопасным". Trac будет применять права, которые вы установили для всего своего веб-доступа. Он не будет отображать исходные страницы браузера тому, кто не имеет надлежащих разрешений. В дополнение к этому вам также придется настроить SVN, чтобы запретить анонимный доступ к хранилищу для чтения (иначе они могли бы обойти Trac и получить прямой доступ к хранилищу).

0 голосов
/ 30 ноября 2012

На ваш вопрос сложно ответить по натуре.Если вы хотите узнать об известных дырах в безопасности, вам следует проверить их или ваш трекер ошибок вашего дистрибутива. Например, Debian не сообщает об ошибках, связанных с безопасностью, в trac .Так что, насколько мне известно, невозможно взломать сам trac и получить незащищенный доступ.

Конечно, это не значит, что в безопасности нет дыр.Это только означает, что они не были найдены хорошими парнями (которые бы сообщили о них).Но это лучшее, что вы можете получить, когда речь идет о безопасности, если не проводить (или нанимать людей) полный аудит исходного кода.

0 голосов
/ 16 августа 2010

Это возможно.

 trac-admin /path/to/project permission remove <user> BROWSER_VIEW
 trac-admin /path/to/project permission remove <user> LOG_VIEW
 trac-admin /path/to/project permission remove <user> FILE_VIEW
 trac-admin /path/to/project permission remove <user> CHANGE_VIEW

Это удалит все разрешения, связанные с хранилищем.Мы используем trac, работаем хорошо, проблем с безопасностью пока не было.

...