SVN + nginx = уязвимость



By admin ~ Сентябрь 25th, 2009. Filed under: Вебсервер, Системное.

Многие из нас пользуются системами контроля версий, такими как SVN и CVS. В случае веб проектов, исходники заливаются прямо из репозитария на боевой сервак, вместе с папками .svn и CVS. В случае CVS проблемы нет, там минимум информации, а вот SVN хранит в этой папке - все исходные коды. И если папке .svn доступна из сети - их можно слить.

На хабре предложили решение для защиты этих папок.
nginx

location ~ /.svn/ {
deny all;
}

apache


Order allow,deny
Deny from all
Satisfy All

Как оказалось куча проектов была не защищена, те кто первыми нашли эту уязвимость - тут же отправили авторам проектов письма. А Ваш проект защищён?

Popularity: 25%

Похожие статьи:

4 Responses to SVN + nginx = уязвимость

  1. koss

    Вешать рабочую копию в виде сайта - некошерно.
    Юзайте svn export - это не менее удобно и избавляет от дыр в безопасности.

  2. admin

    Ага, только обновлять трудновато. Иногда приходиться править код прямо на рабочем сервере - c export очень не удобно.

  3. Andrey Shcheglov

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

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

  4. Boris

    Не вижу никаких проблем с релизами итд. Делается две папки
    /var/www/proj_1
    /var/www/proj_2
    и симлинк на одну из папок например
    /var/www/proj_production который указывает на /var/www/proj_1
    nginx настраивается на этот симлинк

    далее пишется bash/php/ скрипт, который принимает один аргумент - название папки proj_1 или proj_2, все что делат скрим меняет симлинк с одной директории на другую

    делаем svn up в директории proj_2, меняем симлинк на нее, если вдруг что то пошло не так симлик быстро меняется обратно

Оставьте комментарий: